From f08743e4521bf301c202b28da6a5d5b27860e136 Mon Sep 17 00:00:00 2001 From: Peter Schaefer Date: Sun, 17 May 2020 20:16:43 +0200 Subject: [PATCH] Added const for pointer in master_write method, so that a const array can be passed to this fcn. Signed-off-by: wubowen Merges https://github.com/espressif/esp-idf/pull/5307 explicitly convert a const ptr to non-const because we actually don't modify it. --- components/driver/i2c.c | 4 ++-- components/driver/include/driver/i2c.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/components/driver/i2c.c b/components/driver/i2c.c index 0acc2f9831..348303c59f 100644 --- a/components/driver/i2c.c +++ b/components/driver/i2c.c @@ -899,7 +899,7 @@ esp_err_t i2c_master_stop(i2c_cmd_handle_t cmd_handle) return i2c_cmd_link_append(cmd_handle, &cmd); } -esp_err_t i2c_master_write(i2c_cmd_handle_t cmd_handle, uint8_t *data, size_t data_len, bool ack_en) +esp_err_t i2c_master_write(i2c_cmd_handle_t cmd_handle, const uint8_t *data, size_t data_len, bool ack_en) { I2C_CHECK((data != NULL), I2C_ADDR_ERROR_STR, ESP_ERR_INVALID_ARG); I2C_CHECK(cmd_handle != NULL, I2C_CMD_LINK_INIT_ERR_STR, ESP_ERR_INVALID_ARG); @@ -916,7 +916,7 @@ esp_err_t i2c_master_write(i2c_cmd_handle_t cmd_handle, uint8_t *data, size_t da cmd.hw_cmd.ack_val = 0; cmd.hw_cmd.op_code = I2C_CMD_WRITE; cmd.hw_cmd.byte_num = len_tmp; - cmd.data = data + data_offset; + cmd.data = (uint8_t*) data + data_offset; ret = i2c_cmd_link_append(cmd_handle, &cmd); data_offset += len_tmp; if (ret != ESP_OK) { diff --git a/components/driver/include/driver/i2c.h b/components/driver/include/driver/i2c.h index 197bca2971..8a1084c2bf 100644 --- a/components/driver/include/driver/i2c.h +++ b/components/driver/include/driver/i2c.h @@ -225,7 +225,7 @@ esp_err_t i2c_master_write_byte(i2c_cmd_handle_t cmd_handle, uint8_t data, bool * - ESP_OK Success * - ESP_ERR_INVALID_ARG Parameter error */ -esp_err_t i2c_master_write(i2c_cmd_handle_t cmd_handle, uint8_t *data, size_t data_len, bool ack_en); +esp_err_t i2c_master_write(i2c_cmd_handle_t cmd_handle, const uint8_t *data, size_t data_len, bool ack_en); /** * @brief Queue command for I2C master to read one byte from I2C bus