diff options
author | Daniel Friesel <derf@finalrewind.org> | 2016-02-20 20:12:33 +0100 |
---|---|---|
committer | Daniel Friesel <derf@finalrewind.org> | 2016-02-20 20:12:33 +0100 |
commit | 9e68d2ab92a2169478d6ec4b4d1f94026dfcf3dc (patch) | |
tree | 2a6616e13e4341158dcf3d8d23bbd3298a3e53a8 /src/storage.h | |
parent | ea538b2a622c764642837e42b793f9eae7df2c2a (diff) |
Preparations for I2C error checking and handling
Diffstat (limited to 'src/storage.h')
-rw-r--r-- | src/storage.h | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/src/storage.h b/src/storage.h index fd7b0ad..b2a4dbf 100644 --- a/src/storage.h +++ b/src/storage.h @@ -6,13 +6,20 @@ class Storage { private: uint8_t num_anims; uint8_t first_free_page; - void i2c_start_write(void); - void i2c_start_read(void); + uint8_t i2c_start_write(void); + uint8_t i2c_start_read(void); void i2c_stop(void); - int8_t i2c_send(uint8_t len, uint8_t *data); - int8_t i2c_receive(uint8_t len, uint8_t *data); - int8_t i2c_read(uint16_t addr, uint8_t len, uint8_t *data); - int8_t i2c_write(uint16_t addr, uint8_t len, uint8_t *data); + uint8_t i2c_send(uint8_t len, uint8_t *data); + uint8_t i2c_receive(uint8_t len, uint8_t *data); + uint8_t i2c_read(uint16_t addr, uint8_t len, uint8_t *data); + uint8_t i2c_write(uint16_t addr, uint8_t len, uint8_t *data); + + enum I2CStatus : uint8_t { + I2C_OK, + I2C_START_ERR, + I2C_ADDR_ERR + }; + public: Storage() { num_anims = 0; first_free_page = 0;}; |