Modules#

EmberGpAddress

EmberGpSinkAddress

EmberGpSinkGroup

EmberGpSinkListEntry

EmberGpProxyTableEntry

EmberGpSinkTableEntry

EmberCGpAddress

EmberGpProxyClusterAttributes

EmberGpTxQueueEntry

EmberGpApplicationInfo

EmberGpAttributeRecord

EmberGpDataPointDescriptor

EmberGpReportDescriptor

EmberGpSwitchInformation

EmberGpGenericSwitchData

EmberGpTranslationTableAdditionalInfoBlockOptionRecordField

Green Power Data Types#

This file defines data types relevant to the Green Power implementation.

See gp-types.h for source code.

GP Types#

enum
EMBER_GP_SECURITY_LEVEL_NONE = 0x00
EMBER_GP_SECURITY_LEVEL_RESERVED = 0x01
EMBER_GP_SECURITY_LEVEL_FC_MIC = 0x02
EMBER_GP_SECURITY_LEVEL_FC_MIC_ENCRYPTED = 0x03
}

Options to use when sending a message.

enum
EMBER_GP_SECURITY_KEY_NONE = 0x00
EMBER_GP_SECURITY_KEY_NWK = 0x01
EMBER_GP_SECURITY_KEY_GPD_GROUP = 0x02
EMBER_GP_SECURITY_KEY_NWK_DERIVED = 0x03
EMBER_GP_SECURITY_KEY_GPD_OOB = 0x04
EMBER_GP_SECURITY_KEY_GPD_DERIVED = 0x07
}

Options to use when sending a message.

enum
EMBER_GP_APPLICATION_SOURCE_ID = 0x00
EMBER_GP_APPLICATION_IEEE_ADDRESS = 0x02
}

Options to use when sending a message.

enum
EMBER_GP_PROXY_TABLE_ENTRY_STATUS_ACTIVE = 0x01
EMBER_GP_PROXY_TABLE_ENTRY_STATUS_UNUSED = 0xFF
}

GP proxy table entry status.

enum
EMBER_GP_SINK_TABLE_ENTRY_STATUS_ACTIVE = 0x01
EMBER_GP_SINK_TABLE_ENTRY_STATUS_UNUSED = 0xFF
}

GP sink table entry status.

enum
EMBER_GP_SINK_TYPE_FULL_UNICAST
EMBER_GP_SINK_TYPE_D_GROUPCAST
EMBER_GP_SINK_TYPE_GROUPCAST
EMBER_GP_SINK_TYPE_LW_UNICAST
EMBER_GP_SINK_TYPE_UNUSED = 0xFF
}

Options to use when sending a message.

enum
EMBER_CGP_TX_OPTION_NONE = 0x00
EMBER_CGP_TX_OPTION_USE_CSMA_CA = 0x01
EMBER_CGP_TX_OPTION_USE_MAC_ACK = 0x02
EMBER_CGP_TX_OPTION_RESERVED = 0xFC
}

GP sink table entry status.

enum
EMBER_CGP_ADDRESS_MODE_NONE = 0x00
EMBER_CGP_ADDRESS_MODE_RESERVED = 0x01
EMBER_CGP_ADDRESS_MODE_SHORT = 0x02
EMBER_CGP_ADDRESS_MODE_EXTENDED = 0x03
}

Addressing modes for sending and receiving a message.

enum
EMBER_DGP_TX_OPTION_NONE = 0x00
EMBER_DGP_TX_OPTION_USE_GP_TX_QUEUE = 0x01
EMBER_DGP_TX_OPTION_USE_CSMA_CA = 0x02
EMBER_DGP_TX_OPTION_USE_MAC_ACK = 0x04
EMBER_DGP_TX_OPTION_FRAME_TYPE_DATA = 0x00
EMBER_DGP_TX_OPTION_FRAME_TYPE_MAINTENANCE = 0x08
EMBER_DGP_TX_OPTION_RESERVED = 0xE0
}

Options to use when sending a message.

typedef uint32_t
typedef uint32_t

Options to use when sending a message.

#define

Options to use when sending a message.

#define

Options to use when sending a message.

#define
GP_PARAMS undefined

Options to use when sending a message.

#define
GP_ARGS undefined

Options to use when sending a message.

#define
GP_UNUSED_ARGS undefined

Options to use when sending a message.

#define

Options to use when sending a message.

#define

Options to use when sending a message.

#define

Options to use when sending a message.

Functions#

