Address Table#
API and Callbacks for the Address Table Component.
This component supports managing the address table. On the SoC, all actions are directly performed on the stack address table. The host maintains a copy of the address table and ensures that it is always in sync with the NCP's address table. When building the Host, make sure that the NCP can support the address table size in the component configuration. The optimal size varies based on the platform architecture and size of other dynamically-allocated data for this application. If errors occur upon reseting the NCP, the NCP may not have enough room to store a large address table size. If this is not the case, the NCP may not be able to dynamically increase the address table size based on the host's request. To work around this issue, statically allocate the desired address table size on the Zigbee Pro Stack Leaf Stack components on the NCP.
API#
Remove an entry from the address table.
Add a new entry to the address table.
Copy the entry stored at the passed index to the passed variable and return EMBER_SUCCESS if the passed index is valid.
Copy the entry stored at the passed index to the passed variable and return EMBER_SUCCESS if the passed index is valid.
Allow sending a unicast message specifying the EUI64 of the destination node.
Send the command prepared with emberAfFill.... macro.
Copy the sender EUI64, if available, to the address parameter and return EMBER_SUCCESS. Otherwise, return EMBER_INVALID_CALL.
Add a new entry to the address table.
Remove an entry from the address table by index.
Search for an EUI64 in the address table.
API Documentation#
emberAfPluginAddressTableRemoveEntry#
EmberStatus emberAfPluginAddressTableRemoveEntry (EmberEUI64 entry)
Remove an entry from the address table.
N/A | entry |
If the entry exists, the entry is cleared and the EMBER_SUCCESS status is returned. Otherwise, the status EMBER_INVALID_CALL is returned.
70
of file app/framework/plugin/address-table/address-table.h
emberAfLookupAddressTableEntryByEui64#
uint8_t emberAfLookupAddressTableEntryByEui64 (EmberEUI64 longId)
Add a new entry to the address table.
N/A | longId |
If the entry already exists, no new entry is created and the index of the entry already in the table is returned. If a free entry is found, the entry is added to the table and the corresponding index is returned. If no free entry is available in the address table, the value EMBER_NULL_ADDRESS_TABLE_INDEX is returned.
91
of file app/framework/plugin/address-table/address-table.h
emberAfPluginAddressTableLookupByIndex#
EmberStatus emberAfPluginAddressTableLookupByIndex (uint8_t index, EmberEUI64 entry)
Copy the entry stored at the passed index to the passed variable and return EMBER_SUCCESS if the passed index is valid.
N/A | index | |
N/A | entry |
Otherwise, the status EMBER_INVALID_CALL is returned.
101
of file app/framework/plugin/address-table/address-table.h
emberAfPluginAddressTableLookupNodeIdByIndex#
EmberNodeId emberAfPluginAddressTableLookupNodeIdByIndex (uint8_t index)
Copy the entry stored at the passed index to the passed variable and return EMBER_SUCCESS if the passed index is valid.
N/A | index |
Otherwise, the status EMBER_INVALID_CALL is returned.
112
of file app/framework/plugin/address-table/address-table.h
emberAfSendUnicastToEui64#
EmberStatus emberAfSendUnicastToEui64 (EmberEUI64 destination, EmberApsFrame * apsFrame, uint16_t messageLength, uint8_t * message)
Allow sending a unicast message specifying the EUI64 of the destination node.
N/A | destination | |
N/A | apsFrame | |
N/A | messageLength | |
N/A | message |
Note: the specified EUI64 must be present in the address table. Otherwise, the status EMBER_INVALID_CALL is returned.
121
of file app/framework/plugin/address-table/address-table.h
emberAfSendCommandUnicastToEui64#
EmberStatus emberAfSendCommandUnicastToEui64 (EmberEUI64 destination)
Send the command prepared with emberAfFill.... macro.
N/A | destination |
This function sends a command that was previously prepared using the emberAfFill... macros from the client command API. It will be sent as unicast to the node that corresponds in the address table to the passed EUI64.
134
of file app/framework/plugin/address-table/address-table.h
emberAfGetCurrentSenderEui64#
EmberStatus emberAfGetCurrentSenderEui64 (EmberEUI64 address)
Copy the sender EUI64, if available, to the address parameter and return EMBER_SUCCESS. Otherwise, return EMBER_INVALID_CALL.
N/A | address |
140
of file app/framework/plugin/address-table/address-table.h
emberAfPluginAddressTableAddEntry#
#define emberAfPluginAddressTableAddEntryValue:
(longId)
Add a new entry to the address table.
If the entry already exists, no new entry is created and the index of the entry already in the table is returned. If a free entry is found, the entry is added to the table and the corresponding index is returned. If no free entry is available in the address table, the value EMBER_NULL_ADDRESS_TABLE_INDEX is returned.
60
of file app/framework/plugin/address-table/address-table.h
emberAfPluginAddressTableRemoveEntryByIndex#
#define emberAfPluginAddressTableRemoveEntryByIndexValue:
(index)
Remove an entry from the address table by index.
If the index is valid, the entry is cleared and the EMBER_SUCCESS status is returned. Otherwise, the status EMBER_INVALID_CALL is returned.
79
of file app/framework/plugin/address-table/address-table.h
emberAfPluginAddressTableLookupByEui64#
#define emberAfPluginAddressTableLookupByEui64Value:
(longId)
Search for an EUI64 in the address table.
If an entry with a matching EUI64 is found, the function returns the corresponding index. Otherwise, the value EMBER_NULL_ADDRESS_TABLE_INDEX is returned.
89
of file app/framework/plugin/address-table/address-table.h