Contiki 3.x
Macros | Enumerations
Status Codes

Many StZNet API functions return an StStatus value to indicate the success or failure of the call. More...

Macros

#define DEFINE_ERROR(symbol, value)   ST_ ## symbol = value,
 Macro used by error-def.h to define all of the return codes. More...
 

Enumerations

enum  { ST_ERROR_CODE_COUNT }
 

Generic Messages

These messages are system wide.

#define ST_SUCCESS(x00)
 The generic "no error" message.
 
#define ST_ERR_FATAL(x01)
 The generic "fatal error" message.
 
#define ST_BAD_ARGUMENT(x02)
 An invalid value was passed as an argument to a function.
 
#define ST_EEPROM_MFG_STACK_VERSION_MISMATCH(x04)
 The manufacturing and stack token format in non-volatile memory is different than what the stack expects (returned at initialization).
 
#define ST_INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS(x05)
 The static memory definitions in st-static-memory.h are incompatible with this stack version.
 
#define ST_EEPROM_MFG_VERSION_MISMATCH(x06)
 The manufacturing token format in non-volatile memory is different than what the stack expects (returned at initialization).
 
#define ST_EEPROM_STACK_VERSION_MISMATCH(x07)
 The stack token format in non-volatile memory is different than what the stack expects (returned at initialization).
 

Packet Buffer Module Errors

#define ST_NO_BUFFERS(x18)
 There are no more buffers.
 

Serial Manager Errors

#define ST_SERIAL_INVALID_BAUD_RATE(x20)
 Specified an invalid baud rate.
 
#define ST_SERIAL_INVALID_PORT(x21)
 Specified an invalid serial port.
 
#define ST_SERIAL_TX_OVERFLOW(x22)
 Tried to send too much data.
 
#define ST_SERIAL_RX_OVERFLOW(x23)
 There was not enough space to store a received character and the character was dropped.
 
#define ST_SERIAL_RX_FRAME_ERROR(x24)
 Detected a UART framing error.
 
#define ST_SERIAL_RX_PARITY_ERROR(x25)
 Detected a UART parity error.
 
#define ST_SERIAL_RX_EMPTY(x26)
 There is no received data to process.
 
#define ST_SERIAL_RX_OVERRUN_ERROR(x27)
 The receive interrupt was not handled in time, and a character was dropped.
 

MAC Errors

#define ST_MAC_TRANSMIT_QUEUE_FULL(x39)
 The MAC transmit queue is full.
 
#define ST_MAC_UNKNOWN_HEADER_TYPE(x3A)
 MAC header FCF error on receive.
 
#define ST_MAC_ACK_HEADER_TYPE(x3B)
 MAC ACK header received.
 
#define ST_MAC_SCANNING(x3D)
 The MAC can't complete this task because it is scanning.
 
#define ST_MAC_NO_DATA(x31)
 No pending data exists for device doing a data poll.
 
#define ST_MAC_JOINED_NETWORK(x32)
 Attempt to scan when we are joined to a network.
 
#define ST_MAC_BAD_SCAN_DURATION(x33)
 Scan duration must be 0 to 14 inclusive. More...
 
#define ST_MAC_INCORRECT_SCAN_TYPE(x34)
 stStartScan was called with an incorrect scan type.
 
#define ST_MAC_INVALID_CHANNEL_MASK(x35)
 stStartScan was called with an invalid channel mask.
 
#define ST_MAC_COMMAND_TRANSMIT_FAILURE(x36)
 Failed to scan current channel because we were unable to transmit the relevent MAC command.
 
#define ST_MAC_NO_ACK_RECEIVED(x40)
 We expected to receive an ACK following the transmission, but the MAC level ACK was never received.
 
#define ST_MAC_INDIRECT_TIMEOUT(x42)
 Indirect data message timed out before polled.
 

Simulated EEPROM Errors

#define ST_SIM_EEPROM_ERASE_PAGE_GREEN(x43)
 The Simulated EEPROM is telling the application that there is at least one flash page to be erased. More...
 
#define ST_SIM_EEPROM_ERASE_PAGE_RED(x44)
 The Simulated EEPROM is telling the application that there is at least one flash page to be erased. More...
 
#define ST_SIM_EEPROM_FULL(x45)
 The Simulated EEPROM has run out of room to write any new data and the data trying to be set has been lost. More...
 
#define ST_SIM_EEPROM_INIT_1_FAILED(x48)
 Attempt 1 to initialize the Simulated EEPROM has failed. More...
 
#define ST_SIM_EEPROM_INIT_2_FAILED(x49)
 Attempt 2 to initialize the Simulated EEPROM has failed. More...
 
#define ST_SIM_EEPROM_INIT_3_FAILED(x4A)
 Attempt 3 to initialize the Simulated EEPROM has failed. More...
 

Flash Errors

#define ST_ERR_FLASH_WRITE_INHIBITED(x46)
 A fatal error has occured while trying to write data to the Flash. More...
 
#define ST_ERR_FLASH_VERIFY_FAILED(x47)
 A fatal error has occured while trying to write data to the Flash and the write verification has failed. More...
 
#define ST_ERR_FLASH_PROG_FAIL(x4B)
 A fatal error has occured while trying to write data to the flash, possibly due to write protection or an invalid address. More...
 
