Assertions
Callbacks called by assertions.
Macros |
|
#define | RAIL_ASSERT_ERROR_MESSAGES |
Use this define to create an array of error messages that map to the codes in
RAIL_AssertErrorCodes_t
.
|
Enumerations |
|
enum |
RAIL_AssertErrorCodes_t
{
RAIL_ASSERT_FAILED_APPENDED_INFO_MISSING = 0, RAIL_ASSERT_FAILED_RX_FIFO_BYTES = 1, RAIL_ASSERT_FAILED_RX_FIFO_ZERO_BYTES_READ = 2, RAIL_ASSERT_FAILED_ILLEGAL_RXLEN_ENTRY_STATUS = 3, RAIL_ASSERT_FAILED_BAD_PACKET_LENGTH = 4, RAIL_ASSERT_FAILED_SYNTH_DIVCTRL_ENUM_CONVERSION_ERROR = 5, RAIL_ASSERT_FAILED_UNEXPECTED_STATE_RX_FIFO = 6, RAIL_ASSERT_FAILED_UNEXPECTED_STATE_RXLEN_FIFO = 7, RAIL_ASSERT_FAILED_UNEXPECTED_STATE_TX_FIFO = 8, RAIL_ASSERT_FAILED_UNEXPECTED_STATE_TXACK_FIFO = 9, RAIL_ASSERT_FAILED_PBUFFER_NOT_DEFINED = 10, RAIL_ASSERT_FAILED_INSUFFICIENT_BYTES_IN_RX_PACKET = 11, RAIL_ASSERT_FAILED_CLOCK_PRESCALER = 12, RAIL_ASSERT_FAILED_RTCC_POST_WAKEUP = 13, RAIL_ASSERT_FAILED_SYNTH_VCO_FREQUENCY = 14, RAIL_ASSERT_FAILED_RAC_STATE = 15, RAIL_ASSERT_FAILED_SYNTH_INVALID_VCOCTRL = 16, RAIL_ASSERT_FAILED_NESTED_SEQUENCER_LOCK = 17, RAIL_ASSERT_FAILED_RSSI_AVERAGE_DONE = 18, RAIL_ASSERT_FAILED_DFL_BITS_SIZE = 19, RAIL_ASSERT_FAILED_PROTIMER_RANDOM_SEED = 20, RAIL_ASSERT_FAILED_EFR32XG1_REGISTER_SIZE = 21, RAIL_ASSERT_FAILED_PROTIMER_CHANNEL = 22, RAIL_ASSERT_FAILED_TIMER_REQUIRES_WRAP = 23, RAIL_ASSERT_FAILED_BASECNTTOP = 24, RAIL_ASSERT_FAILED_DEPRECATED_LBTRETRY = 25, RAIL_ASSERT_FAILED_RTCC_SYNC_MISSED = 26, RAIL_ASSERT_FAILED_CLOCK_SOURCE_NOT_READY = 27, RAIL_ASSERT_FAILED_TIMINGS_INVALID = 28, RAIL_ASSERT_NULL_HANDLE = 29, RAIL_ASSERT_FAILED_SCHED_TIMER_NOT_RUNNING = 30, RAIL_ASSERT_FAILED_NO_ACTIVE_CONFIG = 31, RAIL_ASSERT_FAILED_NO_ACTIVE_HANDLE_SWITCH = 32, RAIL_ASSERT_FAILED_RESERVED33 = 33, RAIL_ASSERT_FAILED_NO_ACTIVE_HANDLE_SCHEDRX = 34, RAIL_ASSERT_FAILED_INVALID_HANDLE_SCHEDTX = 35, RAIL_ASSERT_FAILED_INACTIVE_HANDLE_SCHEDTX = 36, RAIL_ASSERT_FAILED_CONFIG_INDEX_INVALID = 37, RAIL_ASSERT_FAILED_NO_ACTIVE_HANDLE_SINGLEPROTOCOL = 38, RAIL_ASSERT_DEPRECATED_FUNCTION = 39, RAIL_ASSERT_MULTIPROTOCOL_NO_EVENT = 40, RAIL_ASSERT_FAILED_INVALID_INTERRUPT_ENABLED = 41, RAIL_ASSERT_CONVERSION_CURVES_NOT_INITIALIZED = 42, RAIL_ASSERT_DIVISION_BY_ZERO = 43, RAIL_ASSERT_CANT_USE_HARDWARE = 44, RAIL_ASSERT_NULL_PARAMETER = 45, RAIL_ASSERT_INVALID_TASK_TYPE = 46, RAIL_ASSERT_SMALL_SYNTH_RADIO_CONFIG_BUFFER = 47, RAIL_ASSERT_CHANNEL_HOPPING_BUFFER_TOO_SHORT = 48, RAIL_ASSERT_INVALID_MODULE_ACTION = 49, RAIL_ASSERT_CHANNEL_HOPPING_INVALID_RADIO_CONFIG = 50, RAIL_ASSERT_CHANNEL_CHANGE_FAILED = 51, RAIL_ASSERT_INVALID_REGISTER = 52, RAIL_ASSERT_FAILED_LO_DIV_NULL_STATE = 53, RAIL_ASSERT_CACHE_CONFIG_FAILED = 54, RAIL_ASSERT_NULL_TRANSITIONS = 55, RAIL_ASSERT_BAD_LDMA_TRANSFER = 56, RAIL_ASSERT_INVALID_RTCC_SYNC_VALUES = 57, RAIL_ASSERT_SEQUENCER_FAULT = 58, RAIL_ASSERT_BUS_ERROR = 59, RAIL_ASSERT_INVALID_FILTERING_CONFIG = 60, RAIL_ASSERT_RETIMING_CONFIG = 61, RAIL_ASSERT_FAILED_TX_CRC_CONFIG = 62, RAIL_ASSERT_INVALID_PA_OPERATION = 63, RAIL_ASSERT_SEQ_INVALID_PA_SELECTED = 64, RAIL_ASSERT_FAILED_INVALID_CHANNEL_CONFIG = 65, RAIL_ASSERT_INVALID_DYNAMIC_FRAME_LENGTH = 66, RAIL_ASSERT_FAILED_EM1P_ENTRY = 67, RAIL_ASSERT_FAILED_EM1P_EXIT = 68, RAIL_ASSERT_FAILED_RTCC_SYNC_STOP = 69, RAIL_ASSERT_FAILED_MULTITIMER_CORRUPT = 70 } |
Enumeration of all possible error codes from RAIL_ASSERT.
|
Functions |
|
void | RAILCb_AssertFailed ( RAIL_Handle_t railHandle, RAIL_AssertErrorCodes_t errorCode) |
Callback called upon failed assertion.
|
Detailed Description
Callbacks called by assertions.
The assertion framework was implemented to not only assert that certain conditions are true in a block of code, but also to handle them more appropriately. In previous implementations, the behavior upon a failed assert was to hang in a while(1) loop. However, with the callback, each assert is given a unique error code so that they can be handled on a more case-by-case basis. For documentation on each of the errors, see the
rail_assert_error_codes.h
file. RAIL_ASSERT_ERROR_MESSAGES[errorCode] gives the explanation of the error. With asserts built into the library, users can choose how to handle each error inside the callback.
Macro Definition Documentation
◆ RAIL_ASSERT_ERROR_MESSAGES
#define RAIL_ASSERT_ERROR_MESSAGES |
Use this define to create an array of error messages that map to the codes in RAIL_AssertErrorCodes_t .
You can use these to print slightly more detailed error strings related to a particular assert error code if desired. For example, you could implement your assert failed callback as follows to make use of this.
Definition at line
224
of file
rail_assert_error_codes.h
.
Function Documentation
◆ RAILCb_AssertFailed()
void RAILCb_AssertFailed | ( | RAIL_Handle_t |
railHandle,
|
RAIL_AssertErrorCodes_t |
errorCode
|
||
) |
Callback called upon failed assertion.
- Parameters
-
[in] railHandle
A RAIL instance handle. [in] errorCode
Value passed in by the calling assertion API indicating the RAIL error that is indicated by the failing assertion.