The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.
Dependents: hello SerialTestv11 SerialTestv12 Sierpinski ... more
mbed 2
This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.
TARGET_TB_SENSE_1/TARGET_Silicon_Labs/TARGET_SL_RAIL/efr32-rf-driver/rail/rail_assert_error_codes.h@160:5571c4ff569f, 2018-01-17 (annotated)
- Committer:
- Anna Bridge
- Date:
- Wed Jan 17 16:13:02 2018 +0000
- Revision:
- 160:5571c4ff569f
- Child:
- 167:84c0a372a020
mbed library. Release version 158
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
Anna Bridge |
160:5571c4ff569f | 1 | /***************************************************************************//** |
Anna Bridge |
160:5571c4ff569f | 2 | * @file rail_assert_error_codes.h |
Anna Bridge |
160:5571c4ff569f | 3 | * @brief Definition of error codes that occur in rail for use in |
Anna Bridge |
160:5571c4ff569f | 4 | RAILCb_AssertFailed. This file is purely informational and optional - |
Anna Bridge |
160:5571c4ff569f | 5 | it need not be included even if rail_assert libraries are included. |
Anna Bridge |
160:5571c4ff569f | 6 | |
Anna Bridge |
160:5571c4ff569f | 7 | * @copyright Copyright 2017 Silicon Laboratories, Inc. http://www.silabs.com |
Anna Bridge |
160:5571c4ff569f | 8 | ******************************************************************************/ |
Anna Bridge |
160:5571c4ff569f | 9 | |
Anna Bridge |
160:5571c4ff569f | 10 | #include "rail_types.h" |
Anna Bridge |
160:5571c4ff569f | 11 | |
Anna Bridge |
160:5571c4ff569f | 12 | /** |
Anna Bridge |
160:5571c4ff569f | 13 | * @addtogroup Assertions |
Anna Bridge |
160:5571c4ff569f | 14 | * @{ |
Anna Bridge |
160:5571c4ff569f | 15 | */ |
Anna Bridge |
160:5571c4ff569f | 16 | |
Anna Bridge |
160:5571c4ff569f | 17 | #ifndef _RAIL_ASSERT_ERROR_CODES_ |
Anna Bridge |
160:5571c4ff569f | 18 | |
Anna Bridge |
160:5571c4ff569f | 19 | #define _RAIL_ASSERT_ERROR_CODES_ |
Anna Bridge |
160:5571c4ff569f | 20 | |
Anna Bridge |
160:5571c4ff569f | 21 | /** |
Anna Bridge |
160:5571c4ff569f | 22 | * Enumeration of all possible error codes from RAIL_ASSERT |
Anna Bridge |
160:5571c4ff569f | 23 | */ |
Anna Bridge |
160:5571c4ff569f | 24 | RAIL_ENUM(RAIL_AssertErrorCodes_t) |
Anna Bridge |
160:5571c4ff569f | 25 | { |
Anna Bridge |
160:5571c4ff569f | 26 | RAIL_ASSERT_FAILED_APPENDED_INFO_MISSING, |
Anna Bridge |
160:5571c4ff569f | 27 | RAIL_ASSERT_FAILED_RX_FIFO_BYTES, |
Anna Bridge |
160:5571c4ff569f | 28 | RAIL_ASSERT_FAILED_RX_FIFO_ZERO_BYTES_READ, |
Anna Bridge |
160:5571c4ff569f | 29 | RAIL_ASSERT_FAILED_ILLEGAL_RXLEN_ENTRY_STATUS, |
Anna Bridge |
160:5571c4ff569f | 30 | RAIL_ASSERT_FAILED_BAD_PACKET_LENGTH, |
Anna Bridge |
160:5571c4ff569f | 31 | RAIL_ASSERT_FAILED_SYNTH_DIVCTRL_ENUM_CONVERSION_ERROR, //5 |
Anna Bridge |
160:5571c4ff569f | 32 | RAIL_ASSERT_FAILED_UNEXPECTED_STATE_RX_FIFO, |
Anna Bridge |
160:5571c4ff569f | 33 | RAIL_ASSERT_FAILED_UNEXPECTED_STATE_RXLEN_FIFO, |
Anna Bridge |
160:5571c4ff569f | 34 | RAIL_ASSERT_FAILED_UNEXPECTED_STATE_TX_FIFO, |
Anna Bridge |
160:5571c4ff569f | 35 | RAIL_ASSERT_FAILED_UNEXPECTED_STATE_TXACK_FIFO, |
Anna Bridge |
160:5571c4ff569f | 36 | RAIL_ASSERT_FAILED_PBUFFER_NOT_DEFINED, //10 |
Anna Bridge |
160:5571c4ff569f | 37 | RAIL_ASSERT_FAILED_INSUFFICIENT_BYTES_IN_RX_PACKET, |
Anna Bridge |
160:5571c4ff569f | 38 | RAIL_ASSERT_FAILED_CLOCK_PRESCALER, |
Anna Bridge |
160:5571c4ff569f | 39 | RAIL_ASSERT_FAILED_RTCC_POST_WAKEUP, |
Anna Bridge |
160:5571c4ff569f | 40 | RAIL_ASSERT_FAILED_SYNTH_VCO_FREQUENCY, |
Anna Bridge |
160:5571c4ff569f | 41 | RAIL_ASSERT_FAILED_RAC_STATE, //15 |
Anna Bridge |
160:5571c4ff569f | 42 | RAIL_ASSERT_FAILED_RETIME_LIMIT, |
Anna Bridge |
160:5571c4ff569f | 43 | RAIL_ASSERT_FAILED_NESTED_SEQUENCER_LOCK, |
Anna Bridge |
160:5571c4ff569f | 44 | RAIL_ASSERT_FAILED_RSSI_AVERAGE_DONE, |
Anna Bridge |
160:5571c4ff569f | 45 | RAIL_ASSERT_FAILED_DFL_BITS_SIZE, |
Anna Bridge |
160:5571c4ff569f | 46 | RAIL_ASSERT_FAILED_PROTIMER_RANDOM_SEED, //20 |
Anna Bridge |
160:5571c4ff569f | 47 | RAIL_ASSERT_FAILED_EFR32XG1_REGISTER_SIZE, |
Anna Bridge |
160:5571c4ff569f | 48 | RAIL_ASSERT_FAILED_PROTIMER_CHANNEL, |
Anna Bridge |
160:5571c4ff569f | 49 | RAIL_ASSERT_FAILED_TIMER_REQUIRES_WRAP, |
Anna Bridge |
160:5571c4ff569f | 50 | RAIL_ASSERT_FAILED_BASECNTTOP, |
Anna Bridge |
160:5571c4ff569f | 51 | RAIL_ASSERT_FAILED_DEPRECATED_LBTRETRY, //25 |
Anna Bridge |
160:5571c4ff569f | 52 | RAIL_ASSERT_FAILED_RTCC_SYNC_MISSED, |
Anna Bridge |
160:5571c4ff569f | 53 | RAIL_ASSERT_FAILED_CLOCK_SOURCE_NOT_READY, |
Anna Bridge |
160:5571c4ff569f | 54 | RAIL_ASSERT_FAILED_TIMINGS_INVALID, |
Anna Bridge |
160:5571c4ff569f | 55 | RAIL_ASSERT_NULL_HANDLE, |
Anna Bridge |
160:5571c4ff569f | 56 | RAIL_ASSERT_FAILED_TMRDRV_SCHED_TIMER_NOT_RUNNING, //30 |
Anna Bridge |
160:5571c4ff569f | 57 | RAIL_ASSERT_FAILED_NO_ACTIVE_CONFIG, |
Anna Bridge |
160:5571c4ff569f | 58 | RAIL_ASSERT_FAILED_NO_ACTIVE_HANDLE_SWITCH, |
Anna Bridge |
160:5571c4ff569f | 59 | RAIL_ASSERT_FAILED_RFINIT, |
Anna Bridge |
160:5571c4ff569f | 60 | RAIL_ASSERT_FAILED_NO_ACTIVE_HANDLE_SCHEDRX, |
Anna Bridge |
160:5571c4ff569f | 61 | RAIL_ASSERT_FAILED_INVALID_HANDLE_SCHEDTX, //35 |
Anna Bridge |
160:5571c4ff569f | 62 | RAIL_ASSERT_FAILED_INACTIVE_HANDLE_SCHEDTX, |
Anna Bridge |
160:5571c4ff569f | 63 | RAIL_ASSERT_FAILED_CONFIG_INDEX_INVALID, |
Anna Bridge |
160:5571c4ff569f | 64 | RAIL_ASSERT_FAILED_NO_ACTIVE_HANDLE_SINGLEPROTOCOL, |
Anna Bridge |
160:5571c4ff569f | 65 | RAIL_ASSERT_DEPRECATED_FUNCTION, |
Anna Bridge |
160:5571c4ff569f | 66 | RAIL_ASSERT_MULTIPROTOCOL_NO_EVENT, //40 |
Anna Bridge |
160:5571c4ff569f | 67 | RAIL_ASSERT_FAILED_INVALID_INTERRUPT_ENABLED, |
Anna Bridge |
160:5571c4ff569f | 68 | RAIL_ASSERT_CONVERSION_CURVES_NOT_INITIALIZED, |
Anna Bridge |
160:5571c4ff569f | 69 | }; |
Anna Bridge |
160:5571c4ff569f | 70 | |
Anna Bridge |
160:5571c4ff569f | 71 | /** |
Anna Bridge |
160:5571c4ff569f | 72 | * Use this define to create an array of error messages that map to the codes |
Anna Bridge |
160:5571c4ff569f | 73 | * in \ref RAIL_AssertErrorCodes_t. You can use these to print slightly more |
Anna Bridge |
160:5571c4ff569f | 74 | * detailed error strings related to a particular assert error code if desired. |
Anna Bridge |
160:5571c4ff569f | 75 | * For example, you could implement your assert failed callback as follows to |
Anna Bridge |
160:5571c4ff569f | 76 | * make use of this. |
Anna Bridge |
160:5571c4ff569f | 77 | * |
Anna Bridge |
160:5571c4ff569f | 78 | * @code{.c} |
Anna Bridge |
160:5571c4ff569f | 79 | * void RAILCb_AssertFailed(RAIL_Handle_t railHandle, uint32_t errorCode) |
Anna Bridge |
160:5571c4ff569f | 80 | * { |
Anna Bridge |
160:5571c4ff569f | 81 | * static const char* railErrorMessages[] = RAIL_ASSERT_ERROR_MESSAGES; |
Anna Bridge |
160:5571c4ff569f | 82 | * const char *errorMessage = "Unknown"; |
Anna Bridge |
160:5571c4ff569f | 83 | * |
Anna Bridge |
160:5571c4ff569f | 84 | * // If this error code is within the range of known error messages then use |
Anna Bridge |
160:5571c4ff569f | 85 | * // the appropriate error message. |
Anna Bridge |
160:5571c4ff569f | 86 | * if (errorCode < (sizeof(railErrorMessages) / sizeof(char*))) { |
Anna Bridge |
160:5571c4ff569f | 87 | * errorMessage = railErrorMessages[errorCode]; |
Anna Bridge |
160:5571c4ff569f | 88 | * } |
Anna Bridge |
160:5571c4ff569f | 89 | * printf(errorMessage); |
Anna Bridge |
160:5571c4ff569f | 90 | * |
Anna Bridge |
160:5571c4ff569f | 91 | * // Reset the chip since an assert is a fatal error |
Anna Bridge |
160:5571c4ff569f | 92 | * NVIC_SystemReset(); |
Anna Bridge |
160:5571c4ff569f | 93 | * } |
Anna Bridge |
160:5571c4ff569f | 94 | * @endcode |
Anna Bridge |
160:5571c4ff569f | 95 | */ |
Anna Bridge |
160:5571c4ff569f | 96 | #define RAIL_ASSERT_ERROR_MESSAGES { \ |
Anna Bridge |
160:5571c4ff569f | 97 | "Appended info missing from Rx packet", \ |
Anna Bridge |
160:5571c4ff569f | 98 | "Payload bytes missing from Rx packet", \ |
Anna Bridge |
160:5571c4ff569f | 99 | "Error reading back packet payload", \ |
Anna Bridge |
160:5571c4ff569f | 100 | "Receive fifo entry has invalid status", \ |
Anna Bridge |
160:5571c4ff569f | 101 | "Receive fifo entry bad packet length", \ |
Anna Bridge |
160:5571c4ff569f | 102 | "Unable to configure radio for IR calibration", \ |
Anna Bridge |
160:5571c4ff569f | 103 | "Reached unexpected state while handling Rx fifo events", \ |
Anna Bridge |
160:5571c4ff569f | 104 | "Reached unexpected state while handling RXLEN fifo events", \ |
Anna Bridge |
160:5571c4ff569f | 105 | "Reached unexpected state while handling Tx fifo events", \ |
Anna Bridge |
160:5571c4ff569f | 106 | "Reached unexpected state while handling Tx ACK fifo events", \ |
Anna Bridge |
160:5571c4ff569f | 107 | "No memory to store receive packet", \ |
Anna Bridge |
160:5571c4ff569f | 108 | "Packet length longer than the receive FIFO size", \ |
Anna Bridge |
160:5571c4ff569f | 109 | "Invalid radio clock prescaler", \ |
Anna Bridge |
160:5571c4ff569f | 110 | "Error synchronizing the RAIL timebase after sleep", \ |
Anna Bridge |
160:5571c4ff569f | 111 | "VCO frequency outside supported range", \ |
Anna Bridge |
160:5571c4ff569f | 112 | "Radio active while changing channels", \ |
Anna Bridge |
160:5571c4ff569f | 113 | "Unable to configure DCDC retiming", \ |
Anna Bridge |
160:5571c4ff569f | 114 | "Nested attempt to lock the sequencer", \ |
Anna Bridge |
160:5571c4ff569f | 115 | "RSSI averaging enabled without a valid callback", \ |
Anna Bridge |
160:5571c4ff569f | 116 | "Invalid dynamic frame length setting provided (dflBits)", \ |
Anna Bridge |
160:5571c4ff569f | 117 | "Unable to seed radio pseudo random number generator", \ |
Anna Bridge |
160:5571c4ff569f | 118 | "Timeout exceeds EFR32XG1 register size", \ |
Anna Bridge |
160:5571c4ff569f | 119 | "Invalid timer channel specified", \ |
Anna Bridge |
160:5571c4ff569f | 120 | "Timer value larger than RAIL timebase", \ |
Anna Bridge |
160:5571c4ff569f | 121 | "LBT config exceeds EFR32XG1 register size", \ |
Anna Bridge |
160:5571c4ff569f | 122 | "Deprecated CSMA/LBT retry callback unexpectedly called", \ |
Anna Bridge |
160:5571c4ff569f | 123 | "Could not synchronize RAIL timebase with the RTC", \ |
Anna Bridge |
160:5571c4ff569f | 124 | "Clock source not ready", \ |
Anna Bridge |
160:5571c4ff569f | 125 | "Attempted to set RAIL timings to invalid value", \ |
Anna Bridge |
160:5571c4ff569f | 126 | "NULL was supplied as a RAIL_Handle_t argument", \ |
Anna Bridge |
160:5571c4ff569f | 127 | "Scheduled timer not running", \ |
Anna Bridge |
160:5571c4ff569f | 128 | "No active config to switch from", \ |
Anna Bridge |
160:5571c4ff569f | 129 | "No active handle after switch", \ |
Anna Bridge |
160:5571c4ff569f | 130 | "RfInit failed to configure active state", \ |
Anna Bridge |
160:5571c4ff569f | 131 | "No active handle for scheduled rx", \ |
Anna Bridge |
160:5571c4ff569f | 132 | "Invalid handle for scheduled tx", \ |
Anna Bridge |
160:5571c4ff569f | 133 | "Inactive handle for scheduled tx", \ |
Anna Bridge |
160:5571c4ff569f | 134 | "Invalid config index to switch to", \ |
Anna Bridge |
160:5571c4ff569f | 135 | "No active handle for single protocol", \ |
Anna Bridge |
160:5571c4ff569f | 136 | "This function is deprecated and must not be called", \ |
Anna Bridge |
160:5571c4ff569f | 137 | "Multiprotocol task started with no event to run", \ |
Anna Bridge |
160:5571c4ff569f | 138 | "Invalid interrupt enabled", \ |
Anna Bridge |
160:5571c4ff569f | 139 | "Power conversion functions called before curves were initialized", \ |
Anna Bridge |
160:5571c4ff569f | 140 | } |
Anna Bridge |
160:5571c4ff569f | 141 | |
Anna Bridge |
160:5571c4ff569f | 142 | #endif |
Anna Bridge |
160:5571c4ff569f | 143 | /** |
Anna Bridge |
160:5571c4ff569f | 144 | * @} |
Anna Bridge |
160:5571c4ff569f | 145 | */ |