Modules#

EmberNetworkParameters

EmberIncomingMessage

EmberOutgoingMessage

EmberMacAddress

EmberMacFrame

EmberIncomingMacMessage

EmberOutgoingMacMessage

EmberKeyData

EventActions

Event_s

EventQueue_s

EmberEventControl

EmberEventData_S

EmberTaskControl

Connect Data Types#

Definitions of Connect data types used by various Connect API functions.

See ember-types.h for source code.

Enumerations#

enum
EMBER_UNKNOWN_DEVICE = 0
EMBER_STAR_COORDINATOR = 1
EMBER_STAR_RANGE_EXTENDER = 2
EMBER_STAR_END_DEVICE = 3
EMBER_STAR_SLEEPY_END_DEVICE = 4
EMBER_DIRECT_DEVICE = 5
EMBER_MAC_MODE_DEVICE = 6
EMBER_MAC_MODE_SLEEPY_DEVICE = 7
}

Define the possible types of nodes and the roles that a node might play in a network.

enum
EMBER_NO_NETWORK
EMBER_JOINING_NETWORK
EMBER_JOINED_NETWORK
EMBER_RADIO_TEST
}

Defines the possible join states for a node.

enum
EMBER_CHILD_FLAGS_DEVICE_IS_RANGE_EXTENDER_BIT = 0x02
EMBER_CHILD_FLAGS_DEVICE_IS_SLEEPY_BIT = 0x04
EMBER_CHILD_FLAGS_HAVE_PENDING_DATA_BIT = 0x08
EMBER_CHILD_FLAGS_AES_SECURITY_CAPABLE_BIT = 0x10
EMBER_CHILD_FLAG_DEVICE_IS_EXTENDED_BIT = 0x20
}

Child flags.

enum
EMBER_OPTIONS_NONE = 0x00
EMBER_OPTIONS_SECURITY_ENABLED = 0x01
EMBER_OPTIONS_ACK_REQUESTED = 0x02
EMBER_OPTIONS_HIGH_PRIORITY = 0x04
EMBER_OPTIONS_INDIRECT = 0x08
}

Message options.

enum
EMBER_MAC_ADDRESS_MODE_NONE = 0x00
EMBER_MAC_ADDRESS_MODE_SHORT = 0x02
EMBER_MAC_ADDRESS_MODE_LONG = 0x03
}

802.15.4 addressing mode.

enum
EMBER_EVENT_INACTIVE = 0
EMBER_EVENT_MS_TIME
EMBER_EVENT_QS_TIME
EMBER_EVENT_MINUTE_TIME
EMBER_EVENT_ZERO_DELAY
}

Either marks an event as inactive or specifies the units for the event execution time.

enum
@2 {
EMBER_OUTGOING_MESSAGES = 0x0001
EMBER_INCOMING_MESSAGES = 0x0002
EMBER_RADIO_IS_ON = 0x0004
EMBER_ASSOCIATING = 0x0008
EMBER_SCANNING = 0x0010
}

Define tasks that prevent the stack from sleeping.

enum
EMBER_COUNTER_PHY_IN_PACKETS
EMBER_COUNTER_PHY_OUT_PACKETS
EMBER_COUNTER_MAC_IN_UNICAST
EMBER_COUNTER_MAC_IN_BROADCAST
EMBER_COUNTER_MAC_OUT_UNICAST_NO_ACK
EMBER_COUNTER_MAC_OUT_UNICAST_ACK_SUCCESS
EMBER_COUNTER_MAC_OUT_UNICAST_ACK_FAIL
EMBER_COUNTER_MAC_OUT_UNICAST_CCA_FAIL
EMBER_COUNTER_MAC_OUT_UNICAST_RETRY
EMBER_COUNTER_MAC_OUT_BROADCAST
EMBER_COUNTER_MAC_OUT_BROADCAST_CCA_FAIL
EMBER_COUNTER_MAC_OUT_ENCRYPT_FAIL
EMBER_COUNTER_MAC_DROP_IN_MEMORY
EMBER_COUNTER_MAC_DROP_IN_FRAME_COUNTER
EMBER_COUNTER_MAC_DROP_IN_DECRYPT
EMBER_COUNTER_NWK_OUT_FORWARDING
EMBER_COUNTER_NWK_IN_SUCCESS
EMBER_COUNTER_NWK_DROP_IN_WRONG_SOURCE
EMBER_COUNTER_NWK_DROP_IN_FORWARDING
EMBER_COUNTER_UART_IN_DATA
EMBER_COUNTER_UART_IN_MANAGEMENT
EMBER_COUNTER_UART_IN_FAIL
EMBER_COUNTER_UART_OUT_DATA
EMBER_COUNTER_UART_OUT_MANAGEMENT
EMBER_COUNTER_UART_OUT_FAIL
EMBER_COUNTER_ROUTE_2_HOP_LOOP
EMBER_COUNTER_BUFFER_ALLOCATION_FAIL
EMBER_ASH_V3_ACK_SENT
EMBER_ASH_V3_ACK_RECEIVED
EMBER_ASH_V3_NACK_SENT
EMBER_ASH_V3_NACK_RECEIVED
EMBER_ASH_V3_RESEND
EMBER_ASH_V3_BYTES_SENT
EMBER_ASH_V3_TOTAL_BYTES_RECEIVED
EMBER_ASH_V3_VALID_BYTES_RECEIVED
EMBER_ASH_V3_PAYLOAD_BYTES_SENT
EMBER_COUNTER_TYPE_COUNT
}

