blob: bc8accc869e1b39621595bb5bfbb956192799c18 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#ifndef I2C_H_
#define I2C_H_
typedef struct {
char *buffer;
uint32_t size;
uint16_t address;
uint8_t host_sda;
uint8_t slave_sda;
uint8_t scl;
uint8_t state;
uint8_t counter;
uint8_t latch;
} eeprom_state;
void eeprom_init(eeprom_state *state, uint8_t *buffer, uint32_t size);
void * write_eeprom_i2c_w(uint32_t address, void * context, uint16_t value);
void * write_eeprom_i2c_b(uint32_t address, void * context, uint8_t value);
uint16_t read_eeprom_i2c_w(uint32_t address, void * context);
uint8_t read_eeprom_i2c_b(uint32_t address, void * context);
#endif //I2C_H_
|