Connect Data Types#
Definitions of Connect data types used by various Connect API functions.
See ember-types.h for source code.
Modules#
Enumerations#
Define the possible types of nodes and the roles that a node might play in a network.
Defines the possible join states for a node.
Child flags.
Message options.
802.15.4 addressing mode.
Either marks an event as inactive or specifies the units for the event execution time.
Define tasks that prevent the stack from sleeping.
Define the event counters that can be requested from the application using emberGetCounter()
Define the PHY configuration of connect stack.
Define the type of calibration requested.
Typedefs#
EUI 64-bit ID (IEEE 802.15.4 long address).
IEEE 802.15.4 node ID. Also known as short address.
IEEE 802.15.4 PAN ID.
Message length in bytes.
An identifier for a task.
An event queue is currently just a list of events ordered by execution time.
Complete events with a control and a handler procedure.
Buffers used by the memory buffer system.
Functions#
This macro allows the programmer to gain access to the key data bytes of the EmberKeyData structure.
Macros#
Size of an extended PAN identifier in bytes (8).
Size of EUI64 (an IEEE address) in bytes (8).
Size of an encryption key in bytes (16).
A distinguished network ID that will never be assigned to any node. Used to indicate the absence of a node ID.
Broadcast address.
Special short address indicating the node should use long addressing as source address.
The coordinator short address.
Enumeration Documentation#
EmberNodeType#
EmberNodeType
Define the possible types of nodes and the roles that a node might play in a network.
Enumerator | |
---|---|
EMBER_UNKNOWN_DEVICE | Device is not in network. |
EMBER_STAR_COORDINATOR | Extended star mode device: Will relay messages and can act as a parent to range extender and end device nodes. A node can be started as a coordinator using the emberFormNetwork() API. |
EMBER_STAR_RANGE_EXTENDER | Extended star mode device: Will relay messages and can act as a parent to end device nodes. Joins to a coordinator. A node can be started as a range extender using the emberJoinNetwork() or emberJoinNetworkExtended() API. |
EMBER_STAR_END_DEVICE | Extended star mode device: Communicates only with its parent and will not relay messages. A node can be started as an end device using the emberJoinNetwork() or emberJoinNetworkExtended() API. |
EMBER_STAR_SLEEPY_END_DEVICE | Extended star mode device: An end device whose radio is turned off when not communicating to save power. The application must call emberPollForData() to receive messages. A node can be started as a sleepy end device using the emberJoinNetwork() or emberJoinNetworkExtended() API. |
EMBER_DIRECT_DEVICE | Direct mode device: A device able to send and receive messages from other devices in range on the same PAN ID, with no star topology restrictions. Such device does not relay messages. A node can be started as a direct device by using the emberJoinCommissioned() API. |
EMBER_MAC_MODE_DEVICE | MAC mode device: A device able to send and receive MAC-level messages. A node can be started as a MAC mode device by using the emberJoinCommissioned(), the emberJoinNetworkExtended() or the emberMacFormNetwork() API. |
EMBER_MAC_MODE_SLEEPY_DEVICE | MAC mode device: A sleepy device able to send and receive MAC-level messages. The radio on the device is turned off when not communicating. The application must call emberPollForData() to receive messages. A node can be started as a sleepy MAC mode device by using the emberJoinCommissioned() API or the emberJoinNetworkExtended() API. |
106
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberNetworkStatus#
EmberNetworkStatus
Defines the possible join states for a node.
Enumerator | |
---|---|
EMBER_NO_NETWORK | The node is not associated with a network in any way. |
EMBER_JOINING_NETWORK | The node is currently attempting to join a network. |
EMBER_JOINED_NETWORK | The node is joined to a network. |
EMBER_RADIO_TEST | The node is currently using its radio for test |
162
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberChildFlags#
EmberChildFlags
Child flags.
Enumerator | |
---|---|
EMBER_CHILD_FLAGS_DEVICE_IS_RANGE_EXTENDER_BIT | The child is a range extender. |
EMBER_CHILD_FLAGS_DEVICE_IS_SLEEPY_BIT | The child is a sleepy end device. |
EMBER_CHILD_FLAGS_HAVE_PENDING_DATA_BIT | The node has data pending for the child. |
EMBER_CHILD_FLAGS_AES_SECURITY_CAPABLE_BIT | The child supports AES-based security. |
EMBER_CHILD_FLAG_DEVICE_IS_EXTENDED_BIT | The child is connected through range extender. |
198
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberMessageOptions#
EmberMessageOptions
Message options.
Enumerator | |
---|---|
EMBER_OPTIONS_NONE | No options. |
EMBER_OPTIONS_SECURITY_ENABLED | The packet should be sent out encrypted. |
EMBER_OPTIONS_ACK_REQUESTED | An acknowledgment should be requested for the outgoing packet. |
EMBER_OPTIONS_HIGH_PRIORITY | The packet should be sent with high priority. High priority messages are added to the head of transmit queue, other messages are added to the tail. |
EMBER_OPTIONS_INDIRECT | The packet should be sent via the indirect queue. This option only applies to nodes with EMBER_MAC_MODE_DEVICE or EMBER_MAC_MODE_SLEEPY_DEVICE node type. |
225
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberMacAddressMode#
EmberMacAddressMode
802.15.4 addressing mode.
Enumerator | |
---|---|
EMBER_MAC_ADDRESS_MODE_NONE | No address on this field. |
EMBER_MAC_ADDRESS_MODE_SHORT | Short addressing mode. |
EMBER_MAC_ADDRESS_MODE_LONG | Long addressing mode. |
338
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberEventUnits#
EmberEventUnits
Either marks an event as inactive or specifies the units for the event execution time.
Enumerator | |
---|---|
EMBER_EVENT_INACTIVE | The event is not scheduled to run. |
EMBER_EVENT_MS_TIME | The execution time is in approximate milliseconds. |
EMBER_EVENT_QS_TIME | The execution time is in 'binary' quarter seconds (256 timer ticks). |
EMBER_EVENT_MINUTE_TIME | The execution time is in 'binary' minutes (65536 timer ticks). |
EMBER_EVENT_ZERO_DELAY | The event is scheduled to run at the earliest opportunity. |
521
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
@2#
@2
Define tasks that prevent the stack from sleeping.
Enumerator | |
---|---|
EMBER_OUTGOING_MESSAGES | Messages are waiting for transmission. |
EMBER_INCOMING_MESSAGES | One or more incoming messages are processed. |
EMBER_RADIO_IS_ON | The radio is currently powered on. On sleepy devices, the radio is turned off when not in use. On non-sleepy devices, i.e., EMBER_STAR_COORDINATOR, EMBER_STAR_RANGE_EXTENDER, EMBER_STAR_END_DEVICE, or EMBER_MAC_MODE_DEVICE, the radio is always on. |
EMBER_ASSOCIATING | The node is currently trying to associate to a Connect network. |
EMBER_SCANNING | The node is currently performing a MAC-level scanning procedure. |
623
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberCounterType#
EmberCounterType
Define the event counters that can be requested from the application using emberGetCounter()
Enumerator | |
---|---|
EMBER_COUNTER_PHY_IN_PACKETS | Every packet that comes in over the radio (except MAC ACKs). |
EMBER_COUNTER_PHY_OUT_PACKETS | Every packet that goes out over the radio (except MAC ACKs). |
EMBER_COUNTER_MAC_IN_UNICAST | Incoming MAC layer unicasts. |
EMBER_COUNTER_MAC_IN_BROADCAST | Incoming MAC layer broadcasts. |
EMBER_COUNTER_MAC_OUT_UNICAST_NO_ACK | Outgoing MAC layer unicasts that do not require an ACK. |
EMBER_COUNTER_MAC_OUT_UNICAST_ACK_SUCCESS | Outgoing MAC layer unicasts that required an ACK, for which an ACK was received (possibly after retrying). |
EMBER_COUNTER_MAC_OUT_UNICAST_ACK_FAIL | Outgoing MAC layer unicasts that required an ACK, for which an ACK was never received (even after retrying). |
EMBER_COUNTER_MAC_OUT_UNICAST_CCA_FAIL | Outgoing MAC layer packets which were never transmitted because clear channel assessment always returned busy. |
EMBER_COUNTER_MAC_OUT_UNICAST_RETRY | Outgoing MAC layer unicast retries. This does not count the initial transmission. Note a single MAC transmission can result in multiple retries. |
EMBER_COUNTER_MAC_OUT_BROADCAST | Outgoing MAC layer broadcasts |
EMBER_COUNTER_MAC_OUT_BROADCAST_CCA_FAIL | Outgoing MAC layer broadcasts which were never transmitted because clear channel assessment always returned busy. |
EMBER_COUNTER_MAC_OUT_ENCRYPT_FAIL | Outgoing MAC layer messages which were not transmitted due to security error e.g. because security key was not set. |
EMBER_COUNTER_MAC_DROP_IN_MEMORY | Dropped incoming MAC layer packets (out of memory) |
EMBER_COUNTER_MAC_DROP_IN_FRAME_COUNTER | Dropped incoming MAC layer packets (invalid frame counter) |
EMBER_COUNTER_MAC_DROP_IN_DECRYPT | Dropped incoming MAC layer packets (can't decrypt) |
EMBER_COUNTER_NWK_OUT_FORWARDING | Outgoing Network layer forwarded packets |
EMBER_COUNTER_NWK_IN_SUCCESS | Incoming Network layer data frames correctly processed |
EMBER_COUNTER_NWK_DROP_IN_WRONG_SOURCE | Dropped incoming Network layer packets (wrong source node) |
EMBER_COUNTER_NWK_DROP_IN_FORWARDING | Dropped incoming Network layer packets (can't forward) |
EMBER_COUNTER_UART_IN_DATA | NCP UART in data packet |
EMBER_COUNTER_UART_IN_MANAGEMENT | NCP UART in management packet |
EMBER_COUNTER_UART_IN_FAIL | NCP UART in frame errors |
EMBER_COUNTER_UART_OUT_DATA | NCP UART out data packet |
EMBER_COUNTER_UART_OUT_MANAGEMENT | NCP UART out management packet |
EMBER_COUNTER_UART_OUT_FAIL | NCP UART out frame errors |
EMBER_COUNTER_ROUTE_2_HOP_LOOP | |
EMBER_COUNTER_BUFFER_ALLOCATION_FAIL | |
EMBER_ASH_V3_ACK_SENT | ASHv3 ACK frame sent |
EMBER_ASH_V3_ACK_RECEIVED | ASHv3 ACK frame received |
EMBER_ASH_V3_NACK_SENT | ASHv3 NACK frame sent |
EMBER_ASH_V3_NACK_RECEIVED | ASHv3 NACK frame received |
EMBER_ASH_V3_RESEND | ASHv3 resends of frames that were not acked |
EMBER_ASH_V3_BYTES_SENT | ASHv3 number of bytes sent |
EMBER_ASH_V3_TOTAL_BYTES_RECEIVED | ASHv3 number of bytes received |
EMBER_ASH_V3_VALID_BYTES_RECEIVED | ASHv3 number of valid bytes received |
EMBER_ASH_V3_PAYLOAD_BYTES_SENT | ASHv3 number of payload bytes sent |
EMBER_COUNTER_TYPE_COUNT | A placeholder giving the number of Ember counter types. |
646
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberPhyType#
EmberPhyType
Define the PHY configuration of connect stack.
Enumerator | |
---|---|
EMBER_RADIO_CONFIGURATOR | Connect uses radio configurator PHY |
EMBER_STANDARD_PHY_2_4GHZ | Connect is configured to use only 2.4GHz standard PHY |
EMBER_STANDARD_PHY_915MHZ | Connect is configured to use only 915MHz standard PHY |
EMBER_STANDARD_PHY_863MHZ | Connect is configured to use only 863MHz standard PHY |
765
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberCalType#
EmberCalType
Define the type of calibration requested.
Enumerator | |
---|---|
EMBER_CAL_TEMP_VCO | Temperature calibration |
EMBER_CAL_IRCAL | Image Rejection calibration |
EMBER_CAL_ALL | Both calibrations |
788
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberTxStreamParameters#
EmberTxStreamParameters
Radio Stream mode.
Enumerator | |
---|---|
TX_STREAM_PN9 | Pseudo random PN9 byte sequence |
TX_STREAM_CW | An unmodulated carrier wave |
874
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
Typedef Documentation#
EmberEUI64#
typedef uint8_t EmberEUI64[EUI64_SIZE] [EUI64_SIZE]
EUI 64-bit ID (IEEE 802.15.4 long address).
73
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberNodeId#
typedef uint16_t EmberNodeId
IEEE 802.15.4 node ID. Also known as short address.
78
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberPanId#
typedef uint16_t EmberPanId
IEEE 802.15.4 PAN ID.
83
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberMessageLength#
typedef uint16_t EmberMessageLength
Message length in bytes.
219
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberTaskId#
typedef uint8_t EmberTaskId
An identifier for a task.
540
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
Event#
typedef struct Event_s Event
567
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EventQueue#
typedef struct EventQueue_s EventQueue
An event queue is currently just a list of events ordered by execution time.
575
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberEventData#
typedef const struct EmberEventData_S EmberEventData
Complete events with a control and a handler procedure.
An application typically creates an array of events along with their handlers. The main loop passes the array to emberRunEvents() to call the handlers of any events whose time has arrived.
606
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberBuffer#
typedef uint16_t EmberBuffer
Buffers used by the memory buffer system.
759
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
Function Documentation#
emberKeyContents#
uint8_t * emberKeyContents (EmberKeyData * key)
This macro allows the programmer to gain access to the key data bytes of the EmberKeyData structure.
[in] | key | A Pointer to an EmberKeyData structure. |
Returns
uint8_t* Returns a pointer to the first byte of the key data.
511
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
Macro Definition Documentation#
EXTENDED_PAN_ID_SIZE#
#define EXTENDED_PAN_ID_SIZEValue:
8
Size of an extended PAN identifier in bytes (8).
58
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EUI64_SIZE#
#define EUI64_SIZEValue:
8
Size of EUI64 (an IEEE address) in bytes (8).
63
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EMBER_ENCRYPTION_KEY_SIZE#
#define EMBER_ENCRYPTION_KEY_SIZEValue:
16
Size of an encryption key in bytes (16).
68
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EMBER_NULL_NODE_ID#
#define EMBER_NULL_NODE_IDValue:
0xFFFFu
A distinguished network ID that will never be assigned to any node. Used to indicate the absence of a node ID.
89
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EMBER_BROADCAST_ADDRESS#
#define EMBER_BROADCAST_ADDRESSValue:
0xFFFF
Broadcast address.
92
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EMBER_USE_LONG_ADDRESS#
#define EMBER_USE_LONG_ADDRESSValue:
0xFFFE
Special short address indicating the node should use long addressing as source address.
96
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EMBER_COORDINATOR_ADDRESS#
#define EMBER_COORDINATOR_ADDRESSValue:
0x0000
The coordinator short address.
99
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EMBER_CAL_INVALID_VALUE#
#define EMBER_CAL_INVALID_VALUEValue:
(0xFFFFFFFF)
804
of file /mnt/raid/workspaces/ws.r4wf6JzLX/overlay/gsdk/protocol/flex/stack/include/ember-types.h