swieeprom  2.0.0.7
swieeprom.h
Go to the documentation of this file.
1 /****************************************************************************
2 ** Copyright (C) 2020 MikroElektronika d.o.o.
3 ** Contact: https://www.mikroe.com/contact
4 **
5 ** Permission is hereby granted, free of charge, to any person obtaining a copy
6 ** of this software and associated documentation files (the "Software"), to deal
7 ** in the Software without restriction, including without limitation the rights
8 ** to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 ** copies of the Software, and to permit persons to whom the Software is
10 ** furnished to do so, subject to the following conditions:
11 ** The above copyright notice and this permission notice shall be
12 ** included in all copies or substantial portions of the Software.
13 **
14 ** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 ** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
16 ** OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 ** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18 ** DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT
19 ** OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20 ** USE OR OTHER DEALINGS IN THE SOFTWARE.
21 ****************************************************************************/
27 #ifndef SWI_EEPROM_
28 #define SWI_EEPROM_
29 
30 #include "stdint.h"
31 
32 
43 #define SWIEEPROM_ID 0x00D200
44 
49 typedef enum
50 {
60 
65 typedef enum
66 {
71 
77 
82 typedef struct
83 {
84  // Slave address
85  uint8_t slave_address;
86 
87 } swieeprom_t;
88 
100 
111 
124 swieeprom_return_value_t swieeprom_write_to_memory ( swieeprom_t *ctx, uint8_t mem_adr, uint8_t mem_data );
125 
137 swieeprom_return_value_t swieeprom_read_from_memory ( swieeprom_t *ctx, uint8_t mem_adr, uint8_t *mem_data );
138 
152 swieeprom_return_value_t swieeprom_write_data_to_memory ( swieeprom_t *ctx, uint8_t start_mem_adr, uint8_t *tx_buf, uint16_t buf_len );
153 
166 swieeprom_return_value_t swieeprom_read_data_from_memory ( swieeprom_t *ctx, uint8_t start_mem_adr, uint8_t *rx_buf, uint16_t buf_len );
167 
180 swieeprom_return_value_t swieeprom_clear_data_from_memory ( swieeprom_t *ctx, uint8_t start_mem_adr, uint16_t buf_len );
181 
182 #endif
183  // swieeprom
185 
186 // ------------------------------------------------------------------------ END
SWIEEPROM_RET_VAL_ERROR_DATA
Definition: swieeprom.h:73
SWIEEPROM_OP_CODE_ID
Definition: swieeprom.h:55
swieeprom_read_id
swieeprom_return_value_t swieeprom_read_id(swieeprom_t *ctx)
SWI EEPROM check device ID.
Definition: swieeprom.c:70
SWIEEPROM_RET_VAL_OK
Definition: swieeprom.h:66
SWIEEPROM_OP_CODE_SECURITY
Definition: swieeprom.h:51
SWIEEPROM_OP_CODE_FREEZE_ROM
Definition: swieeprom.h:54
SWIEEPROM_RET_VAL_ERROR_OP_CODE
Definition: swieeprom.h:71
swieeprom_write_to_memory
swieeprom_return_value_t swieeprom_write_to_memory(swieeprom_t *ctx, uint8_t mem_adr, uint8_t mem_data)
SWI EEPROM write byte to memory.
Definition: swieeprom.c:98
swieeprom_return_value_t
swieeprom_return_value_t
SWI EEPROM Click return values.
Definition: swieeprom.h:64
SWIEEPROM_RET_VAL_ERROR_ID
Definition: swieeprom.h:74
swieeprom_clear_data_from_memory
swieeprom_return_value_t swieeprom_clear_data_from_memory(swieeprom_t *ctx, uint8_t start_mem_adr, uint16_t buf_len)
SWI EEPROM clears data from memory.
Definition: swieeprom.c:208
SWIEEPROM_RET_VAL_ERROR_ADR
Definition: swieeprom.h:72
SWIEEPROM_RET_VAL_ERROR_SLAVE_ADDRESS
Definition: swieeprom.h:69
SWIEEPROM_OP_CODE_STDN_SPEED
Definition: swieeprom.h:56
SWIEEPROM_OP_CODE_ROM
Definition: swieeprom.h:53
swieeprom_write_data_to_memory
swieeprom_return_value_t swieeprom_write_data_to_memory(swieeprom_t *ctx, uint8_t start_mem_adr, uint8_t *tx_buf, uint16_t buf_len)
SWI EEPROM write data to memory.
Definition: swieeprom.c:147
swieeprom_op_code_t
swieeprom_op_code_t
SWI EEPROM Click operation codes.
Definition: swieeprom.h:48
swieeprom_t
SWI EEPROM Click context object.
Definition: swieeprom.h:81
swieeprom_read_from_memory
swieeprom_return_value_t swieeprom_read_from_memory(swieeprom_t *ctx, uint8_t mem_adr, uint8_t *mem_data)
SWI EEPROM read byte from memory.
Definition: swieeprom.c:123
SWIEEPROM_RET_VAL_ERROR
Definition: swieeprom.h:67
SWIEEPROM_OP_CODE_EEPROM
Definition: swieeprom.h:50
SWIEEPROM_OP_CODE_LOCK
Definition: swieeprom.h:52
SWIEEPROM_OP_CODE_HIGH_SPEED
Definition: swieeprom.h:57
swieeprom_read_data_from_memory
swieeprom_return_value_t swieeprom_read_data_from_memory(swieeprom_t *ctx, uint8_t start_mem_adr, uint8_t *rx_buf, uint16_t buf_len)
SWI EEPROM read data from memory.
Definition: swieeprom.c:177
swieeprom_init
swieeprom_return_value_t swieeprom_init(swieeprom_t *ctx)
SWI EEPROM initialization function.
Definition: swieeprom.c:57
SWIEEPROM_RET_VAL_ERROR_NO_DEVICE_FOUND
Definition: swieeprom.h:68