emberDGpSend(bool action, bool useCca, EmberGpAddress *addr, uint8_t gpdCommandId, uint8_t gpdAsduLength, uint8_t const *gpdAsdu, uint8_t gpepHandle, uint16_t gpTxQueueEntryLifetimeMs)
bool
emberGpProxyTableProcessGpPairing(uint32_t options, EmberGpAddress *addr, uint8_t commMode, uint16_t sinkNwkAddress, uint16_t sinkGroupId, uint16_t assignedAlias, uint8_t *sinkIeeeAddress, EmberKeyData *gpdKey, uint32_t gpdSecurityFrameCounter, uint8_t forwardingRadius)
uint8_t
emberGpProxyTableLookup(EmberGpAddress *addr)
emberGpProxyTableGetEntry(uint8_t proxyIndex, EmberGpProxyTableEntry *entry)
emberGpSinkTableGetEntry(uint8_t sinkIndex, EmberGpSinkTableEntry *entry)
uint8_t
emberGpSinkTableLookup(EmberGpAddress *addr)
emberGpSinkTableSetEntry(uint8_t sinkTableIndex, EmberGpSinkTableEntry *entry)
uint8_t
void
void
emberGpSinkTableSetSecurityFrameCounter(uint8_t index, uint32_t sfc)
void
emberGpSetMaxTxQueueEntry(uint16_t maxEntries)
emberGpGetTxQueueEntryFromQueue(EmberGpTxQueueEntry *txQueue, uint8_t *data, uint16_t *dataLength, uint16_t allocatedDataLength)
emberGpAddGpTxQueueEntryWithPayload(EmberGpTxQueueEntry *txQueue, uint8_t *data, uint16_t dataLength)
bool
emberGpRemoveFromTxQueue(EmberGpTxQueueEntry *txQueue)

GP Types Documentation#

EmberGpSecurityLevel#

EmberGpSecurityLevel

Options to use when sending a message.

Enumerator
EMBER_GP_SECURITY_LEVEL_NONE

None

EMBER_GP_SECURITY_LEVEL_RESERVED

reserved

EMBER_GP_SECURITY_LEVEL_FC_MIC

4 Byte Frame Counter + 4 Byte MIC

EMBER_GP_SECURITY_LEVEL_FC_MIC_ENCRYPTED

4 Byte Frame Counter + 4 Byte MIC + encryption


Definition at line 53 of file stack/include/gp-types.h

EmberGpKeyType#

EmberGpKeyType

Options to use when sending a message.

Enumerator
EMBER_GP_SECURITY_KEY_NONE

None

EMBER_GP_SECURITY_KEY_NWK

reserved

EMBER_GP_SECURITY_KEY_GPD_GROUP
EMBER_GP_SECURITY_KEY_NWK_DERIVED
EMBER_GP_SECURITY_KEY_GPD_OOB
EMBER_GP_SECURITY_KEY_GPD_DERIVED

Definition at line 71 of file stack/include/gp-types.h

EmberGpApplicationId#

EmberGpApplicationId

Options to use when sending a message.

Enumerator
EMBER_GP_APPLICATION_SOURCE_ID

Source identifier.

EMBER_GP_APPLICATION_IEEE_ADDRESS

IEEE address.


Definition at line 89 of file stack/include/gp-types.h

EmberGpProxyTableEntryStatus#

EmberGpProxyTableEntryStatus

GP proxy table entry status.

Enumerator
EMBER_GP_PROXY_TABLE_ENTRY_STATUS_ACTIVE

The GP table entry is in use for a Proxy Table Entry.

EMBER_GP_PROXY_TABLE_ENTRY_STATUS_UNUSED

The proxy table entry is not in use.


Definition at line 106 of file stack/include/gp-types.h

EmberGpSinkTableEntryStatus#

EmberGpSinkTableEntryStatus

GP sink table entry status.

Enumerator
EMBER_GP_SINK_TABLE_ENTRY_STATUS_ACTIVE

The GP table entry is in use for a Sink Table Entry.

EMBER_GP_SINK_TABLE_ENTRY_STATUS_UNUSED

The proxy table entry is not in use.


Definition at line 126 of file stack/include/gp-types.h

EmberGpSinkType#

EmberGpSinkType

Options to use when sending a message.

Enumerator
EMBER_GP_SINK_TYPE_FULL_UNICAST
EMBER_GP_SINK_TYPE_D_GROUPCAST
EMBER_GP_SINK_TYPE_GROUPCAST
EMBER_GP_SINK_TYPE_LW_UNICAST
EMBER_GP_SINK_TYPE_UNUSED

Definition at line 155 of file stack/include/gp-types.h

EmberCGpTxOption#

EmberCGpTxOption