Define the event counters that can be requested from the application using emberGetCounter()

enum
EMBER_RADIO_CONFIGURATOR
EMBER_STANDARD_PHY_2_4GHZ
EMBER_STANDARD_PHY_915MHZ
EMBER_STANDARD_PHY_863MHZ
}

Define the PHY configuration of connect stack.

enum
EMBER_CAL_TEMP_VCO = 0x00000001
EMBER_CAL_IRCAL = 0x00010000
EMBER_CAL_ALL = 0x00010001
}

Define the type of calibration requested.

enum
TX_STREAM_PN9
TX_STREAM_CW
}

Radio Stream mode.

Typedefs#

typedef uint8_t
EmberEUI64[EUI64_SIZE]

EUI 64-bit ID (IEEE 802.15.4 long address).

typedef uint16_t

IEEE 802.15.4 node ID. Also known as short address.

typedef uint16_t

IEEE 802.15.4 PAN ID.

typedef uint8_t

Message length in bytes.

typedef uint8_t

An identifier for a task.

typedef struct Event_s
typedef struct EventQueue_s

An event queue is currently just a list of events ordered by execution time.

typedef uint16_t

Buffers used by the memory buffer system.

Functions#

uint8_t *
emberKeyContents(EmberKeyData *key)

This macro allows the programmer to gain access to the key data bytes of the EmberKeyData structure.

Macros#

#define

Size of an extended PAN identifier in bytes (8).

#define

Size of EUI64 (an IEEE address) in bytes (8).

#define

Size of an encryption key in bytes (16).

#define

A distinguished network ID that will never be assigned to any node. Used to indicate the absence of a node ID.

#define

Broadcast address.

#define

Special short address indicating the node should use long addressing as source address.

#define

The coordinator short address.

#define

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.


Definition at line 102 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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


Definition at line 158 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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.


Definition at line 194 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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.


Definition at line 221 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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.


Definition at line 334 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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.


Definition at line 517 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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.


Definition at line 619 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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.


Definition at line 642 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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


Definition at line 761 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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


Definition at line 784 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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


Definition at line 870 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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).


Definition at line 69 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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.


Definition at line 74 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EmberPanId#

typedef uint16_t EmberPanId

IEEE 802.15.4 PAN ID.


Definition at line 79 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EmberMessageLength#

typedef uint8_t EmberMessageLength

Message length in bytes.


Definition at line 215 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EmberTaskId#

typedef uint8_t EmberTaskId

An identifier for a task.


Definition at line 536 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

Event#

typedef struct Event_s Event

Definition at line 563 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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.


Definition at line 571 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EmberEventData#

typedef PGM struct EmberEventData_S EmberEventData

Definition at line 602 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EmberBuffer#

typedef uint16_t EmberBuffer

Buffers used by the memory buffer system.


Definition at line 755 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/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.

Parameters
[in]key

A Pointer to an EmberKeyData structure.

Returns

  • uint8_t* Returns a pointer to the first byte of the key data.


Definition at line 507 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

Macro Definition Documentation#

EXTENDED_PAN_ID_SIZE#

#define EXTENDED_PAN_ID_SIZE
Value:
8

Size of an extended PAN identifier in bytes (8).


Definition at line 54 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EUI64_SIZE#

#define EUI64_SIZE
Value:
8

Size of EUI64 (an IEEE address) in bytes (8).


Definition at line 59 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EMBER_ENCRYPTION_KEY_SIZE#

#define EMBER_ENCRYPTION_KEY_SIZE
Value:
16

Size of an encryption key in bytes (16).


Definition at line 64 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EMBER_NULL_NODE_ID#

#define EMBER_NULL_NODE_ID
Value:
0xFFFFu

A distinguished network ID that will never be assigned to any node. Used to indicate the absence of a node ID.


Definition at line 85 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EMBER_BROADCAST_ADDRESS#

#define EMBER_BROADCAST_ADDRESS
Value:
0xFFFF

Broadcast address.


Definition at line 88 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EMBER_USE_LONG_ADDRESS#

#define EMBER_USE_LONG_ADDRESS
Value:
0xFFFE

Special short address indicating the node should use long addressing as source address.


Definition at line 92 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EMBER_COORDINATOR_ADDRESS#

#define EMBER_COORDINATOR_ADDRESS
Value:
0x0000

The coordinator short address.


Definition at line 95 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h

EMBER_CAL_INVALID_VALUE#

#define EMBER_CAL_INVALID_VALUE
Value:
(0xFFFFFFFF)

Definition at line 800 of file /mnt/raid/workspaces/ws.SZ9MaSA5u/overlay/gsdk/protocol/flex/stack/include/ember-types.h