Fix I2C Scan for S2 and C3 (#5528)
Thanks @chegewara I2C Scan was failing because i2c_master_write does not accept size of 0. This change checks and skips that call if no length is provided (usually when scanning)
This commit is contained in:
parent
a4118ea889
commit
e5bd18d6aa
@ -1848,7 +1848,9 @@ i2c_err_t i2cWrite(i2c_t * i2c, uint16_t address, uint8_t* buff, uint16_t size,
|
|||||||
i2c_cmd_handle_t cmd = i2c_cmd_link_create();
|
i2c_cmd_handle_t cmd = i2c_cmd_link_create();
|
||||||
i2c_master_start(cmd);
|
i2c_master_start(cmd);
|
||||||
i2c_master_write_byte(cmd, (address << 1) | I2C_MASTER_WRITE, ACK_CHECK_EN);
|
i2c_master_write_byte(cmd, (address << 1) | I2C_MASTER_WRITE, ACK_CHECK_EN);
|
||||||
|
if(size){
|
||||||
i2c_master_write(cmd, buff, size, ACK_CHECK_EN);
|
i2c_master_write(cmd, buff, size, ACK_CHECK_EN);
|
||||||
|
}
|
||||||
//if send stop?
|
//if send stop?
|
||||||
i2c_master_stop(cmd);
|
i2c_master_stop(cmd);
|
||||||
ret = i2c_master_cmd_begin(i2c->num, cmd, timeOutMillis / portTICK_RATE_MS);
|
ret = i2c_master_cmd_begin(i2c->num, cmd, timeOutMillis / portTICK_RATE_MS);
|
||||||
|
Loading…
Reference in New Issue
Block a user