This commit is contained in:
2025-08-10 11:53:57 +03:00
parent 700848f9b2
commit e5303e4090

View File

@@ -29,12 +29,29 @@ extern "C"
AVR_ERR_NOT_ALLOWED AVR_ERR_NOT_ALLOWED
} avr_err_t; } avr_err_t;
/**
* @brief Initialize I2C bus.
*
* @param[in] pullup Using internal pullup resistors.
*
* @return AVR_OK if success or an error code otherwise.
*/
avr_err_t zh_avr_i2c_master_init(const bool pullup); avr_err_t zh_avr_i2c_master_init(const bool pullup);
/**
* @brief Probe I2C address, if address is correct and ACK is received, this function will return AVR_OK.
*
* @param[in] addr Address I2C device address that you want to probe.
* @param[in] xTicksToWait Wait timeout in FreeRTOS ticks.
*
* @return AVR_OK if success or an error code otherwise.
*/
avr_err_t zh_avr_i2c_master_probe(const uint8_t addr, TickType_t xTicksToWait); avr_err_t zh_avr_i2c_master_probe(const uint8_t addr, TickType_t xTicksToWait);
avr_err_t zh_avr_i2c_master_transmit(const uint8_t addr, uint8_t *data, uint8_t size, TickType_t xTicksToWait); avr_err_t zh_avr_i2c_master_transmit(const uint8_t addr, uint8_t *data, uint8_t size, TickType_t xTicksToWait);
avr_err_t zh_avr_i2c_master_receive(const uint8_t addr, uint8_t *data, uint8_t size, TickType_t xTicksToWait); avr_err_t zh_avr_i2c_master_receive(const uint8_t addr, uint8_t *data, uint8_t size, TickType_t xTicksToWait);
avr_err_t zh_avr_i2c_master_transmit_register(const uint8_t addr, uint16_t *reg, uint8_t *data, uint8_t size, TickType_t xTicksToWait);
avr_err_t zh_avr_i2c_master_receive_register(const uint8_t addr, uint16_t *reg, uint8_t *data, uint8_t size, TickType_t xTicksToWait); avr_err_t zh_avr_i2c_master_transmit_register(const uint8_t addr, uint16_t *reg, uint8_t *data, uint8_t size, TickType_t xTicksToWait); // To Do
avr_err_t zh_avr_i2c_master_receive_register(const uint8_t addr, uint16_t *reg, uint8_t *data, uint8_t size, TickType_t xTicksToWait); // To Do
#ifdef __cplusplus #ifdef __cplusplus
} }