License#
Copyright 2018 Silicon Laboratories Inc. www.silabs.com
SPDX-License-Identifier: Zlib
The licensor of this software is Silicon Laboratories Inc.
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
This notice may not be removed or altered from any source distribution.
/***************************************************************************/
#ifndef __EMBER_TYPES_H__
#define __EMBER_TYPES_H__
#ifdef EMBER_TEST
#include PLATFORM_HEADER
#endif
#include "sl_common.h"
#include <stdint.h>
#include <stdbool.h>
#include <stddef.h>
#ifndef DOXYGEN_SHOULD_SKIP_THIS
#include "stack/config/ember-configuration-defaults.h"
#endif //DOXYGEN_SHOULD_SKIP_THIS
#define EXTENDED_PAN_ID_SIZE 8
#define EUI64_SIZE 8
#define EMBER_ENCRYPTION_KEY_SIZE 16
typedef uint8_t EmberEUI64[EUI64_SIZE];
typedef uint16_t EmberNodeId;
typedef uint16_t EmberPanId;
#define EMBER_NULL_NODE_ID 0xFFFFu
#define EMBER_BROADCAST_ADDRESS 0xFFFF
#define EMBER_USE_LONG_ADDRESS 0xFFFE
#define EMBER_COORDINATOR_ADDRESS 0x0000
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberNodeType
#else
typedef uint8_t EmberNodeType;
enum
#endif
{
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,
};
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberNetworkStatus
#else
typedef uint8_t EmberNetworkStatus;
enum
#endif
{
EMBER_NO_NETWORK,
EMBER_JOINING_NETWORK,
EMBER_JOINED_NETWORK,
EMBER_RADIO_TEST
};
typedef struct {
uint16_t panId;
int16_t radioTxPower;
uint16_t radioChannel;
} EmberNetworkParameters;
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberChildFlags
#else
typedef uint8_t EmberChildFlags;
enum
#endif
{
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,
};
typedef uint16_t EmberMessageLength;
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberMessageOptions
#else
typedef uint8_t EmberMessageOptions;
enum
#endif
{
EMBER_OPTIONS_NONE = 0x00,
EMBER_OPTIONS_SECURITY_ENABLED = 0x01,
EMBER_OPTIONS_ACK_REQUESTED = 0x02,
EMBER_OPTIONS_HIGH_PRIORITY = 0x04,
EMBER_OPTIONS_INDIRECT = 0x08,
};
typedef struct {
EmberMessageOptions options;
EmberNodeId source;
uint8_t endpoint;
int8_t rssi;
EmberMessageLength length;
uint8_t *payload;
uint32_t timestamp;
uint8_t lqi;
} EmberIncomingMessage;
typedef struct {
EmberMessageOptions options;
EmberNodeId destination;
uint8_t endpoint;
uint8_t tag;
EmberMessageLength length;
uint8_t *payload;
int8_t ackRssi;
uint32_t timestamp;
} EmberOutgoingMessage;
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberMacAddressMode
#else
typedef uint8_t EmberMacAddressMode;
enum
#endif
{
EMBER_MAC_ADDRESS_MODE_NONE = 0x00,
EMBER_MAC_ADDRESS_MODE_SHORT = 0x02,
EMBER_MAC_ADDRESS_MODE_LONG = 0x03,
};
typedef struct {
union {
uint8_t longAddress[EUI64_SIZE];
uint16_t shortAddress;
} addr;
EmberMacAddressMode mode;
} EmberMacAddress;
typedef struct {
EmberMacAddress srcAddress;
EmberMacAddress dstAddress;
EmberPanId srcPanId;
EmberPanId dstPanId;
bool srcPanIdSpecified;
bool dstPanIdSpecified;
} EmberMacFrame;
typedef struct {
EmberMessageOptions options;
EmberMacFrame macFrame;
int8_t rssi;
uint8_t lqi;
uint32_t frameCounter;
EmberMessageLength length;
uint8_t *payload;
uint32_t timestamp;
} EmberIncomingMacMessage;
typedef struct {
EmberMessageOptions options;
EmberMacFrame macFrame;
uint8_t tag;
uint32_t frameCounter;
EmberMessageLength length;
uint8_t *payload;
int8_t ackRssi;
uint32_t timestamp;
} EmberOutgoingMacMessage;
typedef struct {
uint8_t contents[EMBER_ENCRYPTION_KEY_SIZE];
} EmberKeyData;
#if defined DOXYGEN_SHOULD_SKIP_THIS
uint8_t* emberKeyContents(EmberKeyData* key);
#else
#define emberKeyContents(key) ((key)->contents)
#endif
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberEventUnits
#else
typedef uint8_t EmberEventUnits;
enum
#endif
{
EMBER_EVENT_INACTIVE = 0,
EMBER_EVENT_MS_TIME,
EMBER_EVENT_QS_TIME,
EMBER_EVENT_MINUTE_TIME,
EMBER_EVENT_ZERO_DELAY
};
typedef uint8_t EmberTaskId;
//----------------------------------------------------------------
// Events and event queues.
// Forward declarations to make up for C's one-pass type checking.
struct Event_s;
struct EventQueue_s;
typedef const struct {
struct EventQueue_s *queue; // the queue this event goes on
void (*handler)(struct Event_s *); // called when the event fires
void (*marker)(struct Event_s *); // marking function, can be NULL
const char *name; // event name for debugging purposes
} EventActions;
typedef struct Event_s {
EventActions *actions; // static data
// For internal use only, but the 'next' field must be initialized
// to NULL.
struct Event_s *next;
uint32_t timeToExecute;
} Event;
typedef struct EventQueue_s {
Event *isrEvents;
Event *events;
} EventQueue;
typedef struct {
EmberEventUnits status;
EmberTaskId taskid;
uint32_t timeToExecute;
} EmberEventControl;
typedef const struct EmberEventData_S {
EmberEventControl *control;
void (*handler)(void);
} EmberEventData;
typedef struct {
uint32_t nextEventTime;
EmberEventData *events;
bool busy;
} EmberTaskControl;
enum {
EMBER_OUTGOING_MESSAGES = 0x0001,
EMBER_INCOMING_MESSAGES = 0x0002,
EMBER_RADIO_IS_ON = 0x0004,
EMBER_ASSOCIATING = 0x0008,
EMBER_SCANNING = 0x0010,
};
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberCounterType
#else
typedef uint8_t EmberCounterType;
enum
#endif
{
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,
// Counters for non-packet events below.
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,
};
typedef uint16_t EmberBuffer;
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberPhyType
#else
typedef uint8_t EmberPhyType;
enum
#endif
{
EMBER_RADIO_CONFIGURATOR,
EMBER_STANDARD_PHY_2_4GHZ,
EMBER_STANDARD_PHY_915MHZ,
EMBER_STANDARD_PHY_863MHZ
};
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberCalType
#else
typedef uint32_t EmberCalType;
enum
#endif
{
EMBER_CAL_TEMP_VCO = 0x00000001,
EMBER_CAL_IRCAL = 0x00010000,
EMBER_CAL_ALL = 0x00010001
};
#define EMBER_CAL_INVALID_VALUE (0xFFFFFFFF)
#ifndef DOXYGEN_SHOULD_SKIP_THIS
//doxygen should see this in error-def.h
#ifndef __EMBERSTATUS_TYPE__
#define __EMBERSTATUS_TYPE__
typedef uint8_t EmberStatus;
#endif //__EMBERSTATUS_TYPE__
#endif //DOXYGEN_SHOULD_SKIP_THIS
//------------------------------------------------------------------------------
// INTERNAL TYPES AND DEFINES
//------------------------------------------------------------------------------
#ifndef DOXYGEN_SHOULD_SKIP_THIS
typedef struct {
EmberNodeId destination;
uint8_t endpoint;
uint8_t tag;
EmberBuffer payload;
EmberMessageOptions txOptions;
} EmOutgoingPacket;
typedef struct {
uint32_t lastSeen;
uint32_t frameCounter;
EmberNodeId shortId;
EmberEUI64 longId;
uint8_t flags;
uint8_t leaveCount;
} EmberChildEntry;
typedef uint8_t EmberLibraryStatus;
typedef void (*ClientResyncCallback)(EmberStatus status);
typedef struct {
EmberBuffer* buffer_addr;
uint16_t buffer_length;
} EmberBufferDesc;
// A library's status is an 8-bit value with information about it.
// The high bit indicates whether the library is present (1), or if it is a
// stub (0). The lower 7-bits can be used for codes specific to the library.
// This allows a library, like the security library, to specify what additional
// features are present.
// A value of 0xFF is reserved, it indicates an error in retrieving the
// library status.
#define EMBER_LIBRARY_PRESENT_MASK 0x80
#define EMBER_LIBRARY_IS_STUB 0x00
#define EMBER_LIBRARY_ERROR 0xFF
#define emberDebugPrintf(...)
#define emLog(type, ...)
#define emLogLine(type, ...)
#define emLogBytes(type, format, bytes, count, ...)
#endif //DOXYGEN_SHOULD_SKIP_THIS
#ifdef DOXYGEN_SHOULD_SKIP_THIS
enum EmberTxStreamParameters
#else
typedef uint8_t EmberTxStreamParameters;
enum
#endif
{
TX_STREAM_PN9,
TX_STREAM_CW
};
#endif // __EMBER_TYPES_H__
Modules#
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.
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.
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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
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 | |
EMBER_STAR_COORDINATOR | |
EMBER_STAR_RANGE_EXTENDER | |
EMBER_STAR_END_DEVICE | |
EMBER_STAR_SLEEPY_END_DEVICE | |
EMBER_DIRECT_DEVICE | |
EMBER_MAC_MODE_DEVICE | |
EMBER_MAC_MODE_SLEEPY_DEVICE |
106
of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberNetworkStatus#
EmberNetworkStatus
Defines the possible join states for a node.
Enumerator | |
---|---|
EMBER_NO_NETWORK | |
EMBER_JOINING_NETWORK | |
EMBER_JOINED_NETWORK | |
EMBER_RADIO_TEST |
162
of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberChildFlags#
EmberChildFlags
Child flags.
Enumerator | |
---|---|
EMBER_CHILD_FLAGS_DEVICE_IS_RANGE_EXTENDER_BIT | |
EMBER_CHILD_FLAGS_DEVICE_IS_SLEEPY_BIT | |
EMBER_CHILD_FLAGS_HAVE_PENDING_DATA_BIT | |
EMBER_CHILD_FLAGS_AES_SECURITY_CAPABLE_BIT | |
EMBER_CHILD_FLAG_DEVICE_IS_EXTENDED_BIT |
198
of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberMessageOptions#
EmberMessageOptions
Message options.
Enumerator | |
---|---|
EMBER_OPTIONS_NONE | |
EMBER_OPTIONS_SECURITY_ENABLED | |
EMBER_OPTIONS_ACK_REQUESTED | |
EMBER_OPTIONS_HIGH_PRIORITY | |
EMBER_OPTIONS_INDIRECT |
225
of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberMacAddressMode#
EmberMacAddressMode
802.15.4 addressing mode.
Enumerator | |
---|---|
EMBER_MAC_ADDRESS_MODE_NONE | |
EMBER_MAC_ADDRESS_MODE_SHORT | |
EMBER_MAC_ADDRESS_MODE_LONG |
338
of file /mnt/raid/workspaces/ws.04isO4uyE/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 | |
EMBER_EVENT_MS_TIME | |
EMBER_EVENT_QS_TIME | |
EMBER_EVENT_MINUTE_TIME | |
EMBER_EVENT_ZERO_DELAY |
521
of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
@2#
@2
Define tasks that prevent the stack from sleeping.
Enumerator | |
---|---|
EMBER_OUTGOING_MESSAGES | |
EMBER_INCOMING_MESSAGES | |
EMBER_RADIO_IS_ON | |
EMBER_ASSOCIATING | |
EMBER_SCANNING |
623
of file /mnt/raid/workspaces/ws.04isO4uyE/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 | |
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 |
646
of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberPhyType#
EmberPhyType
Define the PHY configuration of connect stack.
Enumerator | |
---|---|
EMBER_RADIO_CONFIGURATOR | |
EMBER_STANDARD_PHY_2_4GHZ | |
EMBER_STANDARD_PHY_915MHZ | |
EMBER_STANDARD_PHY_863MHZ |
765
of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberCalType#
EmberCalType
Define the type of calibration requested.
Enumerator | |
---|---|
EMBER_CAL_TEMP_VCO | |
EMBER_CAL_IRCAL | |
EMBER_CAL_ALL |
788
of file /mnt/raid/workspaces/ws.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
EmberTxStreamParameters#
EmberTxStreamParameters
Radio Stream mode.
Enumerator | |
---|---|
TX_STREAM_PN9 | |
TX_STREAM_CW |
874
of file /mnt/raid/workspaces/ws.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h
Event#
typedef struct Event_s Event
567
of file /mnt/raid/workspaces/ws.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/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.04isO4uyE/overlay/gsdk/protocol/flex/stack/include/ember-types.h