GP sink table entry status.

GP sink table entry status. TODO R E M O V EOptions to use when sending a message.

Enumerator
EMBER_CGP_TX_OPTION_NONE

No options.

EMBER_CGP_TX_OPTION_USE_CSMA_CA

Use CSMA/CA.

EMBER_CGP_TX_OPTION_USE_MAC_ACK

Use MAC ACK.

EMBER_CGP_TX_OPTION_RESERVED

Reserved.


Definition at line 300 of file stack/include/gp-types.h

EmberCGpAddressMode#

EmberCGpAddressMode

Addressing modes for sending and receiving a message.

Enumerator
EMBER_CGP_ADDRESS_MODE_NONE

No address (PAN identifier and address omitted).

EMBER_CGP_ADDRESS_MODE_RESERVED

Reserved.

EMBER_CGP_ADDRESS_MODE_SHORT

16-bit short address.

EMBER_CGP_ADDRESS_MODE_EXTENDED

64-bit extended address.


Definition at line 318 of file stack/include/gp-types.h

EmberDGpTxOption#

EmberDGpTxOption

Options to use when sending a message.

Enumerator
EMBER_DGP_TX_OPTION_NONE

No options.

EMBER_DGP_TX_OPTION_USE_GP_TX_QUEUE

Use gpTxQueue.

EMBER_DGP_TX_OPTION_USE_CSMA_CA

Use CSMA/CA.

EMBER_DGP_TX_OPTION_USE_MAC_ACK

Use MAC ACK.

EMBER_DGP_TX_OPTION_FRAME_TYPE_DATA

Data frame.

EMBER_DGP_TX_OPTION_FRAME_TYPE_MAINTENANCE

Maintenance frame.

EMBER_DGP_TX_OPTION_RESERVED

Reserved.


Definition at line 357 of file stack/include/gp-types.h

EmberGpSourceId#

typedef uint32_t EmberGpSourceId

32-bit source identifier.


Definition at line 41 of file stack/include/gp-types.h

EmberGpSecurityFrameCounter#

typedef uint32_t EmberGpSecurityFrameCounter

32-bit security frame counter


Definition at line 43 of file stack/include/gp-types.h

EmberGpMic#

typedef uint32_t EmberGpMic

Options to use when sending a message.


Definition at line 44 of file stack/include/gp-types.h

EMBER_GP_APPLICATION_ID_MASK#

#define EMBER_GP_APPLICATION_ID_MASK
Value:
0x03

Options to use when sending a message.


Definition at line 96 of file stack/include/gp-types.h

GP_SINK_LIST_ENTRIES#

#define GP_SINK_LIST_ENTRIES
Value:
2

Options to use when sending a message.


Definition at line 191 of file stack/include/gp-types.h

GP_PARAMS#

#define GP_PARAMS
Value:
EmberStatus status, \
uint8_t gpdLink, \
uint8_t sequenceNumber, \
EmberGpAddress * addr, \
EmberGpSecurityLevel gpdfSecurityLevel, \
EmberGpKeyType gpdfSecurityKeyType, \
bool autoCommissioning, \
uint8_t bidirectionalInfo, \
uint32_t gpdSecurityFrameCounter, \
uint8_t gpdCommandId, \
uint32_t mic, \
uint8_t proxyTableIndex, \
uint8_t gpdCommandPayloadLength, \
uint8_t * gpdCommandPayload

Options to use when sending a message.


Definition at line 391 of file stack/include/gp-types.h

GP_ARGS#

#define GP_ARGS
Value:
status, \
gpdLink, \
sequenceNumber, \
addr, \
gpdfSecurityLevel, \
gpdfSecurityKeyType, \
autoCommissioning, \
bidirectionalInfo, \
gpdSecurityFrameCounter, \
gpdCommandId, \
mic, \
proxyTableIndex, \
gpdCommandPayloadLength, \
gpdCommandPayload

Options to use when sending a message.


Definition at line 407 of file stack/include/gp-types.h

GP_UNUSED_ARGS#

#define GP_UNUSED_ARGS
Value:
(void)status; \
(void)gpdLink; \
(void)sequenceNumber; \
(void)addr; \
(void)gpdfSecurityLevel; \
(void)gpdfSecurityKeyType; \
(void)autoCommissioning; \
(void)rxAfterTx; \
(void)gpdSecurityFrameCounter; \
(void)gpdCommandId; \
(void)mic; \
(void)proxyTableIndex; \
(void)gpdCommandPayloadLength; \
(void)gpdCommandPayload;

Options to use when sending a message.