#define ST_ERR_FLASH_ERASE_FAIL(x4C)
 A fatal error has occured while trying to erase flash, possibly due to write protection. More...
 

Bootloader Errors

#define ST_ERR_BOOTLOADER_TRAP_TABLE_BAD(x58)
 The bootloader received an invalid message (failed attempt to go into bootloader).
 
#define ST_ERR_BOOTLOADER_TRAP_UNKNOWN(x59)
 Bootloader received an invalid message (failed attempt to go into bootloader).
 
#define ST_ERR_BOOTLOADER_NO_IMAGE(x05A)
 The bootloader cannot complete the bootload operation because either an image was not found or the image exceeded memory bounds.
 

Transport Errors

#define ST_DELIVERY_FAILED(x66)
 The APS layer attempted to send or deliver a message, but it failed.
 
#define ST_BINDING_INDEX_OUT_OF_RANGE(x69)
 This binding index is out of range for the current binding table.
 
#define ST_ADDRESS_TABLE_INDEX_OUT_OF_RANGE(x6A)
 This address table index is out of range for the current address table.
 
#define ST_INVALID_BINDING_INDEX(x6C)
 An invalid binding table index was given to a function.
 
#define ST_INVALID_CALL(x70)
 The API call is not allowed given the current state of the stack.
 
#define ST_COST_NOT_KNOWN(x71)
 The link cost to a node is not known.
 
