zigbee-herdsman
Version:
An open source ZigBee gateway solution with node.js.
1,033 lines (975 loc) • 97.6 kB
text/typescript
/** Status Codes contains error and status code definitions used by Simplicity SDK software components and stacks. */
export enum SLStatus {
// -----------------------------------------------------------------------------
// Generic Errors
/** No error. */
OK = 0x0000,
/** Generic error. */
FAIL = 0x0001,
// -----------------------------------------------------------------------------
// State Errors
/** Generic invalid state error. */
INVALID_STATE = 0x0002,
/** Module is not ready for requested operation. */
NOT_READY = 0x0003,
/** Module is busy and cannot carry out requested operation. */
BUSY = 0x0004,
/** Operation is in progress and not yet complete (pass or fail). */
IN_PROGRESS = 0x0005,
/** Operation aborted. */
ABORT = 0x0006,
/** Operation timed out. */
TIMEOUT = 0x0007,
/** Operation not allowed per permissions. */
PERMISSION = 0x0008,
/** Non-blocking operation would block. */
WOULD_BLOCK = 0x0009,
/** Operation/module is Idle, cannot carry requested operation. */
IDLE = 0x000a,
/** Operation cannot be done while construct is waiting. */
IS_WAITING = 0x000b,
/** No task/construct waiting/pending for that action/event. */
NONE_WAITING = 0x000c,
/** Operation cannot be done while construct is suspended. */
SUSPENDED = 0x000d,
/** Feature not available due to software configuration. */
NOT_AVAILABLE = 0x000e,
/** Feature not supported. */
NOT_SUPPORTED = 0x000f,
/** Initialization failed. */
INITIALIZATION = 0x0010,
/** Module has not been initialized. */
NOT_INITIALIZED = 0x0011,
/** Module has already been initialized. */
ALREADY_INITIALIZED = 0x0012,
/** Object/construct has been deleted. */
DELETED = 0x0013,
/** Illegal call from ISR. */
ISR = 0x0014,
/** Illegal call because network is up. */
NETWORK_UP = 0x0015,
/** Illegal call because network is down. */
NETWORK_DOWN = 0x0016,
/** Failure due to not being joined in a network. */
NOT_JOINED = 0x0017,
/** Invalid operation as there are no beacons. */
NO_BEACONS = 0x0018,
// -----------------------------------------------------------------------------
// Allocation/ownership Errors
/** Generic allocation error. */
ALLOCATION_FAILED = 0x0019,
/** No more resource available to perform the operation. */
NO_MORE_RESOURCE = 0x001a,
/** Item/list/queue is empty. */
EMPTY = 0x001b,
/** Item/list/queue is full. */
FULL = 0x001c,
/** Item would overflow. */
WOULD_OVERFLOW = 0x001d,
/** Item/list/queue has been overflowed. */
HAS_OVERFLOWED = 0x001e,
/** Generic ownership error. */
OWNERSHIP = 0x001f,
/** Already/still owning resource. */
IS_OWNER = 0x0020,
// -----------------------------------------------------------------------------
// Invalid Parameters Errors
/** Generic invalid argument or consequence of invalid argument. */
INVALID_PARAMETER = 0x0021,
/** Invalid null pointer received as argument. */
NULL_POINTER = 0x0022,
/** Invalid configuration provided. */
INVALID_CONFIGURATION = 0x0023,
/** Invalid mode. */
INVALID_MODE = 0x0024,
/** Invalid handle. */
INVALID_HANDLE = 0x0025,
/** Invalid type for operation. */
INVALID_TYPE = 0x0026,
/** Invalid index. */
INVALID_INDEX = 0x0027,
/** Invalid range. */
INVALID_RANGE = 0x0028,
/** Invalid key. */
INVALID_KEY = 0x0029,
/** Invalid credentials. */
INVALID_CREDENTIALS = 0x002a,
/** Invalid count. */
INVALID_COUNT = 0x002b,
/** Invalid signature / verification failed. */
INVALID_SIGNATURE = 0x002c,
/** Item could not be found. */
NOT_FOUND = 0x002d,
/** Item already exists. */
ALREADY_EXISTS = 0x002e,
// -----------------------------------------------------------------------------
// IO/Communication Errors
/** Generic I/O failure. */
IO = 0x002f,
/** I/O failure due to timeout. */
IO_TIMEOUT = 0x0030,
/** Generic transmission error. */
TRANSMIT = 0x0031,
/** Transmit underflowed. */
TRANSMIT_UNDERFLOW = 0x0032,
/** Transmit is incomplete. */
TRANSMIT_INCOMPLETE = 0x0033,
/** Transmit is busy. */
TRANSMIT_BUSY = 0x0034,
/** Generic reception error. */
RECEIVE = 0x0035,
/** Failed to read on/via given object. */
OBJECT_READ = 0x0036,
/** Failed to write on/via given object. */
OBJECT_WRITE = 0x0037,
/** Message is too long. */
MESSAGE_TOO_LONG = 0x0038,
// -----------------------------------------------------------------------------
// EEPROM/Flash Errors
/** EEPROM MFG version mismatch. */
EEPROM_MFG_VERSION_MISMATCH = 0x0039,
/** EEPROM Stack version mismatch. */
EEPROM_STACK_VERSION_MISMATCH = 0x003a,
/** Flash write is inhibited. */
FLASH_WRITE_INHIBITED = 0x003b,
/** Flash verification failed. */
FLASH_VERIFY_FAILED = 0x003c,
/** Flash programming failed. */
FLASH_PROGRAM_FAILED = 0x003d,
/** Flash erase failed. */
FLASH_ERASE_FAILED = 0x003e,
// -----------------------------------------------------------------------------
// MAC Errors
/** MAC no data. */
MAC_NO_DATA = 0x003f,
/** MAC no ACK received. */
MAC_NO_ACK_RECEIVED = 0x0040,
/** MAC indirect timeout. */
MAC_INDIRECT_TIMEOUT = 0x0041,
/** MAC unknown header type. */
MAC_UNKNOWN_HEADER_TYPE = 0x0042,
/** MAC ACK unknown header type. */
MAC_ACK_HEADER_TYPE = 0x0043,
/** MAC command transmit failure. */
MAC_COMMAND_TRANSMIT_FAILURE = 0x0044,
// -----------------------------------------------------------------------------
// CLI_STORAGE Errors
/** Error in open NVM */
CLI_STORAGE_NVM_OPEN_ERROR = 0x0045,
// -----------------------------------------------------------------------------
// Security status codes
/** Image checksum is not valid. */
SECURITY_IMAGE_CHECKSUM_ERROR = 0x0046,
/** Decryption failed */
SECURITY_DECRYPT_ERROR = 0x0047,
// -----------------------------------------------------------------------------
// Command status codes
/** Command was not recognized */
COMMAND_IS_INVALID = 0x0048,
/** Command or parameter maximum length exceeded */
COMMAND_TOO_LONG = 0x0049,
/** Data received does not form a complete command */
COMMAND_INCOMPLETE = 0x004a,
// -----------------------------------------------------------------------------
// Misc Errors
/** Bus error, e.g. invalid DMA address */
BUS_ERROR = 0x004b,
// -----------------------------------------------------------------------------
// Unified MAC Errors
/** CCA failure. */
CCA_FAILURE = 0x004c,
// -----------------------------------------------------------------------------
// Scan errors
/** MAC scanning. */
MAC_SCANNING = 0x004d,
/** MAC incorrect scan type. */
MAC_INCORRECT_SCAN_TYPE = 0x004e,
/** Invalid channel mask. */
INVALID_CHANNEL_MASK = 0x004f,
/** Bad scan duration. */
BAD_SCAN_DURATION = 0x0050,
// -----------------------------------------------------------------------------
// MAC transmit related status
/** The MAC transmit queue is full */
MAC_TRANSMIT_QUEUE_FULL = 0x0053,
/**
* 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
*/
TRANSMIT_SCHEDULER_FAIL = 0x0054,
/** An unsupported channel setting was specified */
TRANSMIT_INVALID_CHANNEL = 0x0055,
/** An unsupported power setting was specified */
TRANSMIT_INVALID_POWER = 0x0056,
/** The expected ACK was received after the last transmission */
TRANSMIT_ACK_RECEIVED = 0x0057,
/**
* 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.
*/
TRANSMIT_BLOCKED = 0x0058,
// -----------------------------------------------------------------------------
// NVM3 specific errors
/** The initialization was aborted as the NVM3 instance is not aligned properly in memory */
NVM3_ALIGNMENT_INVALID = 0x0059,
/** The initialization was aborted as the size of the NVM3 instance is too small */
NVM3_SIZE_TOO_SMALL = 0x005a,
/** The initialization was aborted as the NVM3 page size is not supported */
NVM3_PAGE_SIZE_NOT_SUPPORTED = 0x005b,
/** The application that there was an error initializing some of the tokens */
NVM3_TOKEN_INIT_FAILED = 0x005c,
/** The initialization was aborted as the NVM3 instance was already opened with other parameters */
NVM3_OPENED_WITH_OTHER_PARAMETERS = 0x005d,
// -----------------------------------------------------------------------------
// Bluetooth status codes
/** Bonding procedure can't be started because device has no space left for bond. */
BT_OUT_OF_BONDS = 0x0402,
/** Unspecified error */
BT_UNSPECIFIED = 0x0403,
/** Hardware failure */
BT_HARDWARE = 0x0404,
/** The bonding does not exist. */
BT_NO_BONDING = 0x0406,
/** Error using crypto functions */
BT_CRYPTO = 0x0407,
/** Data was corrupted. */
BT_DATA_CORRUPTED = 0x0408,
/** Invalid periodic advertising sync handle */
BT_INVALID_SYNC_HANDLE = 0x040a,
/** Bluetooth cannot be used on this hardware */
BT_INVALID_MODULE_ACTION = 0x040b,
/** Error received from radio */
BT_RADIO = 0x040c,
/** Returned when remote disconnects the connection-oriented channel by sending disconnection request. */
BT_L2CAP_REMOTE_DISCONNECTED = 0x040d,
/** Returned when local host disconnect the connection-oriented channel by sending disconnection request. */
BT_L2CAP_LOCAL_DISCONNECTED = 0x040e,
/** Returned when local host did not find a connection-oriented channel with given destination CID. */
BT_L2CAP_CID_NOT_EXIST = 0x040f,
/** Returned when connection-oriented channel disconnected due to LE connection is dropped. */
BT_L2CAP_LE_DISCONNECTED = 0x0410,
/** Returned when connection-oriented channel disconnected due to remote end send data even without credit. */
BT_L2CAP_FLOW_CONTROL_VIOLATED = 0x0412,
/** Returned when connection-oriented channel disconnected due to remote end send flow control credits exceed 65535. */
BT_L2CAP_FLOW_CONTROL_CREDIT_OVERFLOWED = 0x0413,
/** Returned when connection-oriented channel has run out of flow control credit and local application still trying to send data. */
BT_L2CAP_NO_FLOW_CONTROL_CREDIT = 0x0414,
/** Returned when connection-oriented channel has not received connection response message within maximum timeout. */
BT_L2CAP_CONNECTION_REQUEST_TIMEOUT = 0x0415,
/** Returned when local host received a connection-oriented channel connection response with an invalid destination CID. */
BT_L2CAP_INVALID_CID = 0x0416,
/** Returned when local host application tries to send a command which is not suitable for L2CAP channel's current state. */
BT_L2CAP_WRONG_STATE = 0x0417,
/** Flash reserved for PS store is full */
BT_PS_STORE_FULL = 0x041b,
/** PS key not found */
BT_PS_KEY_NOT_FOUND = 0x041c,
/** Mismatched or insufficient security level */
BT_APPLICATION_MISMATCHED_OR_INSUFFICIENT_SECURITY = 0x041d,
/** Encryption/decryption operation failed. */
BT_APPLICATION_ENCRYPTION_DECRYPTION_ERROR = 0x041e,
// -----------------------------------------------------------------------------
// Bluetooth controller status codes
/** Connection does not exist, or connection open request was cancelled. */
BT_CTRL_UNKNOWN_CONNECTION_IDENTIFIER = 0x1002,
/**
* Pairing or authentication failed due to incorrect results in the pairing or authentication procedure.
* This could be due to an incorrect PIN or Link Key
*/
BT_CTRL_AUTHENTICATION_FAILURE = 0x1005,
/** Pairing failed because of missing PIN, or authentication failed because of missing Key */
BT_CTRL_PIN_OR_KEY_MISSING = 0x1006,
/** Controller is out of memory. */
BT_CTRL_MEMORY_CAPACITY_EXCEEDED = 0x1007,
/** Link supervision timeout has expired. */
BT_CTRL_CONNECTION_TIMEOUT = 0x1008,
/** Controller is at limit of connections it can support. */
BT_CTRL_CONNECTION_LIMIT_EXCEEDED = 0x1009,
/**
* The Synchronous Connection Limit to a Device Exceeded error code indicates that the Controller has reached
* the limit to the number of synchronous connections that can be achieved to a device.
*/
BT_CTRL_SYNCHRONOUS_CONNECTION_LIMIT_EXCEEDED = 0x100a,
/**
* The ACL Connection Already Exists error code indicates that an attempt to create a new ACL Connection
* to a device when there is already a connection to this device.
*/
BT_CTRL_ACL_CONNECTION_ALREADY_EXISTS = 0x100b,
/** Command requested cannot be executed because the Controller is in a state where it cannot process this command at this time. */
BT_CTRL_COMMAND_DISALLOWED = 0x100c,
/** The Connection Rejected Due To Limited Resources error code indicates that an incoming connection was rejected due to limited resources. */
BT_CTRL_CONNECTION_REJECTED_DUE_TO_LIMITED_RESOURCES = 0x100d,
/**
* The Connection Rejected Due To Security Reasons error code indicates that a connection was rejected due
* to security requirements not being fulfilled, like authentication or pairing.
*/
BT_CTRL_CONNECTION_REJECTED_DUE_TO_SECURITY_REASONS = 0x100e,
/**
* The Connection was rejected because this device does not accept the BD_ADDR.
* This may be because the device will only accept connections from specific BD_ADDRs.
*/
BT_CTRL_CONNECTION_REJECTED_DUE_TO_UNACCEPTABLE_BD_ADDR = 0x100f,
/** The Connection Accept Timeout has been exceeded for this connection attempt. */
BT_CTRL_CONNECTION_ACCEPT_TIMEOUT_EXCEEDED = 0x1010,
/** A feature or parameter value in the HCI command is not supported. */
BT_CTRL_UNSUPPORTED_FEATURE_OR_PARAMETER_VALUE = 0x1011,
/** Command contained invalid parameters. */
BT_CTRL_INVALID_COMMAND_PARAMETERS = 0x1012,
/** User on the remote device terminated the connection. */
BT_CTRL_REMOTE_USER_TERMINATED = 0x1013,
/** The remote device terminated the connection because of low resources */
BT_CTRL_REMOTE_DEVICE_TERMINATED_CONNECTION_DUE_TO_LOW_RESOURCES = 0x1014,
/** Remote Device Terminated Connection due to Power Off */
BT_CTRL_REMOTE_POWERING_OFF = 0x1015,
/** Local device terminated the connection. */
BT_CTRL_CONNECTION_TERMINATED_BY_LOCAL_HOST = 0x1016,
/**
* The Controller is disallowing an authentication or pairing procedure because too little time has elapsed
* since the last authentication or pairing attempt failed.
*/
BT_CTRL_REPEATED_ATTEMPTS = 0x1017,
/**
* The device does not allow pairing. This can be for example, when a device only allows pairing during
* a certain time window after some user input allows pairing
*/
BT_CTRL_PAIRING_NOT_ALLOWED = 0x1018,
/** The remote device does not support the feature associated with the issued command. */
BT_CTRL_UNSUPPORTED_REMOTE_FEATURE = 0x101a,
/** No other error code specified is appropriate to use. */
BT_CTRL_UNSPECIFIED_ERROR = 0x101f,
/** Connection terminated due to link-layer procedure timeout. */
BT_CTRL_LL_RESPONSE_TIMEOUT = 0x1022,
/** LL procedure has collided with the same transaction or procedure that is already in progress. */
BT_CTRL_LL_PROCEDURE_COLLISION = 0x1023,
/** The requested encryption mode is not acceptable at this time. */
BT_CTRL_ENCRYPTION_MODE_NOT_ACCEPTABLE = 0x1025,
/** Link key cannot be changed because a fixed unit key is being used. */
BT_CTRL_LINK_KEY_CANNOT_BE_CHANGED = 0x1026,
/** LMP PDU or LL PDU that includes an instant cannot be performed because the instant when this would have occurred has passed. */
BT_CTRL_INSTANT_PASSED = 0x1028,
/** It was not possible to pair as a unit key was requested and it is not supported. */
BT_CTRL_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED = 0x1029,
/** LMP transaction was started that collides with an ongoing transaction. */
BT_CTRL_DIFFERENT_TRANSACTION_COLLISION = 0x102a,
/** The Controller cannot perform channel assessment because it is not supported. */
BT_CTRL_CHANNEL_ASSESSMENT_NOT_SUPPORTED = 0x102e,
/** The HCI command or LMP PDU sent is only possible on an encrypted link. */
BT_CTRL_INSUFFICIENT_SECURITY = 0x102f,
/** A parameter value requested is outside the mandatory range of parameters for the given HCI command or LMP PDU. */
BT_CTRL_PARAMETER_OUT_OF_MANDATORY_RANGE = 0x1030,
/**
* The IO capabilities request or response was rejected because the sending Host does not support
* Secure Simple Pairing even though the receiving Link Manager does.
*/
BT_CTRL_SIMPLE_PAIRING_NOT_SUPPORTED_BY_HOST = 0x1037,
/**
* The Host is busy with another pairing operation and unable to support the requested pairing.
* The receiving device should retry pairing again later.
*/
BT_CTRL_HOST_BUSY_PAIRING = 0x1038,
/** The Controller could not calculate an appropriate value for the Channel selection operation. */
BT_CTRL_CONNECTION_REJECTED_DUE_TO_NO_SUITABLE_CHANNEL_FOUND = 0x1039,
/** Operation was rejected because the controller is busy and unable to process the request. */
BT_CTRL_CONTROLLER_BUSY = 0x103a,
/** Remote device terminated the connection because of an unacceptable connection interval. */
BT_CTRL_UNACCEPTABLE_CONNECTION_INTERVAL = 0x103b,
/** Advertising for a fixed duration completed or, for directed advertising, that advertising completed without a connection being created. */
BT_CTRL_ADVERTISING_TIMEOUT = 0x103c,
/** Connection was terminated because the Message Integrity Check (MIC) failed on a received packet. */
BT_CTRL_CONNECTION_TERMINATED_DUE_TO_MIC_FAILURE = 0x103d,
/** LL initiated a connection but the connection has failed to be established. Controller did not receive any packets from remote end. */
BT_CTRL_CONNECTION_FAILED_TO_BE_ESTABLISHED = 0x103e,
/** The MAC of the 802.11 AMP was requested to connect to a peer, but the connection failed. */
BT_CTRL_MAC_CONNECTION_FAILED = 0x103f,
/**
* The master, at this time, is unable to make a coarse adjustment to the piconet clock, using the supplied parameters.
* Instead the master will attempt to move the clock using clock dragging.
*/
BT_CTRL_COARSE_CLOCK_ADJUSTMENT_REJECTED_BUT_WILL_TRY_TO_ADJUST_USING_CLOCK_DRAGGING = 0x1040,
/** A command was sent from the Host that should identify an Advertising or Sync handle, but the Advertising or Sync handle does not exist. */
BT_CTRL_UNKNOWN_ADVERTISING_IDENTIFIER = 0x1042,
/** Number of operations requested has been reached and has indicated the completion of the activity (e.g., advertising or scanning). */
BT_CTRL_LIMIT_REACHED = 0x1043,
/** A request to the Controller issued by the Host and still pending was successfully canceled. */
BT_CTRL_OPERATION_CANCELLED_BY_HOST = 0x1044,
/** An attempt was made to send or receive a packet that exceeds the maximum allowed packet l */
BT_CTRL_PACKET_TOO_LONG = 0x1045,
// -----------------------------------------------------------------------------
// Bluetooth attribute status codes
/** The attribute handle given was not valid on this server */
BT_ATT_INVALID_HANDLE = 0x1101,
/** The attribute cannot be read */
BT_ATT_READ_NOT_PERMITTED = 0x1102,
/** The attribute cannot be written */
BT_ATT_WRITE_NOT_PERMITTED = 0x1103,
/** The attribute PDU was invalid */
BT_ATT_INVALID_PDU = 0x1104,
/** The attribute requires authentication before it can be read or written. */
BT_ATT_INSUFFICIENT_AUTHENTICATION = 0x1105,
/** Attribute Server does not support the request received from the client. */
BT_ATT_REQUEST_NOT_SUPPORTED = 0x1106,
/** Offset specified was past the end of the attribute */
BT_ATT_INVALID_OFFSET = 0x1107,
/** The attribute requires authorization before it can be read or written. */
BT_ATT_INSUFFICIENT_AUTHORIZATION = 0x1108,
/** Too many prepare writes have been queued */
BT_ATT_PREPARE_QUEUE_FULL = 0x1109,
/** No attribute found within the given attribute handle range. */
BT_ATT_ATT_NOT_FOUND = 0x110a,
/** The attribute cannot be read or written using the Read Blob Request */
BT_ATT_ATT_NOT_LONG = 0x110b,
/** The Encryption Key Size used for encrypting this link is insufficient. */
BT_ATT_INSUFFICIENT_ENC_KEY_SIZE = 0x110c,
/** The attribute value length is invalid for the operation */
BT_ATT_INVALID_ATT_LENGTH = 0x110d,
/** The attribute request that was requested has encountered an error that was unlikely, and therefore could not be completed as requested. */
BT_ATT_UNLIKELY_ERROR = 0x110e,
/** The attribute requires encryption before it can be read or written. */
BT_ATT_INSUFFICIENT_ENCRYPTION = 0x110f,
/** The attribute type is not a supported grouping attribute as defined by a higher layer specification. */
BT_ATT_UNSUPPORTED_GROUP_TYPE = 0x1110,
/** Insufficient Resources to complete the request */
BT_ATT_INSUFFICIENT_RESOURCES = 0x1111,
/** The server requests the client to rediscover the database. */
BT_ATT_OUT_OF_SYNC = 0x1112,
/** The attribute parameter value was not allowed. */
BT_ATT_VALUE_NOT_ALLOWED = 0x1113,
/** When this is returned in a BGAPI response, the application tried to read or write the value of a user attribute from the GATT database. */
BT_ATT_APPLICATION = 0x1180,
/** The requested write operation cannot be fulfilled for reasons other than permissions. */
BT_ATT_WRITE_REQUEST_REJECTED = 0x11fc,
/** The Client Characteristic Configuration descriptor is not configured according to the requirements of the profile or service. */
BT_ATT_CLIENT_CHARACTERISTIC_CONFIGURATION_DESCRIPTOR_IMPROPERLY_CONFIGURED = 0x11fd,
/** The profile or service request cannot be serviced because an operation that has been previously triggered is still in progress. */
BT_ATT_PROCEDURE_ALREADY_IN_PROGRESS = 0x11fe,
/** The attribute value is out of range as defined by a profile or service specification. */
BT_ATT_OUT_OF_RANGE = 0x11ff,
// -----------------------------------------------------------------------------
// Bluetooth Security Manager Protocol status codes
/** The user input of passkey failed, for example, the user cancelled the operation */
BT_SMP_PASSKEY_ENTRY_FAILED = 0x1201,
/** Out of Band data is not available for authentication */
BT_SMP_OOB_NOT_AVAILABLE = 0x1202,
/** The pairing procedure cannot be performed as authentication requirements cannot be met due to IO capabilities of one or both devices */
BT_SMP_AUTHENTICATION_REQUIREMENTS = 0x1203,
/** The confirm value does not match the calculated compare value */
BT_SMP_CONFIRM_VALUE_FAILED = 0x1204,
/** Pairing is not supported by the device */
BT_SMP_PAIRING_NOT_SUPPORTED = 0x1205,
/** The resultant encryption key size is insufficient for the security requirements of this device */
BT_SMP_ENCRYPTION_KEY_SIZE = 0x1206,
/** The SMP command received is not supported on this device */
BT_SMP_COMMAND_NOT_SUPPORTED = 0x1207,
/** Pairing failed due to an unspecified reason */
BT_SMP_UNSPECIFIED_REASON = 0x1208,
/** Pairing or authentication procedure is disallowed because too little time has elapsed since last pairing request or security request */
BT_SMP_REPEATED_ATTEMPTS = 0x1209,
/** The Invalid Parameters error code indicates: the command length is invalid or a parameter is outside of the specified range. */
BT_SMP_INVALID_PARAMETERS = 0x120a,
/** Indicates to the remote device that the DHKey Check value received doesn't match the one calculated by the local device. */
BT_SMP_DHKEY_CHECK_FAILED = 0x120b,
/** Indicates that the confirm values in the numeric comparison protocol do not match. */
BT_SMP_NUMERIC_COMPARISON_FAILED = 0x120c,
/** Indicates that the pairing over the LE transport failed due to a Pairing Request sent over the BR/EDR transport in process. */
BT_SMP_BREDR_PAIRING_IN_PROGRESS = 0x120d,
/** Indicates that the BR/EDR Link Key generated on the BR/EDR transport cannot be used to derive and distribute keys for the LE transport. */
BT_SMP_CROSS_TRANSPORT_KEY_DERIVATION_GENERATION_NOT_ALLOWED = 0x120e,
/** Indicates that the device chose not to accept a distributed key. */
BT_SMP_KEY_REJECTED = 0x120f,
// -----------------------------------------------------------------------------
// Bluetooth Mesh status codes
/** Returned when trying to add a key or some other unique resource with an ID which already exists */
BT_MESH_ALREADY_EXISTS = 0x0501,
/** Returned when trying to manipulate a key or some other resource with an ID which does not exist */
BT_MESH_DOES_NOT_EXIST = 0x0502,
/**
* Returned when an operation cannot be executed because a pre-configured limit for keys, key bindings,
* elements, models, virtual addresses, provisioned devices, or provisioning sessions is reached
*/
BT_MESH_LIMIT_REACHED = 0x0503,
/** Returned when trying to use a reserved address or add a "pre-provisioned" device using an address already used by some other device */
BT_MESH_INVALID_ADDRESS = 0x0504,
/** In a BGAPI response, the user supplied malformed data; in a BGAPI event, the remote end responded with malformed or unrecognized data */
BT_MESH_MALFORMED_DATA = 0x0505,
/** An attempt was made to initialize a subsystem that was already initialized. */
BT_MESH_ALREADY_INITIALIZED = 0x0506,
/** An attempt was made to use a subsystem that wasn't initialized yet. Call the subsystem's init function first. */
BT_MESH_NOT_INITIALIZED = 0x0507,
/** Returned when trying to establish a friendship as a Low Power Node, but no acceptable friend offer message was received. */
BT_MESH_NO_FRIEND_OFFER = 0x0508,
/** Provisioning link was unexpectedly closed before provisioning was complete. */
BT_MESH_PROV_LINK_CLOSED = 0x0509,
/**An unrecognized provisioning PDU was received. */
BT_MESH_PROV_INVALID_PDU = 0x050a,
/**A provisioning PDU with wrong length or containing field values that are out of bounds was received. */
BT_MESH_PROV_INVALID_PDU_FORMAT = 0x050b,
/**An unexpected (out of sequence) provisioning PDU was received. */
BT_MESH_PROV_UNEXPECTED_PDU = 0x050c,
/**The computed confirmation value did not match the expected value. */
BT_MESH_PROV_CONFIRMATION_FAILED = 0x050d,
/**Provisioning could not be continued due to insufficient resources. */
BT_MESH_PROV_OUT_OF_RESOURCES = 0x050e,
/**The provisioning data block could not be decrypted. */
BT_MESH_PROV_DECRYPTION_FAILED = 0x050f,
/**An unexpected error happened during provisioning. */
BT_MESH_PROV_UNEXPECTED_ERROR = 0x0510,
/**Device could not assign unicast addresses to all of its elements. */
BT_MESH_PROV_CANNOT_ASSIGN_ADDR = 0x0511,
/**Returned when trying to reuse an address of a previously deleted device before an IV Index Update has been executed. */
BT_MESH_ADDRESS_TEMPORARILY_UNAVAILABLE = 0x0512,
/**Returned when trying to assign an address that is used by one of the devices in the Device Database, or by the Provisioner itself. */
BT_MESH_ADDRESS_ALREADY_USED = 0x0513,
/**Application key or publish address are not set */
BT_MESH_PUBLISH_NOT_CONFIGURED = 0x0514,
/**Application key is not bound to a model */
BT_MESH_APP_KEY_NOT_BOUND = 0x0515,
// -----------------------------------------------------------------------------
// Bluetooth Mesh foundation status codes
/** Returned when address in request was not valid */
BT_MESH_FOUNDATION_INVALID_ADDRESS = 0x1301,
/** Returned when model identified is not found for a given element */
BT_MESH_FOUNDATION_INVALID_MODEL = 0x1302,
/** Returned when the key identified by AppKeyIndex is not stored in the node */
BT_MESH_FOUNDATION_INVALID_APP_KEY = 0x1303,
/** Returned when the key identified by NetKeyIndex is not stored in the node */
BT_MESH_FOUNDATION_INVALID_NET_KEY = 0x1304,
/** Returned when The node cannot serve the request due to insufficient resources */
BT_MESH_FOUNDATION_INSUFFICIENT_RESOURCES = 0x1305,
/** Returned when the key identified is already stored in the node and the new NetKey value is different */
BT_MESH_FOUNDATION_KEY_INDEX_EXISTS = 0x1306,
/** Returned when the model does not support the publish mechanism */
BT_MESH_FOUNDATION_INVALID_PUBLISH_PARAMS = 0x1307,
/** Returned when the model does not support the subscribe mechanism */
BT_MESH_FOUNDATION_NOT_SUBSCRIBE_MODEL = 0x1308,
/** Returned when storing of the requested parameters failed */
BT_MESH_FOUNDATION_STORAGE_FAILURE = 0x1309,
/**Returned when requested setting is not supported */
BT_MESH_FOUNDATION_NOT_SUPPORTED = 0x130a,
/**Returned when the requested update operation cannot be performed due to general constraints */
BT_MESH_FOUNDATION_CANNOT_UPDATE = 0x130b,
/**Returned when the requested delete operation cannot be performed due to general constraints */
BT_MESH_FOUNDATION_CANNOT_REMOVE = 0x130c,
/**Returned when the requested bind operation cannot be performed due to general constraints */
BT_MESH_FOUNDATION_CANNOT_BIND = 0x130d,
/**Returned when The node cannot start advertising with Node Identity or Proxy since the maximum number of parallel advertising is reached */
BT_MESH_FOUNDATION_TEMPORARILY_UNABLE = 0x130e,
/**Returned when the requested state cannot be set */
BT_MESH_FOUNDATION_CANNOT_SET = 0x130f,
/**Returned when an unspecified error took place */
BT_MESH_FOUNDATION_UNSPECIFIED = 0x1310,
/**Returned when the NetKeyIndex and AppKeyIndex combination is not valid for a Config AppKey Update */
BT_MESH_FOUNDATION_INVALID_BINDING = 0x1311,
// -----------------------------------------------------------------------------
// Wi-Fi Errors
/** Invalid firmware keyset */
WIFI_INVALID_KEY = 0x0b01,
/** The firmware download took too long */
WIFI_FIRMWARE_DOWNLOAD_TIMEOUT = 0x0b02,
/** Unknown request ID or wrong interface ID used */
WIFI_UNSUPPORTED_MESSAGE_ID = 0x0b03,
/** The request is successful but some parameters have been ignored */
WIFI_WARNING = 0x0b04,
/** No Packets waiting to be received */
WIFI_NO_PACKET_TO_RECEIVE = 0x0b05,
/** The sleep mode is granted */
WIFI_SLEEP_GRANTED = 0x0b08,
/** The WFx does not go back to sleep */
WIFI_SLEEP_NOT_GRANTED = 0x0b09,
/** The SecureLink MAC key was not found */
WIFI_SECURE_LINK_MAC_KEY_ERROR = 0x0b10,
/** The SecureLink MAC key is already installed in OTP */
WIFI_SECURE_LINK_MAC_KEY_ALREADY_BURNED = 0x0b11,
/** The SecureLink MAC key cannot be installed in RAM */
WIFI_SECURE_LINK_RAM_MODE_NOT_ALLOWED = 0x0b12,
/** The SecureLink MAC key installation failed */
WIFI_SECURE_LINK_FAILED_UNKNOWN_MODE = 0x0b13,
/** SecureLink key (re)negotiation failed */
WIFI_SECURE_LINK_EXCHANGE_FAILED = 0x0b14,
/** The device is in an inappropriate state to perform the request */
WIFI_WRONG_STATE = 0x0b18,
/** The request failed due to regulatory limitations */
WIFI_CHANNEL_NOT_ALLOWED = 0x0b19,
/** The connection request failed because no suitable AP was found */
WIFI_NO_MATCHING_AP = 0x0b1a,
/** The connection request was aborted by host */
WIFI_CONNECTION_ABORTED = 0x0b1b,
/** The connection request failed because of a timeout */
WIFI_CONNECTION_TIMEOUT = 0x0b1c,
/** The connection request failed because the AP rejected the device */
WIFI_CONNECTION_REJECTED_BY_AP = 0x0b1d,
/** The connection request failed because the WPA handshake did not complete successfully */
WIFI_CONNECTION_AUTH_FAILURE = 0x0b1e,
/** The request failed because the retry limit was exceeded */
WIFI_RETRY_EXCEEDED = 0x0b1f,
/** The request failed because the MSDU life time was exceeded */
WIFI_TX_LIFETIME_EXCEEDED = 0x0b20,
// -----------------------------------------------------------------------------
// MVP Driver and MVP Math status codes
/** Critical fault */
COMPUTE_DRIVER_FAULT = 0x1501,
/** ALU operation output NaN */
COMPUTE_DRIVER_ALU_NAN = 0x1502,
/** ALU numeric overflow */
COMPUTE_DRIVER_ALU_OVERFLOW = 0x1503,
/** ALU numeric underflow */
COMPUTE_DRIVER_ALU_UNDERFLOW = 0x1504,
/** Overflow during array store */
COMPUTE_DRIVER_STORE_CONVERSION_OVERFLOW = 0x1505,
/** Underflow during array store conversion */
COMPUTE_DRIVER_STORE_CONVERSION_UNDERFLOW = 0x1506,
/** Infinity encountered during array store conversion */
COMPUTE_DRIVER_STORE_CONVERSION_INFINITY = 0x1507,
/** NaN encountered during array store conversion */
COMPUTE_DRIVER_STORE_CONVERSION_NAN = 0x1508,
/** MATH NaN encountered */
COMPUTE_MATH_NAN = 0x1512,
/** MATH Infinity encountered */
COMPUTE_MATH_INFINITY = 0x1513,
/** MATH numeric overflow */
COMPUTE_MATH_OVERFLOW = 0x1514,
/** MATH numeric underflow */
COMPUTE_MATH_UNDERFLOW = 0x1515,
// -----------------------------------------------------------------------------
// Zigbee status codes
/** Packet is dropped by packet-handoff callbacks */
ZIGBEE_PACKET_HANDOFF_DROPPED = 0x0c01,
/** The APS layer attempted to send or deliver a message and failed */
ZIGBEE_DELIVERY_FAILED = 0x0c02,
/** The maximum number of in-flight messages ::EMBER_APS_UNICAST_MESSAGE_COUNT has been reached */
ZIGBEE_MAX_MESSAGE_LIMIT_REACHED = 0x0c03,
/** The application is trying to delete or overwrite a binding that is in use */
ZIGBEE_BINDING_IS_ACTIVE = 0x0c04,
/** The application is trying to overwrite an address table entry that is in use */
ZIGBEE_ADDRESS_TABLE_ENTRY_IS_ACTIVE = 0x0c05,
/** After moving, a mobile node's attempt to re-establish contact with the network failed */
ZIGBEE_MOVE_FAILED = 0x0c06,
/** The local node ID has changed. The application can get the new node ID by calling ::sl_zigbee_get_node_id() */
ZIGBEE_NODE_ID_CHANGED = 0x0c07,
/** The chosen security level is not supported by the stack */
ZIGBEE_INVALID_SECURITY_LEVEL = 0x0c08,
/** An error occurred when trying to encrypt at the APS Level */
ZIGBEE_IEEE_ADDRESS_DISCOVERY_IN_PROGRESS = 0x0c09,
/** An error occurred when trying to encrypt at the APS Level */
ZIGBEE_APS_ENCRYPTION_ERROR = 0x0c0a,
/** There was an attempt to form or join a network with security without calling ::sl_zigbee_set_initial_security_state() first */
ZIGBEE_SECURITY_STATE_NOT_SET = 0x0c0b,
/**
* 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
*/
ZIGBEE_TOO_SOON_FOR_SWITCH_KEY = 0x0c0c,
/** The received signature corresponding to the message that was passed to the CBKE Library failed verification and is not valid */
ZIGBEE_SIGNATURE_VERIFY_FAILURE = 0x0c0d,
/** The message could not be sent because the link key corresponding to the destination is not authorized for use in APS data messages */
ZIGBEE_KEY_NOT_AUTHORIZED = 0x0c0e,
/** The application tried to use a binding that has been remotely modified and the change has not yet been reported to the application */
ZIGBEE_BINDING_HAS_CHANGED = 0x0c0f,
/** The EUI of the Trust center has changed due to a successful rejoin after TC Swapout */
ZIGBEE_TRUST_CENTER_SWAP_EUI_HAS_CHANGED = 0x0c10,
/** A Trust Center Swapout Rejoin has occurred without the EUI of the TC changing */
ZIGBEE_TRUST_CENTER_SWAP_EUI_HAS_NOT_CHANGED = 0x0c11,
/** An attempt to generate random bytes failed because of insufficient random data from the radio */
ZIGBEE_INSUFFICIENT_RANDOM_DATA = 0x0c12,
/** A Zigbee route error command frame was received indicating that a source routed message from this node failed en route */
ZIGBEE_SOURCE_ROUTE_FAILURE = 0x0c13,
/** 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 */
ZIGBEE_MANY_TO_ONE_ROUTE_FAILURE = 0x0c14,
/** 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 */
ZIGBEE_STACK_AND_HARDWARE_MISMATCH = 0x0c15,
/** The local PAN ID has changed. The application can get the new PAN ID by calling ::emberGetPanId() */
ZIGBEE_PAN_ID_CHANGED = 0x0c16,
/** The channel has changed. */
ZIGBEE_CHANNEL_CHANGED = 0x0c17,
/** The network has been opened for joining. */
ZIGBEE_NETWORK_OPENED = 0x0c18,
/** The network has been closed for joining. */
ZIGBEE_NETWORK_CLOSED = 0x0c19,
/**
* 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)
*/
ZIGBEE_RECEIVED_KEY_IN_THE_CLEAR = 0x0c1a,
/** An attempt was made to join a Secured Network, but the device did not receive a Network Key. */
ZIGBEE_NO_NETWORK_KEY_RECEIVED = 0x0c1b,
/** After a device joined a Secured Network, a Link Key was requested (::EMBER_GET_LINK_KEY_WHEN_JOINING) but no response was ever received. */
ZIGBEE_NO_LINK_KEY_RECEIVED = 0x0c1c,
/**
* 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.
*/
ZIGBEE_PRECONFIGURED_KEY_REQUIRED = 0x0c1d,
/** A Zigbee EZSP error has occured. Track the origin and corresponding EzspStatus for more info. */
ZIGBEE_EZSP_ERROR = 0x0c1e,
}
/** Status values used by EZSP. */
export enum EzspStatus {
/** Success. */
SUCCESS = 0x00,
/** Fatal error. */
SPI_ERR_FATAL = 0x10,
/** The Response frame of the current transaction indicates the NCP has reset. */
SPI_ERR_NCP_RESET = 0x11,
/** The NCP is reporting that the Command frame of the current transaction is oversized (the length byte is too large). */
SPI_ERR_OVERSIZED_EZSP_FRAME = 0x12,
/** The Response frame of the current transaction indicates the previous transaction was aborted (nSSEL deasserted too soon). */
SPI_ERR_ABORTED_TRANSACTION = 0x13,
/** The Response frame of the current transaction indicates the frame terminator is missing from the Command frame. */
SPI_ERR_MISSING_FRAME_TERMINATOR = 0x14,
/** The NCP has not provided a Response within the time limit defined by WAIT_SECTION_TIMEOUT. */
SPI_ERR_WAIT_SECTION_TIMEOUT = 0x15,
/** The Response frame from the NCP is missing the frame terminator. */
SPI_ERR_NO_FRAME_TERMINATOR = 0x16,
/** The Host attempted to send an oversized Command (the length byte is too large) and the AVR's spi-protocol.c blocked the transmission. */
SPI_ERR_EZSP_COMMAND_OVERSIZED = 0x17,
/** The NCP attempted to send an oversized Response (the length byte is too large) and the AVR's spi-protocol.c blocked the reception. */
SPI_ERR_EZSP_RESPONSE_OVERSIZED = 0x18,
/** The Host has sent the Command and is still waiting for the NCP to send a Response. */
SPI_WAITING_FOR_RESPONSE = 0x19,
/** The NCP has not asserted nHOST_INT within the time limit defined by WAKE_HANDSHAKE_TIMEOUT. */
SPI_ERR_HANDSHAKE_TIMEOUT = 0x1a,
/** The NCP has not asserted nHOST_INT after an NCP reset within the time limit defined by STARTUP_TIMEOUT. */
SPI_ERR_STARTUP_TIMEOUT = 0x1b,
/** The Host attempted to verify the SPI Protocol activity and version number, and the verification failed. */
SPI_ERR_STARTUP_FAIL = 0x1c,
/** The Host has sent a command with a SPI Byte that is unsupported by the current mode the NCP is operating in. */
SPI_ERR_UNSUPPORTED_SPI_COMMAND = 0x1d,
/** Operation not yet complete. */
ASH_IN_PROGRESS = 0x20,
/** Fatal error detected by host. */
HOST_FATAL_ERROR = 0x21,
/** Fatal error detected by NCP. */
ASH_NCP_FATAL_ERROR = 0x22,
/** Tried to send DATA frame too long. */
DATA_FRAME_TOO_LONG = 0x23,
/** Tried to send DATA frame too short. */
DATA_FRAME_TOO_SHORT = 0x24,
/** No space for tx'ed DATA frame. */
NO_TX_SPACE = 0x25,
/** No space for rec'd DATA frame. */
NO_RX_SPACE = 0x26,
/** No receive data available. */
NO_RX_DATA = 0x27,
/** Not in Connected state. */
NOT_CONNECTED = 0x28,
/** The NCP received a command before the EZSP version had been set. */
ERROR_VERSION_NOT_SET = 0x30,
/** The NCP received a command containing an unsupported frame ID. */
ERROR_INVALID_FRAME_ID = 0x31,
/** The direction flag in the frame control field was incorrect. */
ERROR_WRONG_DIRECTION = 0x32,
/**
* The truncated flag in the frame control field was set, indicating there was not enough memory available to
* complete the response or that the response would have exceeded the maximum EZSP frame length.
*/
ERROR_TRUNCATED = 0x33,
/**
* The overflow flag in the frame control field was set, indicating one or more callbacks occurred since the previous
* response and there was not enough memory available to report them to the Host.
*/
ERROR_OVERFLOW = 0x34,
/** Insufficient memory was available. */
ERROR_OUT_OF_MEMORY = 0x35,
/** The value was out of bounds. */
ERROR_INVALID_VALUE = 0x36,
/** The configuration id was not recognized. */
ERROR_INVALID_ID = 0x37,
/** Configuration values can no longer be modified. */
ERROR_INVALID_CALL = 0x38,
/** The NCP failed to respond to a command. */
ERROR_NO_RESPONSE = 0x39,
/** The length of the command exceeded the maximum EZSP frame length. */
ERROR_COMMAND_TOO_LONG = 0x40,
/** The UART receive queue was full causing a callback response to be dropped. */
ERROR_QUEUE_FULL = 0x41,
/** The command has been filtered out by NCP. */
ERROR_COMMAND_FILTERED = 0x42,
/** EZSP Security Key is already set */
ERROR_SECURITY_KEY_ALREADY_SET = 0x43,
/** EZSP Security Type is invalid */
ERROR_SECURITY_TYPE_INVALID = 0x44,
/** EZSP Security Parameters are invalid */
ERROR_SECURITY_PARAMETERS_INVALID = 0x45,
/** EZSP Security Parameters are already set */
ERROR_SECURITY_PARAMETERS_ALREADY_SET = 0x46,
/** EZSP Security Key is not set */
ERROR_SECURITY_KEY_NOT_SET = 0x47,
/** EZSP Security Parameters are not set */
ERROR_SECURITY_PARAMETERS_NOT_SET = 0x48,
/** Received frame with unsupported control byte */
ERROR_UNSUPPORTED_CONTROL = 0x49,
/** Received frame is unsecure, when security is established */
ERROR_UNSECURE_FRAME = 0x4a,
/** Incompatible ASH version */
ASH_ERROR_VERSION = 0x50,
/** Exceeded max ACK timeouts */
ASH_ERROR_TIMEOUTS = 0x51,
/** Timed out waiting for RSTACK */
ASH_ERROR_RESET_FAIL = 0x52,
/** Unexpected ncp reset */
ASH_ERROR_NCP_RESET = 0x53,
/** Serial port initialization failed */
ERROR_SERIAL_INIT = 0x54,
/** Invalid ncp processor type */
ASH_ERROR_NCP_TYPE = 0x55,
/** Invalid ncp reset method */
ASH_ERROR_RESET_METHOD = 0x56,
/** XON/XOFF not supported by host driver */
ASH_ERROR_XON_XOFF = 0x57,
/** ASH protocol started */
ASH_STARTED = 0x70,
/** ASH protocol connected */
ASH_CONNECTED = 0x71,
/** ASH protocol disconnected */
ASH_DISCONNECTED = 0x72,
/** Timer expired waiting for ack */
ASH_ACK_TIMEOUT = 0x73,
/** Frame in progress cancelled */
ASH_CANCELLED = 0x74,
/** Received frame out of sequence */
ASH_OUT_OF_SEQUENCE = 0x75,
/** Received frame with CRC error */
ASH_BAD_CRC = 0x76,
/** Received frame with comm error */
ASH_COMM_ERROR = 0x77,
/** Received frame with bad ackNum */
ASH_BAD_ACKNUM = 0x78,
/** Received frame shorter than minimum */
ASH_TOO_SHORT = 0x79,
/** Received frame longer than maximum */
ASH_TOO_LONG = 0x7a,
/** Received frame with illegal control byte */
ASH_BAD_CONTROL = 0x7b,
/** Received frame with illegal length for its type */
ASH_BAD_LENGTH = 0x7c,
/** Received ASH Ack */
ASH_ACK_RECEIVED = 0x7d,
/** Sent ASH Ack */
ASH_ACK_SENT = 0x7e,
/** Received ASH Nak */
ASH_NAK_RECEIVED = 0x7f,
/** Sent ASH Nak */
ASH_NAK_SENT = 0x80,
/** Received ASH RST */
ASH_RST_RECEIVED = 0x81,
/** Sent ASH RST */
ASH_RST_SENT = 0x82,
/** ASH Status */
ASH_STATUS = 0x83,
/** ASH TX */
ASH_TX = 0x84,
/** ASH RX */
ASH_RX = 0x85,
/** Failed to connect to CPC daemon or failed to open CPC endpoint */
CPC_ERROR_INIT = 0x86,
/** No reset or error */
NO_ERROR = 0xff,
}
export enum EmberStackError {
// Error codes that a router uses to notify the message initiator about a broken route.
ROUTE_ERROR_NO_ROUTE_AVAILABLE = 0x00,
ROUTE_ERROR_TREE_LINK_FAILURE = 0x01,
ROUTE_ERROR_NON_TREE_LINK_FAILURE = 0x02,
ROUTE_ERROR_LOW_BATTERY_LEVEL = 0x03,
ROUTE_ERROR_NO_ROUTING_CAPACITY = 0x04,
ROUTE_ERROR_NO_INDIRECT_CAPACITY = 0x05,
ROUTE_ERROR_INDIRECT_TRANSACTION_EXPIRY = 0x06,
ROUTE_ERROR_TARGET_DEVICE_UNAVAILABLE = 0x07,
ROUTE_ERROR_TARGET_ADDRESS_UNALLOCATED = 0x08,
ROUTE_ERROR_PARENT_LINK_FAILURE = 0x09,
ROUTE_ERROR_VALIDATE_ROUTE = 0x0a,
ROUTE_ERROR_SOURCE_ROUTE_FAILURE = 0x0b,
ROUTE_ERROR_MANY_TO_ONE_ROUTE_FAILURE = 0x0c,
ROUTE_ERROR_ADDRESS_CONFLICT = 0x0d,
ROUTE_ERROR_VERIFY_ADDRESSES = 0x0e,
ROUTE_ERROR_PAN_IDENTIFIER_UPDATE = 0x0f,
NETWORK_STATUS_NETWORK_ADDRESS_UPDATE = 0x10,
NETWORK_STATUS_BAD_FRAME_COUNTER = 0x11,
NETWORK_STATUS_BAD_KEY_SEQUENCE_NUMBER = 0x12,
NETWORK_STATUS_UNKNOWN_COMMAND = 0x13,
}
export enum EmberGPStatus {
/** Success Status */
OK = 0,
/** Match Frame */
MATCH = 1,
/** Drop Frame */
DROP_FRAME = 2,
/** Frame Unprocessed */
UNPROCESSED = 3,
/** Frame Pass Unprocessed */
PASS_UNPROCESSED = 4,
/** Frame TX Then Drop */
TX_THEN_DROP = 5,
/** No Security */
NO_SECURITY = 6,
/** Security Failure */
AUTH_FAILURE = 7,
}
/** Type of Ember software version */
export enum EmberVersionType {
PRE_RELEASE = 0x00,
// Alpha, should be used rarely
ALPHA_1 = 0x11,
ALPHA_2 = 0x12,
ALPHA_3 = 0x13,
// Leave space in case we decide to add other types in the future.
BETA_1 = 0x21,
BETA_2 = 0x22,
BETA_3 = 0x23,
// Anything other than 0xAA is considered pre-release
// Silicon Labs may define other types in the future (e.g. beta, alpha)
// Silicon Labs chose an arbitrary number (0xAA) to allow for expansion, but
// to prevent ambiguity in case 0x00 or 0xFF is accidentally retrieved
// as the version type.
GA = 0xaa,
}
/**
* For emberSetTxPowerMode and mfglibSetPower.
* uint16_t
*/
export enum EmberTXPowerMode {
/**
* The application should call ::emberSetTxPowerMode() with the
* txPowerMode parameter set to this value to disable all power mode options,
* resulting in normal power mode and bi-directional RF transmitter output.
*/
DEFAULT = 0x0000,
/**
* The application should call ::emberSetTxPowerMode() with the
* txPowerMode parameter set to this value to enable boost power mode.
*/
BOOST = 0x0001,
/**
* The application should call ::emberSetTxPowerMode() with the
* txPowerMode parameter set to this value to enable the alternate transmitter
* output.
*/
ALTERNATE = 0x0002,
/**
* The application should call ::emberSetTxPowerMode() with the
* txPowerMode parameter set to this value to enable both boost mode and the
* alternate transmitter output.
*/
BOOST_AND_ALTERNATE = 0x0003, // (BOOST | ALTERNATE)
// The application does not ever need to call emberSetTxPowerMode() with the
// txPowerMode parameter set to this value. This value is used internally by
// the stack to indicate that the default token configuration has not been
// overridden by a prior call to emberSetTxPowerMode().
USE_TOKEN = 0x8000,
}
/** uint8_t */
export enum EmberKeepAliveMode {
KEEP_ALIVE_SUPPORT_UNKNOWN = 0x00,
MAC_DATA_POLL_KEEP_ALIVE = 0x01,
END_DEVICE_TIMEOUT_KEEP_ALIVE = 0x02,
KEEP_ALIVE_SUPPORT_ALL = 0x03,
}
/** This is the Extended Security Bitmask that controls the use of various extended security features. */
export enum EmberExtendedSecurityBitmask {
/**
* If this bit is set, the 'key token data' field is set in the Initial Security Bitmask to 0 (No Preconfig Key token).
* Otherwise, the field is left as is.
*/
PRECONFIG_KEY_NOT_VALID = 0x0001,
// bits 2-3 a