Contiki 2.6

error-def.h

Go to the documentation of this file.
00001 /**
00002  * @file error-def.h
00003  * @brief Return-code definitions for API functions.
00004  * 
00005  * See @ref status_codes for documentation.
00006  * <!--(C) COPYRIGHT 2010 STMicroelectronics. All rights reserved.        -->
00007 */
00008 
00009 /**
00010  * @addtogroup status_codes
00011  *
00012  * Many StZNet API functions return an ::StStatus value to indicate
00013  * the success or failure of the call.
00014  * Return codes are one byte long.
00015  * This page documents the possible status codes and their meanings.
00016  *
00017  * See error-def.h for source code.
00018  *
00019  * See also error.h for information on how the values for the return codes are
00020  * built up from these definitions.
00021  * The file error-def.h is separated from error.h because utilities will use this file
00022  * to parse the return codes.
00023  *
00024  * @note Do not include error-def.h directly. It is included by
00025  * error.h inside an enum typedef, which is in turn included by st.h.
00026  *
00027  * @{
00028  */
00029 
00030 /**
00031  * @name Generic Messages
00032  * These messages are system wide.
00033  */
00034 //@{
00035 
00036 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00037 /**
00038  * @brief The generic "no error" message.
00039  */
00040 #define ST_SUCCESS(0x00)
00041 #else
00042 DEFINE_ERROR(SUCCESS, 0)
00043 #endif //DOXYGEN_SHOULD_SKIP_THIS
00044 
00045 
00046 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00047 /**
00048  * @brief The generic "fatal error" message.
00049  */
00050 #define ST_ERR_FATAL(0x01)
00051 #else
00052 DEFINE_ERROR(ERR_FATAL, 0x01)
00053 #endif //DOXYGEN_SHOULD_SKIP_THIS
00054 
00055 
00056 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00057 /**
00058  * @brief An invalid value was passed as an argument to a function.
00059  */
00060 #define ST_BAD_ARGUMENT(0x02)
00061 #else
00062 DEFINE_ERROR(BAD_ARGUMENT, 0x02)
00063 #endif //DOXYGEN_SHOULD_SKIP_THIS
00064 
00065 
00066 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00067 /**
00068  * @brief The manufacturing and stack token format in non-volatile memory
00069  * is different than what the stack expects (returned at initialization).
00070  */
00071 #define ST_EEPROM_MFG_STACK_VERSION_MISMATCH(0x04)
00072 #else
00073 DEFINE_ERROR(EEPROM_MFG_STACK_VERSION_MISMATCH, 0x04)
00074 #endif //DOXYGEN_SHOULD_SKIP_THIS
00075 
00076 
00077 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00078 /**
00079  * @brief The static memory definitions in st-static-memory.h
00080  * are incompatible with this stack version.
00081  */
00082 #define ST_INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS(0x05)
00083 #else
00084 DEFINE_ERROR(INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS, 0x05)
00085 #endif //DOXYGEN_SHOULD_SKIP_THIS
00086 
00087 
00088 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00089 /**
00090  * @brief The manufacturing token format in non-volatile memory is
00091  * different than what the stack expects (returned at initialization).
00092  */
00093 #define ST_EEPROM_MFG_VERSION_MISMATCH(0x06)
00094 #else
00095 DEFINE_ERROR(EEPROM_MFG_VERSION_MISMATCH, 0x06)
00096 #endif //DOXYGEN_SHOULD_SKIP_THIS
00097 
00098 
00099 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00100 /**
00101  * @brief The stack token format in non-volatile memory is different 
00102  * than what the stack expects (returned at initialization).
00103  */
00104 #define ST_EEPROM_STACK_VERSION_MISMATCH(0x07)
00105 #else
00106 DEFINE_ERROR(EEPROM_STACK_VERSION_MISMATCH, 0x07)
00107 #endif //DOXYGEN_SHOULD_SKIP_THIS
00108 
00109 //@} // END Generic Messages
00110 
00111 
00112 /**
00113  * @name Packet Buffer Module Errors
00114  */
00115 //@{
00116 
00117 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00118 /**
00119  * @brief There are no more buffers.
00120  */
00121 #define ST_NO_BUFFERS(0x18)
00122 #else
00123 DEFINE_ERROR(NO_BUFFERS, 0x18)
00124 #endif //DOXYGEN_SHOULD_SKIP_THIS
00125 
00126 //@} / END Packet Buffer Module Errors
00127 
00128 /**
00129  * @name Serial Manager Errors
00130  */
00131 //@{ 
00132 
00133 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00134 /**
00135  * @brief Specified an invalid baud rate.
00136  */
00137 #define ST_SERIAL_INVALID_BAUD_RATE(0x20)
00138 #else
00139 DEFINE_ERROR(SERIAL_INVALID_BAUD_RATE, 0x20)
00140 #endif //DOXYGEN_SHOULD_SKIP_THIS
00141 
00142 
00143 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00144 /**
00145  * @brief Specified an invalid serial port.
00146  */
00147 #define ST_SERIAL_INVALID_PORT(0x21)
00148 #else
00149 DEFINE_ERROR(SERIAL_INVALID_PORT, 0x21)
00150 #endif //DOXYGEN_SHOULD_SKIP_THIS
00151 
00152 
00153 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00154 /**
00155  * @brief Tried to send too much data.
00156  */
00157 #define ST_SERIAL_TX_OVERFLOW(0x22)
00158 #else
00159 DEFINE_ERROR(SERIAL_TX_OVERFLOW, 0x22)
00160 #endif //DOXYGEN_SHOULD_SKIP_THIS
00161 
00162 
00163 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00164 /**
00165  * @brief There was not enough space to store a received character
00166  * and the character was dropped.
00167  */
00168 #define ST_SERIAL_RX_OVERFLOW(0x23)
00169 #else
00170 DEFINE_ERROR(SERIAL_RX_OVERFLOW, 0x23)
00171 #endif //DOXYGEN_SHOULD_SKIP_THIS
00172 
00173 
00174 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00175 /**
00176  * @brief Detected a UART framing error.
00177  */
00178 #define ST_SERIAL_RX_FRAME_ERROR(0x24)
00179 #else
00180 DEFINE_ERROR(SERIAL_RX_FRAME_ERROR, 0x24)
00181 #endif //DOXYGEN_SHOULD_SKIP_THIS
00182 
00183 
00184 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00185 /**
00186  * @brief Detected a UART parity error.
00187  */
00188 #define ST_SERIAL_RX_PARITY_ERROR(0x25)
00189 #else
00190 DEFINE_ERROR(SERIAL_RX_PARITY_ERROR, 0x25)
00191 #endif //DOXYGEN_SHOULD_SKIP_THIS
00192 
00193 
00194 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00195 /**
00196  * @brief There is no received data to process.
00197  */
00198 #define ST_SERIAL_RX_EMPTY(0x26)
00199 #else
00200 DEFINE_ERROR(SERIAL_RX_EMPTY, 0x26)
00201 #endif //DOXYGEN_SHOULD_SKIP_THIS
00202 
00203 
00204 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00205 /**
00206  * @brief The receive interrupt was not handled in time, and a 
00207  * character was dropped.
00208  */
00209 #define ST_SERIAL_RX_OVERRUN_ERROR(0x27)
00210 #else
00211 DEFINE_ERROR(SERIAL_RX_OVERRUN_ERROR, 0x27)
00212 #endif //DOXYGEN_SHOULD_SKIP_THIS
00213 
00214 //@}
00215 
00216 /**
00217  * @name MAC Errors
00218  */  
00219 //@{
00220 
00221 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00222 /**
00223  * @brief The MAC transmit queue is full.
00224  */
00225 #define ST_MAC_TRANSMIT_QUEUE_FULL(0x39)
00226 #else
00227 // Internal
00228 DEFINE_ERROR(MAC_TRANSMIT_QUEUE_FULL, 0x39)
00229 #endif //DOXYGEN_SHOULD_SKIP_THIS
00230 
00231 
00232 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00233 /**
00234  * @brief MAC header FCF error on receive.
00235  */
00236 #define ST_MAC_UNKNOWN_HEADER_TYPE(0x3A)
00237 #else
00238 DEFINE_ERROR(MAC_UNKNOWN_HEADER_TYPE, 0x3A)
00239 #endif //DOXYGEN_SHOULD_SKIP_THIS
00240 
00241 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00242 /**
00243  * @brief MAC ACK header received.
00244  */
00245 #define ST_MAC_ACK_HEADER_TYPE(0x3B)
00246 #else
00247 DEFINE_ERROR(MAC_ACK_HEADER_TYPE,  0x3B)
00248 #endif //DOXYGEN_SHOULD_SKIP_THIS
00249 
00250 
00251 
00252 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00253 /**
00254  * @brief The MAC can't complete this task because it is scanning.
00255  */
00256 #define ST_MAC_SCANNING(0x3D)
00257 #else
00258 DEFINE_ERROR(MAC_SCANNING, 0x3D)
00259 #endif //DOXYGEN_SHOULD_SKIP_THIS
00260 
00261 
00262 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00263 /**
00264  * @brief No pending data exists for device doing a data poll.
00265  */
00266 #define ST_MAC_NO_DATA(0x31)
00267 #else
00268 DEFINE_ERROR(MAC_NO_DATA, 0x31)
00269 #endif //DOXYGEN_SHOULD_SKIP_THIS
00270 
00271 
00272 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00273 /**
00274  * @brief Attempt to scan when we are joined to a network.
00275  */
00276 #define ST_MAC_JOINED_NETWORK(0x32)
00277 #else
00278 DEFINE_ERROR(MAC_JOINED_NETWORK, 0x32)
00279 #endif //DOXYGEN_SHOULD_SKIP_THIS
00280 
00281 
00282 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00283 /**
00284  * @brief Scan duration must be 0 to 14 inclusive.  Attempt was made to
00285  * scan with an incorrect duration value.
00286  */
00287 #define ST_MAC_BAD_SCAN_DURATION(0x33)
00288 #else
00289 DEFINE_ERROR(MAC_BAD_SCAN_DURATION, 0x33)
00290 #endif //DOXYGEN_SHOULD_SKIP_THIS
00291 
00292 
00293 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00294 /**
00295  * @brief stStartScan was called with an incorrect scan type.
00296  */
00297 #define ST_MAC_INCORRECT_SCAN_TYPE(0x34)
00298 #else
00299 DEFINE_ERROR(MAC_INCORRECT_SCAN_TYPE, 0x34)
00300 #endif //DOXYGEN_SHOULD_SKIP_THIS
00301 
00302 
00303 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00304 /**
00305  * @brief stStartScan was called with an invalid channel mask.
00306  */
00307 #define ST_MAC_INVALID_CHANNEL_MASK(0x35)
00308 #else
00309 DEFINE_ERROR(MAC_INVALID_CHANNEL_MASK, 0x35)
00310 #endif //DOXYGEN_SHOULD_SKIP_THIS
00311 
00312 
00313 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00314 /**
00315  * @brief Failed to scan current channel because we were unable to
00316  * transmit the relevent MAC command.
00317  */
00318 #define ST_MAC_COMMAND_TRANSMIT_FAILURE(0x36)
00319 #else
00320 DEFINE_ERROR(MAC_COMMAND_TRANSMIT_FAILURE, 0x36)
00321 #endif //DOXYGEN_SHOULD_SKIP_THIS
00322 
00323 
00324 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00325 /**
00326  * @brief We expected to receive an ACK following the transmission, but
00327  * the MAC level ACK was never received.
00328  */
00329 #define ST_MAC_NO_ACK_RECEIVED(0x40)
00330 #else
00331 DEFINE_ERROR(MAC_NO_ACK_RECEIVED, 0x40)
00332 #endif //DOXYGEN_SHOULD_SKIP_THIS
00333 
00334 
00335 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00336 /** 
00337  * @brief Indirect data message timed out before polled.
00338  */
00339 #define ST_MAC_INDIRECT_TIMEOUT(0x42)
00340 #else
00341 DEFINE_ERROR(MAC_INDIRECT_TIMEOUT, 0x42)
00342 #endif //DOXYGEN_SHOULD_SKIP_THIS
00343 
00344 //@}
00345 
00346 
00347 /**
00348  * @name  Simulated EEPROM Errors
00349  */  
00350 //@{
00351 
00352 
00353 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00354 /** 
00355  * @brief The Simulated EEPROM is telling the application that there
00356  * is at least one flash page to be erased.  The GREEN status means the
00357  * current page has not filled above the ::ERASE_CRITICAL_THRESHOLD.
00358  * 
00359  * The application should call the function ::halSimEepromErasePage() when it can
00360  * to erase a page.
00361  */
00362 #define ST_SIM_EEPROM_ERASE_PAGE_GREEN(0x43)
00363 #else
00364 DEFINE_ERROR(SIM_EEPROM_ERASE_PAGE_GREEN, 0x43)
00365 #endif //DOXYGEN_SHOULD_SKIP_THIS
00366 
00367 
00368 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00369 /** 
00370  * @brief The Simulated EEPROM is telling the application that there
00371  * is at least one flash page to be erased.  The RED status means the
00372  * current page has filled above the ::ERASE_CRITICAL_THRESHOLD.
00373  * 
00374  * Due to the shrinking availablity of write space, there is a danger of
00375  * data loss.  The application must call the function ::halSimEepromErasePage()
00376  * as soon as possible to erase a page.
00377  */
00378 #define ST_SIM_EEPROM_ERASE_PAGE_RED(0x44)
00379 #else
00380 DEFINE_ERROR(SIM_EEPROM_ERASE_PAGE_RED, 0x44)
00381 #endif //DOXYGEN_SHOULD_SKIP_THIS
00382 
00383 
00384 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00385 /** 
00386  * @brief The Simulated EEPROM has run out of room to write any new data
00387  * and the data trying to be set has been lost.  This error code is the
00388  * result of ignoring the ::SIM_EEPROM_ERASE_PAGE_RED error code.
00389  *
00390  * The application must call the function ::halSimEepromErasePage() to make room for
00391  * any further calls to set a token.
00392  */
00393 #define ST_SIM_EEPROM_FULL(0x45)
00394 #else
00395 DEFINE_ERROR(SIM_EEPROM_FULL, 0x45)
00396 #endif //DOXYGEN_SHOULD_SKIP_THIS
00397 
00398 
00399 //  Errors 46 and 47 are now defined below in the 
00400 //    flash error block (was attempting to prevent renumbering)
00401 
00402 
00403 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00404 /** 
00405  * @brief Attempt 1 to initialize the Simulated EEPROM has failed.
00406  *
00407  * This failure means the information already stored in Flash (or a lack
00408  * thereof), is fatally incompatible with the token information compiled
00409  * into the code image being run.
00410  */
00411 #define ST_SIM_EEPROM_INIT_1_FAILED(0x48)
00412 #else
00413 DEFINE_ERROR(SIM_EEPROM_INIT_1_FAILED, 0x48)
00414 #endif //DOXYGEN_SHOULD_SKIP_THIS
00415 
00416 
00417 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00418 /** 
00419  * @brief Attempt 2 to initialize the Simulated EEPROM has failed.
00420  *
00421  * This failure means Attempt 1 failed, and the token system failed to
00422  * properly reload default tokens and reset the Simulated EEPROM.
00423  */
00424 #define ST_SIM_EEPROM_INIT_2_FAILED(0x49)
00425 #else
00426 DEFINE_ERROR(SIM_EEPROM_INIT_2_FAILED, 0x49)
00427 #endif //DOXYGEN_SHOULD_SKIP_THIS
00428 
00429 
00430 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00431 /** 
00432  * @brief Attempt 3 to initialize the Simulated EEPROM has failed.
00433  *
00434  * This failure means one or both of the tokens ::TOKEN_MFG_NVDATA_VERSION or
00435  * ::TOKEN_STACK_NVDATA_VERSION were incorrect and the token system failed to
00436  * properly reload default tokens and reset the Simulated EEPROM.
00437  */
00438 #define ST_SIM_EEPROM_INIT_3_FAILED(0x4A)
00439 #else
00440 DEFINE_ERROR(SIM_EEPROM_INIT_3_FAILED, 0x4A)
00441 #endif //DOXYGEN_SHOULD_SKIP_THIS
00442 
00443 //@}
00444 
00445 
00446 /**
00447  * @name  Flash Errors
00448  */  
00449 //@{
00450 
00451 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00452 /** 
00453  * @brief A fatal error has occured while trying to write data to the
00454  * Flash.  The target memory attempting to be programmed is already programmed.
00455  * The flash write routines were asked to flip a bit from a 0 to 1, which is
00456  * physically impossible and the write was therefore inhibited.  The data in
00457  * the flash cannot be trusted after this error.
00458  */
00459 #define ST_ERR_FLASH_WRITE_INHIBITED(0x46)
00460 #else
00461 DEFINE_ERROR(ERR_FLASH_WRITE_INHIBITED, 0x46)
00462 #endif //DOXYGEN_SHOULD_SKIP_THIS
00463 
00464 
00465 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00466 /** 
00467  * @brief A fatal error has occured while trying to write data to the
00468  * Flash and the write verification has failed.  The data in the flash
00469  * cannot be trusted after this error, and it is possible this error is the
00470  * result of exceeding the life cycles of the flash.
00471  */
00472 #define ST_ERR_FLASH_VERIFY_FAILED(0x47)
00473 #else
00474 DEFINE_ERROR(ERR_FLASH_VERIFY_FAILED, 0x47)
00475 #endif //DOXYGEN_SHOULD_SKIP_THIS
00476 
00477 
00478 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00479 /** 
00480  * @description A fatal error has occured while trying to write data to the
00481  * flash, possibly due to write protection or an invalid address.  The data in
00482  * the flash cannot be trusted after this error, and it is possible this error
00483  * is the result of exceeding the life cycles of the flash.
00484  */
00485 #define ST_ERR_FLASH_PROG_FAIL(0x4B)
00486 #else
00487 DEFINE_ERROR(ERR_FLASH_PROG_FAIL, 0x4B)
00488 #endif //DOXYGEN_SHOULD_SKIP_THIS
00489 
00490 
00491 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00492 /** 
00493  * @description A fatal error has occured while trying to erase flash, possibly
00494  * due to write protection.  The data in the flash cannot be trusted after
00495  * this error, and it is possible this error is the result of exceeding the
00496  * life cycles of the flash.
00497  */
00498 #define ST_ERR_FLASH_ERASE_FAIL(0x4C)
00499 #else
00500 DEFINE_ERROR(ERR_FLASH_ERASE_FAIL, 0x4C)
00501 #endif //DOXYGEN_SHOULD_SKIP_THIS
00502 
00503 //@}
00504 
00505 
00506 /**
00507  * @name  Bootloader Errors
00508  */  
00509 //@{
00510 
00511 
00512 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00513 /**
00514  * @brief The bootloader received an invalid message (failed attempt 
00515  * to go into bootloader).
00516  */
00517 #define ST_ERR_BOOTLOADER_TRAP_TABLE_BAD(0x58)
00518 #else
00519 DEFINE_ERROR(ERR_BOOTLOADER_TRAP_TABLE_BAD, 0x58)
00520 #endif //DOXYGEN_SHOULD_SKIP_THIS
00521 
00522 
00523 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00524 /**
00525  * @brief Bootloader received an invalid message (failed attempt to go 
00526  * into bootloader).
00527  */
00528 #define ST_ERR_BOOTLOADER_TRAP_UNKNOWN(0x59)
00529 #else
00530 DEFINE_ERROR(ERR_BOOTLOADER_TRAP_UNKNOWN, 0x59)
00531 #endif //DOXYGEN_SHOULD_SKIP_THIS
00532 
00533 
00534 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00535 /**
00536  * @brief The bootloader cannot complete the bootload operation because
00537  * either an image was not found or the image exceeded memory bounds.
00538  */
00539 #define ST_ERR_BOOTLOADER_NO_IMAGE(0x05A)
00540 #else
00541 DEFINE_ERROR(ERR_BOOTLOADER_NO_IMAGE, 0x5A)
00542 #endif //DOXYGEN_SHOULD_SKIP_THIS
00543 
00544 //@}
00545 
00546 
00547 /**
00548  * @name  Transport Errors
00549  */  
00550 //@{
00551 
00552 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00553 /**
00554  * @brief The APS layer attempted to send or deliver a message, but
00555  * it failed.
00556  */
00557 #define ST_DELIVERY_FAILED(0x66)
00558 #else
00559 DEFINE_ERROR(DELIVERY_FAILED, 0x66)
00560 #endif //DOXYGEN_SHOULD_SKIP_THIS
00561 
00562 
00563 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00564 /**
00565  * @brief This binding index is out of range for the current binding table.
00566  */
00567 #define ST_BINDING_INDEX_OUT_OF_RANGE(0x69)
00568 #else
00569 DEFINE_ERROR(BINDING_INDEX_OUT_OF_RANGE, 0x69)
00570 #endif //DOXYGEN_SHOULD_SKIP_THIS
00571 
00572 
00573 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00574 /**
00575  * @brief This address table index is out of range for the current 
00576  * address table.
00577  */
00578 #define ST_ADDRESS_TABLE_INDEX_OUT_OF_RANGE(0x6A)
00579 #else
00580 DEFINE_ERROR(ADDRESS_TABLE_INDEX_OUT_OF_RANGE, 0x6A)
00581 #endif //DOXYGEN_SHOULD_SKIP_THIS
00582 
00583 
00584 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00585 /**
00586  * @brief An invalid binding table index was given to a function.
00587  */
00588 #define ST_INVALID_BINDING_INDEX(0x6C)
00589 #else
00590 DEFINE_ERROR(INVALID_BINDING_INDEX, 0x6C)
00591 #endif //DOXYGEN_SHOULD_SKIP_THIS
00592 
00593 
00594 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00595 /**
00596  * @brief The API call is not allowed given the current state of the 
00597  * stack.
00598  */
00599 #define ST_INVALID_CALL(0x70)
00600 #else
00601 DEFINE_ERROR(INVALID_CALL, 0x70)
00602 #endif //DOXYGEN_SHOULD_SKIP_THIS
00603 
00604 
00605 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00606 /**
00607  * @brief The link cost to a node is not known.
00608  */
00609 #define ST_COST_NOT_KNOWN(0x71)
00610 #else
00611 DEFINE_ERROR(COST_NOT_KNOWN, 0x71)
00612 #endif //DOXYGEN_SHOULD_SKIP_THIS
00613 
00614 
00615 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00616 /**
00617  * @brief The maximum number of in-flight messages (i.e. 
00618  * ::ST_APS_UNICAST_MESSAGE_COUNT)  has been reached.
00619  */
00620 #define ST_MAX_MESSAGE_LIMIT_REACHED(0x72)
00621 #else
00622 DEFINE_ERROR(MAX_MESSAGE_LIMIT_REACHED, 0x72)
00623 #endif //DOXYGEN_SHOULD_SKIP_THIS
00624 
00625 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00626 /**
00627  * @brief The message to be transmitted is too big to fit into a
00628  * single over-the-air packet.
00629  */
00630 #define ST_MESSAGE_TOO_LONG(0x74)
00631 #else
00632 DEFINE_ERROR(MESSAGE_TOO_LONG, 0x74)
00633 #endif //DOXYGEN_SHOULD_SKIP_THIS
00634 
00635 
00636 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00637 /**
00638  * @brief The application is trying to delete or overwrite a binding
00639  * that is in use.
00640  */
00641 #define ST_BINDING_IS_ACTIVE(0x75)
00642 #else
00643 DEFINE_ERROR(BINDING_IS_ACTIVE, 0x75)
00644 #endif //DOXYGEN_SHOULD_SKIP_THIS
00645 
00646 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00647 /**
00648  * @brief The application is trying to overwrite an address table entry
00649  * that is in use.
00650  */
00651 #define ST_ADDRESS_TABLE_ENTRY_IS_ACTIVE(0x76)
00652 #else
00653 DEFINE_ERROR(ADDRESS_TABLE_ENTRY_IS_ACTIVE, 0x76)
00654 #endif //DOXYGEN_SHOULD_SKIP_THIS
00655 
00656 //@}
00657 
00658 /**
00659  * @name  HAL Module Errors
00660  */  
00661 //@{
00662   
00663 
00664 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00665 /**
00666  * @brief Conversion is complete.
00667  */
00668 #define ST_ADC_CONVERSION_DONE(0x80)
00669 #else
00670 DEFINE_ERROR(ADC_CONVERSION_DONE, 0x80)
00671 #endif //DOXYGEN_SHOULD_SKIP_THIS
00672 
00673 
00674 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00675 /**
00676  * @brief Conversion cannot be done because a request is being 
00677  * processed.
00678  */
00679 #define ST_ADC_CONVERSION_BUSY(0x81)
00680 #else
00681 DEFINE_ERROR(ADC_CONVERSION_BUSY, 0x81)
00682 #endif //DOXYGEN_SHOULD_SKIP_THIS
00683 
00684 
00685 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00686 /**
00687  * @brief Conversion is deferred until the current request has been 
00688  * processed.
00689  */
00690 #define ST_ADC_CONVERSION_DEFERRED(0x82)
00691 #else
00692 DEFINE_ERROR(ADC_CONVERSION_DEFERRED, 0x82)
00693 #endif //DOXYGEN_SHOULD_SKIP_THIS
00694 
00695 
00696 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00697 /**
00698  * @brief No results are pending.
00699  */
00700 #define ST_ADC_NO_CONVERSION_PENDING(0x84)
00701 #else
00702 DEFINE_ERROR(ADC_NO_CONVERSION_PENDING, 0x84)
00703 #endif //DOXYGEN_SHOULD_SKIP_THIS
00704 
00705 
00706 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00707 /**
00708  * @brief Sleeping (for a duration) has been abnormally interrupted
00709  * and exited prematurely.
00710  */
00711 #define ST_SLEEP_INTERRUPTED(0x85)
00712 #else
00713 DEFINE_ERROR(SLEEP_INTERRUPTED, 0x85)
00714 #endif //DOXYGEN_SHOULD_SKIP_THIS
00715 
00716 //@}
00717 
00718 /**
00719  * @name  PHY Errors
00720  */  
00721 //@{
00722 
00723 
00724 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00725 /**
00726  * @brief The transmit hardware buffer underflowed.
00727  */
00728 #define ST_PHY_TX_UNDERFLOW(0x88)
00729 #else
00730 DEFINE_ERROR(PHY_TX_UNDERFLOW, 0x88)
00731 #endif //DOXYGEN_SHOULD_SKIP_THIS
00732 
00733 
00734 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00735 /**
00736  * @brief The transmit hardware did not finish transmitting a packet.
00737  */
00738 #define ST_PHY_TX_INCOMPLETE(0x89)
00739 #else
00740 DEFINE_ERROR(PHY_TX_INCOMPLETE, 0x89)
00741 #endif //DOXYGEN_SHOULD_SKIP_THIS
00742 
00743 
00744 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00745 /**
00746  * @brief An unsupported channel setting was specified.
00747  */
00748 #define ST_PHY_INVALID_CHANNEL(0x8A)
00749 #else
00750 DEFINE_ERROR(PHY_INVALID_CHANNEL, 0x8A)
00751 #endif //DOXYGEN_SHOULD_SKIP_THIS
00752 
00753 
00754 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00755 /**
00756  * @brief An unsupported power setting was specified.
00757  */
00758 #define ST_PHY_INVALID_POWER(0x8B)
00759 #else
00760 DEFINE_ERROR(PHY_INVALID_POWER, 0x8B)
00761 #endif //DOXYGEN_SHOULD_SKIP_THIS
00762 
00763 
00764 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00765 /**
00766  * @brief The requested operation cannot be completed because the radio
00767  * is currently busy, either transmitting a packet or performing calibration.
00768  */
00769 #define ST_PHY_TX_BUSY(0x8C)
00770 #else
00771 DEFINE_ERROR(PHY_TX_BUSY, 0x8C)
00772 #endif //DOXYGEN_SHOULD_SKIP_THIS
00773 
00774 
00775 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00776 /**
00777  * @brief The transmit attempt failed because all CCA attempts indicated that
00778  * the channel was busy.
00779  */
00780 #define ST_PHY_TX_CCA_FAIL(0x8D)
00781 #else
00782 DEFINE_ERROR(PHY_TX_CCA_FAIL, 0x8D)
00783 #endif //DOXYGEN_SHOULD_SKIP_THIS
00784 
00785 
00786 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00787 /**
00788  * @brief The software installed on the hardware doesn't recognize the
00789  * hardware radio type.
00790  */
00791 #define ST_PHY_OSCILLATOR_CHECK_FAILED(0x8E)
00792 #else
00793 DEFINE_ERROR(PHY_OSCILLATOR_CHECK_FAILED, 0x8E)
00794 #endif //DOXYGEN_SHOULD_SKIP_THIS
00795 
00796 
00797 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00798 /**
00799  * @brief The expected ACK was received after the last transmission.
00800  */
00801 #define ST_PHY_ACK_RECEIVED(0x8F)
00802 #else
00803 DEFINE_ERROR(PHY_ACK_RECEIVED, 0x8F)
00804 #endif //DOXYGEN_SHOULD_SKIP_THIS
00805 
00806 //@}
00807 
00808 /**
00809  * @name  Return Codes Passed to stStackStatusHandler()
00810  * See also ::stStackStatusHandler(). 
00811  */
00812 //@{
00813 
00814 
00815 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00816 /**
00817  * @brief The stack software has completed initialization and is ready
00818  * to send and receive packets over the air.
00819  */
00820 #define ST_NETWORK_UP(0x90)
00821 #else
00822 DEFINE_ERROR(NETWORK_UP, 0x90)
00823 #endif //DOXYGEN_SHOULD_SKIP_THIS
00824 
00825 
00826 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00827 /**
00828  * @brief The network is not operating.
00829  */
00830 #define ST_NETWORK_DOWN(0x91)
00831 #else
00832 DEFINE_ERROR(NETWORK_DOWN, 0x91)
00833 #endif //DOXYGEN_SHOULD_SKIP_THIS
00834 
00835 
00836 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00837 /**
00838  * @brief An attempt to join a network failed.
00839  */
00840 #define ST_JOIN_FAILED(0x94)
00841 #else
00842 DEFINE_ERROR(JOIN_FAILED, 0x94)
00843 #endif //DOXYGEN_SHOULD_SKIP_THIS
00844 
00845 
00846 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00847 /**
00848  * @brief After moving, a mobile node's attempt to re-establish contact
00849   * with the network failed.
00850  */
00851 #define ST_MOVE_FAILED(0x96)
00852 #else
00853 DEFINE_ERROR(MOVE_FAILED, 0x96)
00854 #endif //DOXYGEN_SHOULD_SKIP_THIS
00855 
00856 
00857 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00858 /**
00859  * @brief An attempt to join as a router failed due to a Zigbee
00860  * versus Zigbee Pro incompatibility.  Zigbee devices joining Zigbee Pro networks
00861  * (or vica versa) must join as End Devices, not Routers.
00862  */
00863 #define ST_CANNOT_JOIN_AS_ROUTER(0x98)
00864 #else
00865 DEFINE_ERROR(CANNOT_JOIN_AS_ROUTER, 0x98)
00866 #endif //DOXYGEN_SHOULD_SKIP_THIS
00867 
00868 
00869 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00870 /** @brief The local node ID has changed. The application can obtain the new
00871  *  node ID by calling ::stGetNodeId().
00872  */
00873 #define ST_NODE_ID_CHANGED(0x99)
00874 #else
00875 DEFINE_ERROR(NODE_ID_CHANGED, 0x99)
00876 #endif
00877 
00878 
00879 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00880 /** @brief The local PAN ID has changed. The application can obtain the new PAN
00881  *  ID by calling ::stGetPanId().
00882  */
00883 #define ST_PAN_ID_CHANGED(0x9A)
00884 #else
00885 DEFINE_ERROR(PAN_ID_CHANGED, 0x9A)
00886 #endif
00887 
00888 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00889 /** @brief The channel has changed.
00890  */
00891 #define ST_CHANNEL_CHANGED(0x9B)
00892 #else
00893 DEFINE_ERROR(CHANNEL_CHANGED, 0x9B)
00894 #endif
00895 
00896 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00897 /** @brief An attempt to join or rejoin the network failed because 
00898  *  no router beacons could be heard by the joining node.
00899  */
00900 #define ST_NO_BEACONS(0xAB)
00901 #else 
00902 DEFINE_ERROR(NO_BEACONS, 0xAB)
00903 #endif
00904 
00905 
00906 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00907 /** @brief An attempt was made to join a Secured Network using a pre-configured
00908  *  key, but the Trust Center sent back a Network Key in-the-clear when
00909  *  an encrypted Network Key was required. (::ST_REQUIRE_ENCRYPTED_KEY).
00910  */
00911 #define ST_RECEIVED_KEY_IN_THE_CLEAR(0xAC)
00912 #else
00913 DEFINE_ERROR(RECEIVED_KEY_IN_THE_CLEAR, 0xAC)
00914 #endif
00915 
00916 
00917 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00918 /** @brief An attempt was made to join a Secured Network, but the device did
00919  *  not receive a Network Key.
00920  */
00921 #define ST_NO_NETWORK_KEY_RECEIVED(0xAD)
00922 #else
00923 DEFINE_ERROR(NO_NETWORK_KEY_RECEIVED, 0xAD)
00924 #endif
00925 
00926 
00927 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00928 /** @brief After a device joined a Secured Network, a Link Key was requested 
00929  *  (::ST_GET_LINK_KEY_WHEN_JOINING) but no response was ever received.
00930  */
00931 #define ST_NO_LINK_KEY_RECEIVED(0xAE)
00932 #else
00933 DEFINE_ERROR(NO_LINK_KEY_RECEIVED, 0xAE)
00934 #endif
00935 
00936 
00937 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00938 /** @brief An attempt was made to join a Secured Network without a
00939  *  pre-configured key, but the Trust Center sent encrypted data using a
00940  *  pre-configured key.
00941  */
00942 #define ST_PRECONFIGURED_KEY_REQUIRED(0xAF)
00943 #else
00944 DEFINE_ERROR(PRECONFIGURED_KEY_REQUIRED, 0xAF)
00945 #endif
00946 
00947 
00948 //@}
00949 
00950 /**
00951  * @name  Security Errors
00952  */
00953 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00954 /** 
00955  * @brief The passed key data is not valid.  A key of all zeros or
00956  *   all F's are reserved values and cannot be used.
00957  */
00958 #define ST_KEY_INVALID(0xB2)
00959 #else
00960 DEFINE_ERROR(KEY_INVALID, 0xB2)
00961 #endif // DOXYGEN_SHOULD_SKIP_THIS
00962 
00963 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00964 /**
00965  * @brief The chosen security level (the value of ::ST_SECURITY_LEVEL)
00966  *  is not supported by the stack.
00967  */
00968 #define ST_INVALID_SECURITY_LEVEL(0x95)
00969 #else
00970 DEFINE_ERROR(INVALID_SECURITY_LEVEL, 0x95)
00971 #endif //DOXYGEN_SHOULD_SKIP_THIS
00972 
00973 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00974 /**
00975  * @brief There was an error in trying to encrypt at the APS Level.
00976  *
00977  * This could result from either an inability to determine the long address
00978  * of the recipient from the short address (no entry in the binding table)
00979  * or there is no link key entry in the table associated with the destination,
00980  * or there was a failure to load the correct key into the encryption core.
00981  */
00982 #define ST_APS_ENCRYPTION_ERROR(0xA6)
00983 #else
00984      DEFINE_ERROR(APS_ENCRYPTION_ERROR, 0xA6)
00985 #endif //DOXYGEN_SHOULD_SKIP_THIS
00986 
00987 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00988 /** @brief There was an attempt to form a network using High
00989  * security without setting the Trust Center master key first.
00990  */
00991 #define ST_TRUST_CENTER_MASTER_KEY_NOT_SET(0xA7)
00992 #else
00993      DEFINE_ERROR(TRUST_CENTER_MASTER_KEY_NOT_SET, 0xA7)
00994 #endif //DOXYGEN_SHOULD_SKIP_THIS
00995 
00996 #ifdef DOXYGEN_SHOULD_SKIP_THIS
00997 /** @brief There was an attempt to form or join a network with security
00998  * without calling ::stSetInitialSecurityState() first.
00999  */
01000 #define ST_SECURITY_STATE_NOT_SET(0xA8)
01001 #else
01002      DEFINE_ERROR(SECURITY_STATE_NOT_SET, 0xA8)
01003 #endif //DOXYGEN_SHOULD_SKIP_THIS
01004 
01005 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01006 /** @brief There was an attempt to set an entry in the key table using
01007  *   an invalid long address.  An entry cannot be set using either
01008  *   the local device's or Trust Center's IEEE address.  Or an entry
01009  *   already exists in the table with the same IEEE address.
01010  *   An Address of all zeros or all F's are not valid
01011  *   addresses in 802.15.4.
01012  */
01013 #define ST_KEY_TABLE_INVALID_ADDRESS(0xB3)
01014 #else
01015 DEFINE_ERROR(KEY_TABLE_INVALID_ADDRESS, 0xB3)
01016 #endif //DOYXGEN_SHOULD_SKIP_THIS
01017 
01018 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01019 /** @brief There was an attempt to set a security configuration that
01020  *   is not valid given the other security settings.
01021  */
01022 #define ST_SECURITY_CONFIGURATION_INVALID(0xB7)
01023 #else
01024 DEFINE_ERROR(SECURITY_CONFIGURATION_INVALID, 0xB7)
01025 #endif //DOXYGEN_SHOULD_SKIP_THIS
01026 
01027 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01028 /** @brief There was an attempt to broadcast a key switch too quickly after
01029  *    broadcasting the next network key.  The Trust Center must wait at
01030  *    least a period equal to the broadcast timeout so that all routers
01031  *    have a chance to receive the broadcast of the new network key.
01032  */
01033 #define ST_TOO_SOON_FOR_SWITCH_KEY(0xB8)
01034 #else
01035      DEFINE_ERROR(TOO_SOON_FOR_SWITCH_KEY, 0xB8)
01036 #endif
01037 
01038 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01039 /** @brief The received signature corresponding to the message that was passed
01040     to the CBKE Library failed verification, it is not valid.
01041 */
01042 #define ST_SIGNATURE_VERIFY_FAILURE(0xB9)
01043 #else
01044      DEFINE_ERROR(SIGNATURE_VERIFY_FAILURE, 0xB9)
01045 #endif
01046 
01047 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01048 /** @brief The message could not be sent because the link key corresponding
01049     to the destination is not authorized for use in APS data messages.  
01050     APS Commands (sent by the stack) are allowed.   To use it for encryption
01051     of APS data messages it must be authorized using a key agreement protocol
01052     (such as CBKE). 
01053 */
01054 #define ST_KEY_NOT_AUTHORIZED(0xBB)
01055 #else
01056      DEFINE_ERROR(KEY_NOT_AUTHORIZED, 0xBB)
01057 #endif
01058 
01059 
01060 //@}
01061 
01062 
01063 /**
01064  * @name  Miscellaneous Network Errors
01065  */  
01066 //@{
01067 
01068 
01069 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01070 /**
01071  * @brief The node has not joined a network.
01072  */
01073 #define ST_NOT_JOINED(0x93)
01074 #else
01075 DEFINE_ERROR(NOT_JOINED, 0x93)
01076 #endif //DOXYGEN_SHOULD_SKIP_THIS
01077 
01078 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01079 /**
01080  * @brief A message cannot be sent because the network is currently
01081  *  overloaded.
01082  */
01083 #define ST_NETWORK_BUSY(0xA1)
01084 #else
01085 DEFINE_ERROR(NETWORK_BUSY, 0xA1)
01086 #endif //DOXYGEN_SHOULD_SKIP_THIS
01087 
01088 
01089 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01090 /**
01091  * @brief The application tried to send a message using an 
01092  * endpoint that it has not defined.
01093  */
01094 #define ST_INVALID_ENDPOINT(0xA3)
01095 #else
01096 DEFINE_ERROR(INVALID_ENDPOINT, 0xA3)
01097 #endif //DOXYGEN_SHOULD_SKIP_THIS
01098 
01099 
01100 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01101 /**
01102  * @brief The application tried to use a binding that has been remotely
01103  * modified and the change has not yet been reported to the application.
01104  */
01105 #define ST_BINDING_HAS_CHANGED(0xA4)
01106 #else
01107 DEFINE_ERROR(BINDING_HAS_CHANGED, 0xA4)
01108 #endif //DOXYGEN_SHOULD_SKIP_THIS
01109 
01110 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01111 /** 
01112  * @brief An attempt to generate random bytes failed because of 
01113  * insufficient random data from the radio.
01114  */
01115 #define ST_INSUFFICIENT_RANDOM_DATA(0xA5)
01116 #else
01117      DEFINE_ERROR(INSUFFICIENT_RANDOM_DATA, 0xA5)
01118 #endif //DOXYGEN_SHOULD_SKIP_THIS
01119 
01120 
01121 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01122 /** A ZigBee route error command frame was received indicating
01123  * that a source routed message from this node failed en route.
01124  */
01125 #define ST_SOURCE_ROUTE_FAILURE(0xA9)
01126 #else
01127      DEFINE_ERROR(SOURCE_ROUTE_FAILURE, 0xA9)
01128 #endif
01129 
01130 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01131 /** A ZigBee route error command frame was received indicating
01132  * that a message sent to this node along a many-to-one route
01133  * failed en route.  The route error frame was delivered by
01134  * an ad-hoc search for a functioning route.
01135  */
01136 #define ST_MANY_TO_ONE_ROUTE_FAILURE(0xAA)
01137 #else
01138      DEFINE_ERROR(MANY_TO_ONE_ROUTE_FAILURE, 0xAA)
01139 #endif
01140 
01141 
01142 //@}
01143 
01144 /**
01145  * @name  Miscellaneous Utility Errors
01146  */  
01147 //@{
01148 
01149 
01150 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01151 /**
01152  * @brief A critical and fatal error indicating that the version of the
01153  * stack trying to run does not match with the chip it is running on. The
01154  * software (stack) on the chip must be replaced with software that is
01155  * compatible with the chip.
01156  */
01157 #define ST_STACK_AND_HARDWARE_MISMATCH(0xB0)
01158 #else
01159 DEFINE_ERROR(STACK_AND_HARDWARE_MISMATCH, 0xB0)
01160 #endif //DOXYGEN_SHOULD_SKIP_THIS
01161 
01162 
01163 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01164 /** 
01165  * @brief An index was passed into the function that was larger
01166  * than the valid range.
01167  */
01168 #define ST_INDEX_OUT_OF_RANGE(0xB1)
01169 #else
01170 DEFINE_ERROR(INDEX_OUT_OF_RANGE, 0xB1)
01171 #endif
01172 
01173 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01174 /**
01175  * @brief There are no empty entries left in the table.
01176  */
01177 #define ST_TABLE_FULL(0xB4)
01178 #else
01179 DEFINE_ERROR(TABLE_FULL, 0xB4)
01180 #endif //DOXYGEN_SHOULD_SKIP_THIS
01181 
01182 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01183 /**
01184  * @brief The requested table entry has been erased and contains
01185  *   no valid data.
01186  */
01187 #define ST_TABLE_ENTRY_ERASED(0xB6)
01188 #else
01189 DEFINE_ERROR(TABLE_ENTRY_ERASED, 0xB6)
01190 #endif
01191 
01192 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01193 /**
01194  * @brief The requested function cannot be executed because
01195  *   the library that contains the necessary functionality is not present.
01196  */
01197 #define ST_LIBRARY_NOT_PRESENT(0xB5)
01198 #else
01199 DEFINE_ERROR(LIBRARY_NOT_PRESENT, 0xB5)
01200 #endif
01201 
01202 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01203 /**
01204  * @brief The stack accepted the command and is currently processing
01205  * the request.  The results will be returned via an appropriate handler.
01206  */
01207 #define ST_OPERATION_IN_PROGRESS(0xBA)
01208 #else
01209 DEFINE_ERROR(OPERATION_IN_PROGRESS, 0xBA)
01210 #endif
01211 
01212 //@}
01213 
01214 /**
01215  * @name  Application Errors
01216  * These error codes are available for application use.
01217  */
01218 //@{
01219 
01220 #ifdef DOXYGEN_SHOULD_SKIP_THIS
01221 /**
01222  * @brief This error is reserved for customer application use.
01223  *  This will never be returned from any portion of the network stack or HAL.
01224  */
01225 #define ST_APPLICATION_ERROR_0(0xF0)
01226 #define ST_APPLICATION_ERROR_1(0xF1)
01227 #define ST_APPLICATION_ERROR_2(0xF2)
01228 #define ST_APPLICATION_ERROR_3(0xF3)
01229 #define ST_APPLICATION_ERROR_4(0xF4)
01230 #define ST_APPLICATION_ERROR_5(0xF5)
01231 #define ST_APPLICATION_ERROR_6(0xF6)
01232 #define ST_APPLICATION_ERROR_7(0xF7)
01233 #define ST_APPLICATION_ERROR_8(0xF8)
01234 #define ST_APPLICATION_ERROR_9(0xF9)
01235 #define ST_APPLICATION_ERROR_10(0xFA)
01236 #define ST_APPLICATION_ERROR_11(0xFB)
01237 #define ST_APPLICATION_ERROR_12(0xFC)
01238 #define ST_APPLICATION_ERROR_13(0xFD)
01239 #define ST_APPLICATION_ERROR_14(0xFE)
01240 #define ST_APPLICATION_ERROR_15(0xFF)
01241 #else
01242 DEFINE_ERROR( APPLICATION_ERROR_0, 0xF0)
01243 DEFINE_ERROR( APPLICATION_ERROR_1, 0xF1)
01244 DEFINE_ERROR( APPLICATION_ERROR_2, 0xF2)
01245 DEFINE_ERROR( APPLICATION_ERROR_3, 0xF3)
01246 DEFINE_ERROR( APPLICATION_ERROR_4, 0xF4)
01247 DEFINE_ERROR( APPLICATION_ERROR_5, 0xF5)
01248 DEFINE_ERROR( APPLICATION_ERROR_6, 0xF6)
01249 DEFINE_ERROR( APPLICATION_ERROR_7, 0xF7)
01250 DEFINE_ERROR( APPLICATION_ERROR_8, 0xF8)
01251 DEFINE_ERROR( APPLICATION_ERROR_9, 0xF9)
01252 DEFINE_ERROR( APPLICATION_ERROR_10, 0xFA)
01253 DEFINE_ERROR( APPLICATION_ERROR_11, 0xFB)
01254 DEFINE_ERROR( APPLICATION_ERROR_12, 0xFC)
01255 DEFINE_ERROR( APPLICATION_ERROR_13, 0xFD)
01256 DEFINE_ERROR( APPLICATION_ERROR_14, 0xFE)
01257 DEFINE_ERROR( APPLICATION_ERROR_15, 0xFF)
01258 #endif //DOXYGEN_SHOULD_SKIP_THIS
01259 
01260 //@} // END name group
01261 
01262 /** @} END addtogroup */
01263 
01264 /**
01265  * <!-- HIDDEN
01266  * @page 2p5_to_3p0
01267  * <hr>
01268  * All error status codes defined in error-def.h 
01269  * (and described in @ref status_codes) now have an \c ST_ prefix. 
01270  * Status code changes also include the following:
01271  * <ul>
01272  * <li> <b>New items</b>
01273  *   - ::ST_ERR_FLASH_WRITE_INHIBITED
01274  *   - ::ST_ERR_FLASH_VERIFY_FAILED
01275  *   - ::ST_ADDRESS_TABLE_INDEX_OUT_OF_RANGE
01276  *   - ::ST_ADDRESS_TABLE_ENTRY_IS_ACTIVE
01277  *   - ::ST_CANNOT_JOIN_AS_ROUTER
01278  *   - ::ST_INSUFFICIENT_RANDOM_DATA
01279  *   - ::ST_APS_ENCRYPTION_ERROR
01280  *   - ::ST_TRUST_CENTER_MASTER_KEY_NOT_SET
01281  *   - ::ST_SECURITY_STATE_NOT_SET
01282  *   - ::ST_SOURCE_ROUTE_FAILURE
01283  *   - ::ST_MANY_TO_ONE_ROUTE_FAILURE
01284  *   .
01285  * <li> <b>Changed items</b>
01286  *   -
01287  *   -
01288  *   .
01289  * <li> <b>Removed items</b>
01290  *   - ::SIM_EEPROM_FLASH_WRITE_FAILED
01291  *   - ::TOO_MANY_CONNECTIONS
01292  *   - ::CONNECTION_OPEN
01293  *   - ::CONNECTION_FAILED
01294  *   - ::CONNECTION_CLOSED
01295  *   - ::CONNECTION_CLOSING
01296  *   - ::CONNECTION_NOT_YET_OPEN
01297  *   - ::INCOMING_SEQUENCED_MESSAGES_LOST
01298  *   - ::NODEID_INVALID
01299  *   .
01300  * </ul>
01301  * HIDDEN -->
01302  */
01303 
01304 /**
01305  * <!-- HIDDEN
01306  * @page 3p0_to_350
01307  * <hr>
01308  * <ul>
01309  * <li> <b>Removed items</b>
01310  *   - ::ST_ERR_TOKEN_UNKNOWN
01311  *   - ::ST_ERR_TOKEN_EXISTS
01312  *   - ::ST_ERR_TOKEN_INVALID_SIZE
01313  *   - ::ST_ERR_TOKEN_READ_ONLY
01314  *   .
01315  * </ul>
01316  * HIDDEN -->
01317  */
01318