diff options
Diffstat (limited to 'drivers/avr/i2c_master.h')
| -rwxr-xr-x | drivers/avr/i2c_master.h | 25 |
1 files changed, 13 insertions, 12 deletions
diff --git a/drivers/avr/i2c_master.h b/drivers/avr/i2c_master.h index 3c7731e8d..0806d76aa 100755 --- a/drivers/avr/i2c_master.h +++ b/drivers/avr/i2c_master.h | |||
| @@ -8,20 +8,21 @@ | |||
| 8 | #define I2C_READ 0x01 | 8 | #define I2C_READ 0x01 |
| 9 | #define I2C_WRITE 0x00 | 9 | #define I2C_WRITE 0x00 |
| 10 | 10 | ||
| 11 | typedef i2c_status_t int16_t | 11 | typedef int16_t i2c_status_t; |
| 12 | #define I2C_STATUS_TIMEOUT (-1) | ||
| 13 | 12 | ||
| 14 | #define I2C_NO_TIMEOUT 0 | 13 | #define I2C_STATUS_SUCCESS (0) |
| 14 | #define I2C_STATUS_ERROR (-1) | ||
| 15 | #define I2C_STATUS_TIMEOUT (-2) | ||
| 15 | 16 | ||
| 16 | void i2c_init(void); | 17 | void i2c_init(void); |
| 17 | i2c_status_t i2c_start(uint8_t address, uint8_t timeout); | 18 | i2c_status_t i2c_start(uint8_t address, uint16_t timeout); |
| 18 | i2c_status_t i2c_write(uint8_t data, uint8_t timeout); | 19 | i2c_status_t i2c_write(uint8_t data, uint16_t timeout); |
| 19 | i2c_status_t i2c_read_ack(uint8_t timeout); | 20 | int16_t i2c_read_ack(uint16_t timeout); |
| 20 | i2c_status_t i2c_read_nack(uint8_t timeout); | 21 | int16_t i2c_read_nack(uint16_t timeout); |
| 21 | uint8_t i2c_transmit(uint8_t address, uint8_t* data, uint16_t length); | 22 | i2c_status_t i2c_transmit(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout); |
| 22 | uint8_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length); | 23 | i2c_status_t i2c_receive(uint8_t address, uint8_t* data, uint16_t length, uint16_t timeout); |
| 23 | uint8_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length); | 24 | i2c_status_t i2c_writeReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout); |
| 24 | uint8_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length); | 25 | i2c_status_t i2c_readReg(uint8_t devaddr, uint8_t regaddr, uint8_t* data, uint16_t length, uint16_t timeout); |
| 25 | i2c_status_t i2c_stop(uint8_t timeout); | 26 | i2c_status_t i2c_stop(uint16_t timeout); |
| 26 | 27 | ||
| 27 | #endif // I2C_MASTER_H | 28 | #endif // I2C_MASTER_H |
