Function esp_idf_svc::sys::i2c_master_read_from_device

source ·
pub unsafe extern "C" fn i2c_master_read_from_device(
    i2c_num: u32,
    device_address: u8,
    read_buffer: *mut u8,
    read_size: usize,
    ticks_to_wait: u32,
) -> i32
Expand description

@brief Perform a read to a device connected to a particular I2C port. This function is a wrapper to i2c_master_start(), i2c_master_write(), i2c_master_read(), etc… It shall only be called in I2C master mode.

@param i2c_num I2C port number to perform the transfer on @param device_address I2C device’s 7-bit address @param read_buffer Buffer to store the bytes received on the bus @param read_size Size, in bytes, of the read buffer @param ticks_to_wait Maximum ticks to wait before issuing a timeout.

@return - ESP_OK Success - ESP_ERR_INVALID_ARG Parameter error - ESP_FAIL Sending command error, slave hasn’t ACK the transfer. - ESP_ERR_INVALID_STATE I2C driver not installed or not in master mode. - ESP_ERR_TIMEOUT Operation timeout because the bus is busy.