feat: improve error handling for radio operations and streamline logging

This commit is contained in:
2025-08-08 10:43:50 +08:00
parent 1237e5ea48
commit 0bdd03aedc
2 changed files with 21 additions and 34 deletions

View File

@ -237,7 +237,7 @@ write_stream(uint8_t cmd, std::span<const uint8_t> data, const size_t timeout_ms
};
esp_err_t err = spi_device_transmit(details::spi_device, &transaction.base);
if (err != ESP_OK) {
ESP_LOGE(TAG, "spi transmit: %s (%d)", esp_err_to_name(err), err);
ESP_LOGE(TAG, "%s (%d)", esp_err_to_name(err), err);
return ue_t{error::FAILED};
}
@ -291,7 +291,7 @@ read_register(uint16_t reg, std::span<uint8_t> data, const size_t timeout_ms) {
};
esp_err_t err = spi_device_transmit(details::spi_device, &transaction.base);
if (err != ESP_OK) {
ESP_LOGE(TAG, "spi transmit: %s (%d)", esp_err_to_name(err), err);
ESP_LOGE(TAG, "%s (%d)", esp_err_to_name(err), err);
return ue_t{error::FAILED};
}
@ -378,12 +378,13 @@ read_buffer(uint8_t offset, uint8_t size, const size_t timeout_ms) {
};
esp_err_t err = spi_device_transmit(details::spi_device, &transaction.base);
if (err != ESP_OK) {
ESP_LOGE(TAG, "spi transmit: %s (%d)", esp_err_to_name(err), err);
ESP_LOGE(TAG, "%s (%d)", esp_err_to_name(err), err);
return ue_t{error::FAILED};
}
const auto status = rx_buffer[0];
if (const auto err = status_to_err(status); err != error::OK) {
// FIXME: current hack ignore processing error
if (const auto err = status_to_err(status); err != error::OK && err != error::RADIO_TRANS_CMD_PROC_ERR) {
return ue_t{err};
}