diff options
author | Lars-Dominik Braun <lars@6xq.net> | 2014-03-05 13:29:45 +0100 |
---|---|---|
committer | Lars-Dominik Braun <lars@6xq.net> | 2014-03-05 13:29:45 +0100 |
commit | 88b71e25e2463aa6425a01b60b171f36f1029ea6 (patch) | |
tree | 94fd522a4ea789c1cfb03040d529befce918e0d9 /i2c.h | |
parent | 85ec57bb6f545084426527ecc80269544b904067 (diff) | |
download | hourglass-88b71e25e2463aa6425a01b60b171f36f1029ea6.tar.gz hourglass-88b71e25e2463aa6425a01b60b171f36f1029ea6.tar.bz2 hourglass-88b71e25e2463aa6425a01b60b171f36f1029ea6.zip |
i2c: Add multi write
Diffstat (limited to 'i2c.h')
-rw-r--r-- | i2c.h | 15 |
1 files changed, 6 insertions, 9 deletions
@@ -4,7 +4,7 @@ typedef enum { TWM_INVALID = 0, TWM_WRITE, - TWM_READ_MULTI, + TWM_READ, } twMode; typedef enum { @@ -19,11 +19,10 @@ typedef struct { twMode mode; uint8_t address; uint8_t subaddress; - uint8_t data; uint8_t step; - /* read data store */ - uint8_t *retData; - /* number of bytes to be read */ + /* pointer to read/write data */ + uint8_t *data; + /* number of bytes to be read/written */ uint8_t count; /* current byte */ uint8_t i; @@ -40,9 +39,7 @@ extern volatile twReq twr; #include <stdbool.h> void twInit (); -bool twWrite (const uint8_t address, const uint8_t subaddress, - const uint8_t data); -bool twReadMulti (const uint8_t address, const uint8_t subaddress, - uint8_t * const retData, const uint8_t count); +bool twRequest (const twMode mode, const uint8_t address, + const uint8_t subaddress, uint8_t * const data, const uint8_t count); #endif /* TW_H */ |