Fix IDFI2CBus::writev ignoring stop parameter (#4840)

Co-authored-by: Alexander Dimitrov <admin@sharkydog.info>
This commit is contained in:
Carson Full 2023-08-15 18:13:43 -05:00 committed by GitHub
parent 4a518e3e7a
commit 87629191b3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -202,11 +202,13 @@ ErrorCode IDFI2CBus::writev(uint8_t address, WriteBuffer *buffers, size_t cnt, b
return ERROR_UNKNOWN;
}
}
err = i2c_master_stop(cmd);
if (err != ESP_OK) {
ESP_LOGVV(TAG, "TX to %02X master stop failed: %s", address, esp_err_to_name(err));
i2c_cmd_link_delete(cmd);
return ERROR_UNKNOWN;
if (stop) {
err = i2c_master_stop(cmd);
if (err != ESP_OK) {
ESP_LOGVV(TAG, "TX to %02X master stop failed: %s", address, esp_err_to_name(err));
i2c_cmd_link_delete(cmd);
return ERROR_UNKNOWN;
}
}
err = i2c_master_cmd_begin(port_, cmd, 20 / portTICK_PERIOD_MS);
i2c_cmd_link_delete(cmd);