Definition at line 423 of file stack/include/gp-types.h

GP_PROXY_TABLE_OPTIONS_IN_RANGE#

#define GP_PROXY_TABLE_OPTIONS_IN_RANGE
Value:
(BIT(10))

Options to use when sending a message.


Definition at line 439 of file stack/include/gp-types.h

GP_COMMISSIONING_MAX_BYTES#

#define GP_COMMISSIONING_MAX_BYTES
Value:
(55 - 3)

Options to use when sending a message.


Definition at line 442 of file stack/include/gp-types.h

TT_NB_MAX_OPTION_RECORD#

#define TT_NB_MAX_OPTION_RECORD
Value:
(8)

Options to use when sending a message.


Definition at line 508 of file stack/include/gp-types.h

Function Documentation#

emberDGpSend#

EmberStatus emberDGpSend (bool action, bool useCca, EmberGpAddress * addr, uint8_t gpdCommandId, uint8_t gpdAsduLength, uint8_t const * gpdAsdu, uint8_t gpepHandle, uint16_t gpTxQueueEntryLifetimeMs)
Parameters
N/Aaction
N/AuseCca
N/Aaddr
N/AgpdCommandId
N/AgpdAsduLength
N/AgpdAsdu
N/AgpepHandle
N/AgpTxQueueEntryLifetimeMs

Definition at line 557 of file stack/include/gp-types.h

emberGpProxyTableProcessGpPairing#

bool emberGpProxyTableProcessGpPairing (uint32_t options, EmberGpAddress * addr, uint8_t commMode, uint16_t sinkNwkAddress, uint16_t sinkGroupId, uint16_t assignedAlias, uint8_t * sinkIeeeAddress, EmberKeyData * gpdKey, uint32_t gpdSecurityFrameCounter, uint8_t forwardingRadius)
Parameters
N/Aoptions
N/Aaddr
N/AcommMode
N/AsinkNwkAddress
N/AsinkGroupId
N/AassignedAlias
N/AsinkIeeeAddress
N/AgpdKey
N/AgpdSecurityFrameCounter
N/AforwardingRadius

Definition at line 566 of file stack/include/gp-types.h

emberGpProxyTableLookup#

uint8_t emberGpProxyTableLookup (EmberGpAddress * addr)
Parameters
N/Aaddr

Definition at line 577 of file stack/include/gp-types.h

emberGpProxyTableGetEntry#

EmberStatus emberGpProxyTableGetEntry (uint8_t proxyIndex, EmberGpProxyTableEntry * entry)
Parameters
N/AproxyIndex
N/Aentry

Definition at line 578 of file stack/include/gp-types.h

emberGpSinkTableGetEntry#

EmberStatus emberGpSinkTableGetEntry (uint8_t sinkIndex, EmberGpSinkTableEntry * entry)
Parameters
N/AsinkIndex
N/Aentry

Definition at line 581 of file stack/include/gp-types.h

emberGpSinkTableLookup#

uint8_t emberGpSinkTableLookup (EmberGpAddress * addr)
Parameters
N/Aaddr

Definition at line 583 of file stack/include/gp-types.h

emberGpSinkTableClearAll#

void emberGpSinkTableClearAll (void )
Parameters
N/A

Definition at line 584 of file stack/include/gp-types.h

emberGpSinkTableSetEntry#

EmberStatus emberGpSinkTableSetEntry (uint8_t sinkTableIndex, EmberGpSinkTableEntry * entry)
Parameters
N/AsinkTableIndex
N/Aentry

Definition at line 586 of file stack/include/gp-types.h

emberGpSinkTableFindOrAllocateEntry#

uint8_t emberGpSinkTableFindOrAllocateEntry (EmberGpAddress * addr)
Parameters
N/Aaddr

Definition at line 588 of file stack/include/gp-types.h

emberGpSinkTableRemoveEntry#

void emberGpSinkTableRemoveEntry (uint8_t index)
Parameters
N/Aindex

Definition at line 589 of file stack/include/gp-types.h

emberGpSinkTableInit#

void emberGpSinkTableInit (void )
Parameters
N/A

Definition at line 590 of file stack/include/gp-types.h

emberGpSinkTableSetSecurityFrameCounter#

void emberGpSinkTableSetSecurityFrameCounter (uint8_t index, uint32_t sfc)
Parameters
N/Aindex
N/Asfc

Definition at line 591 of file stack/include/gp-types.h

emberGpGetTxQueueHead#

MessageBufferQueue* emberGpGetTxQueueHead (void )
Parameters
N/A

Definition at line 594 of file stack/include/gp-types.h

