Definition of error codes that occur in rail for use in RAILCb_AssertFailed.
This file is purely informational and optional - it need not be included even if rail_assert libraries are included.
License#
Copyright 2020 Silicon Laboratories Inc. www.silabs.com
SPDX-License-Identifier: Zlib
The licensor of this software is Silicon Laboratories Inc.
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
This notice may not be removed or altered from any source distribution.
Macros#
Use this define to create an array of error messages that map to the codes in RAIL_AssertErrorCodes_t.
Enumerations#
Enumeration of all possible error codes from RAIL_ASSERT.
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.
void RAILCb_AssertFailed(RAIL_Handle_t railHandle, uint32_t errorCode)
{
static const char* railErrorMessages[] = RAIL_ASSERT_ERROR_MESSAGES;
const char *errorMessage = "Unknown";
// If this error code is within the range of known error messages then use
// the appropriate error message.
if (errorCode < (sizeof(railErrorMessages) / sizeof(char*))) {
errorMessage = railErrorMessages[errorCode];
}
printf(errorMessage);
// Reset the chip since an assert is a fatal error
NVIC_SystemReset();
}
340
of file common/rail_assert_error_codes.h
Enumeration Documentation#
RAIL_AssertErrorCodes_t#
RAIL_AssertErrorCodes_t
Enumeration of all possible error codes from RAIL_ASSERT.
Enumerator | |
---|---|
RAIL_ASSERT_FAILED_APPENDED_INFO_MISSING | Appended info missing from RX packet. |
RAIL_ASSERT_FAILED_RX_FIFO_BYTES | Receive FIFO too small for IR calibration. |
RAIL_ASSERT_UNUSED_2 | Invalid assert, no longer used. |
RAIL_ASSERT_FAILED_ILLEGAL_RXLEN_ENTRY_STATUS | Receive FIFO entry has invalid status. |
RAIL_ASSERT_FAILED_BAD_PACKET_LENGTH | Receive FIFO entry bad packet length. |
RAIL_ASSERT_FAILED_SYNTH_DIVCTRL_ENUM_CONVERSION_ERROR | Unable to configure radio for IR calibration. |
RAIL_ASSERT_FAILED_UNEXPECTED_STATE_RX_FIFO | Reached unexpected state while handling RX FIFO events. |
RAIL_ASSERT_FAILED_UNEXPECTED_STATE_RXLEN_FIFO | Reached unexpected state while handling RXLEN FIFO events. |
RAIL_ASSERT_FAILED_UNEXPECTED_STATE_TX_FIFO | Reached unexpected state while handling TX FIFO events. |
RAIL_ASSERT_FAILED_UNEXPECTED_STATE_TXACK_FIFO | Reached unexpected state while handling TX ACK FIFO events. |
RAIL_ASSERT_UNUSED_10 | Invalid assert, no longer used. |
RAIL_ASSERT_UNUSED_11 | Invalid assert, no longer used. |
RAIL_ASSERT_UNUSED_12 | Invalid assert, no longer used. |
RAIL_ASSERT_FAILED_RTCC_POST_WAKEUP | Error synchronizing the RAIL timebase after sleep. |
RAIL_ASSERT_FAILED_SYNTH_VCO_FREQUENCY | VCO frequency outside supported range. |
RAIL_ASSERT_FAILED_RAC_STATE | Radio active while changing channels. |
RAIL_ASSERT_FAILED_SYNTH_INVALID_VCOCTRL | Invalid Synth VCOCTRL field calculation. |
RAIL_ASSERT_FAILED_NESTED_SEQUENCER_LOCK | Nested attempt to lock the sequencer. |
RAIL_ASSERT_FAILED_RSSI_AVERAGE_DONE | RSSI averaging enabled without a valid callback. |
RAIL_ASSERT_UNUSED_19 | Invalid assert, no longer used. |
RAIL_ASSERT_FAILED_PROTIMER_RANDOM_SEED | Unable to seed radio pseudo random number generator. |
RAIL_ASSERT_FAILED_EFR32XG1_REGISTER_SIZE | Timeout exceeds EFR32XG1 register size. |
RAIL_ASSERT_FAILED_PROTIMER_CHANNEL | Invalid timer channel specified. |
RAIL_ASSERT_UNUSED_23 | Invalid assert, no longer used. |
RAIL_ASSERT_FAILED_BASECNTTOP | LBT config exceeds EFR32XG1 register size. |
RAIL_ASSERT_UNUSED_25 | Invalid assert, no longer used. |
RAIL_ASSERT_FAILED_RTCC_SYNC_MISSED | Could not synchronize RAIL timebase with the RTC. |
RAIL_ASSERT_FAILED_CLOCK_SOURCE_NOT_READY | Clock source not ready. |
RAIL_ASSERT_UNUSED_28 | Invalid assert, no longer used. |
RAIL_ASSERT_NULL_HANDLE | NULL was supplied as a RAIL_Handle_t argument. |
RAIL_ASSERT_UNUSED_30 | Invalid assert, no longer used. |
RAIL_ASSERT_FAILED_NO_ACTIVE_CONFIG | API improperly called while protocol inactive. |
RAIL_ASSERT_UNUSED_32 | Invalid assert, no longer used. |
RAIL_ASSERT_UNUSED_33 | Invalid assert, no longer used. |
RAIL_ASSERT_UNUSED_34 | Invalid assert, no longer used. |
RAIL_ASSERT_UNUSED_35 | Invalid assert, no longer used. |
RAIL_ASSERT_UNUSED_36 | Invalid assert, no longer used. |
RAIL_ASSERT_UNUSED_37 | Invalid assert, no longer used. |
RAIL_ASSERT_UNUSED_38 | Invalid assert, no longer used. |
RAIL_ASSERT_DEPRECATED_FUNCTION | This function is deprecated and must not be called. |
RAIL_ASSERT_MULTIPROTOCOL_NO_EVENT | Multiprotocol task started with no event to run. |
RAIL_ASSERT_FAILED_INVALID_INTERRUPT_ENABLED | Invalid interrupt enabled. |
RAIL_ASSERT_UNUSED_42 | Invalid assert, no longer used. |
RAIL_ASSERT_DIVISION_BY_ZERO | Division by zero. |
RAIL_ASSERT_CANT_USE_HARDWARE | Function cannot be called without access to the hardware. |
RAIL_ASSERT_NULL_PARAMETER | Pointer parameter was passed as NULL. |
RAIL_ASSERT_UNUSED_46 | Invalid assert, no longer used. |
RAIL_ASSERT_SMALL_SYNTH_RADIO_CONFIG_BUFFER | Synth radio config buffer for channel hopping too small. |
RAIL_ASSERT_CHANNEL_HOPPING_BUFFER_TOO_SHORT | Buffer provided for RX Channel Hopping is too small. |
RAIL_ASSERT_INVALID_MODULE_ACTION | Invalid action was attempted on a module. |
RAIL_ASSERT_CHANNEL_HOPPING_INVALID_RADIO_CONFIG | The radio config for this channel is not compatible with channel hopping. |
RAIL_ASSERT_CHANNEL_CHANGE_FAILED | Channel change failed. |
RAIL_ASSERT_INVALID_REGISTER | Attempted to read invalid register. |
RAIL_ASSERT_UNUSED_53 | Invalid assert, no longer used. |
RAIL_ASSERT_CACHE_CONFIG_FAILED | DMP radio config caching failed. |
RAIL_ASSERT_NULL_TRANSITIONS | NULL was supplied as a RAIL_StateTransitions_t argument. |
RAIL_ASSERT_BAD_LDMA_TRANSFER | LDMA transfer failed. |
RAIL_ASSERT_INVALID_RTCC_SYNC_VALUES | Attempted to wake up with invalid RTCC sync data. |
RAIL_ASSERT_SEQUENCER_FAULT | Radio sequencer hit a fault condition. |
RAIL_ASSERT_BUS_ERROR | Bus fault. |
RAIL_ASSERT_INVALID_FILTERING_CONFIG | The current radio config cannot be used with packet filtering. |
RAIL_ASSERT_RETIMING_CONFIG | Retiming configuration error. |
RAIL_ASSERT_FAILED_TX_CRC_CONFIG | TX CRC configuration is corrupt. |
RAIL_ASSERT_INVALID_PA_OPERATION | The current PA config does not allow for this operation. |
RAIL_ASSERT_SEQ_INVALID_PA_SELECTED | The sequencer selected an invalid PA. |
RAIL_ASSERT_FAILED_INVALID_CHANNEL_CONFIG | Invalid/unsupported channel config. |
RAIL_ASSERT_INVALID_XTAL_FREQUENCY | Radio Calculator configuration HFXO frequency mismatch with chip. |
RAIL_ASSERT_UNUSED_67 | Invalid assert, no longer used. |
RAIL_ASSERT_UNSUPPORTED_SOFTWARE_MODEM_MODULATION | Software modem image does not support requested modulation |
RAIL_ASSERT_FAILED_RTCC_SYNC_STOP | Failed to disable RTCC synchronization. |
RAIL_ASSERT_FAILED_MULTITIMER_CORRUPT | Multitimer linked list corrupted. |
RAIL_ASSERT_FAILED_TEMPCAL_ERROR | Unable to configure radio for temperature calibration. |
RAIL_ASSERT_INVALID_EFF_CONFIGURATION | Invalid EFF configuration. |
RAIL_ASSERT_INVALID_RFFPLL_CONFIGURATION | Invalid RFFPLL configuration. |
RAIL_ASSERT_SECURE_ACCESS_FAULT | Secure access fault. |
RAIL_ASSERT_FAILED_SYSRTC0_NOT_RUNNING | SYSRTC0 not running. |
RAIL_ASSERT_RADIO_CONFIG_NOT_UP_TO_DATE | Radio Configurator not updated. |
RAIL_ASSERT_FAILED_RSSI_THRESHOLD | Failed to set the event for configurable RSSI threshold. |
RAIL_ASSERT_INCORRECT_ZWAVE_REGION | Intended and actual Z-Wave region configuration mismatch. |
RAIL_ASSERT_FAILED_RTCC_SYNC_STALE_DATA | Attempted to sleep with stale RTCC synchronization data. |
RAIL_ASSERT_INVALID_LOG2X4_CLEAR_CONDITION | Attempted to clear LOG2X4 with a DEC1 value not equal to 0. |
RAIL_ASSERT_FAILED_DMA_WRITE_INCOMPLETE | Failed to complete DMA write. |
RAIL_ASSERT_CALCULATOR_NOT_SUPPORTED | RAIL does not support this Radio Calculator configuration. |
RAIL_ASSERT_INVALID_SEQUENCER_IMAGE | Invalid binary image was loaded onto the sequencer. |
RAIL_ASSERT_MISSING_SEQUENCER_IMAGE | No common or protocol image selected to be loaded onto the sequencer. |
RAIL_ASSERT_INVALID_OR_MISSING_SOFTWARE_MODEM_IMAGE | Software modem image invalid or missing. |
50
of file common/rail_assert_error_codes.h