UNPKG

zigbee-herdsman

Version:

An open source ZigBee gateway solution with node.js.

1,033 lines (975 loc) 97.6 kB
/** 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