Status Codes#
Many EmberZNet API functions return an EmberStatus value to indicate the success or failure of the call. Return codes are one byte long. This page documents the possible status codes and their meanings.
See error-def.h for source code.
See also error.h for information on how the values for the return codes are built up from these definitions. The file error-def.h is separated from error.h because utilities will use this file to parse the return codes.
Note
Do not include error-def.h directly. It is included by error.h inside an enumeration typedef, which is in turn included by ember.h.
Generic Messages#
These messages are system wide.
Packet Buffer Module Errors#
Serial Manager Errors#
MAC Errors#
Simulated EEPROM Errors#
Flash Errors#
Bootloader Errors#
Transport Errors#
Green Power status codes#
HAL Module Errors#
PHY Errors#
Return Codes Passed to emberStackStatusHandler()#
See also emberStackStatusHandler = ,.
Security Errors#
Miscellaneous Network Errors#
Miscellaneous Utility Errors#
NVM3 Token Errors#
Application Errors#
These error codes are available for application use.
Enumerations#
Generic Messages Documentation#
Packet Buffer Module Errors Documentation#
Serial Manager Errors Documentation#
MAC Errors Documentation#
Simulated EEPROM Errors Documentation#
Flash Errors Documentation#
Bootloader Errors Documentation#
Transport Errors Documentation#
Green Power status codes Documentation#
HAL Module Errors Documentation#
PHY Errors Documentation#
Return Codes Passed to emberStackStatusHandler() Documentation#
Security Errors Documentation#
Miscellaneous Network Errors Documentation#
Miscellaneous Utility Errors Documentation#
NVM3 Token Errors Documentation#
Application Errors Documentation#
Enumeration Documentation#
EmberStatus#
EmberStatus
Enumerator | |
---|---|
EMBER_SUCCESS | The generic "no error" message. |
EMBER_ERR_FATAL | The generic "fatal error" message. |
EMBER_BAD_ARGUMENT | An invalid value was passed as an argument to a function. |
EMBER_NOT_FOUND | The requested information was not found. |
EMBER_EEPROM_MFG_STACK_VERSION_MISMATCH | The manufacturing and stack token format in non-volatile memory is different than what the stack expects (returned at initialization). |
EMBER_INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS | The static memory definitions in ember-static-memory.h are incompatible with this stack version. |
EMBER_EEPROM_MFG_VERSION_MISMATCH | The manufacturing token format in non-volatile memory is different than what the stack expects (returned at initialization). |
EMBER_EEPROM_STACK_VERSION_MISMATCH | The stack token format in non-volatile memory is different than what the stack expects (returned at initialization). |
EMBER_NO_BUFFERS | There are no more buffers. |
EMBER_PACKET_HANDOFF_DROP_PACKET | Packet is dropped by packet-handoff callbacks. |
EMBER_SERIAL_INVALID_BAUD_RATE | Specifies an invalid baud rate. |
EMBER_SERIAL_INVALID_PORT | Specifies an invalid serial port. |
EMBER_SERIAL_TX_OVERFLOW | Tried to send too much data. |
EMBER_SERIAL_RX_OVERFLOW | There wasn't enough space to store a received character and the character was dropped. |
EMBER_SERIAL_RX_FRAME_ERROR | Detected a UART framing error. |
EMBER_SERIAL_RX_PARITY_ERROR | Detected a UART parity error. |
EMBER_SERIAL_RX_EMPTY | There is no received data to process. |
EMBER_SERIAL_RX_OVERRUN_ERROR | The receive interrupt was not handled in time and a character was dropped. |
EMBER_MAC_TRANSMIT_QUEUE_FULL | The MAC transmit queue is full. |
EMBER_MAC_UNKNOWN_HEADER_TYPE | MAC header FCF error on receive. |
EMBER_MAC_ACK_HEADER_TYPE | MAC ACK header received. |
EMBER_MAC_SCANNING | The MAC can't complete this task because it is scanning. |
EMBER_MAC_NO_DATA | No pending data exists for a data poll. |
EMBER_MAC_JOINED_NETWORK | Attempts to scan when joined to a network. |
EMBER_MAC_BAD_SCAN_DURATION | Scan duration must be 0 to 14 inclusive. Tried to scan with an incorrect duration value. |
EMBER_MAC_INCORRECT_SCAN_TYPE | emberStartScan was called with an incorrect scan type. |
EMBER_MAC_INVALID_CHANNEL_MASK | emberStartScan was called with an invalid channel mask. |
EMBER_MAC_COMMAND_TRANSMIT_FAILURE | Failed to scan the current channel because the relevant MAC command could not be transmitted. |
EMBER_MAC_NO_ACK_RECEIVED | An ACK was expected following the transmission but the MAC level ACK was never received. |
EMBER_MAC_RADIO_NETWORK_SWITCH_FAILED | MAC failed to transmit a message because it could not successfully perform a radio network switch. |
EMBER_MAC_INDIRECT_TIMEOUT | An indirect data message timed out before a poll requested it. |
EMBER_SIM_EEPROM_ERASE_PAGE_GREEN | The Simulated EEPROM is telling the application that at least one flash page to be erased. The GREEN status means the current page has not filled above the ::ERASE_CRITICAL_THRESHOLD. |
EMBER_SIM_EEPROM_ERASE_PAGE_RED | The Simulated EEPROM is telling the application that at least one flash page must be erased. The RED status means the current page has filled above the ::ERASE_CRITICAL_THRESHOLD. |
EMBER_SIM_EEPROM_FULL | The Simulated EEPROM has run out of room to write new data and the data trying to be set has been lost. This error code is the result of ignoring the ::SIM_EEPROM_ERASE_PAGE_RED error code. |
EMBER_SIM_EEPROM_INIT_1_FAILED | Attempt 1 to initialize the Simulated EEPROM has failed. |
EMBER_SIM_EEPROM_INIT_2_FAILED | Attempt 2 to initialize the Simulated EEPROM has failed. |
EMBER_SIM_EEPROM_INIT_3_FAILED | Attempt 3 to initialize the Simulated EEPROM has failed. |
EMBER_SIM_EEPROM_REPAIRING | The Simulated EEPROM is repairing itself. |
EMBER_ERR_FLASH_WRITE_INHIBITED | A fatal error has occurred while trying to write data to the Flash. The target memory attempting to be programmed is already programmed. The flash write routines were asked to flip a bit from a 0 to 1, which is physically impossible and the write was therefore inhibited. The data in the Flash cannot be trusted after this error. |
EMBER_ERR_FLASH_VERIFY_FAILED | A fatal error has occurred while trying to write data to the Flash and the write verification has failed. Data in the Flash cannot be trusted after this error and it is possible this error is the result of exceeding the life cycles of the Flash. |
EMBER_ERR_FLASH_PROG_FAIL | A fatal error has occurred while trying to write data to the Flash possibly due to write protection or an invalid address. Data in the Flash cannot be trusted after this error and it is possible this error is the result of exceeding the life cycles of the Flash. |
EMBER_ERR_FLASH_ERASE_FAIL | A fatal error has occurred while trying to erase the Flash possibly due to write protection. Data in the Flash cannot be trusted after this error and it is possible this error is the result of exceeding the life cycles of the Flash. |
EMBER_ERR_BOOTLOADER_TRAP_TABLE_BAD | The bootloader received an invalid message (failed attempt to go into bootloader). |
EMBER_ERR_BOOTLOADER_TRAP_UNKNOWN | The bootloader received an invalid message (failed attempt to go into the bootloader). |
EMBER_ERR_BOOTLOADER_NO_IMAGE | The bootloader cannot complete the bootload operation because either an image was not found or the image exceeded memory bounds. |
EMBER_DELIVERY_FAILED | The APS layer attempted to send or deliver a message and failed. |
EMBER_BINDING_INDEX_OUT_OF_RANGE | This binding index is out of range for the current binding table. |
EMBER_ADDRESS_TABLE_INDEX_OUT_OF_RANGE | This address table index is out of range for the current address table. |
EMBER_INVALID_BINDING_INDEX | An invalid binding table index was given to a function. |
EMBER_INVALID_CALL | The API call is not allowed given the current state of the stack. |
EMBER_COST_NOT_KNOWN | The link cost to a node is not known. |
EMBER_MAX_MESSAGE_LIMIT_REACHED | The maximum number of in-flight messages = i.e., EMBER_APS_UNICAST_MESSAGE_COUNT, has been reached. |
EMBER_MESSAGE_TOO_LONG | The message to be transmitted is too big to fit into a single over-the-air packet. |
EMBER_BINDING_IS_ACTIVE | The application is trying to delete or overwrite a binding that is in use. |
EMBER_ADDRESS_TABLE_ENTRY_IS_ACTIVE | The application is trying to overwrite an address table entry that is in use. |
EMBER_TRANSMISSION_SUSPENDED | An attempt was made to transmit during the suspend period. |
EMBER_MATCH | Security match. |
EMBER_DROP_FRAME | Drop frame. |
EMBER_PASS_UNPROCESSED | Security match. |
EMBER_TX_THEN_DROP | Security match. |
EMBER_NO_SECURITY | Security match. |
EMBER_COUNTER_FAILURE | Security match. |
EMBER_AUTH_FAILURE | Security match. |
EMBER_UNPROCESSED | Security match. |
EMBER_ADC_CONVERSION_DONE | The conversion is complete. |
EMBER_ADC_CONVERSION_BUSY | The conversion cannot be done because a request is being processed. |
EMBER_ADC_CONVERSION_DEFERRED | The conversion is deferred until the current request has been processed. |
EMBER_ADC_NO_CONVERSION_PENDING | No results are pending. |
EMBER_SLEEP_INTERRUPTED | Sleeping (for a duration) has been abnormally interrupted and exited prematurely. |
EMBER_PHY_TX_SCHED_FAIL | The transmit attempt failed because the radio scheduler could not find a slot to transmit this packet in or a higher priority event interrupted it. |
EMBER_PHY_TX_UNDERFLOW | The transmit hardware buffer underflowed. |
EMBER_PHY_TX_INCOMPLETE | The transmit hardware did not finish transmitting a packet. |
EMBER_PHY_INVALID_CHANNEL | An unsupported channel setting was specified. |
EMBER_PHY_INVALID_POWER | An unsupported power setting was specified. |
EMBER_PHY_TX_BUSY | The requested operation cannot be completed because the radio is currently busy, either transmitting a packet or performing calibration. |
EMBER_PHY_TX_CCA_FAIL | The transmit attempt failed because all CCA attempts indicated that the channel was busy. |
EMBER_PHY_TX_BLOCKED | The transmit attempt was blocked from going over the air. Typically this is due to the Radio Hold Off (RHO) or Coexistence plugins as they can prevent transmits based on external signals. |
EMBER_PHY_ACK_RECEIVED | The expected ACK was received after the last transmission. |
EMBER_NETWORK_UP | The stack software has completed initialization and is ready to send and receive packets over the air. |
EMBER_NETWORK_DOWN | The network is not operating. |
EMBER_JOIN_FAILED | An attempt to join a network failed. |
EMBER_MOVE_FAILED | After moving, a mobile node's attempt to re-establish contact with the network failed. |
EMBER_CANNOT_JOIN_AS_ROUTER | An attempt to join as a router failed due to a Zigbee versus Zigbee Pro incompatibility. Zigbee devices joining Zigbee Pro networks (or vice versa) must join as End Devices, not Routers. |
EMBER_NODE_ID_CHANGED | The local node ID has changed. The application can get the new node ID by calling emberGetNodeId(). |
EMBER_PAN_ID_CHANGED | The local PAN ID has changed. The application can get the new PAN ID by calling emberGetPanId(). |
EMBER_CHANNEL_CHANGED | The channel has changed. |
EMBER_NETWORK_OPENED | The network has been opened for joining. |
EMBER_NETWORK_CLOSED | The network has been closed for joining. |
EMBER_NO_BEACONS | An attempt to join or rejoin the network failed because no router beacons could be heard by the joining node. |
EMBER_RECEIVED_KEY_IN_THE_CLEAR | An attempt was made to join a Secured Network using a pre-configured key, but the Trust Center sent back a Network Key in-the-clear when an encrypted Network Key was required. (EMBER_REQUIRE_ENCRYPTED_KEY). |
EMBER_NO_NETWORK_KEY_RECEIVED | An attempt was made to join a Secured Network, but the device did not receive a Network Key. |
EMBER_NO_LINK_KEY_RECEIVED | After a device joined a Secured Network, a Link Key was requested (EMBER_GET_LINK_KEY_WHEN_JOINING) but no response was ever received. |
EMBER_PRECONFIGURED_KEY_REQUIRED | An attempt was made to join a Secured Network without a pre-configured key, but the Trust Center sent encrypted data using a pre-configured key. |
EMBER_KEY_INVALID | The passed key data is not valid. A key of all zeros or all F's are reserved values and cannot be used. |
EMBER_INVALID_SECURITY_LEVEL | The chosen security level (the value of EMBER_SECURITY_LEVEL) is not supported by the stack. |
EMBER_IEEE_ADDRESS_DISCOVERY_IN_PROGRESS | An error occurred when trying to encrypt at the APS Level. |
EMBER_APS_ENCRYPTION_ERROR | An error occurred when trying to encrypt at the APS Level. |
EMBER_SECURITY_STATE_NOT_SET | There was an attempt to form or join a network with security without calling emberSetInitialSecurityState() first. |
EMBER_KEY_TABLE_INVALID_ADDRESS | There was an attempt to set an entry in the key table using an invalid long address. Invalid addresses include: |
EMBER_SECURITY_CONFIGURATION_INVALID | There was an attempt to set a security configuration that is not valid given the other security settings. |
EMBER_TOO_SOON_FOR_SWITCH_KEY | There was an attempt to broadcast a key switch too quickly after broadcasting the next network key. The Trust Center must wait at least a period equal to the broadcast timeout so that all routers have a chance to receive the broadcast of the new network key. |
EMBER_SIGNATURE_VERIFY_FAILURE | The received signature corresponding to the message that was passed to the CBKE Library failed verification and is not valid. |
EMBER_KEY_NOT_AUTHORIZED | The message could not be sent because the link key corresponding to the destination is not authorized for use in APS data messages. APS Commands (sent by the stack) are allowed. To use it for encryption of APS data messages it must be authorized using a key agreement protocol (such as CBKE). |
EMBER_SECURITY_DATA_INVALID | The security data provided was not valid, or an integrity check failed. |
EMBER_NOT_JOINED | The node has not joined a network. |
EMBER_NETWORK_BUSY | A message cannot be sent because the network is currently overloaded. |
EMBER_INVALID_ENDPOINT | The application tried to send a message using an endpoint that it has not defined. |
EMBER_BINDING_HAS_CHANGED | The application tried to use a binding that has been remotely modified and the change has not yet been reported to the application. |
EMBER_INSUFFICIENT_RANDOM_DATA | An attempt to generate random bytes failed because of insufficient random data from the radio. |
EMBER_SOURCE_ROUTE_FAILURE | A Zigbee route error command frame was received indicating that a source routed message from this node failed en route. |
EMBER_MANY_TO_ONE_ROUTE_FAILURE | A Zigbee route error command frame was received indicating that a message sent to this node along a many-to-one route failed en route. The route error frame was delivered by an ad-hoc search for a functioning route. |
EMBER_STACK_AND_HARDWARE_MISMATCH | A critical and fatal error indicating that the version of the stack trying to run does not match with the chip it's running on. The software (stack) on the chip must be replaced with software compatible with the chip. |
EMBER_INDEX_OUT_OF_RANGE | An index was passed into the function that was larger than the valid range. |
EMBER_TABLE_FULL | There are no empty entries left in the table. |
EMBER_TABLE_ENTRY_ERASED | The requested table entry has been erased and contains no valid data. |
EMBER_LIBRARY_NOT_PRESENT | The requested function cannot be executed because the library that contains the necessary functionality is not present. |
EMBER_OPERATION_IN_PROGRESS | The stack accepted the command and is currently processing the request. The results will be returned via an appropriate handler. |
EMBER_TRUST_CENTER_EUI_HAS_CHANGED | The EUI of the Trust center has changed due to a successful rejoin. The device may need to perform other authentication to verify the new TC is authorized to take over. |
EMBER_NVM3_TOKEN_NO_VALID_PAGES | NVM3 is telling the application that the initialization was aborted as no valid NVM3 page was found. |
EMBER_NVM3_ERR_OPENED_WITH_OTHER_PARAMETERS | NVM3 is telling the application that the initialization was aborted as the NVM3 instance was already opened with other parameters. |
EMBER_NVM3_ERR_ALIGNMENT_INVALID | NVM3 is telling the application that the initialization was aborted as the NVM3 instance is not aligned properly in memory. |
EMBER_NVM3_ERR_SIZE_TOO_SMALL | NVM3 is telling the application that the initialization was aborted as the size of the NVM3 instance is too small. |
EMBER_NVM3_ERR_PAGE_SIZE_NOT_SUPPORTED | NVM3 is telling the application that the initialization was aborted as the NVM3 page size is not supported. |
EMBER_NVM3_ERR_TOKEN_INIT | NVM3 is telling the application that there was an error initializing some of the tokens. |
EMBER_NVM3_ERR_UPGRADE | NVM3 is telling the application there has been an error when attempting to upgrade SimEE tokens. |
EMBER_NVM3_ERR_UNKNOWN | NVM3 is telling the application that there has been an unknown error. |
EMBER_APPLICATION_ERROR_0 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_1 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_2 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_3 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_4 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_5 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_6 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_7 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_8 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_9 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_10 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_11 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_12 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_13 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_14 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
EMBER_APPLICATION_ERROR_15 | This error is reserved for customer application use. This will never be returned from any portion of the network stack or HAL. |
49
of file stack/include/error-def.h