Ember Common Data Types
Data Structures |
|
struct | EmberReleaseTypeStruct |
A structure relating version types to human readable strings.
|
|
struct | EmberVersion |
A version structure containing all version information.
|
|
struct | EmberZigbeeNetwork |
Defines a ZigBee network and the associated parameters.
|
|
struct | EmberNetworkInitStruct |
Defines the network initialization configuration that should be used when
emberNetworkInit()
is called by the application.
|
|
struct | EmberBeaconSurvey |
Defines a result of a network beacon survey.
|
|
struct | EmberBeaconData |
Defines a beacon entry that is processed when scanning, joining, or rejoining.
|
|
struct | EmberBeaconIterator |
Defines a iterator used to loop over cached beacons. Fields denoted with a private comment should not be written to.
|
|
struct | EmberNetworkParameters |
Holds network parameters.
|
|
struct | EmberMultiPhyRadioParameters |
Holds radio parameters.
|
|
struct | EmberApsFrame |
An in-memory representation of a ZigBee APS frame of an incoming or outgoing message.
|
|
struct | EmberChildData |
This structure contains information about child nodes.
|
|
struct | EmberBindingTableEntry |
Defines an entry in the binding table.
|
|
struct | EmberNeighborTableEntry |
Defines an entry in the neighbor table.
|
|
struct | EmberRouteTableEntry |
Defines an entry in the route table.
|
|
struct | EmberMulticastTableEntry |
Defines an entry in the multicast table.
|
|
struct | EmberMultiprotocolPriorities |
struct | EmberCounterInfo |
struct | EmberExtraCounterInfo |
struct | EmberEventControl |
The control structure for events.
|
|
struct | EmberEventData |
Complete events with a control and a handler procedure.
|
|
struct | EmberTaskControl |
The control structure for tasks.
|
|
struct | EmberKeyData |
This data structure contains the key data that is passed into various other functions.
|
|
struct | EmberCertificateData |
This data structure contains the certificate data that is used for Certificate Based Key Exchange (CBKE).
|
|
struct | EmberPublicKeyData |
This data structure contains the public key data that is used for Certificate Based Key Exchange (CBKE).
|
|
struct | EmberPrivateKeyData |
This data structure contains the private key data that is used for Certificate Based Key Exchange (CBKE).
|
|
struct | EmberSmacData |
This data structure contains the Shared Message Authentication Code (SMAC) data that is used for Certificate Based Key Exchange (CBKE).
|
|
struct | EmberSignatureData |
This data structure contains a DSA signature. It is the bit concatenation of the 'r' and 's' components of the signature.
|
|
struct | EmberMessageDigest |
This data structure contains an AES-MMO Hash (the message digest).
|
|
struct | EmberAesMmoHashContext |
This data structure contains the context data when calculating an AES MMO hash (message digest).
|
|
struct | EmberCertificate283k1Data |
This data structure contains the certificate data that is used for Certificate Based Key Exchange (CBKE) in SECT283k1 Elliptical Cryptography.
|
|
struct | EmberPublicKey283k1Data |
This data structure contains the public key data that is used for Certificate Based Key Exchange (CBKE) in SECT283k1 Elliptical Cryptography.
|
|
struct | EmberPrivateKey283k1Data |
This data structure contains the private key data that is used for Certificate Based Key Exchange (CBKE) in SECT283k1 Elliptical Cryptography.
|
|
struct | EmberSignature283k1Data |
This data structure contains a DSA signature used in SECT283k1 Elliptical Cryptography. It is the bit concatenation of the 'r' and 's' components of the signature.
|
|
struct | EmberInitialSecurityState |
This describes the Initial Security features and requirements that will be used when forming or joining the network.
|
|
struct | EmberCurrentSecurityState |
This describes the security features used by the stack for a joined device.
|
|
struct | EmberTransientKeyData |
This data structure contains the transient key data that is used during Zigbee 3.0 joining.
|
|
struct | EmberKeyStruct |
This describes a one of several different types of keys and its associated data.
|
|
struct | EmberMfgSecurityStruct |
This structure is used to get/set the security configuration that is stored in manufacturing tokens.
|
|
struct | EmberDutyCycleLimits |
A structure containing duty cycle limit configurations.
|
|
struct | EmberPerDeviceDutyCycle |
A structure containing, per device, overall duty cycle consumed (up to the suspend limit).
|
|
struct | EmberMacFilterMatchStruct |
This structure indicates a matching raw MAC message has been received by the application configured MAC filters.
|
|
struct | SourceRouteTableEntry |
struct | EmberBeaconClassificationParams |
Macros |
|
#define | EMBER_MIN_BROADCAST_ADDRESS 0xFFF8 |
#define | emberIsZigbeeBroadcastAddress (address) ( EMBER_MIN_BROADCAST_ADDRESS <= ((uint16_t) (address))) |
#define | EMBER_JOIN_DECISION_STRINGS |
#define | EMBER_DEVICE_UPDATE_STRINGS |
#define | emberInitializeNetworkParameters (parameters) ( MEMSET (parameters, 0, sizeof( EmberNetworkParameters ))) |
#define | EMBER_COUNTER_STRINGS |
#define | EMBER_STANDARD_SECURITY_MODE 0x0000 |
This is an
EmberInitialSecurityBitmask
value but it does not actually set anything. It is the default mode used by the ZigBee Pro stack. It is defined here so that no legacy code is broken by referencing it.
|
|
#define | EMBER_TRUST_CENTER_NODE_ID 0x0000 |
The short address of the trust center. This address never changes dynamically.
|
|
#define | EMBER_NO_TRUST_CENTER_MODE EMBER_DISTRIBUTED_TRUST_CENTER_MODE |
This is the legacy name for the Distributed Trust Center Mode.
|
|
#define | EMBER_GLOBAL_LINK_KEY EMBER_TRUST_CENTER_GLOBAL_LINK_KEY |
This is the legacy name for the Trust Center Global Link Key.
|
|
#define | EMBER_MFG_SECURITY_CONFIG_MAGIC_NUMBER 0xCABAD11FUL |
This magic number prevents accidentally changing the key settings. The
emberSetMfgSecurityConfig()
API will return EMBER_INVALID_CALL unless it is passed in.
|
|
#define | EMBER_MAC_FILTER_MATCH_ENABLED_MASK 0x0001 |
#define | EMBER_MAC_FILTER_MATCH_ON_PAN_DEST_MASK 0x0003 |
#define | EMBER_MAC_FILTER_MATCH_ON_PAN_SOURCE_MASK 0x000C |
#define | EMBER_MAC_FILTER_MATCH_ON_DEST_MASK 0x0030 |
#define | EMBER_MAC_FILTER_MATCH_ON_SOURCE_MASK 0x0080 |
#define | EMBER_MAC_FILTER_MATCH_ENABLED 0x0000 |
#define | EMBER_MAC_FILTER_MATCH_DISABLED 0x0001 |
#define | EMBER_MAC_FILTER_MATCH_ON_PAN_DEST_NONE 0x0000 |
#define | EMBER_MAC_FILTER_MATCH_ON_PAN_DEST_LOCAL 0x0001 |
#define | EMBER_MAC_FILTER_MATCH_ON_PAN_DEST_BROADCAST 0x0002 |
#define | EMBER_MAC_FILTER_MATCH_ON_PAN_SOURCE_NONE 0x0000 |
#define | EMBER_MAC_FILTER_MATCH_ON_PAN_SOURCE_NON_LOCAL 0x0004 |
#define | EMBER_MAC_FILTER_MATCH_ON_PAN_SOURCE_LOCAL 0x0008 |
#define | EMBER_MAC_FILTER_MATCH_ON_DEST_BROADCAST_SHORT 0x0000 |
#define | EMBER_MAC_FILTER_MATCH_ON_DEST_UNICAST_SHORT 0x0010 |
#define | EMBER_MAC_FILTER_MATCH_ON_DEST_UNICAST_LONG 0x0020 |
#define | EMBER_MAC_FILTER_MATCH_ON_SOURCE_LONG 0x0000 |
#define | EMBER_MAC_FILTER_MATCH_ON_SOURCE_SHORT 0x0080 |
#define | EMBER_MAC_FILTER_MATCH_ON_SOURCE_NONE 0x0100 |
#define | EMBER_MAC_FILTER_MATCH_END 0x8000 |
#define | WEAK_TEST |
#define | EMBER_MAX_MAC_ONLY_COUNTERS 33 |
Defines the maximum number of counters that are specified as reporting either on 2.4 GHz or Sub-GHz.
|
|
#define | EMBER_MAX_NUM_PHYS 2 |
Defines the maximum number of PHYs supported.
|
|
#define | PHY_INDEX_NATIVE 0 |
PHY index for 2.4 GHz radio interface, valid for simultaneous multi radio network.
|
|
#define | PHY_INDEX_PRO2PLUS 1 |
PHY index for Sub-GHz radio interface, valid for simultaneous multi radio network.
|
Typedefs |
|
typedef uint8_t | EmberTaskId |
typedef uint16_t | EmberMacFilterMatchData |
This is a bitmask describing a filter for MAC data messages that the stack should accept and pass through to the application.
|
|
typedef uint8_t | EmberLibraryStatus |
This indicates the presence, absence, or status of an Ember stack library.
|
|
typedef uint8_t | EmberRadioPowerMode |
Radio power mode.
|
Functions |
|
uint8_t * | emberKeyContents ( EmberKeyData *key) |
This function allows access to the actual key data bytes of the
EmberKeyData
structure.
|
|
uint8_t * | emberCertificateContents ( EmberCertificateData *cert) |
This function allows access to the actual certificate data bytes of the
EmberCertificateData
structure.
|
|
uint8_t * | emberPublicKeyContents ( EmberPublicKeyData *key) |
This function allows access to the actual public key data bytes of the
EmberPublicKeyData
structure.
|
|
uint8_t * | emberPrivateKeyContents ( EmberPrivateKeyData *key) |
This function allows access to the actual private key data bytes of the
EmberPrivateKeyData
structure.
|
|
uint8_t * | emberSmacContents ( EmberSmacData *key) |
This function allows access to the actual SMAC (Secured Message Authentication Code) data of the
EmberSmacData
structure.
|
|
uint8_t * | emberSignatureContents ( EmberSignatureData *sig) |
This function allows access to the actual ECDSA signature data of the
EmberSignatureData
structure.
|
|
uint8_t * | emberCertificate283k1Contents ( EmberCertificate283k1Data *cert) |
This function allows access to the actual certificate data bytes of the Ember283k1CertificateData structure.
|
|
uint8_t * | emberPublicKey283k1Contents ( EmberPublicKey283k1Data *key) |
This function allows access to the actual public key data bytes of the Ember283k1PublicKeyData structure.
|
|
uint8_t * | emberPrivateKey283k1Contents ( EmberPrivateKey283k1Data *key) |
This function allows access to the actual private key data bytes of the Ember283k1PrivateKeyData structure.
|
|
uint8_t * | ember283k1SignatureContents (Ember283k1SignatureData *sig) |
This function allows access to the actual ECDSA signature data of the Ember283k1SignatureData structure.
|
Miscellaneous Ember Types |
|
enum |
EmberVersionType
{
EMBER_VERSION_TYPE_PRE_RELEASE = 0x00, EMBER_VERSION_TYPE_ALPHA_1 = 0x11, EMBER_VERSION_TYPE_ALPHA_2 = 0x12, EMBER_VERSION_TYPE_ALPHA_3 = 0x13, EMBER_VERSION_TYPE_BETA_1 = 0x21, EMBER_VERSION_TYPE_BETA_2 = 0x22, EMBER_VERSION_TYPE_BETA_3 = 0x23, EMBER_VERSION_TYPE_GA = 0xAA } |
Type of Ember software version.
|
|
enum |
EmberLeaveRequestFlags
{
EMBER_ZIGBEE_LEAVE_AND_REJOIN = 0x80, EMBER_ZIGBEE_LEAVE_WITHOUT_REJOIN = 0x00 } |
EmberReleaseTypeStruct
Data that relates release type to the correct string.
|
|
enum |
EmberLeaveReason
{
EMBER_LEAVE_REASON_NONE = 0, EMBER_LEAVE_DUE_TO_NWK_LEAVE_MESSAGE = 1, EMBER_LEAVE_DUE_TO_APS_REMOVE_MESSAGE = 2, EMBER_LEAVE_DUE_TO_ZDO_LEAVE_MESSAGE = 3, EMBER_LEAVE_DUE_TO_ZLL_TOUCHLINK = 4, EMBER_LEAVE_DUE_TO_APP_EVENT_1 = 0xFF } |
EmberReleaseTypeStruct
Data that relates release type to the correct string.
|
|
typedef uint8_t | EmberEUI64 [ EUI64_SIZE ] |
EUI 64-bit ID (an IEEE address).
|
|
typedef uint8_t | EmberMessageBuffer |
Incoming and outgoing messages are stored in buffers. These buffers are allocated and freed as needed.
|
|
typedef uint16_t | EmberNodeId |
16-bit ZigBee network address.
|
|
typedef uint16_t | EmberMulticastId |
16-bit ZigBee multicast group identifier.
|
|
typedef uint16_t | EmberPanId |
802.15.4 PAN ID.
|
|
typedef uint16_t | EmberDutyCycleHectoPct |
The percent of duty cycle for a limit.
|
|
const EmberVersion | emberVersion |
A structure containing the version information.
|
|
#define | EMBER_RELEASE_TYPE_TO_STRING_STRUCT_DATA |
EmberReleaseTypeStruct
Data that relates release type to the correct string.
|
|
#define | EUI64_SIZE 8 |
Size of EUI64 (an IEEE address) in bytes (8).
|
|
#define | EXTENDED_PAN_ID_SIZE 8 |
Size of an extended PAN identifier in bytes (8).
|
|
#define | EMBER_ENCRYPTION_KEY_SIZE 16 |
Size of an encryption key in bytes (16).
|
|
#define | EMBER_CERTIFICATE_SIZE 48 |
Size of Implicit Certificates used for Certificate-based Key Exchange(CBKE).
|
|
#define | EMBER_PUBLIC_KEY_SIZE 22 |
Size of Public Keys used in Elliptical Cryptography ECMQV algorithms.
|
|
#define | EMBER_PRIVATE_KEY_SIZE 21 |
Size of Private Keys used in Elliptical Cryptography ECMQV algorithms.
|
|
#define | EMBER_SMAC_SIZE 16 |
Size of the SMAC used in Elliptical Cryptography ECMQV algorithms.
|
|
#define | EMBER_SIGNATURE_SIZE 42 |
Size of the DSA signature used in Elliptical Cryptography Digital Signature Algorithms.
|
|
#define | EMBER_AES_HASH_BLOCK_SIZE 16 |
The size of AES-128 MMO hash is 16-bytes. This is defined in the core. ZigBee specification.
|
|
#define | EMBER_CERTIFICATE_283K1_SIZE 74 |
Size of Implicit Certificates used for Certificate Based Key Exchange using the ECC283K1 curve in bytes.
|
|
#define | EMBER_PUBLIC_KEY_283K1_SIZE 37 |
Size of Public Keys used in SECT283k1 Elliptical Cryptography ECMQV algorithms.
|
|
#define | EMBER_PRIVATE_KEY_283K1_SIZE 36 |
Size of Private Keys used SECT283k1 in Elliptical Cryptography ECMQV algorithms.
|
|
#define | EMBER_SIGNATURE_283K1_SIZE 72 |
Size of the DSA signature used in SECT283k1 Elliptical Cryptography Digital Signature Algorithms.
|
|
#define | __EMBERSTATUS_TYPE__ |
Return type for Ember functions.
|
|
#define | EMBER_MAX_802_15_4_CHANNEL_NUMBER 26 |
The maximum 802.15.4 channel number is 26.
|
|
#define | EMBER_MIN_802_15_4_CHANNEL_NUMBER 11 |
The minimum 2.4GHz 802.15.4 channel number is 11.
|
|
#define | EMBER_MIN_SUBGHZ_CHANNEL_NUMBER 0 |
The minimum SubGhz channel number is 0.
|
|
#define | EMBER_ACTIVE_SCAN_DURATION 3 |
#define | EMBER_SUB_GHZ_SCAN_DURATION 5 |
The SubGhz scan duration is 5.
|
|
#define | EMBER_NUM_802_15_4_CHANNELS ( EMBER_MAX_802_15_4_CHANNEL_NUMBER - EMBER_MIN_802_15_4_CHANNEL_NUMBER + 1) |
There are sixteen 802.15.4 channels.
|
|
#define | EMBER_ALL_802_15_4_CHANNELS_MASK 0x07FFF800UL |
A bitmask to scan all 2.4 GHz 802.15.4 channels.
|
|
#define | EMBER_MAX_CHANNELS_PER_PAGE 27 |
The maximum channels per page are 27 page bits 31...27, channel bits 26...0.
|
|
#define | EMBER_ALL_SUBGHZ_CHANNELS_MASK_FOR_PAGES_28_30_31 0x07FFFFFFUL |
Sub-GHz channel bitmasks for pages 28, 30, 31.
|
|
#define | EMBER_MAX_SUBGHZ_CHANNEL_NUMBER_ON_PAGES_28_30_31 26 |
The maximum SubGhz channel number on pages 28, 30, 31 is 26.
|
|
#define | EMBER_ALL_SUBGHZ_CHANNELS_MASK_FOR_PAGES_29 0x1FF |
SubGhz channel bitmasks for page 29.
|
|
#define | EMBER_MAX_SUBGHZ_CHANNEL_NUMBER_ON_PAGE_29 8 |
The maximum SubGhz channel number on page 29 is 8.
|
|
#define | EMBER_MIN_SUGBHZ_PAGE_NUMBER 28 |
The minimum SubGhz page number is 28.
|
|
#define | EMBER_MAX_SUGBHZ_PAGE_NUMBER 31 |
The maximum SubGhz page number is 31.
|
|
#define | EMBER_ALL_CHANNEL_PAGE_MASK 0xF8000000UL |
A bitmask for the channel page within a channel mask.
|
|
#define | EMBER_PAGE_CHANNEL_MASK_FROM_CHANNEL_MASK (page, mask) |
A page-channel mask for a given page and channel mask.
|
|
#define | EMBER_PAGE_CHANNEL_MASK_FROM_CHANNEL_NUMBER (page, channel) EMBER_PAGE_CHANNEL_MASK_FROM_CHANNEL_MASK (page, BIT32 (channel)) |
A page-channel mask for a given page and channel.
|
|
#define | EMBER_ZIGBEE_COORDINATOR_ADDRESS 0x0000 |
The network ID of the coordinator in a ZigBee network is 0x0000.
|
|
#define | EMBER_NULL_NODE_ID 0xFFFF |
A distinguished network ID that will never be assigned to any node. It is used to indicate the absence of a node ID.
|
|
#define | EMBER_NO_CHANNEL_PAGE_IN_USE 0 |
The channel page value used to indicate just the 2.4GHz channels.
|
|
#define | EMBER_NULL_EUI64 { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } |
A distinguished EUI64 that is commonly used to indicate an invalid EUI64.
|
|
#define | EMBER_NULL_BINDING 0xFF |
A distinguished binding index used to indicate the absence of a binding.
|
|
#define | EMBER_TABLE_ENTRY_UNUSED_NODE_ID 0xFFFF |
A distinguished network ID that will never be assigned to any node.
|
|
#define | EMBER_MULTICAST_NODE_ID 0xFFFE |
A distinguished network ID that will never be assigned to any node. This value is returned when getting the remote node ID from the binding table and the given binding table index refers to a multicast binding entry.
|
|
#define | EMBER_UNKNOWN_NODE_ID 0xFFFD |
A distinguished network ID that will never be assigned to any node. This value is used when getting the remote node ID from the address or binding tables. It indicates that the address or binding table entry is currently in use but the node ID corresponding to the EUI64 in the table is currently unknown.
|
|
#define | EMBER_DISCOVERY_ACTIVE_NODE_ID 0xFFFC |
A distinguished network ID that will never be assigned to any node. This value is used when getting the remote node ID from the address or binding tables. It indicates that the address or binding table entry is currently in use and network address discovery is underway.
|
|
#define | EMBER_NULL_ADDRESS_TABLE_INDEX 0xFF |
A distinguished address table index used to indicate the absence of an address table entry.
|
|
#define | EMBER_ZDO_ENDPOINT 0 |
The endpoint where the ZigBee Device Object (ZDO) resides.
|
|
#define | EMBER_BROADCAST_ENDPOINT 0xFF |
The broadcast endpoint, as defined in the ZigBee spec.
|
|
#define | EMBER_ZDO_PROFILE_ID 0x0000 |
The profile ID used by the ZigBee Device Object (ZDO).
|
|
#define | EMBER_WILDCARD_PROFILE_ID 0xFFFF |
The profile ID used to address all the public profiles.
|
|
#define | EMBER_MAXIMUM_STANDARD_PROFILE_ID 0x7FFF |
The maximum value for a profile ID in the standard profile range.
|
|
#define | EMBER_BROADCAST_TABLE_TIMEOUT_QS (20 * 4) |
The broadcast table entry timeout, which specifies, in quarter seconds, how long an entry persists in the local device's broadcast table.
|
|
#define | EMBER_MANUFACTURER_ID 0x1002 |
Ember's Manufacturer ID.
|
|
#define | EMBER_DC_LIMIT_USE_DEFAULT 0 |
Use Ember's default duty cycle limit configurations.
|
ZigBee Broadcast Addresses |
|
ZigBee specifies three different broadcast addresses that reach different collections of nodes. Broadcasts are normally sent only to routers. Broadcasts can also be forwarded to end devices, either all of them or only those that do not sleep. Broadcasting to end devices is both significantly more resource-intensive and significantly less reliable than broadcasting to routers. |
|
#define | EMBER_BROADCAST_ADDRESS 0xFFFC |
#define | EMBER_RX_ON_WHEN_IDLE_BROADCAST_ADDRESS 0xFFFD |
#define | EMBER_SLEEPY_BROADCAST_ADDRESS 0xFFFF |
Ember Concentrator Types |
|
#define | EMBER_LOW_RAM_CONCENTRATOR 0xFFF8 |
#define | EMBER_HIGH_RAM_CONCENTRATOR 0xFFF9 |
txPowerModes for emberSetTxPowerMode and mfglibSetPower |
|
#define | EMBER_TX_POWER_MODE_DEFAULT 0x0000 |
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.
|
|
#define | EMBER_TX_POWER_MODE_BOOST 0x0001 |
The application should call
emberSetTxPowerMode()
with the txPowerMode parameter set to this value to enable boost power mode.
|
|
#define | EMBER_TX_POWER_MODE_ALTERNATE 0x0002 |
The application should call
emberSetTxPowerMode()
with the txPowerMode parameter set to this value to enable the alternate transmitter output.
|
|
#define | EMBER_TX_POWER_MODE_BOOST_AND_ALTERNATE |
The application should call
emberSetTxPowerMode()
with the txPowerMode parameter set to this value to enable both boost mode and the alternate transmitter output.
|
Counters Request Definitions |
|
#define | EMBER_PRIVATE_PROFILE_ID 0xC00E |
This is a ZigBee application profile ID that has been assigned to Ember Corporation.
|
|
#define | EMBER_PRIVATE_PROFILE_ID_START 0xC00D |
Ember's first private profile ID.
|
|
#define | EMBER_PRIVATE_PROFILE_ID_END 0xC016 |
Ember's last private profile ID.
|
|
#define | EMBER_REPORT_COUNTERS_REQUEST 0x0003 |
#define | EMBER_REPORT_COUNTERS_RESPONSE 0x8003 |
#define | EMBER_REPORT_AND_CLEAR_COUNTERS_REQUEST 0x0004 |
#define | EMBER_REPORT_AND_CLEAR_COUNTERS_RESPONSE 0x8004 |
#define | EMBER_OTA_CERTIFICATE_UPGRADE_CLUSTER 0x0005 |
ZDO response status. |
|
Most responses to ZDO commands contain a status byte. The meaning of this byte is defined by the ZigBee Device Profile. |
|
enum |
EmberZdoStatus
{
EMBER_ZDP_SUCCESS = 0x00, EMBER_ZDP_INVALID_REQUEST_TYPE = 0x80, EMBER_ZDP_DEVICE_NOT_FOUND = 0x81, EMBER_ZDP_INVALID_ENDPOINT = 0x82, EMBER_ZDP_NOT_ACTIVE = 0x83, EMBER_ZDP_NOT_SUPPORTED = 0x84, EMBER_ZDP_TIMEOUT = 0x85, EMBER_ZDP_NO_MATCH = 0x86, EMBER_ZDP_NO_ENTRY = 0x88, EMBER_ZDP_NO_DESCRIPTOR = 0x89, EMBER_ZDP_INSUFFICIENT_SPACE = 0x8a, EMBER_ZDP_NOT_PERMITTED = 0x8b, EMBER_ZDP_TABLE_FULL = 0x8c, EMBER_ZDP_NOT_AUTHORIZED = 0x8d, EMBER_ZDP_DEVICE_BINDING_TABLE_FULL = 0x8e, EMBER_ZDP_INVALID_INDEX = 0x8f, EMBER_NWK_ALREADY_PRESENT = 0xC5, EMBER_NWK_TABLE_FULL = 0xC7, EMBER_NWK_UNKNOWN_DEVICE = 0xC8 } |
Network and IEEE Address Request/Response |
|
Defines for ZigBee device profile cluster IDs follow. These include descriptions of the formats of the messages.
Note that each message starts with a 1-byte transaction sequence number. This sequence number is used to match a response command frame to the request frame that it is replying to. The application shall maintain a 1-byte counter that is copied into this field and incremented by one for each command sent. When a value of 0xff is reached, the next command shall re-start the counter with a value of 0x00.
Network request: <transaction sequence number: 1>
<EUI64:8> <type:1> <start index:1>
IEEE request: <transaction sequence number: 1>
<node ID:2> <type:1> <start index:1>
<type> = 0x00 single address response, ignore the start index
= 0x01 extended response -> sends kid
's IDs as well
Response: <transaction sequence number: 1>
<status:1> <EUI64:8> <node ID:2>
<ID count:1> <start index:1> <child ID:2>*
|
|
#define | NETWORK_ADDRESS_REQUEST 0x0000 |
#define | NETWORK_ADDRESS_RESPONSE 0x8000 |
#define | IEEE_ADDRESS_REQUEST 0x0001 |
#define | IEEE_ADDRESS_RESPONSE 0x8001 |
Node Descriptor Request/Response |
|
Request: <transaction sequence number: 1> <node ID:2>
Response: <transaction sequence number: 1> <status:1> <node ID:2>
// <node descriptor: 13>
//
// Node Descriptor field is divided into subfields of bitmasks as follows:
// (Note: All lengths below are given in bits rather than bytes.)
// Logical Type: 3
// Complex Descriptor Available: 1
// User Descriptor Available: 1
// (reserved/unused): 3
// APS Flags: 3
// Frequency Band: 5
// MAC capability flags: 8
// Manufacturer Code: 16
// Maximum buffer size: 8
// Maximum incoming transfer size: 16
// Server mask: 16
// Maximum outgoing transfer size: 16
// Descriptor Capability Flags: 8
// See ZigBee document 053474, Section 2.3.2.3 for more details.
|
|
#define | NODE_DESCRIPTOR_REQUEST 0x0002 |
#define | NODE_DESCRIPTOR_RESPONSE 0x8002 |
Power Descriptor Request / Response |
|
Request: <transaction sequence number: 1> <node ID:2>
Response: <transaction sequence number: 1> <status:1> <node ID:2>
<current power mode, available power sources:1>
<current power source, current power source level:1>
// See ZigBee document 053474, Section 2.3.2.4 for more details.
|
|
#define | POWER_DESCRIPTOR_REQUEST 0x0003 |
#define | POWER_DESCRIPTOR_RESPONSE 0x8003 |
Simple Descriptor Request / Response |
|
Request: <transaction sequence number: 1>
<node ID:2> <endpoint:1>
Response: <transaction sequence number: 1>
<status:1> <node ID:2> <length:1> <endpoint:1>
<app profile ID:2> <app device ID:2>
<app device version, app flags:1>
<input cluster count:1> <input cluster:2>*
<output cluster count:1> <output cluster:2>*
|
|
#define | SIMPLE_DESCRIPTOR_REQUEST 0x0004 |
#define | SIMPLE_DESCRIPTOR_RESPONSE 0x8004 |
Active Endpoints Request / Response |
|
Request: <transaction sequence number: 1> <node ID:2>
Response: <transaction sequence number: 1>
<status:1> <node ID:2> <endpoint count:1> <endpoint:1>*
|
|
#define | ACTIVE_ENDPOINTS_REQUEST 0x0005 |
#define | ACTIVE_ENDPOINTS_RESPONSE 0x8005 |
Match Descriptors Request / Response |
|
Request: <transaction sequence number: 1>
<node ID:2> <app profile ID:2>
<input cluster count:1> <input cluster:2>*
<output cluster count:1> <output cluster:2>*
Response: <transaction sequence number: 1>
<status:1> <node ID:2> <endpoint count:1> <endpoint:1>*
|
|
#define | MATCH_DESCRIPTORS_REQUEST 0x0006 |
#define | MATCH_DESCRIPTORS_RESPONSE 0x8006 |
Discovery Cache Request / Response |
|
Request: <transaction sequence number: 1>
<source node ID:2> <source EUI64:8>
Response: <transaction sequence number: 1>
<status (==
EMBER_ZDP_SUCCESS
):1>
|
|
#define | DISCOVERY_CACHE_REQUEST 0x0012 |
#define | DISCOVERY_CACHE_RESPONSE 0x8012 |
End Device Announce and End Device Announce Response |
|
Request: <transaction sequence number: 1>
<node ID:2> <EUI64:8> <capabilities:1>
No response is sent.
|
|
#define | END_DEVICE_ANNOUNCE 0x0013 |
#define | END_DEVICE_ANNOUNCE_RESPONSE 0x8013 |
System Server Discovery Request / Response |
|
Request: <transaction sequence number: 1> <server mask:2>
Response: <transaction sequence number: 1>
<status (==
EMBER_ZDP_SUCCESS
):1> <server mask:2>
|
|
#define | SYSTEM_SERVER_DISCOVERY_REQUEST 0x0015 |
#define | SYSTEM_SERVER_DISCOVERY_RESPONSE 0x8015 |
Parent Announce and Parent Announce Response |
|
Request: <transaction sequence number: 1>
<number of children:1> <child EUI64:8> <child Age:4>*
Response: <transaction sequence number: 1>
<number of children:1> <child EUI64:8> <child Age:4>*
|
|
#define | PARENT_ANNOUNCE 0x001F |
#define | PARENT_ANNOUNCE_RESPONSE 0x801F |
ZDO server mask bits |
|
enum |
EmberZdoServerMask
{
EMBER_ZDP_PRIMARY_TRUST_CENTER = 0x0001, EMBER_ZDP_SECONDARY_TRUST_CENTER = 0x0002, EMBER_ZDP_PRIMARY_BINDING_TABLE_CACHE = 0x0004, EMBER_ZDP_SECONDARY_BINDING_TABLE_CACHE = 0x0008, EMBER_ZDP_PRIMARY_DISCOVERY_CACHE = 0x0010, EMBER_ZDP_SECONDARY_DISCOVERY_CACHE = 0x0020, EMBER_ZDP_NETWORK_MANAGER = 0x0040 } |
Find Node Cache Request / Response |
|
Request: <transaction sequence number: 1>
<device of interest ID:2> <d-of-i EUI64:8>
Response: <transaction sequence number: 1>
<responder ID:2> <device of interest ID:2> <d-of-i EUI64:8>
|
|
#define | FIND_NODE_CACHE_REQUEST 0x001C |
#define | FIND_NODE_CACHE_RESPONSE 0x801C |
End Device Bind Request / Response |
|
Request: <transaction sequence number: 1>
<node ID:2> <EUI64:8> <endpoint:1> <app profile ID:2>
<input cluster count:1> <input cluster:2>*
<output cluster count:1> <output cluster:2>*
Response: <transaction sequence number: 1> <status:1>
|
|
#define | END_DEVICE_BIND_REQUEST 0x0020 |
#define | END_DEVICE_BIND_RESPONSE 0x8020 |
Binding types and Request / Response |
|
Request: <transaction sequence number: 1>
<source EUI64:8> <source endpoint:1>
<cluster ID:2> <destination address:3 or 10>
Destination address:
<0x01:1> <destination group:2>
Or:
<0x03:1> <destination EUI64:8> <destination endpoint:1>
Response: <transaction sequence number: 1> <status:1>
|
|
#define | UNICAST_BINDING 0x03 |
#define | UNICAST_MANY_TO_ONE_BINDING 0x83 |
#define | MULTICAST_BINDING 0x01 |
#define | BIND_REQUEST 0x0021 |
#define | BIND_RESPONSE 0x8021 |
#define | UNBIND_REQUEST 0x0022 |
#define | UNBIND_RESPONSE 0x8022 |
LQI Table Request / Response |
|
Request: <transaction sequence number: 1> <start index:1>
Response: <transaction sequence number: 1> <status:1>
<neighbor table entries:1> <start index:1>
<entry count:1> <entry:22>*
<entry> = <extended PAN ID:8> <EUI64:8> <node ID:2>
<device type, rx on when idle, relationship:1>
<permit joining:1> <depth:1> <LQI:1>
The device-type byte has the following fields:
Name Mask Values
device type 0x03 0x00 coordinator
0x01 router
0x02 end device
0x03 unknown
rx mode 0x0C 0x00 off when idle
0x04 on when idle
0x08 unknown
relationship 0x70 0x00 parent
0x10 child
0x20 sibling
0x30 other
0x40 previous child
reserved 0x10
The permit-joining byte has the following fields
Name Mask Values
permit joining 0x03 0x00 not accepting join requests
0x01 accepting join requests
0x02 unknown
reserved 0xFC
|
|
#define | LQI_TABLE_REQUEST 0x0031 |
#define | LQI_TABLE_RESPONSE 0x8031 |
Routing Table Request / Response |
|
Request: <transaction sequence number: 1> <start index:1>
Response: <transaction sequence number: 1> <status:1>
<routing table entries:1> <start index:1>
<entry count:1> <entry:5>*
<entry> = <destination address:2>
<status:1>
<next hop:2>
The status byte has the following fields:
Name Mask Values
status 0x07 0x00 active
0x01 discovery underway
0x02 discovery failed
0x03 inactive
0x04 validation underway
flags 0x38
0x08 memory constrained
0x10 many-to-one
0x20 route record required
reserved 0xC0
|
|
#define | ROUTING_TABLE_REQUEST 0x0032 |
#define | ROUTING_TABLE_RESPONSE 0x8032 |
Binding Table Request / Response |
|
Request: <transaction sequence number: 1> <start index:1>
Response: <transaction sequence number: 1>
<status:1> <binding table entries:1> <start index:1>
<entry count:1> <entry:14/21>*
<entry> = <source EUI64:8> <source endpoint:1> <cluster ID:2>
<dest addr mode:1> <dest:2/8> <dest endpoint:0/1>
|
|
#define | BINDING_TABLE_REQUEST 0x0033 |
#define | BINDING_TABLE_RESPONSE 0x8033 |
Leave Request / Response |
|
Request: <transaction sequence number: 1> <EUI64:8> <flags:1>
The flag bits are:
0x40
remove
children
0x80 rejoin
Response: <transaction sequence number: 1> <status:1>
|
|
#define | LEAVE_REQUEST 0x0034 |
#define | LEAVE_RESPONSE 0x8034 |
#define | LEAVE_REQUEST_REMOVE_CHILDREN_FLAG 0x40 |
#define | LEAVE_REQUEST_REJOIN_FLAG 0x80 |
Permit Joining Request / Response |
|
Request: <transaction sequence number: 1>
<duration:1> <permit authentication:1>
Response: <transaction sequence number: 1> <status:1>
|
|
#define | PERMIT_JOINING_REQUEST 0x0036 |
#define | PERMIT_JOINING_RESPONSE 0x8036 |
Network Update Request / Response |
|
Request: <transaction sequence number: 1>
<scan channels:4> <duration:1> <count:0/1> <manager:0/2>
If the duration is in 0x00 ... 0x05,
'count'
is present but
not
'manager'
. Perform
'count'
scans of the given duration on the
given channels.
If duration is 0xFE,
'channels'
should have a single channel
and
'count'
and
'manager'
are not present. Switch to the indicated
channel.
If duration is 0xFF,
'count'
is not present. Set the active
channels and the network manager ID to the values given.
Unicast requests always
get
a response, which is INVALID_REQUEST
if
the
duration is not a legal value.
Response: <transaction sequence number: 1> <status:1>
<scanned channels:4> <transmissions:2> <failures:2>
<energy count:1> <energy:1>*
|
|
#define | NWK_UPDATE_REQUEST 0x0038 |
#define | NWK_UPDATE_RESPONSE 0x8038 |
#define | NWK_UPDATE_ENHANCED_REQUEST 0x0039 |
#define | NWK_UPDATE_ENHANCED_RESPONSE 0x8039 |
#define | NWK_UPDATE_IEEE_JOINING_LIST_REQUEST 0x003A |
#define | NWK_UPDATE_IEEE_JOINING_LIST_REPONSE 0x803A |
#define | NWK_UNSOLICITED_ENHANCED_UPDATE_NOTIFY 0x803B |
Unsupported |
|
#define | COMPLEX_DESCRIPTOR_REQUEST 0x0010 |
#define | COMPLEX_DESCRIPTOR_RESPONSE 0x8010 |
#define | USER_DESCRIPTOR_REQUEST 0x0011 |
#define | USER_DESCRIPTOR_RESPONSE 0x8011 |
#define | DISCOVERY_REGISTER_REQUEST 0x0012 |
#define | DISCOVERY_REGISTER_RESPONSE 0x8012 |
#define | USER_DESCRIPTOR_SET 0x0014 |
#define | USER_DESCRIPTOR_CONFIRM 0x8014 |
#define | NETWORK_DISCOVERY_REQUEST 0x0030 |
#define | NETWORK_DISCOVERY_RESPONSE 0x8030 |
#define | DIRECT_JOIN_REQUEST 0x0035 |
#define | DIRECT_JOIN_RESPONSE 0x8035 |
#define | CLUSTER_ID_RESPONSE_MINIMUM 0x8000 |
ZDO configuration flags. |
|
Control which ZDO requests are passed to the application. These are normally controlled via the following configuration definitions: EMBER_APPLICATION_RECEIVES_SUPPORTED_ZDO_REQUESTS EMBER_APPLICATION_HANDLES_UNSUPPORTED_ZDO_REQUESTS EMBER_APPLICATION_HANDLES_ENDPOINT_ZDO_REQUESTS EMBER_APPLICATION_HANDLES_BINDING_ZDO_REQUESTS See ember-configuration.h for more information. |
|
enum |
EmberZdoConfigurationFlags
{
EMBER_APP_RECEIVES_SUPPORTED_ZDO_REQUESTS = 0x01, EMBER_APP_HANDLES_UNSUPPORTED_ZDO_REQUESTS = 0x02, EMBER_APP_HANDLES_ZDO_ENDPOINT_REQUESTS = 0x04, EMBER_APP_HANDLES_ZDO_BINDING_REQUESTS = 0x08 } |
Detailed Description
See
ember-types.h
for source code.
Macro Definition Documentation
#define __EMBERSTATUS_TYPE__ |
Return type for Ember functions.
#define ACTIVE_ENDPOINTS_REQUEST 0x0005 |
#define ACTIVE_ENDPOINTS_RESPONSE 0x8005 |
#define BIND_REQUEST 0x0021 |
#define BIND_RESPONSE 0x8021 |
#define BINDING_TABLE_REQUEST 0x0033 |
#define BINDING_TABLE_RESPONSE 0x8033 |
#define CLUSTER_ID_RESPONSE_MINIMUM 0x8000 |
#define COMPLEX_DESCRIPTOR_REQUEST 0x0010 |
#define COMPLEX_DESCRIPTOR_RESPONSE 0x8010 |
#define DIRECT_JOIN_REQUEST 0x0035 |
#define DIRECT_JOIN_RESPONSE 0x8035 |
#define DISCOVERY_CACHE_REQUEST 0x0012 |
#define DISCOVERY_CACHE_RESPONSE 0x8012 |
#define DISCOVERY_REGISTER_REQUEST 0x0012 |
#define DISCOVERY_REGISTER_RESPONSE 0x8012 |
#define EMBER_ACTIVE_SCAN_DURATION 3 |
ZigBee specifies that active scans have a duration of 3 (138 msec). See documentation for emberStartScan in
include/network-formation.h
for more info on duration values.
#define EMBER_AES_HASH_BLOCK_SIZE 16 |
The size of AES-128 MMO hash is 16-bytes. This is defined in the core. ZigBee specification.
#define EMBER_ALL_802_15_4_CHANNELS_MASK 0x07FFF800UL |
A bitmask to scan all 2.4 GHz 802.15.4 channels.
#define EMBER_ALL_CHANNEL_PAGE_MASK 0xF8000000UL |
A bitmask for the channel page within a channel mask.
#define EMBER_ALL_SUBGHZ_CHANNELS_MASK_FOR_PAGES_28_30_31 0x07FFFFFFUL |
Sub-GHz channel bitmasks for pages 28, 30, 31.
#define EMBER_ALL_SUBGHZ_CHANNELS_MASK_FOR_PAGES_29 0x1FF |
SubGhz channel bitmasks for page 29.
#define EMBER_BROADCAST_ADDRESS 0xFFFC |
Broadcast to all routers.
#define EMBER_BROADCAST_ENDPOINT 0xFF |
The broadcast endpoint, as defined in the ZigBee spec.
#define EMBER_BROADCAST_TABLE_TIMEOUT_QS (20 * 4) |
The broadcast table entry timeout, which specifies, in quarter seconds, how long an entry persists in the local device's broadcast table.
#define EMBER_CERTIFICATE_283K1_SIZE 74 |
Size of Implicit Certificates used for Certificate Based Key Exchange using the ECC283K1 curve in bytes.
#define EMBER_CERTIFICATE_SIZE 48 |
Size of Implicit Certificates used for Certificate-based Key Exchange(CBKE).
#define EMBER_COUNTER_STRINGS |
@ brief Defines the CLI enumerations for the EmberCounterType enum.
#define EMBER_DC_LIMIT_USE_DEFAULT 0 |
Use Ember's default duty cycle limit configurations.
#define EMBER_DEVICE_UPDATE_STRINGS |
@ brief Defines the CLI enumerations for the EmberDeviceUpdate enum.
#define EMBER_DISCOVERY_ACTIVE_NODE_ID 0xFFFC |
A distinguished network ID that will never be assigned to any node. This value is used when getting the remote node ID from the address or binding tables. It indicates that the address or binding table entry is currently in use and network address discovery is underway.
#define EMBER_ENCRYPTION_KEY_SIZE 16 |
Size of an encryption key in bytes (16).
#define EMBER_GLOBAL_LINK_KEY EMBER_TRUST_CENTER_GLOBAL_LINK_KEY |
This is the legacy name for the Trust Center Global Link Key.
#define EMBER_HIGH_RAM_CONCENTRATOR 0xFFF9 |
A concentrator with sufficient memory to store source routes for the entire network. Remote nodes stop sending route records once the concentrator has successfully received one.
#define EMBER_JOIN_DECISION_STRINGS |
@ brief Defines the CLI enumerations for the EmberJoinDecision enum.
#define EMBER_LOW_RAM_CONCENTRATOR 0xFFF8 |
A concentrator with insufficient memory to store source routes for the entire network. Route records are sent to the concentrator prior to every inbound APS unicast.
#define EMBER_MAC_FILTER_MATCH_DISABLED 0x0001 |
#define EMBER_MAC_FILTER_MATCH_ENABLED 0x0000 |
#define EMBER_MAC_FILTER_MATCH_ENABLED_MASK 0x0001 |
#define EMBER_MAC_FILTER_MATCH_END 0x8000 |
#define EMBER_MAC_FILTER_MATCH_ON_DEST_BROADCAST_SHORT 0x0000 |
#define EMBER_MAC_FILTER_MATCH_ON_DEST_MASK 0x0030 |
#define EMBER_MAC_FILTER_MATCH_ON_DEST_UNICAST_LONG 0x0020 |
#define EMBER_MAC_FILTER_MATCH_ON_DEST_UNICAST_SHORT 0x0010 |
#define EMBER_MAC_FILTER_MATCH_ON_PAN_DEST_BROADCAST 0x0002 |
#define EMBER_MAC_FILTER_MATCH_ON_PAN_DEST_LOCAL 0x0001 |
#define EMBER_MAC_FILTER_MATCH_ON_PAN_DEST_MASK 0x0003 |
#define EMBER_MAC_FILTER_MATCH_ON_PAN_DEST_NONE 0x0000 |
#define EMBER_MAC_FILTER_MATCH_ON_PAN_SOURCE_LOCAL 0x0008 |
#define EMBER_MAC_FILTER_MATCH_ON_PAN_SOURCE_MASK 0x000C |
#define EMBER_MAC_FILTER_MATCH_ON_PAN_SOURCE_NON_LOCAL 0x0004 |
#define EMBER_MAC_FILTER_MATCH_ON_PAN_SOURCE_NONE 0x0000 |
#define EMBER_MAC_FILTER_MATCH_ON_SOURCE_LONG 0x0000 |
#define EMBER_MAC_FILTER_MATCH_ON_SOURCE_MASK 0x0080 |
#define EMBER_MAC_FILTER_MATCH_ON_SOURCE_NONE 0x0100 |
#define EMBER_MAC_FILTER_MATCH_ON_SOURCE_SHORT 0x0080 |
#define EMBER_MANUFACTURER_ID 0x1002 |
Ember's Manufacturer ID.
#define EMBER_MAX_802_15_4_CHANNEL_NUMBER 26 |
The maximum 802.15.4 channel number is 26.
#define EMBER_MAX_CHANNELS_PER_PAGE 27 |
The maximum channels per page are 27 page bits 31...27, channel bits 26...0.
#define EMBER_MAX_MAC_ONLY_COUNTERS 33 |
Defines the maximum number of counters that are specified as reporting either on 2.4 GHz or Sub-GHz.
#define EMBER_MAX_NUM_PHYS 2 |
Defines the maximum number of PHYs supported.
#define EMBER_MAX_SUBGHZ_CHANNEL_NUMBER_ON_PAGE_29 8 |
The maximum SubGhz channel number on page 29 is 8.
#define EMBER_MAX_SUBGHZ_CHANNEL_NUMBER_ON_PAGES_28_30_31 26 |
The maximum SubGhz channel number on pages 28, 30, 31 is 26.
#define EMBER_MAX_SUGBHZ_PAGE_NUMBER 31 |
The maximum SubGhz page number is 31.
#define EMBER_MAXIMUM_STANDARD_PROFILE_ID 0x7FFF |
The maximum value for a profile ID in the standard profile range.
#define EMBER_MFG_SECURITY_CONFIG_MAGIC_NUMBER 0xCABAD11FUL |
This magic number prevents accidentally changing the key settings. The emberSetMfgSecurityConfig() API will return EMBER_INVALID_CALL unless it is passed in.
#define EMBER_MIN_802_15_4_CHANNEL_NUMBER 11 |
The minimum 2.4GHz 802.15.4 channel number is 11.
#define EMBER_MIN_BROADCAST_ADDRESS 0xFFF8 |
#define EMBER_MIN_SUBGHZ_CHANNEL_NUMBER 0 |
The minimum SubGhz channel number is 0.
#define EMBER_MIN_SUGBHZ_PAGE_NUMBER 28 |
The minimum SubGhz page number is 28.
#define EMBER_MULTICAST_NODE_ID 0xFFFE |
A distinguished network ID that will never be assigned to any node. This value is returned when getting the remote node ID from the binding table and the given binding table index refers to a multicast binding entry.
#define EMBER_NO_CHANNEL_PAGE_IN_USE 0 |
The channel page value used to indicate just the 2.4GHz channels.
#define EMBER_NO_TRUST_CENTER_MODE EMBER_DISTRIBUTED_TRUST_CENTER_MODE |
This is the legacy name for the Distributed Trust Center Mode.
#define EMBER_NULL_ADDRESS_TABLE_INDEX 0xFF |
A distinguished address table index used to indicate the absence of an address table entry.
#define EMBER_NULL_BINDING 0xFF |
A distinguished binding index used to indicate the absence of a binding.
#define EMBER_NULL_EUI64 { 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF } |
A distinguished EUI64 that is commonly used to indicate an invalid EUI64.
#define EMBER_NULL_NODE_ID 0xFFFF |
A distinguished network ID that will never be assigned to any node. It is used to indicate the absence of a node ID.
#define EMBER_NUM_802_15_4_CHANNELS ( EMBER_MAX_802_15_4_CHANNEL_NUMBER - EMBER_MIN_802_15_4_CHANNEL_NUMBER + 1) |
There are sixteen 802.15.4 channels.
#define EMBER_OTA_CERTIFICATE_UPGRADE_CLUSTER 0x0005 |
The cluster ID used to send and receive over the air certificate messages. This is used to field upgrade devices with Smart Energy Certificates and other security data.
#define EMBER_PAGE_CHANNEL_MASK_FROM_CHANNEL_MASK | ( |
page,
|
|
mask
|
|||
) |
A page-channel mask for a given page and channel mask.
#define EMBER_PAGE_CHANNEL_MASK_FROM_CHANNEL_NUMBER | ( |
page,
|
|
channel
|
|||
) | EMBER_PAGE_CHANNEL_MASK_FROM_CHANNEL_MASK (page, BIT32 (channel)) |
A page-channel mask for a given page and channel.
#define EMBER_PRIVATE_KEY_283K1_SIZE 36 |
Size of Private Keys used SECT283k1 in Elliptical Cryptography ECMQV algorithms.
#define EMBER_PRIVATE_KEY_SIZE 21 |
Size of Private Keys used in Elliptical Cryptography ECMQV algorithms.
#define EMBER_PRIVATE_PROFILE_ID 0xC00E |
This is a ZigBee application profile ID that has been assigned to Ember Corporation.
It is used to send for sending messages that have a specific, non-standard, interaction with the Ember stack. Its only current use is for stack counters requests.
#define EMBER_PRIVATE_PROFILE_ID_END 0xC016 |
Ember's last private profile ID.
#define EMBER_PRIVATE_PROFILE_ID_START 0xC00D |
Ember's first private profile ID.
#define EMBER_PUBLIC_KEY_283K1_SIZE 37 |
Size of Public Keys used in SECT283k1 Elliptical Cryptography ECMQV algorithms.
#define EMBER_PUBLIC_KEY_SIZE 22 |
Size of Public Keys used in Elliptical Cryptography ECMQV algorithms.
#define EMBER_RELEASE_TYPE_TO_STRING_STRUCT_DATA |
EmberReleaseTypeStruct Data that relates release type to the correct string.
#define EMBER_REPORT_AND_CLEAR_COUNTERS_REQUEST 0x0004 |
The cluster ID used to request that a node respond with a report of its Ember stack counters. The node will also reset its clusters to zero after a successful response. See app/util/counters/counters-ota.h.
#define EMBER_REPORT_AND_CLEAR_COUNTERS_RESPONSE 0x8004 |
The cluster ID used to respond to an EMBER_REPORT_AND_CLEAR_COUNTERS_REQUEST.
#define EMBER_REPORT_COUNTERS_REQUEST 0x0003 |
The cluster ID used to request that a node respond with a report of its Ember stack counters. See app/util/counters/counters-ota.h.
#define EMBER_REPORT_COUNTERS_RESPONSE 0x8003 |
The cluster ID used to respond to an EMBER_REPORT_COUNTERS_REQUEST.
#define EMBER_RX_ON_WHEN_IDLE_BROADCAST_ADDRESS 0xFFFD |
Broadcast to all non-sleepy devices.
#define EMBER_SIGNATURE_283K1_SIZE 72 |
Size of the DSA signature used in SECT283k1 Elliptical Cryptography Digital Signature Algorithms.
#define EMBER_SIGNATURE_SIZE 42 |
Size of the DSA signature used in Elliptical Cryptography Digital Signature Algorithms.
#define EMBER_SLEEPY_BROADCAST_ADDRESS 0xFFFF |
Broadcast to all devices, including sleepy end devices.
#define EMBER_SMAC_SIZE 16 |
Size of the SMAC used in Elliptical Cryptography ECMQV algorithms.
#define EMBER_STANDARD_SECURITY_MODE 0x0000 |
This is an EmberInitialSecurityBitmask value but it does not actually set anything. It is the default mode used by the ZigBee Pro stack. It is defined here so that no legacy code is broken by referencing it.
#define EMBER_SUB_GHZ_SCAN_DURATION 5 |
The SubGhz scan duration is 5.
#define EMBER_TABLE_ENTRY_UNUSED_NODE_ID 0xFFFF |
A distinguished network ID that will never be assigned to any node.
This value is used when setting or getting the remote node ID in the address table or getting the remote node ID from the binding table. It indicates that the address or binding table entry is not in use.
#define EMBER_TRUST_CENTER_NODE_ID 0x0000 |
The short address of the trust center. This address never changes dynamically.
#define EMBER_TX_POWER_MODE_ALTERNATE 0x0002 |
The application should call emberSetTxPowerMode() with the txPowerMode parameter set to this value to enable the alternate transmitter output.
#define EMBER_TX_POWER_MODE_BOOST 0x0001 |
The application should call emberSetTxPowerMode() with the txPowerMode parameter set to this value to enable boost power mode.
#define EMBER_TX_POWER_MODE_BOOST_AND_ALTERNATE |
The application should call emberSetTxPowerMode() with the txPowerMode parameter set to this value to enable both boost mode and the alternate transmitter output.
#define EMBER_TX_POWER_MODE_DEFAULT 0x0000 |
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.
#define EMBER_UNKNOWN_NODE_ID 0xFFFD |
A distinguished network ID that will never be assigned to any node. This value is used when getting the remote node ID from the address or binding tables. It indicates that the address or binding table entry is currently in use but the node ID corresponding to the EUI64 in the table is currently unknown.
#define EMBER_WILDCARD_PROFILE_ID 0xFFFF |
The profile ID used to address all the public profiles.
#define EMBER_ZDO_ENDPOINT 0 |
The endpoint where the ZigBee Device Object (ZDO) resides.
#define EMBER_ZDO_PROFILE_ID 0x0000 |
The profile ID used by the ZigBee Device Object (ZDO).
#define EMBER_ZIGBEE_COORDINATOR_ADDRESS 0x0000 |
The network ID of the coordinator in a ZigBee network is 0x0000.
#define emberInitializeNetworkParameters | ( |
parameters
|
) | ( MEMSET (parameters, 0, sizeof( EmberNetworkParameters ))) |
#define emberIsZigbeeBroadcastAddress | ( |
address
|
) | ( EMBER_MIN_BROADCAST_ADDRESS <= ((uint16_t) (address))) |
#define END_DEVICE_ANNOUNCE 0x0013 |
#define END_DEVICE_ANNOUNCE_RESPONSE 0x8013 |
#define END_DEVICE_BIND_REQUEST 0x0020 |
#define END_DEVICE_BIND_RESPONSE 0x8020 |
#define EUI64_SIZE 8 |
Size of EUI64 (an IEEE address) in bytes (8).
#define EXTENDED_PAN_ID_SIZE 8 |
Size of an extended PAN identifier in bytes (8).
#define FIND_NODE_CACHE_REQUEST 0x001C |
#define FIND_NODE_CACHE_RESPONSE 0x801C |
#define IEEE_ADDRESS_REQUEST 0x0001 |
#define IEEE_ADDRESS_RESPONSE 0x8001 |
#define LEAVE_REQUEST 0x0034 |
#define LEAVE_REQUEST_REJOIN_FLAG 0x80 |
#define LEAVE_REQUEST_REMOVE_CHILDREN_FLAG 0x40 |
#define LEAVE_RESPONSE 0x8034 |
#define LQI_TABLE_REQUEST 0x0031 |
#define LQI_TABLE_RESPONSE 0x8031 |
#define MATCH_DESCRIPTORS_REQUEST 0x0006 |
#define MATCH_DESCRIPTORS_RESPONSE 0x8006 |
#define MULTICAST_BINDING 0x01 |
#define NETWORK_ADDRESS_REQUEST 0x0000 |
#define NETWORK_ADDRESS_RESPONSE 0x8000 |
#define NETWORK_DISCOVERY_REQUEST 0x0030 |
#define NETWORK_DISCOVERY_RESPONSE 0x8030 |
#define NODE_DESCRIPTOR_REQUEST 0x0002 |
#define NODE_DESCRIPTOR_RESPONSE 0x8002 |
#define NWK_UNSOLICITED_ENHANCED_UPDATE_NOTIFY 0x803B |
#define NWK_UPDATE_ENHANCED_REQUEST 0x0039 |
#define NWK_UPDATE_ENHANCED_RESPONSE 0x8039 |
#define NWK_UPDATE_IEEE_JOINING_LIST_REPONSE 0x803A |
#define NWK_UPDATE_IEEE_JOINING_LIST_REQUEST 0x003A |
#define NWK_UPDATE_REQUEST 0x0038 |
#define NWK_UPDATE_RESPONSE 0x8038 |
#define PARENT_ANNOUNCE 0x001F |
#define PARENT_ANNOUNCE_RESPONSE 0x801F |
#define PERMIT_JOINING_REQUEST 0x0036 |
#define PERMIT_JOINING_RESPONSE 0x8036 |
#define PHY_INDEX_NATIVE 0 |
PHY index for 2.4 GHz radio interface, valid for simultaneous multi radio network.
#define PHY_INDEX_PRO2PLUS 1 |
PHY index for Sub-GHz radio interface, valid for simultaneous multi radio network.
#define POWER_DESCRIPTOR_REQUEST 0x0003 |
#define POWER_DESCRIPTOR_RESPONSE 0x8003 |
#define ROUTING_TABLE_REQUEST 0x0032 |
#define ROUTING_TABLE_RESPONSE 0x8032 |
#define SIMPLE_DESCRIPTOR_REQUEST 0x0004 |
#define SIMPLE_DESCRIPTOR_RESPONSE 0x8004 |
#define SYSTEM_SERVER_DISCOVERY_REQUEST 0x0015 |
#define SYSTEM_SERVER_DISCOVERY_RESPONSE 0x8015 |
#define UNBIND_REQUEST 0x0022 |
#define UNBIND_RESPONSE 0x8022 |
#define UNICAST_BINDING 0x03 |
#define UNICAST_MANY_TO_ONE_BINDING 0x83 |
#define USER_DESCRIPTOR_CONFIRM 0x8014 |
#define USER_DESCRIPTOR_REQUEST 0x0011 |
#define USER_DESCRIPTOR_RESPONSE 0x8011 |
#define USER_DESCRIPTOR_SET 0x0014 |
#define WEAK_TEST |
Typedef Documentation
typedef uint16_t EmberDutyCycleHectoPct |
The percent of duty cycle for a limit.
Duty cycle, limits, and thresholds are reported in units of percent * 100 (i.e., 10000 = 100.00%, 1 = 0.01%).
typedef uint8_t EmberEUI64[ EUI64_SIZE ] |
EUI 64-bit ID (an IEEE address).
typedef uint8_t EmberLibraryStatus |
This indicates the presence, absence, or status of an Ember stack library.
typedef uint16_t EmberMacFilterMatchData |
This is a bitmask describing a filter for MAC data messages that the stack should accept and pass through to the application.
typedef uint8_t EmberMessageBuffer |
Incoming and outgoing messages are stored in buffers. These buffers are allocated and freed as needed.
Buffers are 32 bytes in length and can be linked together to hold longer messages.
See
packet-buffer.h
for APIs related to stack and linked buffers.
typedef uint16_t EmberMulticastId |
16-bit ZigBee multicast group identifier.
typedef uint16_t EmberNodeId |
16-bit ZigBee network address.
typedef uint16_t EmberPanId |
802.15.4 PAN ID.
typedef uint8_t EmberRadioPowerMode |
Radio power mode.
typedef uint8_t EmberTaskId |
brief An identifier for a task.
Enumeration Type Documentation
anonymous enum |
anonymous enum |
enum EmberApsOption |
Options to use when sending a message.
The discover-route, APS-retry, and APS-indirect options may be used together. Poll response cannot be combined with any other options.
Enumerator | |
---|---|
EMBER_APS_OPTION_NONE |
No options. |
EMBER_APS_OPTION_DSA_SIGN |
This signs the application layer message body (APS Frame not included) and appends the ECDSA signature to the end of the message, which is needed by Smart Energy applications and requires the CBKE and ECC libraries. The ::emberDsaSignHandler() function is called after DSA signing is complete but before the message has been sent by the APS layer. Note that when passing a buffer to the stack for DSA signing, the final byte in the buffer has a special significance as an indicator of how many leading bytes should be ignored for signature purposes. See the API documentation of emberDsaSign() or the dsaSign EZSP command for more details about this requirement. |
EMBER_APS_OPTION_ENCRYPTION |
Send the message using APS Encryption using the Link Key shared with the destination node to encrypt the data at the APS Level. |
EMBER_APS_OPTION_RETRY |
Resend the message using the APS retry mechanism. This option and the enable route discovery option must be enabled for an existing route to be repaired automatically. |
EMBER_APS_OPTION_ENABLE_ROUTE_DISCOVERY |
Send the message with the NWK 'enable route discovery' flag, which causes a route discovery to be initiated if no route to the destination is known. Note that in the mesh stack, this option and the APS retry option must be enabled an existing route to be repaired automatically. |
EMBER_APS_OPTION_FORCE_ROUTE_DISCOVERY |
Send the message with the NWK 'force route discovery' flag, which causes a route discovery to be initiated even if one is known. |
EMBER_APS_OPTION_SOURCE_EUI64 |
Include the source EUI64 in the network frame. |
EMBER_APS_OPTION_DESTINATION_EUI64 |
Include the destination EUI64 in the network frame. |
EMBER_APS_OPTION_ENABLE_ADDRESS_DISCOVERY |
Send a ZDO request to discover the node ID of the destination if it is not already known. |
EMBER_APS_OPTION_POLL_RESPONSE |
This message is being sent in response to a call to emberPollHandler() . It causes the message to be sent immediately instead of being queued up until the next poll from the (end device) destination. |
EMBER_APS_OPTION_ZDO_RESPONSE_REQUIRED |
This incoming message is a valid ZDO request and the application is responsible for sending a ZDO response. This flag is used only within emberIncomingMessageHandler() when EMBER_APPLICATION_RECEIVES_UNSUPPORTED_ZDO_REQUESTS is defined. |
EMBER_APS_OPTION_FRAGMENT |
This message is part of a fragmented message. This option may only be set for unicasts. The groupId field gives the index of this fragment in the low-order byte. If the low-order byte is zero this is the first fragment and the high-order byte contains the number of fragments in the message. |
enum EmberApsRejoinMode |
enum EmberBindingType |
Defines binding types.
enum EmberClusterListId |
enum EmberCounterType |
Defines the events reported to the application by the emberCounterHandler() .
Enumerator | |
---|---|
EMBER_COUNTER_MAC_RX_BROADCAST |
The MAC received a broadcast. |
EMBER_COUNTER_MAC_TX_BROADCAST |
The MAC transmitted a broadcast. |
EMBER_COUNTER_MAC_RX_UNICAST |
The MAC received a unicast. |
EMBER_COUNTER_MAC_TX_UNICAST_SUCCESS |
The MAC successfully transmitted a unicast. |
EMBER_COUNTER_MAC_TX_UNICAST_RETRY |
The MAC retried a unicast. This is a placeholder and is not used by the
emberCounterHandler()
callback. Instead, the number of MAC retries are returned in the data parameter of the callback for the
|
EMBER_COUNTER_MAC_TX_UNICAST_FAILED |
The MAC unsuccessfully transmitted a unicast. |
EMBER_COUNTER_APS_DATA_RX_BROADCAST |
The APS layer received a data broadcast. |
EMBER_COUNTER_APS_DATA_TX_BROADCAST |
The APS layer transmitted a data broadcast. |
EMBER_COUNTER_APS_DATA_RX_UNICAST |
The APS layer received a data unicast. |
EMBER_COUNTER_APS_DATA_TX_UNICAST_SUCCESS |
The APS layer successfully transmitted a data unicast. |
EMBER_COUNTER_APS_DATA_TX_UNICAST_RETRY |
The APS layer retried a data unicast. This is a placeholder and is not used by the
|
EMBER_COUNTER_APS_DATA_TX_UNICAST_FAILED |
The APS layer unsuccessfully transmitted a data unicast. |
EMBER_COUNTER_ROUTE_DISCOVERY_INITIATED |
The network layer successfully submitted a new route discovery to the MAC. |
EMBER_COUNTER_NEIGHBOR_ADDED |
An entry was added to the neighbor table. |
EMBER_COUNTER_NEIGHBOR_REMOVED |
An entry was removed from the neighbor table. |
EMBER_COUNTER_NEIGHBOR_STALE |
A neighbor table entry became stale because it had not been heard from. |
EMBER_COUNTER_JOIN_INDICATION |
A node joined or rejoined to the network via this node. |
EMBER_COUNTER_CHILD_REMOVED |
An entry was removed from the child table. |
EMBER_COUNTER_ASH_OVERFLOW_ERROR |
EZSP-UART only. An overflow error occurred in the UART. |
EMBER_COUNTER_ASH_FRAMING_ERROR |
EZSP-UART only. A framing error occurred in the UART. |
EMBER_COUNTER_ASH_OVERRUN_ERROR |
EZSP-UART only. An overrun error occurred in the UART. |
EMBER_COUNTER_NWK_FRAME_COUNTER_FAILURE |
A message was dropped at the Network layer because the NWK frame counter was not higher than the last message seen from that source. |
EMBER_COUNTER_APS_FRAME_COUNTER_FAILURE |
A message was dropped at the APS layer because the APS frame counter was not higher than the last message seen from that source. |
EMBER_COUNTER_ASH_XOFF |
EZSP-UART only. An XOFF was transmitted by the UART. |
EMBER_COUNTER_APS_LINK_KEY_NOT_AUTHORIZED |
An encrypted message was dropped by the APS layer because the sender's key has not been authenticated. As a result, the key is not authorized for use in APS data messages. |
EMBER_COUNTER_NWK_DECRYPTION_FAILURE |
A NWK encrypted message was received but dropped because decryption failed. |
EMBER_COUNTER_APS_DECRYPTION_FAILURE |
An APS encrypted message was received but dropped because decryption failed. |
EMBER_COUNTER_ALLOCATE_PACKET_BUFFER_FAILURE |
The number of failures to allocate a set of linked packet buffers. This doesn't necessarily mean that the packet buffer count was 0 at the time, but that the number requested was greater than the number free. |
EMBER_COUNTER_RELAYED_UNICAST |
The number of relayed unicast packets. |
EMBER_COUNTER_PHY_TO_MAC_QUEUE_LIMIT_REACHED |
The number of times a packet was dropped due to reaching the preset PHY-to-MAC queue limit (emMaxPhyToMacQueueLength). The limit will determine how many messages are accepted by the PHY between calls to emberTick() . After that limit is reached, packets will be dropped. The number of dropped packets will be recorded in this counter. NOTE: For each call to emberCounterHandler() there may be more than 1 packet that was dropped due to the limit reached. The actual number of packets dropped will be returned in the 'data' parameter passed to that function. |
EMBER_COUNTER_PACKET_VALIDATE_LIBRARY_DROPPED_COUNT |
The number of times a packet was dropped due to the packet-validate library checking a packet and rejecting it due to length or other formatting problems. |
EMBER_COUNTER_TYPE_NWK_RETRY_OVERFLOW |
The number of times the NWK retry queue is full and a new message failed to be added. |
EMBER_COUNTER_PHY_CCA_FAIL_COUNT |
The number of times the PHY layer was unable to transmit due to a failed CCA. |
EMBER_COUNTER_BROADCAST_TABLE_FULL |
The number of times a NWK broadcast was dropped because the broadcast table was full. |
EMBER_COUNTER_PTA_LO_PRI_REQUESTED |
The number of times a low-priority packet traffic arbitration request has been made. |
EMBER_COUNTER_PTA_HI_PRI_REQUESTED |
The number of times a high-priority packet traffic arbitration request has been made. |
EMBER_COUNTER_PTA_LO_PRI_DENIED |
The number of times a low-priority packet traffic arbitration request has been denied. |
EMBER_COUNTER_PTA_HI_PRI_DENIED |
The number of times a high-priority packet traffic arbitration request has been denied. |
EMBER_COUNTER_PTA_LO_PRI_TX_ABORTED |
The number of times a low-priority packet traffic arbitration transmission has been aborted. |
EMBER_COUNTER_PTA_HI_PRI_TX_ABORTED |
The number of times a high-priority packet traffic arbitration transmission has been aborted. |
EMBER_COUNTER_ADDRESS_CONFLICT_SENT |
The number of times an address conflict has cuased node_id change, and an addresss conflict error is sent |
EMBER_COUNTER_TYPE_COUNT |
A placeholder giving the number of Ember counter types. |
This is the Current Security Bitmask that details the use of various security features.
enum EmberDeviceUpdate |
The Status of the Update Device message sent to the Trust Center. The device may have joined or rejoined insecurely, rejoined securely, or left. MAC Security has been deprecated and therefore there is no secure join.
Enumerator | |
---|---|
EMBER_STANDARD_SECURITY_SECURED_REJOIN | |
EMBER_STANDARD_SECURITY_UNSECURED_JOIN | |
EMBER_DEVICE_LEFT | |
EMBER_STANDARD_SECURITY_UNSECURED_REJOIN |
enum EmberEntropySource |
enum EmberEventUnits |
Either marks an event as inactive or specifies the units for the event execution time.
This is the Extended Security Bitmask that controls the use of various extended security features.
Defines the possible incoming message types.
This is the Initial Security Bitmask that controls the use of various security features.
Enumerator | |
---|---|
EMBER_DISTRIBUTED_TRUST_CENTER_MODE |
Enables Distributed Trust Center Mode for the device forming the network. (Previously known as EMBER_NO_TRUST_CENTER_MODE ) |
EMBER_TRUST_CENTER_GLOBAL_LINK_KEY |
Enables a Global Link Key for the Trust Center. All nodes will share the same Trust Center Link Key. |
EMBER_PRECONFIGURED_NETWORK_KEY_MODE |
Enables devices that perform MAC Association with a pre-configured Network Key to join the network. It is only set on the Trust Center. |
EMBER_HAVE_TRUST_CENTER_EUI64 |
This denotes that the EmberInitialSecurityState::preconfiguredTrustCenterEui64 has a value in it containing the trust center EUI64. The device will only join a network and accept commands from a trust center with that EUI64. Normally this bit is NOT set and the EUI64 of the trust center is learned during the join process. When commissioning a device to join onto an existing network that is using a trust center and without sending any messages, this bit must be set and the field EmberInitialSecurityState::preconfiguredTrustCenterEui64 must be populated with the appropriate EUI64. |
EMBER_TRUST_CENTER_USES_HASHED_LINK_KEY |
This denotes that the EmberInitialSecurityState::preconfiguredKey is not the actual Link Key but a Root Key known only to the Trust Center. It is hashed with the IEEE Address of the destination device to create the actual Link Key used in encryption. This is bit is only used by the Trust Center. The joining device need not set this. |
EMBER_HAVE_PRECONFIGURED_KEY |
This denotes that the EmberInitialSecurityState::preconfiguredKey element has valid data that should be used to configure the initial security state. |
EMBER_HAVE_NETWORK_KEY |
This denotes that the EmberInitialSecurityState::networkKey element has valid data that should be used to configure the initial security state. |
EMBER_GET_LINK_KEY_WHEN_JOINING |
This denotes to a joining node that it should attempt to acquire a Trust Center Link Key during joining. This is necessary if the device does not have a pre-configured key, or wants to obtain a new one (since it may be using a well-known key during joining). |
EMBER_REQUIRE_ENCRYPTED_KEY |
This denotes that a joining device should only accept an encrypted network key from the Trust Center (using its pre-configured key). A key sent in-the-clear by the Trust Center will be rejected and the join will fail. This option is only valid when using a pre-configured key. |
EMBER_NO_FRAME_COUNTER_RESET |
This denotes whether the device should NOT reset its outgoing frame counters (both NWK and APS) when emberSetInitialSecurityState() is called. Normally it is advised to reset the frame counter before joining a new network. However, when a device is joining to the same network again (but not using emberRejoinNetwork() ), it should keep the NWK and APS frame counters stored in its tokens. NOTE: The application is allowed to dynamically change the behavior via EMBER_EXT_NO_FRAME_COUNTER_RESET field. |
EMBER_GET_PRECONFIGURED_KEY_FROM_INSTALL_CODE |
This denotes that the device should obtain its pre-configured key from an installation code stored in the manufacturing token. The token contains a value that will be hashed to obtain the actual pre-configured key. If that token is not valid, the call to emberSetInitialSecurityState() will fail. |
enum EmberJoinDecision |
enum EmberJoinMethod |
The type of method used for joining.
Enumerator | |
---|---|
EMBER_USE_MAC_ASSOCIATION |
Devices normally use MAC association to join a network, which respects the "permit joining" flag in the MAC beacon. This value should be used by default. |
EMBER_USE_NWK_REJOIN |
For networks where the "permit joining" flag is never turned on, devices will need to use a ZigBee NWK Rejoin. This value causes the rejoin to be sent withOUT NWK security and the Trust Center will be asked to send the NWK key to the device. The NWK key sent to the device can be encrypted with the device's corresponding Trust Center link key. That is determined by the EmberJoinDecision on the Trust Center returned by the emberTrustCenterJoinHandler() . |
EMBER_USE_NWK_REJOIN_HAVE_NWK_KEY | |
EMBER_USE_CONFIGURED_NWK_STATE |
For networks where all network and security information is known ahead of time, a router device may be commissioned such that it does not need to send any messages to begin communicating on the network. |
enum EmberKeySettings |
enum EmberKeyStatus |
This denotes the status of an attempt to establish a key with another device.
This bitmask describes the presence of fields within the EmberKeyStruct .
Enumerator | |
---|---|
EMBER_KEY_HAS_SEQUENCE_NUMBER |
This indicates that the key has a sequence number associated with it. (i.e., a Network Key). |
EMBER_KEY_HAS_OUTGOING_FRAME_COUNTER |
This indicates that the key has an outgoing frame counter and the corresponding value within the EmberKeyStruct has been populated. |
EMBER_KEY_HAS_INCOMING_FRAME_COUNTER |
This indicates that the key has an incoming frame counter and the corresponding value within the EmberKeyStruct has been populated. |
EMBER_KEY_HAS_PARTNER_EUI64 |
This indicates that the key has an associated Partner EUI64 address and the corresponding value within the EmberKeyStruct has been populated. |
EMBER_KEY_IS_AUTHORIZED |
This indicates the key is authorized for use in APS data messages. If the key is not authorized for use in APS data messages it has not yet gone through a key agreement protocol, such as CBKE (i.e., ECC). |
EMBER_KEY_PARTNER_IS_SLEEPY |
This indicates that the partner associated with the link is a sleepy end device. This bit is set automatically if the local device hears a device announce from the partner indicating it is not an 'RX on when idle' device. |
EMBER_UNCONFIRMED_TRANSIENT_KEY |
This indicates that the transient key which is being added is unconfirmed. This bit is set when we add a transient key while the EmberTcLinkKeyRequestPolicy is EMBER_ALLOW_TC_LINK_KEY_REQUEST_AND_GENERATE_NEW_KEY |
enum EmberKeyType |
This denotes the type of security key.
enum EmberLeaveReason |
EmberReleaseTypeStruct Data that relates release type to the correct string.
EmberReleaseTypeStruct Data that relates release type to the correct string.
Enumerator | |
---|---|
EMBER_ZIGBEE_LEAVE_AND_REJOIN |
Leave and rejoin. |
EMBER_ZIGBEE_LEAVE_WITHOUT_REJOIN |
Leave. |
The types of MAC passthrough messages that an application may receive. This is a bitmask.
Defines the options that should be used when initializing the node's network configuration.
enum EmberNetworkScanType |
Type for a network scan.
enum EmberNetworkStatus |
Defines the possible join states for a node.
enum EmberNodeType |
Defines the possible types of nodes and the roles that a node might play in a network.
Enumerator | |
---|---|
EMBER_UNKNOWN_DEVICE |
The device is not joined. |
EMBER_COORDINATOR |
Will relay messages and can act as a parent to other nodes. |
EMBER_ROUTER |
Will relay messages and can act as a parent to other nodes. |
EMBER_END_DEVICE |
Communicates only with its parent and will not relay messages. |
EMBER_SLEEPY_END_DEVICE |
An end device whose radio can be turned off to save power. The application must call emberPollForData() to receive messages. |
Defines the possible outgoing message types.
Enumerator | |
---|---|
EMBER_OUTGOING_DIRECT |
Unicast sent directly to an EmberNodeId. |
EMBER_OUTGOING_VIA_ADDRESS_TABLE |
Unicast sent using an entry in the address table. |
EMBER_OUTGOING_VIA_BINDING |
Unicast sent using an entry in the binding table. |
EMBER_OUTGOING_MULTICAST |
Multicast message. This value is passed to emberMessageSentHandler() only. It may not be passed to emberSendUnicast() . |
EMBER_OUTGOING_MULTICAST_WITH_ALIAS |
An aliased multicast message. This value is passed to emberMessageSentHandler() only. It may not be passed to emberSendUnicast() . |
EMBER_OUTGOING_BROADCAST_WITH_ALIAS |
An aliased Broadcast message. This value is passed to emberMessageSentHandler() only. It may not be passed to emberSendUnicast() . |
EMBER_OUTGOING_BROADCAST |
A broadcast message. This value is passed to emberMessageSentHandler() only. It may not be passed to emberSendUnicast() . |
enum EmberPacketAction |
enum EmberRejoinReason |
Notes the last rejoin reason.
enum EmberVersionType |
enum EmberZdoServerMask |
enum EmberZdoStatus |
A type of command received by the stack.
This enumeration indicates which protocol layer in the Ember stack an incoming command was meant for, or from which protocol layer an outgoing command is being sent.
A type of packet received by the stack.
This enum provides a way to indicate which protocol layer in the Ember stack an incoming packet is meant for, or from which protocol layer an outgoing command is being sent from.
Function Documentation
uint8_t* ember283k1SignatureContents | ( | Ember283k1SignatureData * |
sig
|
) |
This function allows access to the actual ECDSA signature data of the Ember283k1SignatureData structure.
uint8_t* emberCertificate283k1Contents | ( | EmberCertificate283k1Data * |
cert
|
) |
This function allows access to the actual certificate data bytes of the Ember283k1CertificateData structure.
- Parameters
-
cert
A pointer to an ::Ember283k1CertificateData structure.
- Returns
- uint8_t* Returns a pointer to the first byte of the certificate data.
uint8_t* emberCertificateContents | ( | EmberCertificateData * |
cert
|
) |
This function allows access to the actual certificate data bytes of the EmberCertificateData structure.
- Parameters
-
cert
A pointer to an EmberCertificateData structure.
- Returns
- uint8_t* Returns a pointer to the first byte of the certificate data.
uint8_t* emberKeyContents | ( | EmberKeyData * |
key
|
) |
This function allows access to the actual key data bytes of the EmberKeyData structure.
- Parameters
-
key
A pointer to an EmberKeyData structure.
- Returns
- uint8_t* Returns a pointer to the first byte of the Key data.
uint8_t* emberPrivateKey283k1Contents | ( | EmberPrivateKey283k1Data * |
key
|
) |
This function allows access to the actual private key data bytes of the Ember283k1PrivateKeyData structure.
- Parameters
-
key
A pointer to an Ember283k1PrivateKeyData structure.
- Returns
- uint8_t* Returns a pointer to the first byte of the private key data.
uint8_t* emberPrivateKeyContents | ( | EmberPrivateKeyData * |
key
|
) |
This function allows access to the actual private key data bytes of the EmberPrivateKeyData structure.
- Parameters
-
key
A pointer to an EmberPrivateKeyData structure.
- Returns
- uint8_t* Returns a pointer to the first byte of the private key data.
uint8_t* emberPublicKey283k1Contents | ( | EmberPublicKey283k1Data * |
key
|
) |
This function allows access to the actual public key data bytes of the Ember283k1PublicKeyData structure.
- Parameters
-
key
A pointer to an Ember283k1PublicKeyData structure.
- Returns
- uint8_t* Returns a pointer to the first byte of the public key data.
uint8_t* emberPublicKeyContents | ( | EmberPublicKeyData * |
key
|
) |
This function allows access to the actual public key data bytes of the EmberPublicKeyData structure.
- Parameters
-
key
A pointer to an EmberPublicKeyData structure.
- Returns
- uint8_t* Returns a pointer to the first byte of the public key data.
uint8_t* emberSignatureContents | ( | EmberSignatureData * |
sig
|
) |
This function allows access to the actual ECDSA signature data of the EmberSignatureData structure.
uint8_t* emberSmacContents | ( | EmberSmacData * |
key
|
) |
This function allows access to the actual SMAC (Secured Message Authentication Code) data of the EmberSmacData structure.
Variable Documentation
const EmberVersion emberVersion |
A structure containing the version information.