19 #include "project_settings.h"
22 #ifndef I2C_MAX_TX_SIZE
23 #define I2C_MAX_TX_SIZE 4
26 #ifndef I2C_MAX_RX_SIZE
27 #define I2C_MAX_RX_SIZE 4
30 #ifndef I2C_MAX_TRANSACTIONS
31 #define I2C_MAX_TRANSACTIONS 4
54 #define TRANSACTION_FAILED 1
55 #define TRANSACTION_SUCCESSFUL 0
82 #ifndef hal_I2C_Enable
86 #ifndef hal_I2C_Disable
90 #ifndef hal_I2C_SendStart
94 #ifndef hal_I2C_EnableInterrupts
98 #ifndef hal_I2C_DisableInterrupts
uint16_t finished
Definition: i2c.h:44
#define I2C_MAX_TX_SIZE
Definition: i2c.h:23
uint8_t I2C_Tx_Handler(uint8_t channel)
void I2C_Transact(i2c_transaction_t *transaction)
Definition: i2c.c:131
void hal_I2C_Enable(uint8_t channel)
Definition: hal_i2c.c:46
uint16_t I2C_GetSlaveAddress(uint8_t channel)
Definition: i2c.c:195
uint8_t I2C_GetStayActive(uint8_t channel)
Definition: i2c.c:215
void hal_I2C_DisableInterrupts(uint8_t channel)
Definition: hal_i2c.c:85
uint8_t readData[I2C_MAX_RX_SIZE]
Definition: i2c.h:36
uint8_t I2C_GetRxSize(uint8_t channel)
Definition: i2c.c:211
#define I2C_MAX_RX_SIZE
Definition: i2c.h:27
uint8_t I2C_GetTxByte(uint8_t channel)
Definition: i2c.c:203
void I2C_Rx_Handler(uint8_t channel, uint8_t byte)
Definition: i2c.c:199
void I2C_Init(i2c_settings_t *i2c_settings)
Definition: i2c.c:88
void(* callback)(struct i2c_transaction)
Definition: i2c.h:49
uint16_t error
Definition: i2c.h:45
uint16_t writeLength
Definition: i2c.h:39
uint16_t blocking
Definition: i2c.h:43
void I2C_TransactionFail(uint8_t channel)
Definition: i2c.c:225
uint8_t writeData[I2C_MAX_TX_SIZE]
Definition: i2c.h:35
void hal_I2C_SendStart(uint8_t channel)
Definition: hal_i2c.c:98
void hal_I2C_EnableInterrupts(uint8_t channel)
Definition: hal_i2c.c:72
uint16_t slave_address
Definition: i2c.h:37
uint16_t stayActive
Definition: i2c.h:46
uint8_t I2C_GetTxSize(uint8_t channel)
Definition: i2c.c:207
void hal_I2C_Disable(uint8_t channel)
Definition: hal_i2c.c:59
uint16_t retryCount
Definition: i2c.h:42
void I2C_TransactionSuccess(uint8_t channel)
Definition: i2c.c:219
uint16_t channel
Definition: i2c.h:41
void hal_I2C_Init(i2c_settings_t *settings)
Definition: hal_i2c.c:18
uint16_t readLength
Definition: i2c.h:40