emberGpSetMaxTxQueueEntry#

void emberGpSetMaxTxQueueEntry (uint16_t maxEntries)
Parameters
N/AmaxEntries

Definition at line 595 of file stack/include/gp-types.h

emberGetGpMaxTxQListCount#

uint16_t emberGetGpMaxTxQListCount (void )
Parameters
N/A

Definition at line 596 of file stack/include/gp-types.h

emberGetGpTxQListCount#

uint16_t emberGetGpTxQListCount (void )
Parameters
N/A

Definition at line 597 of file stack/include/gp-types.h

emberGpGetTxQueueEntryFromQueue#

EmberMessageBuffer emberGpGetTxQueueEntryFromQueue (EmberGpTxQueueEntry * txQueue, uint8_t * data, uint16_t * dataLength, uint16_t allocatedDataLength)
Parameters
N/AtxQueue
N/Adata
N/AdataLength
N/AallocatedDataLength

Definition at line 598 of file stack/include/gp-types.h

emberGpAddGpTxQueueEntryWithPayload#

EmberMessageBuffer emberGpAddGpTxQueueEntryWithPayload (EmberGpTxQueueEntry * txQueue, uint8_t * data, uint16_t dataLength)
Parameters
N/AtxQueue
N/Adata
N/AdataLength

Definition at line 602 of file stack/include/gp-types.h

emberGpRemoveFromTxQueue#

bool emberGpRemoveFromTxQueue (EmberGpTxQueueEntry * txQueue)
Parameters
N/AtxQueue

Definition at line 605 of file stack/include/gp-types.h

emberGpClearTxQueue#

void emberGpClearTxQueue (void )
Parameters
N/A

Definition at line 606 of file stack/include/gp-types.h

Macro Definition Documentation#

EMBER_GP_BIDIRECTION_INFO_RX_AFTER_TX_MASK#

#define EMBER_GP_BIDIRECTION_INFO_RX_AFTER_TX_MASK
Value:
0x01

Definition at line 33 of file stack/include/gp-types.h

EMBER_GP_BIDIRECTION_INFO_TX_QUEUE_AVAILABLE_MASK#

#define EMBER_GP_BIDIRECTION_INFO_TX_QUEUE_AVAILABLE_MASK
Value:
0x02

Definition at line 35 of file stack/include/gp-types.h

GP_GPD_SRC_ID_RESERVED_0#

#define GP_GPD_SRC_ID_RESERVED_0
Value:
0x00000000

Definition at line 543 of file stack/include/gp-types.h

GP_GPD_SRC_ID_RESERVED_FFFFFF9#

#define GP_GPD_SRC_ID_RESERVED_FFFFFF9
Value:
0xFFFFFFF9

Definition at line 544 of file stack/include/gp-types.h

GP_GPD_SRC_ID_RESERVED_FFFFFFA#

#define GP_GPD_SRC_ID_RESERVED_FFFFFFA
Value:
0xFFFFFFFA

Definition at line 545 of file stack/include/gp-types.h

GP_GPD_SRC_ID_RESERVED_FFFFFFB#

#define GP_GPD_SRC_ID_RESERVED_FFFFFFB
Value:
0xFFFFFFFB

Definition at line 546 of file stack/include/gp-types.h

GP_GPD_SRC_ID_RESERVED_FFFFFFC#

#define GP_GPD_SRC_ID_RESERVED_FFFFFFC
Value:
0xFFFFFFFC

Definition at line 547 of file stack/include/gp-types.h

GP_GPD_SRC_ID_RESERVED_FFFFFFD#

#define GP_GPD_SRC_ID_RESERVED_FFFFFFD
Value:
0xFFFFFFFD

Definition at line 548 of file stack/include/gp-types.h

GP_GPD_SRC_ID_RESERVED_FFFFFFE#

#define GP_GPD_SRC_ID_RESERVED_FFFFFFE
Value:
0xFFFFFFFE

Definition at line 549 of file stack/include/gp-types.h

GP_DERIVED_GROUP_ALIAS_NOT_USED#

#define GP_DERIVED_GROUP_ALIAS_NOT_USED
Value:
0xffff

Definition at line 551 of file stack/include/gp-types.h

GP_DMIN_B#

#define GP_DMIN_B
Value:
32

Definition at line 553 of file stack/include/gp-types.h

GP_DMIN_U#

#define GP_DMIN_U
Value:
5

Definition at line 554 of file stack/include/gp-types.h

GP_DMAX#

#define GP_DMAX
Value:
100

Definition at line 555 of file stack/include/gp-types.h