#define ST_MAX_MESSAGE_LIMIT_REACHED(x72)
 The maximum number of in-flight messages (i.e. More...
 
#define ST_MESSAGE_TOO_LONG(x74)
 The message to be transmitted is too big to fit into a single over-the-air packet.
 
#define ST_BINDING_IS_ACTIVE(x75)
 The application is trying to delete or overwrite a binding that is in use.
 
#define ST_ADDRESS_TABLE_ENTRY_IS_ACTIVE(x76)
 The application is trying to overwrite an address table entry that is in use.
 

HAL Module Errors

#define ST_ADC_CONVERSION_DONE(x80)
 Conversion is complete.
 
#define ST_ADC_CONVERSION_BUSY(x81)
 Conversion cannot be done because a request is being processed.
 
#define ST_ADC_CONVERSION_DEFERRED(x82)
 Conversion is deferred until the current request has been processed.
 
#define ST_ADC_NO_CONVERSION_PENDING(x84)
 No results are pending.
 
#define ST_SLEEP_INTERRUPTED(x85)
 Sleeping (for a duration) has been abnormally interrupted and exited prematurely.
 

PHY Errors

#define ST_PHY_TX_UNDERFLOW(x88)
 The transmit hardware buffer underflowed.
 
#define ST_PHY_TX_INCOMPLETE(x89)
 The transmit hardware did not finish transmitting a packet.
 
#define ST_PHY_INVALID_CHANNEL(x8A)
 An unsupported channel setting was specified.
 
#define ST_PHY_INVALID_POWER(x8B)
 An unsupported power setting was specified.
 
#define ST_PHY_TX_BUSY(x8C)
 The requested operation cannot be completed because the radio is currently busy, either transmitting a packet or performing calibration.
 
#define ST_PHY_TX_CCA_FAIL(x8D)
 The transmit attempt failed because all CCA attempts indicated that the channel was busy.
 
#define ST_PHY_OSCILLATOR_CHECK_FAILED(x8E)
 The software installed on the hardware doesn't recognize the hardware radio type.
 
#define ST_PHY_ACK_RECEIVED(x8F)
 The expected ACK was received after the last transmission.
 

Return Codes Passed to stStackStatusHandler()

See also stStackStatusHandler().

#define ST_NETWORK_UP(x90)
 The stack software has completed initialization and is ready to send and receive packets over the air.
 
#define ST_NETWORK_DOWN(x91)
 The network is not operating.
 
#define ST_JOIN_FAILED(x94)
 An attempt to join a network failed.
 
#define ST_MOVE_FAILED(x96)
 After moving, a mobile node's attempt to re-establish contact with the network failed.
 
#define ST_CANNOT_JOIN_AS_ROUTER(x98)
 An attempt to join as a router failed due to a Zigbee versus Zigbee Pro incompatibility. More...
 
#define ST_NODE_ID_CHANGED(x99)
 The local node ID has changed. More...
 
#define ST_PAN_ID_CHANGED(x9A)
 The local PAN ID has changed. More...
 
#define ST_CHANNEL_CHANGED(x9B)
 The channel has changed.
 
#define ST_NO_BEACONS(xAB)
 An attempt to join or rejoin the network failed because no router beacons could be heard by the joining node.
 
#define ST_RECEIVED_KEY_IN_THE_CLEAR(xAC)
 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. More...
 
#define ST_NO_NETWORK_KEY_RECEIVED(xAD)
 An attempt was made to join a Secured Network, but the device did not receive a Network Key.
 
#define ST_NO_LINK_KEY_RECEIVED(xAE)
 After a device joined a Secured Network, a Link Key was requested (ST_GET_LINK_KEY_WHEN_JOINING) but no response was ever received.
 
#define ST_PRECONFIGURED_KEY_REQUIRED(xAF)
 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.
 

Security Errors

#define ST_KEY_INVALID(xB2)
 The passed key data is not valid. More...
 
#define ST_INVALID_SECURITY_LEVEL(x95)
 The chosen security level (the value of ST_SECURITY_LEVEL) is not supported by the stack.
 
#define ST_APS_ENCRYPTION_ERROR(xA6)
 There was an error in trying to encrypt at the APS Level. More...
 
#define ST_TRUST_CENTER_MASTER_KEY_NOT_SET(xA7)
 There was an attempt to form a network using High security without setting the Trust Center master key first.
 
#define ST_SECURITY_STATE_NOT_SET(xA8)
 There was an attempt to form or join a network with security without calling stSetInitialSecurityState() first.
 
#define ST_KEY_TABLE_INVALID_ADDRESS(xB3)
 There was an attempt to set an entry in the key table using an invalid long address. More...
 
#define ST_SECURITY_CONFIGURATION_INVALID(xB7)
 There was an attempt to set a security configuration that is not valid given the other security settings.
 
#define ST_TOO_SOON_FOR_SWITCH_KEY(xB8)
 There was an attempt to broadcast a key switch too quickly after broadcasting the next network key. More...
 
#define ST_SIGNATURE_VERIFY_FAILURE(xB9)
 The received signature corresponding to the message that was passed to the CBKE Library failed verification, it is not valid.
 
#define ST_KEY_NOT_AUTHORIZED(xBB)
 The message could not be sent because the link key corresponding to the destination is not authorized for use in APS data messages. More...
 

Miscellaneous Network Errors

#define ST_NOT_JOINED(x93)
 The node has not joined a network.
 
#define ST_NETWORK_BUSY(xA1)
 A message cannot be sent because the network is currently overloaded.
 
#define ST_INVALID_ENDPOINT(xA3)
 The application tried to send a message using an endpoint that it has not defined.
 
#define ST_BINDING_HAS_CHANGED(xA4)
 The application tried to use a binding that has been remotely modified and the change has not yet been reported to the application.
 
#define ST_INSUFFICIENT_RANDOM_DATA(xA5)
 An attempt to generate random bytes failed because of insufficient random data from the radio.
 
#define ST_SOURCE_ROUTE_FAILURE(xA9)
 A ZigBee route error command frame was received indicating that a source routed message from this node failed en route.
 
#define ST_MANY_TO_ONE_ROUTE_FAILURE(xAA)
 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. More...
 

Miscellaneous Utility Errors

#define ST_STACK_AND_HARDWARE_MISMATCH(xB0)
 A critical and fatal error indicating that the version of the stack trying to run does not match with the chip it is running on. More...
 
#define ST_INDEX_OUT_OF_RANGE(xB1)
 An index was passed into the function that was larger than the valid range.
 
#define ST_TABLE_FULL(xB4)
 There are no empty entries left in the table.
 
#define ST_TABLE_ENTRY_ERASED(xB6)
 The requested table entry has been erased and contains no valid data.
 
#define ST_LIBRARY_NOT_PRESENT(xB5)
 The requested function cannot be executed because the library that contains the necessary functionality is not present.
 
#define ST_OPERATION_IN_PROGRESS(xBA)
 The stack accepted the command and is currently processing the request. More...
 

Application Errors

These error codes are available for application use.

#define ST_APPLICATION_ERROR_0(xF0)
 This error is reserved for customer application use. More...
 
#define ST_APPLICATION_ERROR_1(xF1)
 
#define ST_APPLICATION_ERROR_2(xF2)
 
#define ST_APPLICATION_ERROR_3(xF3)
 
#define ST_APPLICATION_ERROR_4(xF4)
 
#define ST_APPLICATION_ERROR_5(xF5)
 
#define ST_APPLICATION_ERROR_6(xF6)
 
#define ST_APPLICATION_ERROR_7(xF7)
 
#define ST_APPLICATION_ERROR_8(xF8)
 
#define ST_APPLICATION_ERROR_9(xF9)
 
#define ST_APPLICATION_ERROR_10(xFA)
 
#define ST_APPLICATION_ERROR_11(xFB)
 
#define ST_APPLICATION_ERROR_12(xFC)
 
#define ST_APPLICATION_ERROR_13(xFD)
 
#define ST_APPLICATION_ERROR_14(xFE)
 
#define ST_APPLICATION_ERROR_15(xFF)
 

Generic Messages

These messages are system wide.

#define ST_SUCCESS(x00)
 The generic "no error" message.
 
#define ST_ERR_FATAL(x01)
 The generic "fatal error" message.
 
#define ST_BAD_ARGUMENT(x02)
 An invalid value was passed as an argument to a function.
 
#define ST_EEPROM_MFG_STACK_VERSION_MISMATCH(x04)
 The manufacturing and stack token format in non-volatile memory is different than what the stack expects (returned at initialization).
 
#define ST_INCOMPATIBLE_STATIC_MEMORY_DEFINITIONS(x05)
 The static memory definitions in st-static-memory.h are incompatible with this stack version.
 
#define ST_EEPROM_MFG_VERSION_MISMATCH(x06)
 The manufacturing token format in non-volatile memory is different than what the stack expects (returned at initialization).
 
#define ST_EEPROM_STACK_VERSION_MISMATCH(x07)
 The stack token format in non-volatile memory is different than what the stack expects (returned at initialization).
 

Packet Buffer Module Errors

#define ST_NO_BUFFERS(x18)
 There are no more buffers.
 

Serial Manager Errors

#define ST_SERIAL_INVALID_BAUD_RATE(x20)
 Specified an invalid baud rate.
 
#define ST_SERIAL_INVALID_PORT(x21)
 Specified an invalid serial port.
 
#define ST_SERIAL_TX_OVERFLOW(x22)
 Tried to send too much data.
 
#define ST_SERIAL_RX_OVERFLOW(x23)
 There was not enough space to store a received character and the character was dropped.
 
#define ST_SERIAL_RX_FRAME_ERROR(x24)
 Detected a UART framing error.
 
#define ST_SERIAL_RX_PARITY_ERROR(x25)
 Detected a UART parity error.
 
#define ST_SERIAL_RX_EMPTY(x26)
 There is no received data to process.
 
#define ST_SERIAL_RX_OVERRUN_ERROR(x27)
 The receive interrupt was not handled in time, and a character was dropped.
 

MAC Errors

#define ST_MAC_TRANSMIT_QUEUE_FULL(x39)
 The MAC transmit queue is full.
 
#define ST_MAC_UNKNOWN_HEADER_TYPE(x3A)
 MAC header FCF error on receive.
 
#define ST_MAC_ACK_HEADER_TYPE(x3B)
 MAC ACK header received.
 
#define ST_MAC_SCANNING(x3D)
 The MAC can't complete this task because it is scanning.
 
#define ST_MAC_NO_DATA(x31)
 No pending data exists for device doing a data poll.
 
#define ST_MAC_JOINED_NETWORK(x32)
 Attempt to scan when we are joined to a network.
 
#define ST_MAC_BAD_SCAN_DURATION(x33)
 Scan duration must be 0 to 14 inclusive. More...
 
#define ST_MAC_INCORRECT_SCAN_TYPE(x34)
 stStartScan was called with an incorrect scan type.
 
#define ST_MAC_INVALID_CHANNEL_MASK(x35)
 stStartScan was called with an invalid channel mask.
 
#define ST_MAC_COMMAND_TRANSMIT_FAILURE(x36)
 Failed to scan current channel because we were unable to transmit the relevent MAC command.
 
#define ST_MAC_NO_ACK_RECEIVED(x40)
 We expected to receive an ACK following the transmission, but the MAC level ACK was never received.
 
#define ST_MAC_INDIRECT_TIMEOUT(x42)
 Indirect data message timed out before polled.
 

Simulated EEPROM Errors

#define ST_SIM_EEPROM_ERASE_PAGE_GREEN(x43)
 The Simulated EEPROM is telling the application that there is at least one flash page to be erased. More...
 
#define ST_SIM_EEPROM_ERASE_PAGE_RED(x44)
 The Simulated EEPROM is telling the application that there is at least one flash page to be erased. More...
 
#define ST_SIM_EEPROM_FULL(x45)
 The Simulated EEPROM has run out of room to write any new data and the data trying to be set has been lost. More...
 
#define ST_SIM_EEPROM_INIT_1_FAILED(x48)
 Attempt 1 to initialize the Simulated EEPROM has failed. More...
 
#define ST_SIM_EEPROM_INIT_2_FAILED(x49)
 Attempt 2 to initialize the Simulated EEPROM has failed. More...
 
#define ST_SIM_EEPROM_INIT_3_FAILED(x4A)
 Attempt 3 to initialize the Simulated EEPROM has failed. More...
 

Flash Errors

#define ST_ERR_FLASH_WRITE_INHIBITED(x46)
 A fatal error has occured while trying to write data to the Flash. More...
 
#define ST_ERR_FLASH_VERIFY_FAILED(x47)
 A fatal error has occured while trying to write data to the Flash and the write verification has failed. More...
 
#define ST_ERR_FLASH_PROG_FAIL(x4B)
 A fatal error has occured while trying to write data to the flash, possibly due to write protection or an invalid address. More...
 
#define ST_ERR_FLASH_ERASE_FAIL(x4C)
 A fatal error has occured while trying to erase flash, possibly due to write protection. More...
 

Bootloader Errors

#define ST_ERR_BOOTLOADER_TRAP_TABLE_BAD(x58)
 The bootloader received an invalid message (failed attempt to go into bootloader).
 
#define ST_ERR_BOOTLOADER_TRAP_UNKNOWN(x59)
 Bootloader received an invalid message (failed attempt to go into bootloader).
 
#define ST_ERR_BOOTLOADER_NO_IMAGE(x05A)
 The bootloader cannot complete the bootload operation because either an image was not found or the image exceeded memory bounds.
 

Transport Errors

#define ST_DELIVERY_FAILED(x66)
 The APS layer attempted to send or deliver a message, but it failed.
 
#define ST_BINDING_INDEX_OUT_OF_RANGE(x69)
 This binding index is out of range for the current binding table.
 
#define ST_ADDRESS_TABLE_INDEX_OUT_OF_RANGE(x6A)
 This address table index is out of range for the current address table.
 
#define ST_INVALID_BINDING_INDEX(x6C)
 An invalid binding table index was given to a function.
 
#define ST_INVALID_CALL(x70)
 The API call is not allowed given the current state of the stack.
 
#define ST_COST_NOT_KNOWN(x71)
 The link cost to a node is not known.
 
#define ST_MAX_MESSAGE_LIMIT_REACHED(x72)
 The maximum number of in-flight messages (i.e. More...
 
#define ST_MESSAGE_TOO_LONG(x74)
 The message to be transmitted is too big to fit into a single over-the-air packet.
 
#define ST_BINDING_IS_ACTIVE(x75)
 The application is trying to delete or overwrite a binding that is in use.
 
#define ST_ADDRESS_TABLE_ENTRY_IS_ACTIVE(x76)
 The application is trying to overwrite an address table entry that is in use.
 

HAL Module Errors

#define ST_ADC_CONVERSION_DONE(x80)
 Conversion is complete.
 
#define ST_ADC_CONVERSION_BUSY(x81)
 Conversion cannot be done because a request is being processed.
 
#define ST_ADC_CONVERSION_DEFERRED(x82)
 Conversion is deferred until the current request has been processed.
 
#define ST_ADC_NO_CONVERSION_PENDING(x84)
 No results are pending.
 
#define ST_SLEEP_INTERRUPTED(x85)
 Sleeping (for a duration) has been abnormally interrupted and exited prematurely.
 

PHY Errors

#define ST_PHY_TX_UNDERFLOW(x88)
 The transmit hardware buffer underflowed.
 
#define ST_PHY_TX_INCOMPLETE(x89)
 The transmit hardware did not finish transmitting a packet.
 
#define ST_PHY_INVALID_CHANNEL(x8A)
 An unsupported channel setting was specified.
 
#define ST_PHY_INVALID_POWER(x8B)
 An unsupported power setting was specified.
 
#define ST_PHY_TX_BUSY(x8C)
 The requested operation cannot be completed because the radio is currently busy, either transmitting a packet or performing calibration.
 
#define ST_PHY_TX_CCA_FAIL(x8D)
 The transmit attempt failed because all CCA attempts indicated that the channel was busy.
 
#define ST_PHY_OSCILLATOR_CHECK_FAILED(x8E)
 The software installed on the hardware doesn't recognize the hardware radio type.
 
#define ST_PHY_ACK_RECEIVED(x8F)
 The expected ACK was received after the last transmission.
 

Return Codes Passed to stStackStatusHandler()

See also stStackStatusHandler().

#define ST_NETWORK_UP(x90)
 The stack software has completed initialization and is ready to send and receive packets over the air.
 
#define ST_NETWORK_DOWN(x91)
 The network is not operating.
 
#define ST_JOIN_FAILED(x94)
 An attempt to join a network failed.
 
#define ST_MOVE_FAILED(x96)
 After moving, a mobile node's attempt to re-establish contact with the network failed.
 
#define ST_CANNOT_JOIN_AS_ROUTER(x98)
 An attempt to join as a router failed due to a Zigbee versus Zigbee Pro incompatibility. More...
 
#define ST_NODE_ID_CHANGED(x99)
 The local node ID has changed. More...
 
#define ST_PAN_ID_CHANGED(x9A)
 The local PAN ID has changed. More...
 
#define ST_CHANNEL_CHANGED(x9B)
 The channel has changed.
 
#define ST_NO_BEACONS(xAB)
 An attempt to join or rejoin the network failed because no router beacons could be heard by the joining node.
 
#define ST_RECEIVED_KEY_IN_THE_CLEAR(xAC)
 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. More...
 
#define ST_NO_NETWORK_KEY_RECEIVED(xAD)
 An attempt was made to join a Secured Network, but the device did not receive a Network Key.
 
#define ST_NO_LINK_KEY_RECEIVED(xAE)
 After a device joined a Secured Network, a Link Key was requested (ST_GET_LINK_KEY_WHEN_JOINING) but no response was ever received.
 
#define ST_PRECONFIGURED_KEY_REQUIRED(xAF)
 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.
 

Security Errors

#define ST_KEY_INVALID(xB2)
 The passed key data is not valid. More...
 
#define ST_INVALID_SECURITY_LEVEL(x95)
 The chosen security level (the value of ST_SECURITY_LEVEL) is not supported by the stack.
 
#define ST_APS_ENCRYPTION_ERROR(xA6)
 There was an error in trying to encrypt at the APS Level. More...
 
#define ST_TRUST_CENTER_MASTER_KEY_NOT_SET(xA7)
 There was an attempt to form a network using High security without setting the Trust Center master key first.
 
#define ST_SECURITY_STATE_NOT_SET(xA8)
 There was an attempt to form or join a network with security without calling stSetInitialSecurityState() first.
 
#define ST_KEY_TABLE_INVALID_ADDRESS(xB3)
 There was an attempt to set an entry in the key table using an invalid long address. More...
 
#define ST_SECURITY_CONFIGURATION_INVALID(xB7)
 There was an attempt to set a security configuration that is not valid given the other security settings.
 
#define ST_TOO_SOON_FOR_SWITCH_KEY(xB8)
 There was an attempt to broadcast a key switch too quickly after broadcasting the next network key. More...
 
#define ST_SIGNATURE_VERIFY_FAILURE(xB9)
 The received signature corresponding to the message that was passed to the CBKE Library failed verification, it is not valid.
 
#define ST_KEY_NOT_AUTHORIZED(xBB)
 The message could not be sent because the link key corresponding to the destination is not authorized for use in APS data messages. More...
 

Miscellaneous Network Errors

#define ST_NOT_JOINED(x93)
 The node has not joined a network.
 
#define ST_NETWORK_BUSY(xA1)
 A message cannot be sent because the network is currently overloaded.
 
#define ST_INVALID_ENDPOINT(xA3)
 The application tried to send a message using an endpoint that it has not defined.
 
#define ST_BINDING_HAS_CHANGED(xA4)
 The application tried to use a binding that has been remotely modified and the change has not yet been reported to the application.
 
#define ST_INSUFFICIENT_RANDOM_DATA(xA5)
 An attempt to generate random bytes failed because of insufficient random data from the radio.
 
#define ST_SOURCE_ROUTE_FAILURE(xA9)
 A ZigBee route error command frame was received indicating that a source routed message from this node failed en route.
 
#define ST_MANY_TO_ONE_ROUTE_FAILURE(xAA)
 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. More...
 

Miscellaneous Utility Errors

#define ST_STACK_AND_HARDWARE_MISMATCH(xB0)
 A critical and fatal error indicating that the version of the stack trying to run does not match with the chip it is running on. More...
 
#define ST_INDEX_OUT_OF_RANGE(xB1)
 An index was passed into the function that was larger than the valid range.
 
#define ST_TABLE_FULL(xB4)
 There are no empty entries left in the table.
 
#define ST_TABLE_ENTRY_ERASED(xB6)
 The requested table entry has been erased and contains no valid data.
 
#define ST_LIBRARY_NOT_PRESENT(xB5)
 The requested function cannot be executed because the library that contains the necessary functionality is not present.
 
#define ST_OPERATION_IN_PROGRESS(xBA)
 The stack accepted the command and is currently processing the request. More...
 

Application Errors

These error codes are available for application use.

#define ST_APPLICATION_ERROR_0(xF0)
 This error is reserved for customer application use. More...
 
#define ST_APPLICATION_ERROR_1(xF1)
 
#define ST_APPLICATION_ERROR_2(xF2)
 
#define ST_APPLICATION_ERROR_3(xF3)
 
#define ST_APPLICATION_ERROR_4(xF4)
 
#define ST_APPLICATION_ERROR_5(xF5)
 
#define ST_APPLICATION_ERROR_6(xF6)
 
#define ST_APPLICATION_ERROR_7(xF7)
 
#define ST_APPLICATION_ERROR_8(xF8)
 
#define ST_APPLICATION_ERROR_9(xF9)
 
#define ST_APPLICATION_ERROR_10(xFA)
 
#define ST_APPLICATION_ERROR_11(xFB)
 
#define ST_APPLICATION_ERROR_12(xFC)
 
#define ST_APPLICATION_ERROR_13(xFD)
 
#define ST_APPLICATION_ERROR_14(xFE)
 
#define ST_APPLICATION_ERROR_15(xFF)
 

Detailed Description

Many StZNet API functions return an StStatus 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 enum typedef, which is in turn included by st.h.

Macro Definition Documentation

#define DEFINE_ERROR (   symbol,
  value 
)    ST_ ## symbol = value,

Macro used by error-def.h to define all of the return codes.

Parameters
symbolThe name of the constant being defined. All St returns begin with ST_. For example, ST_ERR_FATAL.
valueThe value of the return code. For example, 0x61.

Definition at line 34 of file error.h.

#define ST_APPLICATION_ERROR_0 (   xF0)

This error is reserved for customer application use.

This will never be returned from any portion of the network stack or HAL.

Definition at line 1242 of file error-def.h.

#define ST_APPLICATION_ERROR_0 (   xF0)

This error is reserved for customer application use.

This will never be returned from any portion of the network stack or HAL.

Definition at line 1281 of file error.h.

#define ST_APS_ENCRYPTION_ERROR (   xA6)

There was an error in trying to encrypt at the APS Level.

This could result from either an inability to determine the long address of the recipient from the short address (no entry in the binding table) or there is no link key entry in the table associated with the destination, or there was a failure to load the correct key into the encryption core.

Definition at line 998 of file error-def.h.

#define ST_APS_ENCRYPTION_ERROR (   xA6)

There was an error in trying to encrypt at the APS Level.

This could result from either an inability to determine the long address of the recipient from the short address (no entry in the binding table) or there is no link key entry in the table associated with the destination, or there was a failure to load the correct key into the encryption core.

Definition at line 1037 of file error.h.

#define ST_CANNOT_JOIN_AS_ROUTER (   x98)

An attempt to join as a router failed due to a Zigbee versus Zigbee Pro incompatibility.

Zigbee devices joining Zigbee Pro networks (or vica versa) must join as End Devices, not Routers.

Definition at line 877 of file error-def.h.

#define ST_CANNOT_JOIN_AS_ROUTER (   x98)

An attempt to join as a router failed due to a Zigbee versus Zigbee Pro incompatibility.

Zigbee devices joining Zigbee Pro networks (or vica versa) must join as End Devices, not Routers.

Definition at line 916 of file error.h.

#define ST_ERR_FLASH_ERASE_FAIL (   x4C)

A fatal error has occured while trying to erase flash, possibly due to write protection.

The 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.

Definition at line 507 of file error-def.h.

#define ST_ERR_FLASH_ERASE_FAIL (   x4C)

A fatal error has occured while trying to erase flash, possibly due to write protection.

The 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.

Definition at line 546 of file error.h.

#define ST_ERR_FLASH_PROG_FAIL (   x4B)

A fatal error has occured while trying to write data to the flash, possibly due to write protection or an invalid address.

The 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.

Definition at line 494 of file error-def.h.

#define ST_ERR_FLASH_PROG_FAIL (   x4B)

A fatal error has occured while trying to write data to the flash, possibly due to write protection or an invalid address.

The 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.

Definition at line 533 of file error.h.

#define ST_ERR_FLASH_VERIFY_FAILED (   x47)

A fatal error has occured while trying to write data to the Flash and the write verification has failed.

The 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.

Definition at line 520 of file error.h.

#define ST_ERR_FLASH_VERIFY_FAILED (   x47)

A fatal error has occured while trying to write data to the Flash and the write verification has failed.

The 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.

Definition at line 481 of file error-def.h.

#define ST_ERR_FLASH_WRITE_INHIBITED (   x46)

A fatal error has occured 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.

Definition at line 468 of file error-def.h.

#define ST_ERR_FLASH_WRITE_INHIBITED (   x46)

A fatal error has occured 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.

Definition at line 507 of file error.h.

#define ST_KEY_INVALID (   xB2)

The passed key data is not valid.

A key of all zeros or all F's are reserved values and cannot be used.

Definition at line 974 of file error-def.h.

#define ST_KEY_INVALID (   xB2)

The passed key data is not valid.

A key of all zeros or all F's are reserved values and cannot be used.

Definition at line 1013 of file error.h.

#define ST_KEY_NOT_AUTHORIZED (   xBB)

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).

