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