00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00052 #ifndef SFBERRORS_H_
00053 #define SFBERRORS_H_
00054
00055 #include "SFBConstants.h"
00056
00057 #define E_API_DEBUG_POISON0 BLINK_MAP(1,0,0)
00058 #define E_API_DEBUG_POISON1 BLINK_MAP(1,0,1)
00059 #define E_API_DEBUG_POISON2 BLINK_MAP(1,0,2)
00060 #define E_API_DEBUG_POISON3 BLINK_MAP(1,0,3)
00061 #define E_API_DEBUG_POISON4 BLINK_MAP(1,0,4)
00062 #define E_API_DEBUG_POISON5 BLINK_MAP(1,0,5)
00063 #define E_API_DEBUG_POISON6 BLINK_MAP(1,0,6)
00065 #define E_API_ARGUMENT BLINK_MAP(1,1,0)
00066 #define E_API_ILLEGAL_STATE BLINK_MAP(1,1,1)
00067 #define E_API_BAD_PIN BLINK_MAP(1,1,2)
00068 #define E_API_BAD_FACE BLINK_MAP(1,1,3)
00069 #define E_API_MAX_RANGE BLINK_MAP(1,1,4)
00070 #define E_API_TRUE BLINK_MAP(1,1,5)
00071 #define E_API_FALSE BLINK_MAP(1,1,6)
00073 #define E_API_PACKET_ERROR BLINK_MAP(1,2,0)
00074 #define E_API_EQUAL BLINK_MAP(1,2,1)
00075 #define E_API_ZERO BLINK_MAP(1,2,2)
00076 #define E_API_NONZERO BLINK_MAP(1,2,3)
00077 #define E_API_NOT_EQUAL BLINK_MAP(1,2,4)
00078 #define E_API_LESS BLINK_MAP(1,2,5)
00079 #define E_API_LESS_EQUAL BLINK_MAP(1,2,6)
00081 #define E_API_GREATER BLINK_MAP(1,3,0)
00082 #define E_API_GREATER_EQUAL BLINK_MAP(1,3,1)
00083 #define E_API_PURE_VIRTUAL BLINK_MAP(1,3,2)
00084 #define E_API_MALLOC_CALL BLINK_MAP(1,3,3)
00085 #define E_API_FREE_CALL BLINK_MAP(1,3,4)
00086 #define E_API_REFLEX_FULL BLINK_MAP(1,3,5)
00087 #define E_API_BAD_REFLEX BLINK_MAP(1,3,6)
00089 #define E_API_BAD_BAUD BLINK_MAP(1,4,0)
00090 #define E_API_BAD_ALARM BLINK_MAP(1,4,1)
00091 #define E_API_NULL_HANDLER BLINK_MAP(1,4,2)
00092 #define E_API_BAD_TRIGGER BLINK_MAP(1,4,3)
00093 #define E_API_BAD_FORGET BLINK_MAP(1,4,4)
00094 #define E_API_MEMCPY BLINK_MAP(1,4,5)
00095 #define E_API_FORMAT_ARG BLINK_MAP(1,4,6)
00097 #define E_API_HALFWORD_ALIGNED BLINK_MAP(1,5,0)
00098 #define E_API_WORD_ALIGNED BLINK_MAP(1,5,1)
00099 #define E_API_DOUBLEWORD_ALIGNED BLINK_MAP(1,5,2)
00100 #define E_API_BAD_SECTOR BLINK_MAP(1,5,3)
00101 #define E_API_REFLEX_REDEF BLINK_MAP(1,5,4)
00102 #define E_API_CXA_GUARD BLINK_MAP(1,5,5)
00103 #define E_API_NO_MORE_ALARMS BLINK_MAP(1,5,6)
00105 #define E_API_POSITIVE BLINK_MAP(1,6,0)
00106 #define E_API_NONNEGATIVE BLINK_MAP(1,6,1)
00107 #define E_API_DEAD_FRAME BLINK_MAP(1,6,2)
00108 #define E_API_NO_TRANSPORT BLINK_MAP(1,6,3)
00109 #define E_API_TRANSPORT_CONFIG BLINK_MAP(1,6,4)
00110 #define E_API_USE_BEFORE_INIT BLINK_MAP(1,6,5)
00112 #define E_API_NULL_PACKET BLINK_MAP(2,0,1)
00113 #define E_API_NULL_POINTER BLINK_MAP(2,0,2)
00114 #define E_API_POINTER_ALIGNMENT BLINK_MAP(2,0,3)
00115 #define E_API_INVALID_PACKET BLINK_MAP(2,0,4)
00116 #define E_API_NOT_HEAP_PACKET BLINK_MAP(2,0,5)
00117 #define E_API_BAD_FREE_ARG BLINK_MAP(2,0,6)
00119 #define E_API_BAD_FORMAT_CODE BLINK_MAP(2,1,0)
00120 #define E_API_BAD_INTERRUPT_PIN BLINK_MAP(2,1,1)
00121 #define E_API_NO_MORE_INTERRUPTS BLINK_MAP(2,1,2)
00122 #define E_API_EEPROM_ADDRESS BLINK_MAP(2,1,3)
00123 #define E_API_EEPROM_RESPONSE BLINK_MAP(2,1,4)
00124 #define E_API_EEPROM_DATA BLINK_MAP(2,1,5)
00125 #define E_API_BUFFER_LOCKED BLINK_MAP(2,1,6)
00127 #define E_API_RESOURCE_EXHAUSTED BLINK_MAP(2,2,0)
00128 #define E_API_EXIT_CALLED BLINK_MAP(2,2,1)
00129 #define E_API_NONNULL_POINTER BLINK_MAP(2,2,2)
00131 #define E_HW_UNDEF BLINK_MAP(4,0,0)
00132 #define E_HW_DABT BLINK_MAP(4,0,1)
00133 #define E_HW_PABT BLINK_MAP(4,0,2)
00134 #define E_HW_SWI BLINK_MAP(4,0,3)
00135 #define E_HW_FIQ BLINK_MAP(4,0,4)
00137 #define E_B3_IAP_FAILURE BLINK_MAP(4,1,0)
00138 #define E_B3_VERIFY_FAILURE BLINK_MAP(4,1,1)
00140 #define E_BUG_NO_SETUP BLINK_MAP(6,0,1)
00141 #define E_BUG_NO_LOOP BLINK_MAP(6,0,2)
00143 #define E_BUG_STACK_CORRUPT BLINK_MAP(6,0,3)
00147 #define E_BUG_UNIMPLEMENTED BLINK_MAP(6,1,1)
00148 #define E_BUG_REFLEX_RECURSION BLINK_MAP(6,1,2)
00149 #define E_BUG_INCONSISTENT_STATE BLINK_MAP(6,1,3)
00150 #define E_BUG_RECURSIVE_DEATH BLINK_MAP(6,1,4)
00152 #define E_BUG_UNSPECIFIED_BUG BLINK_MAP(6,6,6)
00155
00156
00157 extern
00158 #ifdef __cplusplus
00159 "C"
00160 #endif
00161
00163 void _apiError_(u32 blinkCode, const char * file, int lineno) __attribute__ ((noreturn));
00177 #define BUG_CODE(message,code) _apiError_(code, #message " - " __FILE__, __LINE__)
00178
00188 #define BUG(message) BUG_CODE(message, E_BUG_UNSPECIFIED_BUG)
00189
00198 #define BUG_IF_CODE(code, condition) do { if (condition) BUG_CODE("", code); } while (0)
00199
00206 #define BUG_UNIMPLEMENTED() BUG_CODE("Unimplemented",E_BUG_UNIMPLEMENTED)
00207
00208
00209
00210 #endif