Definition at line 1070 of file error-def.h.

#define ST_KEY_NOT_AUTHORIZED (   xBB)

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).

Definition at line 1109 of file error.h.

#define ST_KEY_TABLE_INVALID_ADDRESS (   xB3)

There was an attempt to set an entry in the key table using an invalid long address.

An entry cannot be set using either the local device's or Trust Center's IEEE address. Or an entry already exists in the table with the same IEEE address. An Address of all zeros or all F's are not valid addresses in 802.15.4.

Definition at line 1029 of file error-def.h.

#define ST_KEY_TABLE_INVALID_ADDRESS (   xB3)

There was an attempt to set an entry in the key table using an invalid long address.

An entry cannot be set using either the local device's or Trust Center's IEEE address. Or an entry already exists in the table with the same IEEE address. An Address of all zeros or all F's are not valid addresses in 802.15.4.

Definition at line 1068 of file error.h.

#define ST_MAC_BAD_SCAN_DURATION (   x33)

Scan duration must be 0 to 14 inclusive.

Attempt was made to scan with an incorrect duration value.

Definition at line 334 of file error.h.

#define ST_MAC_BAD_SCAN_DURATION (   x33)

Scan duration must be 0 to 14 inclusive.

Attempt was made to scan with an incorrect duration value.

