49 #include "dma_channel_config.h"
52 #define I2C_SCHEDULE_SLOTS 10
56 #define I2C_WRITE1_THEN_READ 2
96 int32_t i2c_driver_init(uint8_t i2c_device);
105 int8_t i2c_driver_reset(uint8_t i2c_device);
135 int8_t i2c_driver_enable_request(uint8_t i2c_device, uint8_t schedule_slot);
146 int8_t i2c_driver_pause_request(uint8_t i2c_device, uint8_t schedule_slot);
156 int8_t i2c_driver_remove_request(uint8_t i2c_device, uint8_t schedule_slot);
166 int8_t i2c_driver_trigger_request(uint8_t i2c_device, uint8_t schedule_slot);
uint8_t trigger_next_event
number of event that should be scheduled immediately after the end of this one (repetition for next e...
Definition: i2c_driver.h:83
uint32_t write_count
i2c write counter
Definition: i2c_driver.h:68
uint8_t * read_data
i2c read data buffer
Definition: i2c_driver.h:69
uint8_t * write_data
i2c write data buffer
Definition: i2c_driver.h:67
int8_t transfer_in_progress
flag indicates if this event is currently being processed. 0: false, 1: true, -1: uninitialised ...
Definition: i2c_driver.h:85
int32_t repetition_rate_ms
schedule repetition rate in milliseconds. A value of 0 means no repetition (one-shot) ...
Definition: i2c_driver.h:82
int8_t active
indicates if event should be scheduled or not. Will be set to false after a one-shot event 0:false...
Definition: i2c_driver.h:84
int8_t write_then_read_preamble
i2c mode
Definition: i2c_driver.h:66
i2c_callback_t * callback
callback function to be called when transfer finished.
Definition: i2c_driver.h:86
uint8_t slave_address
I2C address of slave.
Definition: i2c_driver.h:63
int8_t direction
i2c direction transfer
Definition: i2c_driver.h:65
uint16_t i2c_speed
speed of i2c bus clock in kHz/kbps. Normally 100-400
Definition: i2c_driver.h:64
i2c event scheduler packet
Definition: i2c_driver.h:78
uint32_t read_count
i2c read counter
Definition: i2c_driver.h:70
uint8_t schedule_slot
the assigned slot in the schedule - READ ONLY!
Definition: i2c_driver.h:81
i2c configuration packet
Definition: i2c_driver.h:61