From 05ff1226e72ad86b87cb5288d0ff3945471293bd Mon Sep 17 00:00:00 2001 From: Benjamin Marty Date: Tue, 16 Oct 2018 18:43:39 +0000 Subject: [PATCH] Fix bug of not being able to send a single Byte with i2c_master_write Signed-off-by: XiongYu Merges https://github.com/espressif/ESP8266_RTOS_SDK/pull/343 --- components/esp8266/driver/i2c.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/components/esp8266/driver/i2c.c b/components/esp8266/driver/i2c.c index d5805d14..41b55945 100644 --- a/components/esp8266/driver/i2c.c +++ b/components/esp8266/driver/i2c.c @@ -500,7 +500,7 @@ static void i2c_master_cmd_begin_static(i2c_port_t i2c_num) i2c_master_set_dc(i2c_num, i2c_last_state[i2c_num]->sda, 0); for (i = 7; i >= 0; i--) { - if (cmd->byte_num == 1) { + if (cmd->byte_num == 1 && cmd->data == NULL) { dat = (cmd->byte_cmd) >> i; } else { dat = ((uint8_t) * (cmd->data + len)) >> i; @@ -615,4 +615,4 @@ esp_err_t i2c_master_cmd_begin(i2c_port_t i2c_num, i2c_cmd_handle_t cmd_handle, return ESP_FAIL; } -} \ No newline at end of file +}