Definition at line 295 of file error-def.h.

#define ST_MANY_TO_ONE_ROUTE_FAILURE (   xAA)

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.

Definition at line 1152 of file error-def.h.

#define ST_MANY_TO_ONE_ROUTE_FAILURE (   xAA)

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.

Definition at line 1191 of file error.h.

#define ST_MAX_MESSAGE_LIMIT_REACHED (   x72)

The maximum number of in-flight messages (i.e.

ST_APS_UNICAST_MESSAGE_COUNT) has been reached.

Definition at line 670 of file error.h.

#define ST_MAX_MESSAGE_LIMIT_REACHED (   x72)

The maximum number of in-flight messages (i.e.

ST_APS_UNICAST_MESSAGE_COUNT) has been reached.

Definition at line 631 of file error-def.h.

#define ST_NODE_ID_CHANGED (   x99)

The local node ID has changed.

The application can obtain the new node ID by calling stGetNodeId().

Definition at line 887 of file error-def.h.

#define ST_NODE_ID_CHANGED (   x99)

The local node ID has changed.

The application can obtain the new node ID by calling stGetNodeId().

Definition at line 926 of file error.h.

#define ST_OPERATION_IN_PROGRESS (   xBA)

The stack accepted the command and is currently processing the request.

The results will be returned via an appropriate handler.

