feat: add option to disable radio calibration and update status error handling

This commit is contained in:
2025-08-07 14:51:57 +08:00
parent c4a61d2708
commit 72299b62ce
6 changed files with 57 additions and 25 deletions

View File

@ -3,7 +3,8 @@
#include <array>
#include <tuple>
#define APP_ERR_TBL_IT(err) {err, #err}
#define APP_ERR_TBL_IT(err) \
{ err, #err }
namespace app::driver::hal::error {
using t = int;
@ -40,7 +41,8 @@ constexpr t SPI_TIMEOUT = SPI_ERR_BASE + 2;
constexpr t SPI_CMD_INVALID = SPI_ERR_BASE + 3;
// The command was successfully processed, however the chip could not execute the command;
// for instance it was unable to enter the specified device mode or send the requested data
constexpr t SPI_CMD_FAILED = SPI_ERR_BASE + 4;
constexpr t SPI_CMD_FAILED = SPI_ERR_BASE + 4;
constexpr t SPI_INVALID_RADIO_STATE = SPI_ERR_BASE + 5; /*!< Radio is in an invalid state for the requested operation */
constexpr t RADIO_ERR_BASE = 0x1'3000;
constexpr t RADIO_CHIP_NOT_FOUND = RADIO_ERR_BASE + 1;
@ -76,6 +78,7 @@ constexpr auto error_table = std::to_array<std::tuple<t, const char *>>(
APP_ERR_TBL_IT(SPI_TIMEOUT),
APP_ERR_TBL_IT(SPI_CMD_INVALID),
APP_ERR_TBL_IT(SPI_CMD_FAILED),
APP_ERR_TBL_IT(SPI_INVALID_RADIO_STATE),
APP_ERR_TBL_IT(RADIO_CHIP_NOT_FOUND),
APP_ERR_TBL_IT(RADIO_INVALID_TCXO_VOLTAGE),