Contiki 3.x
error-def.h
Go to the documentation of this file.
1 /**
2  * @file error-def.h
3  * @brief Return-code definitions for API functions.
4  *
5  * See @ref status_codes for documentation.
6  * <!--(C) COPYRIGHT 2010 STMicroelectronics. All rights reserved. -->
7 */
8 
9 /**
10  * @addtogroup stm32w-cpu
11  * @{ */
12 
13 /**
14  * @defgroup status_codes Status Codes
15  *
16  * Many StZNet API functions return an ::StStatus value to indicate
17  * the success or failure of the call.
18  * Return codes are one byte long.
19  * This page documents the possible status codes and their meanings.
20  *
21  * See error-def.h for source code.
22  *
23  * See also error.h for information on how the values for the return codes are
24  * built up from these definitions.
25  * The file error-def.h is separated from error.h because utilities will use this file
26  * to parse the return codes.
27  *
28  * @note Do not include error-def.h directly. It is included by
29  * error.h inside an enum typedef, which is in turn included by st.h.
30  *
31  * @{
32  */
33 
34 /**
35  * @name Generic Messages
36  * These messages are system wide.
37  *
38  * @{
39  */
40 
41 #ifdef DOXYGEN_SHOULD_SKIP_THIS
42 /**
43  * @brief The generic "no error" message.
44  */
45 #define ST_SUCCESS(0x00)
46 #else
47 DEFINE_ERROR(SUCCESS, 0)
48 #endif //DOXYGEN_SHOULD_SKIP_THIS
49 
50 
51 #ifdef DOXYGEN_SHOULD_SKIP_THIS
52 /**
53  * @brief The generic "fatal error" message.
54  */
55 #define ST_ERR_FATAL(0x01)
56 #else
57 DEFINE_ERROR(ERR_FATAL, 0x01)
58 #endif //DOXYGEN_SHOULD_SKIP_THIS
59 
60 
61 #ifdef DOXYGEN_SHOULD_SKIP_THIS
62 /**
63  * @brief An invalid value was passed as an argument to a function.
64  */
65 #define ST_BAD_ARGUMENT(0x02)
66 #else
67 DEFINE_ERROR(BAD_ARGUMENT, 0x02)
68 #endif //DOXYGEN_SHOULD_SKIP_THIS
69 
70 
71 #ifdef DOXYGEN_SHOULD_SKIP_THIS
72 /**
73  * @brief The manufacturing and stack token format in non-volatile memory
74  * is different than what the stack expects (returned at initialization).
75  */
76 #define ST_EEPROM_MFG_STACK_VERSION_MISMATCH(0x04)
77 #else
78 DEFINE_ERROR(EEPROM_MFG_STACK_VERSION_MISMATCH, 0x04)
79 #endif //DOXYGEN_SHOULD_SKIP_THIS
80 
81 
82 #ifdef DOXYGEN_SHOULD_SKIP_THIS
83 /**
84  * @brief The static memory definitions in st-static-memory.h
85  * are incompatible with this stack version.
86  */
87 #define ST_INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS(0x05)
88 #else
89 DEFINE_ERROR(INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS, 0x05)
90 #endif //DOXYGEN_SHOULD_SKIP_THIS
91 
92 
93 #ifdef DOXYGEN_SHOULD_SKIP_THIS
94 /**
95  * @brief The manufacturing token format in non-volatile memory is
96  * different than what the stack expects (returned at initialization).
97  */
98 #define ST_EEPROM_MFG_VERSION_MISMATCH(0x06)
99 #else
100 DEFINE_ERROR(EEPROM_MFG_VERSION_MISMATCH, 0x06)
101 #endif //DOXYGEN_SHOULD_SKIP_THIS
102 
103 
104 #ifdef DOXYGEN_SHOULD_SKIP_THIS
105 /**
106  * @brief The stack token format in non-volatile memory is different
107  * than what the stack expects (returned at initialization).
108  */
109 #define ST_EEPROM_STACK_VERSION_MISMATCH(0x07)
110 #else
111 DEFINE_ERROR(EEPROM_STACK_VERSION_MISMATCH, 0x07)
112 #endif //DOXYGEN_SHOULD_SKIP_THIS
113 
114 /** @} */ // END Generic Messages
115 
116 
117 /**
118  * @name Packet Buffer Module Errors
119  *
120  * @{
121  */
122 
123 #ifdef DOXYGEN_SHOULD_SKIP_THIS
124 /**
125  * @brief There are no more buffers.
126  */
127 #define ST_NO_BUFFERS(0x18)
128 #else
129 DEFINE_ERROR(NO_BUFFERS, 0x18)
130 #endif //DOXYGEN_SHOULD_SKIP_THIS
131 
132 /** @} */ // END Packet Buffer Module Errors
133 
134 /**
135  * @name Serial Manager Errors
136  *
137  * @{
138  */
139 
140 #ifdef DOXYGEN_SHOULD_SKIP_THIS
141 /**
142  * @brief Specified an invalid baud rate.
143  */
144 #define ST_SERIAL_INVALID_BAUD_RATE(0x20)
145 #else
146 DEFINE_ERROR(SERIAL_INVALID_BAUD_RATE, 0x20)
147 #endif //DOXYGEN_SHOULD_SKIP_THIS
148 
149 
150 #ifdef DOXYGEN_SHOULD_SKIP_THIS
151 /**
152  * @brief Specified an invalid serial port.
153  */
154 #define ST_SERIAL_INVALID_PORT(0x21)
155 #else
156 DEFINE_ERROR(SERIAL_INVALID_PORT, 0x21)
157 #endif //DOXYGEN_SHOULD_SKIP_THIS
158 
159 
160 #ifdef DOXYGEN_SHOULD_SKIP_THIS
161 /**
162  * @brief Tried to send too much data.
163  */
164 #define ST_SERIAL_TX_OVERFLOW(0x22)
165 #else
166 DEFINE_ERROR(SERIAL_TX_OVERFLOW, 0x22)
167 #endif //DOXYGEN_SHOULD_SKIP_THIS
168 
169 
170 #ifdef DOXYGEN_SHOULD_SKIP_THIS
171 /**
172  * @brief There was not enough space to store a received character
173  * and the character was dropped.
174  */
175 #define ST_SERIAL_RX_OVERFLOW(0x23)
176 #else
177 DEFINE_ERROR(SERIAL_RX_OVERFLOW, 0x23)
178 #endif //DOXYGEN_SHOULD_SKIP_THIS
179 
180 
181 #ifdef DOXYGEN_SHOULD_SKIP_THIS
182 /**
183  * @brief Detected a UART framing error.
184  */
185 #define ST_SERIAL_RX_FRAME_ERROR(0x24)
186 #else
187 DEFINE_ERROR(SERIAL_RX_FRAME_ERROR, 0x24)
188 #endif //DOXYGEN_SHOULD_SKIP_THIS
189 
190 
191 #ifdef DOXYGEN_SHOULD_SKIP_THIS
192 /**
193  * @brief Detected a UART parity error.
194  */
195 #define ST_SERIAL_RX_PARITY_ERROR(0x25)
196 #else
197 DEFINE_ERROR(SERIAL_RX_PARITY_ERROR, 0x25)
198 #endif //DOXYGEN_SHOULD_SKIP_THIS
199 
200 
201 #ifdef DOXYGEN_SHOULD_SKIP_THIS
202 /**
203  * @brief There is no received data to process.
204  */
205 #define ST_SERIAL_RX_EMPTY(0x26)
206 #else
207 DEFINE_ERROR(SERIAL_RX_EMPTY, 0x26)
208 #endif //DOXYGEN_SHOULD_SKIP_THIS
209 
210 
211 #ifdef DOXYGEN_SHOULD_SKIP_THIS
212 /**
213  * @brief The receive interrupt was not handled in time, and a
214  * character was dropped.
215  */
216 #define ST_SERIAL_RX_OVERRUN_ERROR(0x27)
217 #else
218 DEFINE_ERROR(SERIAL_RX_OVERRUN_ERROR, 0x27)
219 #endif //DOXYGEN_SHOULD_SKIP_THIS
220 
221 /** @} */
222 
223 /**
224  * @name MAC Errors
225  *
226  * @{
227  */
228 
229 #ifdef DOXYGEN_SHOULD_SKIP_THIS
230 /**
231  * @brief The MAC transmit queue is full.
232  */
233 #define ST_MAC_TRANSMIT_QUEUE_FULL(0x39)
234 #else
235 // Internal
236 DEFINE_ERROR(MAC_TRANSMIT_QUEUE_FULL, 0x39)
237 #endif //DOXYGEN_SHOULD_SKIP_THIS
238 
239 
240 #ifdef DOXYGEN_SHOULD_SKIP_THIS
241 /**
242  * @brief MAC header FCF error on receive.
243  */
244 #define ST_MAC_UNKNOWN_HEADER_TYPE(0x3A)
245 #else
246 DEFINE_ERROR(MAC_UNKNOWN_HEADER_TYPE, 0x3A)
247 #endif //DOXYGEN_SHOULD_SKIP_THIS
248 
249 #ifdef DOXYGEN_SHOULD_SKIP_THIS
250 /**
251  * @brief MAC ACK header received.
252  */
253 #define ST_MAC_ACK_HEADER_TYPE(0x3B)
254 #else
255 DEFINE_ERROR(MAC_ACK_HEADER_TYPE, 0x3B)
256 #endif //DOXYGEN_SHOULD_SKIP_THIS
257 
258 
259 
260 #ifdef DOXYGEN_SHOULD_SKIP_THIS
261 /**
262  * @brief The MAC can't complete this task because it is scanning.
263  */
264 #define ST_MAC_SCANNING(0x3D)
265 #else
266 DEFINE_ERROR(MAC_SCANNING, 0x3D)
267 #endif //DOXYGEN_SHOULD_SKIP_THIS
268 
269 
270 #ifdef DOXYGEN_SHOULD_SKIP_THIS
271 /**
272  * @brief No pending data exists for device doing a data poll.
273  */
274 #define ST_MAC_NO_DATA(0x31)
275 #else
276 DEFINE_ERROR(MAC_NO_DATA, 0x31)
277 #endif //DOXYGEN_SHOULD_SKIP_THIS
278 
279 
280 #ifdef DOXYGEN_SHOULD_SKIP_THIS
281 /**
282  * @brief Attempt to scan when we are joined to a network.
283  */
284 #define ST_MAC_JOINED_NETWORK(0x32)
285 #else
286 DEFINE_ERROR(MAC_JOINED_NETWORK, 0x32)
287 #endif //DOXYGEN_SHOULD_SKIP_THIS
288 
289 
290 #ifdef DOXYGEN_SHOULD_SKIP_THIS
291 /**
292  * @brief Scan duration must be 0 to 14 inclusive. Attempt was made to
293  * scan with an incorrect duration value.
294  */
295 #define ST_MAC_BAD_SCAN_DURATION(0x33)
296 #else
297 DEFINE_ERROR(MAC_BAD_SCAN_DURATION, 0x33)
298 #endif //DOXYGEN_SHOULD_SKIP_THIS
299 
300 
301 #ifdef DOXYGEN_SHOULD_SKIP_THIS
302 /**
303  * @brief stStartScan was called with an incorrect scan type.
304  */
305 #define ST_MAC_INCORRECT_SCAN_TYPE(0x34)
306 #else
307 DEFINE_ERROR(MAC_INCORRECT_SCAN_TYPE, 0x34)
308 #endif //DOXYGEN_SHOULD_SKIP_THIS
309 
310 
311 #ifdef DOXYGEN_SHOULD_SKIP_THIS
312 /**
313  * @brief stStartScan was called with an invalid channel mask.
314  */
315 #define ST_MAC_INVALID_CHANNEL_MASK(0x35)
316 #else
317 DEFINE_ERROR(MAC_INVALID_CHANNEL_MASK, 0x35)
318 #endif //DOXYGEN_SHOULD_SKIP_THIS
319 
320 
321 #ifdef DOXYGEN_SHOULD_SKIP_THIS
322 /**
323  * @brief Failed to scan current channel because we were unable to
324  * transmit the relevent MAC command.
325  */
326 #define ST_MAC_COMMAND_TRANSMIT_FAILURE(0x36)
327 #else
328 DEFINE_ERROR(MAC_COMMAND_TRANSMIT_FAILURE, 0x36)
329 #endif //DOXYGEN_SHOULD_SKIP_THIS
330 
331 
332 #ifdef DOXYGEN_SHOULD_SKIP_THIS
333 /**
334  * @brief We expected to receive an ACK following the transmission, but
335  * the MAC level ACK was never received.
336  */
337 #define ST_MAC_NO_ACK_RECEIVED(0x40)
338 #else
339 DEFINE_ERROR(MAC_NO_ACK_RECEIVED, 0x40)
340 #endif //DOXYGEN_SHOULD_SKIP_THIS
341 
342 
343 #ifdef DOXYGEN_SHOULD_SKIP_THIS
344 /**
345  * @brief Indirect data message timed out before polled.
346  */
347 #define ST_MAC_INDIRECT_TIMEOUT(0x42)
348 #else
349 DEFINE_ERROR(MAC_INDIRECT_TIMEOUT, 0x42)
350 #endif //DOXYGEN_SHOULD_SKIP_THIS
351 
352 /** @} */
353 
354 
355 /**
356  * @name Simulated EEPROM Errors
357  *
358  * @{
359  */
360 
361 
362 #ifdef DOXYGEN_SHOULD_SKIP_THIS
363 /**
364  * @brief The Simulated EEPROM is telling the application that there
365  * is at least one flash page to be erased. The GREEN status means the
366  * current page has not filled above the ::ERASE_CRITICAL_THRESHOLD.
367  *
368  * The application should call the function ::halSimEepromErasePage() when it can
369  * to erase a page.
370  */
371 #define ST_SIM_EEPROM_ERASE_PAGE_GREEN(0x43)
372 #else
373 DEFINE_ERROR(SIM_EEPROM_ERASE_PAGE_GREEN, 0x43)
374 #endif //DOXYGEN_SHOULD_SKIP_THIS
375 
376 
377 #ifdef DOXYGEN_SHOULD_SKIP_THIS
378 /**
379  * @brief The Simulated EEPROM is telling the application that there
380  * is at least one flash page to be erased. The RED status means the
381  * current page has filled above the ::ERASE_CRITICAL_THRESHOLD.
382  *
383  * Due to the shrinking availablity of write space, there is a danger of
384  * data loss. The application must call the function ::halSimEepromErasePage()
385  * as soon as possible to erase a page.
386  */
387 #define ST_SIM_EEPROM_ERASE_PAGE_RED(0x44)
388 #else
389 DEFINE_ERROR(SIM_EEPROM_ERASE_PAGE_RED, 0x44)
390 #endif //DOXYGEN_SHOULD_SKIP_THIS
391 
392 
393 #ifdef DOXYGEN_SHOULD_SKIP_THIS
394 /**
395  * @brief The Simulated EEPROM has run out of room to write any new data
396  * and the data trying to be set has been lost. This error code is the
397  * result of ignoring the ::SIM_EEPROM_ERASE_PAGE_RED error code.
398  *
399  * The application must call the function ::halSimEepromErasePage() to make room for
400  * any further calls to set a token.
401  */
402 #define ST_SIM_EEPROM_FULL(0x45)
403 #else
404 DEFINE_ERROR(SIM_EEPROM_FULL, 0x45)
405 #endif //DOXYGEN_SHOULD_SKIP_THIS
406 
407 
408 // Errors 46 and 47 are now defined below in the
409 // flash error block (was attempting to prevent renumbering)
410 
411 
412 #ifdef DOXYGEN_SHOULD_SKIP_THIS
413 /**
414  * @brief Attempt 1 to initialize the Simulated EEPROM has failed.
415  *
416  * This failure means the information already stored in Flash (or a lack
417  * thereof), is fatally incompatible with the token information compiled
418  * into the code image being run.
419  */
420 #define ST_SIM_EEPROM_INIT_1_FAILED(0x48)
421 #else
422 DEFINE_ERROR(SIM_EEPROM_INIT_1_FAILED, 0x48)
423 #endif //DOXYGEN_SHOULD_SKIP_THIS
424 
425 
426 #ifdef DOXYGEN_SHOULD_SKIP_THIS
427 /**
428  * @brief Attempt 2 to initialize the Simulated EEPROM has failed.
429  *
430  * This failure means Attempt 1 failed, and the token system failed to
431  * properly reload default tokens and reset the Simulated EEPROM.
432  */
433 #define ST_SIM_EEPROM_INIT_2_FAILED(0x49)
434 #else
435 DEFINE_ERROR(SIM_EEPROM_INIT_2_FAILED, 0x49)
436 #endif //DOXYGEN_SHOULD_SKIP_THIS
437 
438 
439 #ifdef DOXYGEN_SHOULD_SKIP_THIS
440 /**
441  * @brief Attempt 3 to initialize the Simulated EEPROM has failed.
442  *
443  * This failure means one or both of the tokens ::TOKEN_MFG_NVDATA_VERSION or
444  * ::TOKEN_STACK_NVDATA_VERSION were incorrect and the token system failed to
445  * properly reload default tokens and reset the Simulated EEPROM.
446  */
447 #define ST_SIM_EEPROM_INIT_3_FAILED(0x4A)
448 #else
449 DEFINE_ERROR(SIM_EEPROM_INIT_3_FAILED, 0x4A)
450 #endif //DOXYGEN_SHOULD_SKIP_THIS
451 
452 /** @} */
453 
454 
455 /**
456  * @name Flash Errors
457  *
458  * @{ */
459 
460 #ifdef DOXYGEN_SHOULD_SKIP_THIS
461 /**
462  * @brief A fatal error has occured while trying to write data to the
463  * Flash. The target memory attempting to be programmed is already programmed.
464  * The flash write routines were asked to flip a bit from a 0 to 1, which is
465  * physically impossible and the write was therefore inhibited. The data in
466  * the flash cannot be trusted after this error.
467  */
468 #define ST_ERR_FLASH_WRITE_INHIBITED(0x46)
469 #else
470 DEFINE_ERROR(ERR_FLASH_WRITE_INHIBITED, 0x46)
471 #endif //DOXYGEN_SHOULD_SKIP_THIS
472 
473 
474 #ifdef DOXYGEN_SHOULD_SKIP_THIS
475 /**
476  * @brief A fatal error has occured while trying to write data to the
477  * Flash and the write verification has failed. The data in the flash
478  * cannot be trusted after this error, and it is possible this error is the
479  * result of exceeding the life cycles of the flash.
480  */
481 #define ST_ERR_FLASH_VERIFY_FAILED(0x47)
482 #else
483 DEFINE_ERROR(ERR_FLASH_VERIFY_FAILED, 0x47)
484 #endif //DOXYGEN_SHOULD_SKIP_THIS
485 
486 
487 #ifdef DOXYGEN_SHOULD_SKIP_THIS
488 /**
489  * @description A fatal error has occured while trying to write data to the
490  * flash, possibly due to write protection or an invalid address. The data in
491  * the flash cannot be trusted after this error, and it is possible this error
492  * is the result of exceeding the life cycles of the flash.
493  */
494 #define ST_ERR_FLASH_PROG_FAIL(0x4B)
495 #else
496 DEFINE_ERROR(ERR_FLASH_PROG_FAIL, 0x4B)
497 #endif //DOXYGEN_SHOULD_SKIP_THIS
498 
499 
500 #ifdef DOXYGEN_SHOULD_SKIP_THIS
501 /**
502  * @description A fatal error has occured while trying to erase flash, possibly
503  * due to write protection. The data in the flash cannot be trusted after
504  * this error, and it is possible this error is the result of exceeding the
505  * life cycles of the flash.
506  */
507 #define ST_ERR_FLASH_ERASE_FAIL(0x4C)
508 #else
509 DEFINE_ERROR(ERR_FLASH_ERASE_FAIL, 0x4C)
510 #endif //DOXYGEN_SHOULD_SKIP_THIS
511 
512 /** @} */
513 
514 
515 /**
516  * @name Bootloader Errors
517  *
518  * @{
519  */
520 
521 
522 #ifdef DOXYGEN_SHOULD_SKIP_THIS
523 /**
524  * @brief The bootloader received an invalid message (failed attempt
525  * to go into bootloader).
526  */
527 #define ST_ERR_BOOTLOADER_TRAP_TABLE_BAD(0x58)
528 #else
529 DEFINE_ERROR(ERR_BOOTLOADER_TRAP_TABLE_BAD, 0x58)
530 #endif //DOXYGEN_SHOULD_SKIP_THIS
531 
532 
533 #ifdef DOXYGEN_SHOULD_SKIP_THIS
534 /**
535  * @brief Bootloader received an invalid message (failed attempt to go
536  * into bootloader).
537  */
538 #define ST_ERR_BOOTLOADER_TRAP_UNKNOWN(0x59)
539 #else
540 DEFINE_ERROR(ERR_BOOTLOADER_TRAP_UNKNOWN, 0x59)
541 #endif //DOXYGEN_SHOULD_SKIP_THIS
542 
543 
544 #ifdef DOXYGEN_SHOULD_SKIP_THIS
545 /**
546  * @brief The bootloader cannot complete the bootload operation because
547  * either an image was not found or the image exceeded memory bounds.
548  */
549 #define ST_ERR_BOOTLOADER_NO_IMAGE(0x05A)
550 #else
551 DEFINE_ERROR(ERR_BOOTLOADER_NO_IMAGE, 0x5A)
552 #endif //DOXYGEN_SHOULD_SKIP_THIS
553 
554 /** @} */
555 
556 
557 /**
558  * @name Transport Errors
559  *
560  * @{
561  */
562 
563 #ifdef DOXYGEN_SHOULD_SKIP_THIS
564 /**
565  * @brief The APS layer attempted to send or deliver a message, but
566  * it failed.
567  */
568 #define ST_DELIVERY_FAILED(0x66)
569 #else
570 DEFINE_ERROR(DELIVERY_FAILED, 0x66)
571 #endif //DOXYGEN_SHOULD_SKIP_THIS
572 
573 
574 #ifdef DOXYGEN_SHOULD_SKIP_THIS
575 /**
576  * @brief This binding index is out of range for the current binding table.
577  */
578 #define ST_BINDING_INDEX_OUT_OF_RANGE(0x69)
579 #else
580 DEFINE_ERROR(BINDING_INDEX_OUT_OF_RANGE, 0x69)
581 #endif //DOXYGEN_SHOULD_SKIP_THIS
582 
583 
584 #ifdef DOXYGEN_SHOULD_SKIP_THIS
585 /**
586  * @brief This address table index is out of range for the current
587  * address table.
588  */
589 #define ST_ADDRESS_TABLE_INDEX_OUT_OF_RANGE(0x6A)
590 #else
591 DEFINE_ERROR(ADDRESS_TABLE_INDEX_OUT_OF_RANGE, 0x6A)
592 #endif //DOXYGEN_SHOULD_SKIP_THIS
593 
594 
595 #ifdef DOXYGEN_SHOULD_SKIP_THIS
596 /**
597  * @brief An invalid binding table index was given to a function.
598  */
599 #define ST_INVALID_BINDING_INDEX(0x6C)
600 #else
601 DEFINE_ERROR(INVALID_BINDING_INDEX, 0x6C)
602 #endif //DOXYGEN_SHOULD_SKIP_THIS
603 
604 
605 #ifdef DOXYGEN_SHOULD_SKIP_THIS
606 /**
607  * @brief The API call is not allowed given the current state of the
608  * stack.
609  */
610 #define ST_INVALID_CALL(0x70)
611 #else
612 DEFINE_ERROR(INVALID_CALL, 0x70)
613 #endif //DOXYGEN_SHOULD_SKIP_THIS
614 
615 
616 #ifdef DOXYGEN_SHOULD_SKIP_THIS
617 /**
618  * @brief The link cost to a node is not known.
619  */
620 #define ST_COST_NOT_KNOWN(0x71)
621 #else
622 DEFINE_ERROR(COST_NOT_KNOWN, 0x71)
623 #endif //DOXYGEN_SHOULD_SKIP_THIS
624 
625 
626 #ifdef DOXYGEN_SHOULD_SKIP_THIS
627 /**
628  * @brief The maximum number of in-flight messages (i.e.
629  * ::ST_APS_UNICAST_MESSAGE_COUNT) has been reached.
630  */
631 #define ST_MAX_MESSAGE_LIMIT_REACHED(0x72)
632 #else
633 DEFINE_ERROR(MAX_MESSAGE_LIMIT_REACHED, 0x72)
634 #endif //DOXYGEN_SHOULD_SKIP_THIS
635 
636 #ifdef DOXYGEN_SHOULD_SKIP_THIS
637 /**
638  * @brief The message to be transmitted is too big to fit into a
639  * single over-the-air packet.
640  */
641 #define ST_MESSAGE_TOO_LONG(0x74)
642 #else
643 DEFINE_ERROR(MESSAGE_TOO_LONG, 0x74)
644 #endif //DOXYGEN_SHOULD_SKIP_THIS
645 
646 
647 #ifdef DOXYGEN_SHOULD_SKIP_THIS
648 /**
649  * @brief The application is trying to delete or overwrite a binding
650  * that is in use.
651  */
652 #define ST_BINDING_IS_ACTIVE(0x75)
653 #else
654 DEFINE_ERROR(BINDING_IS_ACTIVE, 0x75)
655 #endif //DOXYGEN_SHOULD_SKIP_THIS
656 
657 #ifdef DOXYGEN_SHOULD_SKIP_THIS
658 /**
659  * @brief The application is trying to overwrite an address table entry
660  * that is in use.
661  */
662 #define ST_ADDRESS_TABLE_ENTRY_IS_ACTIVE(0x76)
663 #else
664 DEFINE_ERROR(ADDRESS_TABLE_ENTRY_IS_ACTIVE, 0x76)
665 #endif //DOXYGEN_SHOULD_SKIP_THIS
666 
667 /** @} */
668 
669 /**
670  * @name HAL Module Errors
671  *
672  * @{
673  */
674 
675 
676 #ifdef DOXYGEN_SHOULD_SKIP_THIS
677 /**
678  * @brief Conversion is complete.
679  */
680 #define ST_ADC_CONVERSION_DONE(0x80)
681 #else
682 DEFINE_ERROR(ADC_CONVERSION_DONE, 0x80)
683 #endif //DOXYGEN_SHOULD_SKIP_THIS
684 
685 
686 #ifdef DOXYGEN_SHOULD_SKIP_THIS
687 /**
688  * @brief Conversion cannot be done because a request is being
689  * processed.
690  */
691 #define ST_ADC_CONVERSION_BUSY(0x81)
692 #else
693 DEFINE_ERROR(ADC_CONVERSION_BUSY, 0x81)
694 #endif //DOXYGEN_SHOULD_SKIP_THIS
695 
696 
697 #ifdef DOXYGEN_SHOULD_SKIP_THIS
698 /**
699  * @brief Conversion is deferred until the current request has been
700  * processed.
701  */
702 #define ST_ADC_CONVERSION_DEFERRED(0x82)
703 #else
704 DEFINE_ERROR(ADC_CONVERSION_DEFERRED, 0x82)
705 #endif //DOXYGEN_SHOULD_SKIP_THIS
706 
707 
708 #ifdef DOXYGEN_SHOULD_SKIP_THIS
709 /**
710  * @brief No results are pending.
711  */
712 #define ST_ADC_NO_CONVERSION_PENDING(0x84)
713 #else
714 DEFINE_ERROR(ADC_NO_CONVERSION_PENDING, 0x84)
715 #endif //DOXYGEN_SHOULD_SKIP_THIS
716 
717 
718 #ifdef DOXYGEN_SHOULD_SKIP_THIS
719 /**
720  * @brief Sleeping (for a duration) has been abnormally interrupted
721  * and exited prematurely.
722  */
723 #define ST_SLEEP_INTERRUPTED(0x85)
724 #else
725 DEFINE_ERROR(SLEEP_INTERRUPTED, 0x85)
726 #endif //DOXYGEN_SHOULD_SKIP_THIS
727 
728 /** @} */
729 
730 /**
731  * @name PHY Errors
732  *
733  * @{
734  */
735 
736 
737 #ifdef DOXYGEN_SHOULD_SKIP_THIS
738 /**
739  * @brief The transmit hardware buffer underflowed.
740  */
741 #define ST_PHY_TX_UNDERFLOW(0x88)
742 #else
743 DEFINE_ERROR(PHY_TX_UNDERFLOW, 0x88)
744 #endif //DOXYGEN_SHOULD_SKIP_THIS
745 
746 
747 #ifdef DOXYGEN_SHOULD_SKIP_THIS
748 /**
749  * @brief The transmit hardware did not finish transmitting a packet.
750  */
751 #define ST_PHY_TX_INCOMPLETE(0x89)
752 #else
753 DEFINE_ERROR(PHY_TX_INCOMPLETE, 0x89)
754 #endif //DOXYGEN_SHOULD_SKIP_THIS
755 
756 
757 #ifdef DOXYGEN_SHOULD_SKIP_THIS
758 /**
759  * @brief An unsupported channel setting was specified.
760  */
761 #define ST_PHY_INVALID_CHANNEL(0x8A)
762 #else
763 DEFINE_ERROR(PHY_INVALID_CHANNEL, 0x8A)
764 #endif //DOXYGEN_SHOULD_SKIP_THIS
765 
766 
767 #ifdef DOXYGEN_SHOULD_SKIP_THIS
768 /**
769  * @brief An unsupported power setting was specified.
770  */
771 #define ST_PHY_INVALID_POWER(0x8B)
772 #else
773 DEFINE_ERROR(PHY_INVALID_POWER, 0x8B)
774 #endif //DOXYGEN_SHOULD_SKIP_THIS
775 
776 
777 #ifdef DOXYGEN_SHOULD_SKIP_THIS
778 /**
779  * @brief The requested operation cannot be completed because the radio
780  * is currently busy, either transmitting a packet or performing calibration.
781  */
782 #define ST_PHY_TX_BUSY(0x8C)
783 #else
784 DEFINE_ERROR(PHY_TX_BUSY, 0x8C)
785 #endif //DOXYGEN_SHOULD_SKIP_THIS
786 
787 
788 #ifdef DOXYGEN_SHOULD_SKIP_THIS
789 /**
790  * @brief The transmit attempt failed because all CCA attempts indicated that
791  * the channel was busy.
792  */
793 #define ST_PHY_TX_CCA_FAIL(0x8D)
794 #else
795 DEFINE_ERROR(PHY_TX_CCA_FAIL, 0x8D)
796 #endif //DOXYGEN_SHOULD_SKIP_THIS
797 
798 
799 #ifdef DOXYGEN_SHOULD_SKIP_THIS
800 /**
801  * @brief The software installed on the hardware doesn't recognize the
802  * hardware radio type.
803  */
804 #define ST_PHY_OSCILLATOR_CHECK_FAILED(0x8E)
805 #else
806 DEFINE_ERROR(PHY_OSCILLATOR_CHECK_FAILED, 0x8E)
807 #endif //DOXYGEN_SHOULD_SKIP_THIS
808 
809 
810 #ifdef DOXYGEN_SHOULD_SKIP_THIS
811 /**
812  * @brief The expected ACK was received after the last transmission.
813  */
814 #define ST_PHY_ACK_RECEIVED(0x8F)
815 #else
816 DEFINE_ERROR(PHY_ACK_RECEIVED, 0x8F)
817 #endif //DOXYGEN_SHOULD_SKIP_THIS
818 
819 /** @} */
820 
821 /**
822  * @name Return Codes Passed to stStackStatusHandler()
823  * See also ::stStackStatusHandler().
824  *
825  * @{
826  */
827 
828 
829 #ifdef DOXYGEN_SHOULD_SKIP_THIS
830 /**
831  * @brief The stack software has completed initialization and is ready
832  * to send and receive packets over the air.
833  */
834 #define ST_NETWORK_UP(0x90)
835 #else
836 DEFINE_ERROR(NETWORK_UP, 0x90)
837 #endif //DOXYGEN_SHOULD_SKIP_THIS
838 
839 
840 #ifdef DOXYGEN_SHOULD_SKIP_THIS
841 /**
842  * @brief The network is not operating.
843  */
844 #define ST_NETWORK_DOWN(0x91)
845 #else
846 DEFINE_ERROR(NETWORK_DOWN, 0x91)
847 #endif //DOXYGEN_SHOULD_SKIP_THIS
848 
849 
850 #ifdef DOXYGEN_SHOULD_SKIP_THIS
851 /**
852  * @brief An attempt to join a network failed.
853  */
854 #define ST_JOIN_FAILED(0x94)
855 #else
856 DEFINE_ERROR(JOIN_FAILED, 0x94)
857 #endif //DOXYGEN_SHOULD_SKIP_THIS
858 
859 
860 #ifdef DOXYGEN_SHOULD_SKIP_THIS
861 /**
862  * @brief After moving, a mobile node's attempt to re-establish contact
863  * with the network failed.
864  */
865 #define ST_MOVE_FAILED(0x96)
866 #else
867 DEFINE_ERROR(MOVE_FAILED, 0x96)
868 #endif //DOXYGEN_SHOULD_SKIP_THIS
869 
870 
871 #ifdef DOXYGEN_SHOULD_SKIP_THIS
872 /**
873  * @brief An attempt to join as a router failed due to a Zigbee
874  * versus Zigbee Pro incompatibility. Zigbee devices joining Zigbee Pro networks
875  * (or vica versa) must join as End Devices, not Routers.
876  */
877 #define ST_CANNOT_JOIN_AS_ROUTER(0x98)
878 #else
879 DEFINE_ERROR(CANNOT_JOIN_AS_ROUTER, 0x98)
880 #endif //DOXYGEN_SHOULD_SKIP_THIS
881 
882 
883 #ifdef DOXYGEN_SHOULD_SKIP_THIS
884 /** @brief The local node ID has changed. The application can obtain the new
885  * node ID by calling ::stGetNodeId().
886  */
887 #define ST_NODE_ID_CHANGED(0x99)
888 #else
889 DEFINE_ERROR(NODE_ID_CHANGED, 0x99)
890 #endif
891 
892 
893 #ifdef DOXYGEN_SHOULD_SKIP_THIS
894 /** @brief The local PAN ID has changed. The application can obtain the new PAN
895  * ID by calling ::stGetPanId().
896  */
897 #define ST_PAN_ID_CHANGED(0x9A)
898 #else
899 DEFINE_ERROR(PAN_ID_CHANGED, 0x9A)
900 #endif
901 
902 #ifdef DOXYGEN_SHOULD_SKIP_THIS
903 /** @brief The channel has changed.
904  */
905 #define ST_CHANNEL_CHANGED(0x9B)
906 #else
907 DEFINE_ERROR(CHANNEL_CHANGED, 0x9B)
908 #endif
909 
910 #ifdef DOXYGEN_SHOULD_SKIP_THIS
911 /** @brief An attempt to join or rejoin the network failed because
912  * no router beacons could be heard by the joining node.
913  */
914 #define ST_NO_BEACONS(0xAB)
915 #else
916 DEFINE_ERROR(NO_BEACONS, 0xAB)
917 #endif
918 
919 
920 #ifdef DOXYGEN_SHOULD_SKIP_THIS
921 /** @brief An attempt was made to join a Secured Network using a pre-configured
922  * key, but the Trust Center sent back a Network Key in-the-clear when
923  * an encrypted Network Key was required. (::ST_REQUIRE_ENCRYPTED_KEY).
924  */
925 #define ST_RECEIVED_KEY_IN_THE_CLEAR(0xAC)
926 #else
927 DEFINE_ERROR(RECEIVED_KEY_IN_THE_CLEAR, 0xAC)
928 #endif
929 
930 
931 #ifdef DOXYGEN_SHOULD_SKIP_THIS
932 /** @brief An attempt was made to join a Secured Network, but the device did
933  * not receive a Network Key.
934  */
935 #define ST_NO_NETWORK_KEY_RECEIVED(0xAD)
936 #else
937 DEFINE_ERROR(NO_NETWORK_KEY_RECEIVED, 0xAD)
938 #endif
939 
940 
941 #ifdef DOXYGEN_SHOULD_SKIP_THIS
942 /** @brief After a device joined a Secured Network, a Link Key was requested
943  * (::ST_GET_LINK_KEY_WHEN_JOINING) but no response was ever received.
944  */
945 #define ST_NO_LINK_KEY_RECEIVED(0xAE)
946 #else
947 DEFINE_ERROR(NO_LINK_KEY_RECEIVED, 0xAE)
948 #endif
949 
950 
951 #ifdef DOXYGEN_SHOULD_SKIP_THIS
952 /** @brief An attempt was made to join a Secured Network without a
953  * pre-configured key, but the Trust Center sent encrypted data using a
954  * pre-configured key.
955  */
956 #define ST_PRECONFIGURED_KEY_REQUIRED(0xAF)
957 #else
958 DEFINE_ERROR(PRECONFIGURED_KEY_REQUIRED, 0xAF)
959 #endif
960 
961 
962 /** @} */
963 
964 /**
965  * @name Security Errors
966  *
967  * @{
968  */
969 #ifdef DOXYGEN_SHOULD_SKIP_THIS
970 /**
971  * @brief The passed key data is not valid. A key of all zeros or
972  * all F's are reserved values and cannot be used.
973  */
974 #define ST_KEY_INVALID(0xB2)
975 #else
976 DEFINE_ERROR(KEY_INVALID, 0xB2)
977 #endif // DOXYGEN_SHOULD_SKIP_THIS
978 
979 #ifdef DOXYGEN_SHOULD_SKIP_THIS
980 /**
981  * @brief The chosen security level (the value of ::ST_SECURITY_LEVEL)
982  * is not supported by the stack.
983  */
984 #define ST_INVALID_SECURITY_LEVEL(0x95)
985 #else
986 DEFINE_ERROR(INVALID_SECURITY_LEVEL, 0x95)
987 #endif //DOXYGEN_SHOULD_SKIP_THIS
988 
989 #ifdef DOXYGEN_SHOULD_SKIP_THIS
990 /**
991  * @brief There was an error in trying to encrypt at the APS Level.
992  *
993  * This could result from either an inability to determine the long address
994  * of the recipient from the short address (no entry in the binding table)
995  * or there is no link key entry in the table associated with the destination,
996  * or there was a failure to load the correct key into the encryption core.
997  */
998 #define ST_APS_ENCRYPTION_ERROR(0xA6)
999 #else
1000  DEFINE_ERROR(APS_ENCRYPTION_ERROR, 0xA6)
1001 #endif //DOXYGEN_SHOULD_SKIP_THIS
1002 
1003 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1004 /** @brief There was an attempt to form a network using High
1005  * security without setting the Trust Center master key first.
1006  */
1007 #define ST_TRUST_CENTER_MASTER_KEY_NOT_SET(0xA7)
1008 #else
1009  DEFINE_ERROR(TRUST_CENTER_MASTER_KEY_NOT_SET, 0xA7)
1010 #endif //DOXYGEN_SHOULD_SKIP_THIS
1011 
1012 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1013 /** @brief There was an attempt to form or join a network with security
1014  * without calling ::stSetInitialSecurityState() first.
1015  */
1016 #define ST_SECURITY_STATE_NOT_SET(0xA8)
1017 #else
1018  DEFINE_ERROR(SECURITY_STATE_NOT_SET, 0xA8)
1019 #endif //DOXYGEN_SHOULD_SKIP_THIS
1020 
1021 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1022 /** @brief There was an attempt to set an entry in the key table using
1023  * an invalid long address. An entry cannot be set using either
1024  * the local device's or Trust Center's IEEE address. Or an entry
1025  * already exists in the table with the same IEEE address.
1026  * An Address of all zeros or all F's are not valid
1027  * addresses in 802.15.4.
1028  */
1029 #define ST_KEY_TABLE_INVALID_ADDRESS(0xB3)
1030 #else
1031 DEFINE_ERROR(KEY_TABLE_INVALID_ADDRESS, 0xB3)
1032 #endif //DOYXGEN_SHOULD_SKIP_THIS
1033 
1034 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1035 /** @brief There was an attempt to set a security configuration that
1036  * is not valid given the other security settings.
1037  */
1038 #define ST_SECURITY_CONFIGURATION_INVALID(0xB7)
1039 #else
1040 DEFINE_ERROR(SECURITY_CONFIGURATION_INVALID, 0xB7)
1041 #endif //DOXYGEN_SHOULD_SKIP_THIS
1042 
1043 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1044 /** @brief There was an attempt to broadcast a key switch too quickly after
1045  * broadcasting the next network key. The Trust Center must wait at
1046  * least a period equal to the broadcast timeout so that all routers
1047  * have a chance to receive the broadcast of the new network key.
1048  */
1049 #define ST_TOO_SOON_FOR_SWITCH_KEY(0xB8)
1050 #else
1051  DEFINE_ERROR(TOO_SOON_FOR_SWITCH_KEY, 0xB8)
1052 #endif
1053 
1054 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1055 /** @brief The received signature corresponding to the message that was passed
1056  to the CBKE Library failed verification, it is not valid.
1057 */
1058 #define ST_SIGNATURE_VERIFY_FAILURE(0xB9)
1059 #else
1060  DEFINE_ERROR(SIGNATURE_VERIFY_FAILURE, 0xB9)
1061 #endif
1062 
1063 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1064 /** @brief The message could not be sent because the link key corresponding
1065  to the destination is not authorized for use in APS data messages.
1066  APS Commands (sent by the stack) are allowed. To use it for encryption
1067  of APS data messages it must be authorized using a key agreement protocol
1068  (such as CBKE).
1069 */
1070 #define ST_KEY_NOT_AUTHORIZED(0xBB)
1071 #else
1072  DEFINE_ERROR(KEY_NOT_AUTHORIZED, 0xBB)
1073 #endif
1074 
1075 
1076 /** @} */
1077 
1078 
1079 /**
1080  * @name Miscellaneous Network Errors
1081  *
1082  * @{
1083  */
1084 
1085 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1086 /**
1087  * @brief The node has not joined a network.
1088  */
1089 #define ST_NOT_JOINED(0x93)
1090 #else
1091 DEFINE_ERROR(NOT_JOINED, 0x93)
1092 #endif //DOXYGEN_SHOULD_SKIP_THIS
1093 
1094 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1095 /**
1096  * @brief A message cannot be sent because the network is currently
1097  * overloaded.
1098  */
1099 #define ST_NETWORK_BUSY(0xA1)
1100 #else
1101 DEFINE_ERROR(NETWORK_BUSY, 0xA1)
1102 #endif //DOXYGEN_SHOULD_SKIP_THIS
1103 
1104 
1105 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1106 /**
1107  * @brief The application tried to send a message using an
1108  * endpoint that it has not defined.
1109  */
1110 #define ST_INVALID_ENDPOINT(0xA3)
1111 #else
1112 DEFINE_ERROR(INVALID_ENDPOINT, 0xA3)
1113 #endif //DOXYGEN_SHOULD_SKIP_THIS
1114 
1115 
1116 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1117 /**
1118  * @brief The application tried to use a binding that has been remotely
1119  * modified and the change has not yet been reported to the application.
1120  */
1121 #define ST_BINDING_HAS_CHANGED(0xA4)
1122 #else
1123 DEFINE_ERROR(BINDING_HAS_CHANGED, 0xA4)
1124 #endif //DOXYGEN_SHOULD_SKIP_THIS
1125 
1126 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1127 /**
1128  * @brief An attempt to generate random bytes failed because of
1129  * insufficient random data from the radio.
1130  */
1131 #define ST_INSUFFICIENT_RANDOM_DATA(0xA5)
1132 #else
1133  DEFINE_ERROR(INSUFFICIENT_RANDOM_DATA, 0xA5)
1134 #endif //DOXYGEN_SHOULD_SKIP_THIS
1135 
1136 
1137 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1138 /** A ZigBee route error command frame was received indicating
1139  * that a source routed message from this node failed en route.
1140  */
1141 #define ST_SOURCE_ROUTE_FAILURE(0xA9)
1142 #else
1143  DEFINE_ERROR(SOURCE_ROUTE_FAILURE, 0xA9)
1144 #endif
1145 
1146 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1147 /** A ZigBee route error command frame was received indicating
1148  * that a message sent to this node along a many-to-one route
1149  * failed en route. The route error frame was delivered by
1150  * an ad-hoc search for a functioning route.
1151  */
1152 #define ST_MANY_TO_ONE_ROUTE_FAILURE(0xAA)
1153 #else
1154  DEFINE_ERROR(MANY_TO_ONE_ROUTE_FAILURE, 0xAA)
1155 #endif
1156 
1157 
1158 /** @} */
1159 
1160 /**
1161  * @name Miscellaneous Utility Errors
1162  *
1163  * @{
1164  */
1165 
1166 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1167 /**
1168  * @brief A critical and fatal error indicating that the version of the
1169  * stack trying to run does not match with the chip it is running on. The
1170  * software (stack) on the chip must be replaced with software that is
1171  * compatible with the chip.
1172  */
1173 #define ST_STACK_AND_HARDWARE_MISMATCH(0xB0)
1174 #else
1175 DEFINE_ERROR(STACK_AND_HARDWARE_MISMATCH, 0xB0)
1176 #endif //DOXYGEN_SHOULD_SKIP_THIS
1177 
1178 
1179 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1180 /**
1181  * @brief An index was passed into the function that was larger
1182  * than the valid range.
1183  */
1184 #define ST_INDEX_OUT_OF_RANGE(0xB1)
1185 #else
1186 DEFINE_ERROR(INDEX_OUT_OF_RANGE, 0xB1)
1187 #endif
1188 
1189 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1190 /**
1191  * @brief There are no empty entries left in the table.
1192  */
1193 #define ST_TABLE_FULL(0xB4)
1194 #else
1195 DEFINE_ERROR(TABLE_FULL, 0xB4)
1196 #endif //DOXYGEN_SHOULD_SKIP_THIS
1197 
1198 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1199 /**
1200  * @brief The requested table entry has been erased and contains
1201  * no valid data.
1202  */
1203 #define ST_TABLE_ENTRY_ERASED(0xB6)
1204 #else
1205 DEFINE_ERROR(TABLE_ENTRY_ERASED, 0xB6)
1206 #endif
1207 
1208 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1209 /**
1210  * @brief The requested function cannot be executed because
1211  * the library that contains the necessary functionality is not present.
1212  */
1213 #define ST_LIBRARY_NOT_PRESENT(0xB5)
1214 #else
1215 DEFINE_ERROR(LIBRARY_NOT_PRESENT, 0xB5)
1216 #endif
1217 
1218 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1219 /**
1220  * @brief The stack accepted the command and is currently processing
1221  * the request. The results will be returned via an appropriate handler.
1222  */
1223 #define ST_OPERATION_IN_PROGRESS(0xBA)
1224 #else
1225 DEFINE_ERROR(OPERATION_IN_PROGRESS, 0xBA)
1226 #endif
1227 
1228 /** @} */
1229 
1230 /**
1231  * @name Application Errors
1232  * These error codes are available for application use.
1233  *
1234  * @{
1235  */
1236 
1237 #ifdef DOXYGEN_SHOULD_SKIP_THIS
1238 /**
1239  * @brief This error is reserved for customer application use.
1240  * This will never be returned from any portion of the network stack or HAL.
1241  */
1242 #define ST_APPLICATION_ERROR_0(0xF0)
1243 #define ST_APPLICATION_ERROR_1(0xF1)
1244 #define ST_APPLICATION_ERROR_2(0xF2)
1245 #define ST_APPLICATION_ERROR_3(0xF3)
1246 #define ST_APPLICATION_ERROR_4(0xF4)
1247 #define ST_APPLICATION_ERROR_5(0xF5)
1248 #define ST_APPLICATION_ERROR_6(0xF6)
1249 #define ST_APPLICATION_ERROR_7(0xF7)
1250 #define ST_APPLICATION_ERROR_8(0xF8)
1251 #define ST_APPLICATION_ERROR_9(0xF9)
1252 #define ST_APPLICATION_ERROR_10(0xFA)
1253 #define ST_APPLICATION_ERROR_11(0xFB)
1254 #define ST_APPLICATION_ERROR_12(0xFC)
1255 #define ST_APPLICATION_ERROR_13(0xFD)
1256 #define ST_APPLICATION_ERROR_14(0xFE)
1257 #define ST_APPLICATION_ERROR_15(0xFF)
1258 #else
1259 DEFINE_ERROR( APPLICATION_ERROR_0, 0xF0)
1260 DEFINE_ERROR( APPLICATION_ERROR_1, 0xF1)
1261 DEFINE_ERROR( APPLICATION_ERROR_2, 0xF2)
1262 DEFINE_ERROR( APPLICATION_ERROR_3, 0xF3)
1263 DEFINE_ERROR( APPLICATION_ERROR_4, 0xF4)
1264 DEFINE_ERROR( APPLICATION_ERROR_5, 0xF5)
1265 DEFINE_ERROR( APPLICATION_ERROR_6, 0xF6)
1266 DEFINE_ERROR( APPLICATION_ERROR_7, 0xF7)
1267 DEFINE_ERROR( APPLICATION_ERROR_8, 0xF8)
1268 DEFINE_ERROR( APPLICATION_ERROR_9, 0xF9)
1269 DEFINE_ERROR( APPLICATION_ERROR_10, 0xFA)
1270 DEFINE_ERROR( APPLICATION_ERROR_11, 0xFB)
1271 DEFINE_ERROR( APPLICATION_ERROR_12, 0xFC)
1272 DEFINE_ERROR( APPLICATION_ERROR_13, 0xFD)
1273 DEFINE_ERROR( APPLICATION_ERROR_14, 0xFE)
1274 DEFINE_ERROR( APPLICATION_ERROR_15, 0xFF)
1275 #endif //DOXYGEN_SHOULD_SKIP_THIS
1276 
1277 /** @} */ // END name group
1278 
1279 /** @} END addtogroup */
1280 
1281 /**
1282  * <!-- HIDDEN
1283  * @page 2p5_to_3p0
1284  * <hr>
1285  * All error status codes defined in error-def.h
1286  * (and described in @ref status_codes) now have an \c ST_ prefix.
1287  * Status code changes also include the following:
1288  * <ul>
1289  * <li> <b>New items</b>
1290  * - ::ST_ERR_FLASH_WRITE_INHIBITED
1291  * - ::ST_ERR_FLASH_VERIFY_FAILED
1292  * - ::ST_ADDRESS_TABLE_INDEX_OUT_OF_RANGE
1293  * - ::ST_ADDRESS_TABLE_ENTRY_IS_ACTIVE
1294  * - ::ST_CANNOT_JOIN_AS_ROUTER
1295  * - ::ST_INSUFFICIENT_RANDOM_DATA
1296  * - ::ST_APS_ENCRYPTION_ERROR
1297  * - ::ST_TRUST_CENTER_MASTER_KEY_NOT_SET
1298  * - ::ST_SECURITY_STATE_NOT_SET
1299  * - ::ST_SOURCE_ROUTE_FAILURE
1300  * - ::ST_MANY_TO_ONE_ROUTE_FAILURE
1301  * .
1302  * <li> <b>Changed items</b>
1303  * -
1304  * -
1305  * .
1306  * <li> <b>Removed items</b>
1307  * - ::SIM_EEPROM_FLASH_WRITE_FAILED
1308  * - ::TOO_MANY_CONNECTIONS
1309  * - ::CONNECTION_OPEN
1310  * - ::CONNECTION_FAILED
1311  * - ::CONNECTION_CLOSED
1312  * - ::CONNECTION_CLOSING
1313  * - ::CONNECTION_NOT_YET_OPEN
1314  * - ::INCOMING_SEQUENCED_MESSAGES_LOST
1315  * - ::NODEID_INVALID
1316  * .
1317  * </ul>
1318  * HIDDEN -->
1319  */
1320 
1321 /**
1322  * <!-- HIDDEN
1323  * @page 3p0_to_350
1324  * <hr>
1325  * <ul>
1326  * <li> <b>Removed items</b>
1327  * - ::ST_ERR_TOKEN_UNKNOWN
1328  * - ::ST_ERR_TOKEN_EXISTS
1329  * - ::ST_ERR_TOKEN_INVALID_SIZE
1330  * - ::ST_ERR_TOKEN_READ_ONLY
1331  * .
1332  * </ul>
1333  * HIDDEN -->
1334  */
1335 
#define DEFINE_ERROR(symbol, value)
Macro used by error-def.h to define all of the return codes.
Definition: error.h:34