Definition at line 1223 of file error-def.h.

#define ST_OPERATION_IN_PROGRESS (   xBA)

The stack accepted the command and is currently processing the request.

The results will be returned via an appropriate handler.

Definition at line 1262 of file error.h.

#define ST_PAN_ID_CHANGED (   x9A)

The local PAN ID has changed.

The application can obtain the new PAN ID by calling stGetPanId().

Definition at line 897 of file error-def.h.

#define ST_PAN_ID_CHANGED (   x9A)

The local PAN ID has changed.

The application can obtain the new PAN ID by calling stGetPanId().

Definition at line 936 of file error.h.

#define ST_RECEIVED_KEY_IN_THE_CLEAR (   xAC)

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.

(ST_REQUIRE_ENCRYPTED_KEY).

Definition at line 925 of file error-def.h.

#define ST_RECEIVED_KEY_IN_THE_CLEAR (   xAC)

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.

(ST_REQUIRE_ENCRYPTED_KEY).

Definition at line 964 of file error.h.

#define ST_SIM_EEPROM_ERASE_PAGE_GREEN (   x43)

The Simulated EEPROM is telling the application that there is at least one flash page to be erased.

The GREEN status means the current page has not filled above the ERASE_CRITICAL_THRESHOLD.

The application should call the function halSimEepromErasePage() when it can to erase a page.

Definition at line 371 of file error-def.h.

#define ST_SIM_EEPROM_ERASE_PAGE_GREEN (   x43)

The Simulated EEPROM is telling the application that there is at least one flash page to be erased.

The GREEN status means the current page has not filled above the ERASE_CRITICAL_THRESHOLD.

The application should call the function halSimEepromErasePage() when it can to erase a page.

Definition at line 410 of file error.h.

#define ST_SIM_EEPROM_ERASE_PAGE_RED (   x44)

The Simulated EEPROM is telling the application that there is at least one flash page to be erased.

The RED status means the current page has filled above the ERASE_CRITICAL_THRESHOLD.

Due to the shrinking availablity of write space, there is a danger of data loss. The application must call the function halSimEepromErasePage() as soon as possible to erase a page.

Definition at line 426 of file error.h.

#define ST_SIM_EEPROM_ERASE_PAGE_RED (   x44)

The Simulated EEPROM is telling the application that there is at least one flash page to be erased.

The RED status means the current page has filled above the ERASE_CRITICAL_THRESHOLD.

Due to the shrinking availablity of write space, there is a danger of data loss. The application must call the function halSimEepromErasePage() as soon as possible to erase a page.

Definition at line 387 of file error-def.h.

#define ST_SIM_EEPROM_FULL (   x45)

The Simulated EEPROM has run out of room to write any new data and the data trying to be set has been lost.

This error code is the result of ignoring the ST_SIM_EEPROM_ERASE_PAGE_RED error code.

The application must call the function halSimEepromErasePage() to make room for any further calls to set a token.

Definition at line 402 of file error-def.h.

#define ST_SIM_EEPROM_FULL (   x45)

The Simulated EEPROM has run out of room to write any new data and the data trying to be set has been lost.

This error code is the result of ignoring the ST_SIM_EEPROM_ERASE_PAGE_RED error code.

The application must call the function halSimEepromErasePage() to make room for any further calls to set a token.

Definition at line 441 of file error.h.

#define ST_SIM_EEPROM_INIT_1_FAILED (   x48)

Attempt 1 to initialize the Simulated EEPROM has failed.

This failure means the information already stored in Flash (or a lack thereof), is fatally incompatible with the token information compiled into the code image being run.

Definition at line 459 of file error.h.

#define ST_SIM_EEPROM_INIT_1_FAILED (   x48)

Attempt 1 to initialize the Simulated EEPROM has failed.

This failure means the information already stored in Flash (or a lack thereof), is fatally incompatible with the token information compiled into the code image being run.

Definition at line 420 of file error-def.h.

#define ST_SIM_EEPROM_INIT_2_FAILED (   x49)

Attempt 2 to initialize the Simulated EEPROM has failed.

This failure means Attempt 1 failed, and the token system failed to properly reload default tokens and reset the Simulated EEPROM.

Definition at line 433 of file error-def.h.

#define ST_SIM_EEPROM_INIT_2_FAILED (   x49)

Attempt 2 to initialize the Simulated EEPROM has failed.

This failure means Attempt 1 failed, and the token system failed to properly reload default tokens and reset the Simulated EEPROM.

Definition at line 472 of file error.h.

#define ST_SIM_EEPROM_INIT_3_FAILED (   x4A)

Attempt 3 to initialize the Simulated EEPROM has failed.

This failure means one or both of the tokens TOKEN_MFG_NVDATA_VERSION or TOKEN_STACK_NVDATA_VERSION were incorrect and the token system failed to properly reload default tokens and reset the Simulated EEPROM.

Definition at line 486 of file error.h.

#define ST_SIM_EEPROM_INIT_3_FAILED (   x4A)

Attempt 3 to initialize the Simulated EEPROM has failed.

This failure means one or both of the tokens TOKEN_MFG_NVDATA_VERSION or TOKEN_STACK_NVDATA_VERSION were incorrect and the token system failed to properly reload default tokens and reset the Simulated EEPROM.

Definition at line 447 of file error-def.h.

#define ST_STACK_AND_HARDWARE_MISMATCH (   xB0)

A critical and fatal error indicating that the version of the stack trying to run does not match with the chip it is running on.

The software (stack) on the chip must be replaced with software that is compatible with the chip.

Definition at line 1212 of file error.h.

#define ST_STACK_AND_HARDWARE_MISMATCH (   xB0)

A critical and fatal error indicating that the version of the stack trying to run does not match with the chip it is running on.

The software (stack) on the chip must be replaced with software that is compatible with the chip.

Definition at line 1173 of file error-def.h.

#define ST_TOO_SOON_FOR_SWITCH_KEY (   xB8)

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.

Definition at line 1088 of file error.h.

#define ST_TOO_SOON_FOR_SWITCH_KEY (   xB8)

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.

Definition at line 1049 of file error-def.h.

Enumeration Type Documentation

anonymous enum
Enumerator
ST_ERROR_CODE_COUNT 

Gets defined as a count of all the possible return codes in the StZNet stack API.

Definition at line 38 of file error.h.