Zigbee API Consolidation#

All of the Zigbee APIs are renamed to adopt a consistent format with standard argument types, like sl_status_t over EmberStatus. There are several reasons for this rename.

  • Consolidate a single API for both host and SoC. Previously, host APIs could differ from SoC counterparts due to the way the code was organized or some consequence of the EZSP link. Now, there's a single signature and the user does not need to care what the underlying transport is (host over EZSP, direct bare metal call, or IPC call).

  • Every API now returns sl_status_t over EmberStatus or EzspStatus returns.

  • Some APIs had variants to allow for some custom behavior. This resulted in maintaining several APIs that all did similar things. These families of APIs were consoldated into a single API to satisfy all needs.

Below is a table containing a large majority of the API consolidation. The following is to be noted.

  • Some APIs have been removed entirely. These are largely deprecated APIs or APIs that were obsolete.

  • As before, certain APIs are only available to be called on SoC, not on host over EZSP, which lacks support.

  • Almost every callback or handler is run in the context of the user task. There are few exceptions to the rule, and those functions are marked with "_internal_" in their name. These exception handlers are run in the context of the stack task, and are done so due to timing requirements. An example of this is found in the following handlers:

    • sl_zigbee_internal_override_append_source_route_handler

    • sl_zigbee_internal_trust_center_join_handler

    • sl_zigbee_internal_packet_handoff_incoming_handler

    • sl_zigbee_internal_packet_handoff_outgoing_handler

SoC API/Handler

EZSP Signature, if any

New Common Signature

uint8_t emberMaximumApsPayloadLength(void)

uint8_t ezspMaximumPayloadLength(void)

uint8_t sl_zigbee_maximum_aps_payload_length(void)

EmberStatus emberSendMulticastWithAlias(

  EmberApsFrame *apsFrame,

  uint8_t radius,

  uint8_t nonmemberRadius,

  EmberMessageBuffer message,

  EmberNodeId alias,

  uint8_t sequence)

EmberStatus ezspSendMulticastWithAlias(

  EmberApsFrame *apsFrame,

  uint8_t hops,

  uint8_t nonmemberRadius,

  uint16_t alias,

  uint8_t nwkSequence,

  uint8_t messageTag,

  uint8_t messageLength,

  uint8_t *messageContents,

  uint8_t *sequence)

Consolidated with sl_zigbee_send_multicast

EmberStatus emberSendMulticast(

  EmberApsFrame *apsFrame,

  uint8_t radius,

  uint8_t nonmemberRadius,

  EmberMessageBuffer message)

EmberStatus ezspSendMulticast(

  EmberApsFrame *apsFrame,

  uint8_t hops,

  uint8_t nonmemberRadius,

  uint8_t messageTag,

  uint8_t messageLength,

  uint8_t *messageContents,

  uint8_t *sequence)

sl_status_t sl_zigbee_send_multicast(

  sl_zigbee_aps_frame *apsFrame,

  uint8_t radius,

  uint16_t broadcastAddr,

  sl_802154_short_addr_t alias,

  uint8_t nwkSequence,

  uint16_t messageTag,

  uint8_t messageLength,

  const uint8_t *message,

  uint8_t *apsSequence)

EmberStatus emberSendUnicast(

  EmberOutgoingMessageType type,

  uint16_t indexOrDestination,

  EmberApsFrame *apsFrame,

  EmberMessageBuffer message)

EmberStatus ezspSendUnicast(

  EmberOutgoingMessageType type,

  EmberNodeId indexOrDestination,

  EmberApsFrame *apsFrame,

  uint8_t messageTag,

  uint8_t messageLength,

  uint8_t *messageContents,

  uint8_t *sequence)

sl_status_t sl_zigbee_send_unicast(

  sl_zigbee_outgoing_message_type_t type,

  sl_802154_short_addr_t index_or_destination,

  sl_zigbee_aps_frame_t *aps_frame,

  uint8_t message_tag,

  uint8_t message_length,

  uint8_t *message_contents,

  uint8_t *sequence)

EmberStatus emberSendBroadcast(

  EmberNodeId destination,

  EmberApsFrame *apsFrame,

  uint8_t radius,

  EmberMessageBuffer message)

EmberStatus ezspSendBroadcast(

  EmberNodeId destination,

  EmberApsFrame *apsFrame,

  uint8_t radius,

  uint8_t messageTag,

  uint8_t messageLength,

  uint8_t *messageContents,

  uint8_t *sequence)

sl_status_t sl_zigbee_send_broadcast(

  sl_802154_short_addr_t alias,

  sl_802154_short_addr_t destination,

  uint8_t nwkSequence,

  sl_zigbee_aps_frame_t *apsFrame,

  uint8_t radius,

  uint8_t message_tag,

  uint8_t message_length,

  uint8_t *message_contents,

  uint8_t *sequence)

EmberStatus emberProxyBroadcast(

  EmberNodeId source,

  EmberNodeId destination,

  uint8_t sequence,

  EmberApsFrame *apsFrame,

  uint8_t radius,

  EmberMessageBuffer message)

EmberStatus ezspProxyBroadcast(

  EmberNodeId source,

  EmberNodeId destination,

  uint8_t nwkSequence,

  EmberApsFrame *apsFrame,

  uint8_t radius,

  uint8_t messageTag,

  uint8_t messageLength,

  uint8_t *messageContents,

  uint8_t *apsSequence)

Consolidated with sl_zigbee_send_broadcast

EmberStatus emberProxyNextBroadcastFromLong(

  uint8_t* euiSource)

NONE

sl_status_t sl_zigbee_proxy_next_broadcast_from_long(

  uint8_t* eui_source)

EmberStatus emberSendManyToOneRouteRequest(

  uint16_t concentratorType,

  uint8_t radius)

EmberStatus ezspSendManyToOneRouteRequest(

  uint16_t concentratorType,

  uint8_t radius)

sl_status_t sl_zigbee_send_many_to_one_route_request(

  uint16_t concentratorType,

  uint8_t radius)

EmberStatus emberGetSourceRouteTableEntry(

  uint8_t index,

  EmberNodeId *destination,

  uint8_t *closerIndex)

EmberStatus ezspGetSourceRouteTableEntry(

  uint8_t index,

  EmberNodeId *destination,

  uint8_t *closerIndex)

sl_status_t sl_zigbee_get_source_route_table_entry(

  uint8_t index,

  sl_802154_short_addr_t *destination,

  uint8_t *closer_index)

uint8_t emberGetSourceRouteTableFilledSize(void)

uint8_t ezspGetSourceRouteTableFilledSize(void)

uint8_t sl_zigbee_get_source_route_table_filled_size(void)

uint8_t emberGetSourceRouteTableTotalSize(void)

uint8_t ezspGetSourceRouteTableTotalSize(void)

uint8_t sl_zigbee_get_source_route_table_total_size(void)

void emberIncomingManyToOneRouteRequestHandler(

  EmberNodeId source,

  EmberEUI64 longId,

  uint8_t cost)

void ezspIncomingManyToOneRouteRequestHandler(

  EmberNodeId source,

  EmberEUI64 longId,

  uint8_t cost)

void sl_zigbee_incoming_many_to_one_route_request_handler(

  sl_802154_short_addr_t source,

  sl_802154_long_addr_t long_id,

  uint8_t cost)

void emberIncomingRouteErrorHandler(

  EmberStatus status,

  EmberNodeId target)

void ezspIncomingRouteErrorHandler(

  EmberStatus status,

  EmberNodeId target)

void sl_zigbee_incoming_route_error_handler(

  sl_status_t status,

  sl_802154_short_addr_t target)

void emberIncomingNetworkStatusHandler(

  uint8_t errorCode,

  EmberNodeId target)

void ezspIncomingNetworkStatusHandler(

  uint8_t errorCode,

  EmberNodeId target)

void sl_zigbee_incoming_network_status_handler(

  uint8_t error_code,

  sl_802154_short_addr_t target)

void emberOverrideIncomingRouteRecordHandler(

  EmberNodeId source,

  EmberEUI64 sourceEui,

  uint8_t relayCount,

  EmberMessageBuffer header,

  uint8_t relayListIndex,

  bool* consumed)

NONE

void sl_zigbee_override_incoming_route_record_handler(

  sl_zigbee_rx_packet_info_t *packetInfo,

  uint8_t relayCount,

  uint8_t *relayList,

  bool* consumed)

uint8_t emberOverrideAppendSourceRouteHandler(

  EmberNodeId destination,

  EmberMessageBuffer* header,

  bool* consumed)

NONE

uint8_t sl_zigbee_internal_override_append_source_route_handler(

  sl_802154_short_addr_t destination,

  sli_buffer_manager_buffer_t* header,

  bool* consumed)

void emberIncomingRouteRecordHandler(

  EmberNodeId source,

  EmberEUI64 sourceEui,

  uint8_t relayCount,

  EmberMessageBuffer header,

  uint8_t relayListIndex)

void ezspIncomingRouteRecordHandler(

  EmberNodeId source,

  EmberEUI64 sourceEui,

  uint8_t lastHopLqi,

  int8_t lastHopRssi,

  uint8_t relayCount,

  uint8_t *relayList)

void sl_zigbee_incoming_route_record_handler(

  sl_zigbee_rx_packet_info_t *packetInfo,

  uint8_t relayCount,

  uint8_t *relayList)

uint8_t emberAppendSourceRouteHandler(

  EmberNodeId destination,

  EmberMessageBuffer header)

NONE

See sl_zigbee_internal_override_append_source_route_handler

EmberStatus emberCancelMessage(

  EmberMessageBuffer message)

NONE

Removed

void emberMessageSentHandler(

  EmberOutgoingMessageType type,

  uint16_t indexOrDestination,

  EmberApsFrame *apsFrame,

  EmberMessageBuffer message,

  EmberStatus status)

void ezspMessageSentHandler(

  EmberOutgoingMessageType type,

  uint16_t indexOrDestination,

  EmberApsFrame *apsFrame,

  uint8_t messageTag,

  EmberStatus status,

  uint8_t messageLength,

  uint8_t *messageContents)

void sl_zigbee_message_sent_handler(

  sl_status_t status,

  sl_zigbee_outgoing_message_type_t type,

  uint16_t indexOrDestination,

  sl_zigbee_aps_frame_t *apsFrame,

  uint16_t messageTag,

  uint8_t messageLength,

  uint8_t *message)

void emberIncomingMessageHandler(

  EmberIncomingMessageType type,

  EmberApsFrame *apsFrame,

  EmberMessageBuffer message)

void sl_zigbee_incoming_message_handler(

  sl_zigbee_incoming_message_type_t type,

  sl_zigbee_aps_frame_t *apsFrame,

  sl_zigbee_rx_packet_info_t *packetInfo,

  uint8_t messageLength,

  uint8_t *message)

void sl_zigbee_incoming_message_handler(

  sl_zigbee_incoming_message_type_t type,

  sl_zigbee_aps_frame_t *apsFrame,

  sl_zigbee_rx_packet_info_t *packetInfo,

  uint8_t messageLength,

  uint8_t *message);

EmberStatus emberGetLastHopLqi(

  uint8_t *lastHopLqi)

NONE

See sl_zigbee_incoming_message_handler. Relevant info in sl_zigbee_rx_packet_info_t

EmberStatus emberGetLastHopRssi(

  int8_t *lastHopRssi)

NONE

See sl_zigbee_incoming_message_handler. Relevant info in sl_zigbee_rx_packet_info_t

EmberStatus emberGetLastHopTimestamp(

  uint32_t *lastHopTimestamp)

NONE

See sl_zigbee_incoming_message_handler. Relevant info in sl_zigbee_rx_packet_info_t

EmberNodeId emberGetSender(void)

NONE

See sl_zigbee_incoming_message_handler. Relevant info in sl_zigbee_rx_packet_info_t

EmberStatus emberGetSenderEui64(

  EmberEUI64 senderEui64);

NONE

See sl_zigbee_incoming_message_handler. Relevant info in sl_zigbee_rx_packet_info_t

EmberStatus emberSendReply(

  uint16_t clusterId,

  EmberMessageBuffer reply)

EmberStatus ezspSendReply(

  EmberNodeId sender,

  EmberApsFrame *apsFrame,

  uint8_t messageLength,

  uint8_t *messageContents)

sl_status_t sl_zigbee_send_reply(

  sl_802154_short_addr_t destination,

  sl_zigbee_aps_frame_t *aps_frame,

  uint8_t message_length,

  uint8_t *message_contents)

void emberSetReplyFragmentData(

  uint16_t fragmentData)

NONE

void sl_zigbee_set_reply_fragment_data(

  uint16_t fragmentData)

bool emberAddressTableEntryIsActive(

  uint8_t addressTableIndex)

bool ezspAddressTableEntryIsActive(

  uint8_t addressTableIndex)

bool sl_zigbee_address_table_entry_is_active(

  uint8_t entry_index)

EmberStatus emberSetAddressTableRemoteEui64(

  uint8_t addressTableIndex,

  EmberEUI64 eui64)

EmberStatus ezspSetAddressTableRemoteEui64(

  uint8_t addressTableIndex,

  EmberEUI64 eui64)

sl_status_t sl_zigbee_set_address_table_info(

  uint8_t addressTableIndex,

  sl_802154_long_addr_t eui64,

  sl_802154_short_addr_t id)

void emberSetAddressTableRemoteNodeId(

  uint8_t addressTableIndex,

  EmberNodeId id)

void ezspSetAddressTableRemoteNodeId(

  uint8_t addressTableIndex,

  EmberNodeId id)

sl_status_t sl_zigbee_set_address_table_info(

  uint8_t addressTableIndex,

  sl_802154_long_addr_t eui64,

  sl_802154_short_addr_t id)

void emberGetAddressTableRemoteEui64(

  uint8_t addressTableIndex,

  EmberEUI64 eui64)

void ezspGetAddressTableRemoteEui64(

  uint8_t addressTableIndex,

  EmberEUI64 eui64)

sl_status_t sl_zigbee_get_address_table_info(

  uint8_t addressTableIndex,

  sl_802154_short_addr_t *nodeId,

  sl_802154_long_addr_t eui64)

EmberNodeId emberGetAddressTableRemoteNodeId(

  uint8_t addressTableIndex)

EmberNodeId ezspGetAddressTableRemoteNodeId(

  uint8_t addressTableIndex)

sl_status_t sl_zigbee_get_address_table_info(

  uint8_t addressTableIndex,

  sl_802154_short_addr_t *nodeId,

  sl_802154_long_addr_t eui64)

void emberSetExtendedTimeout(

  EmberEUI64 remoteEui64,

  bool extendedTimeout)

void ezspSetExtendedTimeout(

  EmberEUI64 remoteEui64,

sl_status_t sl_zigbee_set_extended_timeout(

  sl_802154_long_addr_t remote_long_id,

  bool extended_timeout)

bool emberGetExtendedTimeout(

  EmberEUI64 remoteEui64)

bool ezspGetExtendedTimeout(

  EmberEUI64 remoteEui64)

sl_status_t sl_zigbee_get_extended_timeout(

  sl_802154_long_addr_t remote_long_id)

void emberIdConflictHandler(

  EmberNodeId conflictingId);

void ezspIdConflictHandler(

  EmberNodeId id)

void sl_zigbee_id_conflict_handler(

  sl_802154_short_addr_t short_id)

bool emberPendingAckedMessages(void)

NONE

bool sl_zigbee_pending_acked_messages(void)

void sl_set_passive_ack_config(

  sl_passive_ack_config_enum_t config,

  uint8_t minAcksNeeded)

NONE

sl_status_t sl_zigbee_set_passive_ack_config(

  sl_zigbee_passive_ack_config_enum_t config,

  uint8_t min_acks_needed)

#define emberBroadcastSetMinAcksNeeded(

  minAcksNeeded)

NONE

#define sl_zigbee_broadcast_set_min_acks_needed(

  minAcksNeeded)

EmberPacketAction emberPacketHandoffIncomingHandler(

  EmberZigbeePacketType packetType,

  EmberMessageBuffer packetBuffer,

  uint8_t index,

  void *data)

NONE

sl_zigbee_packet_action_t sl_zigbee_internal_packet_handoff_incoming_handler(

  sl_zigbee_zigbee_packet_type_t packetType,

  sli_buffer_manager_buffer_t packetBuffer,

  uint8_t index,

  void *data)

EmberPacketAction emberPacketHandoffOutgoingHandler(

  EmberZigbeePacketType packetType,

  EmberMessageBuffer packetBuffer,

  uint8_t index,

  void *data)

NONE

sl_zigbee_packet_action_t sl_zigbee_internal_packet_handoff_outgoing_handler(

  sl_zigbee_zigbee_packet_type_t packetType,

  sli_buffer_manager_buffer_t packetBuffer,

  uint8_t index,

  void *data)

EmberPacketAction emberAfIncomingPacketFilterCallback(

  EmberZigbeePacketType packetType,

  uint8_t* packetData,

  uint8_t* size_p,

  void *data)

NONE

sl_zigbee_packet_action_t sl_zigbee_af_incoming_packet_filter_cb(

  sl_zigbee_zigbee_packet_type_t packetType,

  uint8_t* packetData,

  uint8_t* size_p,

  void *data)

EmberPacketAction emberAfOutgoingPacketFilterCallback(

  EmberZigbeePacketType packetType,

  uint8_t* packetData,

  uint8_t* size_p,

NONE

sl_zigbee_packet_action_t sl_zigbee_af_outgoing_packet_filter_cb(

  sl_zigbee_zigbee_packet_type_t packetType,

  uint8_t* packetData,

  uint8_t* size_p,

  void* data)

EmberStatus slx_zigbee_add_to_incoming_network_queue(

  int8_t rssi,

  uint8_t lqi,

  const sl_nwk_packet_exchange_t *nwk_packet)

NONE

sl_status_t slx_zigbee_add_to_incoming_network_queue(

  int8_t rssi,

  uint8_t lqi,

  const sl_nwk_packet_exchange_t *nwk_packet)

EmberStatus emberInit(void)

NONE

Removed; called by stack.

void emberTick(void)

NONE

Removed; called by stack.

EmberStatus emberNetworkInit(

  EmberNetworkInitStruct* networkInitStruct)

EmberStatus ezspNetworkInit(

  EmberNetworkInitStruct *networkInitStruct)

sl_status_t sl_zigbee_network_init(

  sl_zigbee_network_init_data_t *init_data)

EmberStatus emberFormNetwork(

  EmberNetworkParameters *parameters)

EmberStatus ezspFormNetwork(

  EmberNetworkParameters *parameters)

sl_status_t sl_zigbee_form_network(

  sl_zigbee_network_params_t *parameters)

EmberStatus emberSleepyToSleepyNetworkStart(

  EmberNetworkParameters *parameters,

  bool initiator)

NONE

sl_status_t sl_zigbee_sleepy_to_sleepy_network_start(

  sl_zigbee_network_params_t *parameters,

  bool initiator)

EmberStatus emberPermitJoining(

  uint8_t duration)

EmberStatus ezspPermitJoining(

  uint8_t duration)

sl_status_t sl_zigbee_permit_joining(

  uint8_t duration)

EmberStatus emberJoinNetwork(

  EmberNodeType nodeType,

  EmberNetworkParameters *parameters)

EmberStatus ezspJoinNetwork(

  EmberNodeType nodeType,

  EmberNetworkParameters *parameters)

sl_status_t sl_zigbee_join_network(

  sl_zigbee_node_type_t node_type,

  sl_zigbee_network_params_t *parameters)

EmberStatus emberJoinNetworkDirectly(

  EmberNodeType localNodeType,

  EmberBeaconData* beacon,

  int8_t radioTxPower,

  bool clearBeaconsAfterNetworkUp)

EmberStatus ezspJoinNetworkDirectly(

  EmberNodeType localNodeType,

  EmberBeaconData *beacon,

  int8_t radioTxPower,

  bool clearBeaconsAfterNetworkUp)

sl_status_t sl_zigbee_join_network_directly(

  sl_zigbee_node_type_t node_type,

  sl_zigbee_beacon_data_t *beacon,

  int8_t radio_tx_power,

  bool clear_beacons_after_network_up)

EmberStatus emberLeaveNetwork(void)

EmberStatus ezspLeaveNetwork(void)

sl_status_t sl_zigbee_leave_network(

  sl_zigbee_leave_network_option_t options)

EmberStatus emberSendZigbeeLeave(

  EmberNodeId destination,

  EmberLeaveRequestFlags flags)

NONE

sl_status_t sl_zigbee_send_zigbee_leave(

  sl_802154_short_addr_t destination,

  sl_zigbee_leave_flags_t flags)

EmberStatus emberFindAndRejoinNetworkWithReason(

  bool haveCurrentNetworkKey,

  uint32_t channelMask,

  EmberRejoinReason reason)

NONE

See sl_zigbee_find_and_rejoin_network

EmberStatus emberFindAndRejoinNetwork(

  bool haveCurrentNetworkKey,

  uint32_t channelMask)

EmberStatus ezspFindAndRejoinNetwork(

  bool haveCurrentNetworkKey,

  uint32_t channelMask)

sl_status_t sl_zigbee_find_and_rejoin_network(

  bool have_current_network_key,

  uint32_t channel_mask,

  sl_zigbee_rejoin_reason_t reason,

  sl_zigbee_node_type_t node_type)

EmberStatus emberFindAndRejoinNetworkWithNodeType(

  bool haveCurrentNetworkKey,

  uint32_t channelMask,

  EmberNodeType nodeType)

NONE

See sl_zigbee_find_and_rejoin_network

EmberRejoinReason emberGetLastRejoinReason(void)

NONE

sl_zigbee_rejoin_reason_t sl_zigbee_get_last_rejoin_reason(void)

#define emberRejoinNetwork(haveKey)

NONE

See sl_zigbee_find_and_rejoin_network

sl_status_t emberStartScan(

  EmberNetworkScanType scanType,

  uint8_t duration)

sl_status_t ezspStartScan(

  EzspNetworkScanType scanType,

  uint32_t channelMask,

  uint8_t duration)

sl_status_t sl_zigbee_start_scan(

  sl_zigbee_scan_type_t scan_type,

  uint32_t channel_mask,

  uint8_t duration)

EmberStatus emberSurveyBeacons(

  bool useStandardBeacons,

  EmberNetworkFoundCallback networkFoundCallback,

  EmberScanCompleteCallback scanCompleteCallback)

NONE

sl_status_t sl_zigbee_survey_beacons(

  bool use_standard_beacons,

  uint32_t channel_mask,

  sl_zigbee_network_found_callback_t network_found_cb,

  sl_zigbee_scan_complete_callback_t scan_complete_cb)

EmberStatus emberFindUnusedPanId(

  uint32_t channelMask,

  uint8_t duration)

EmberStatus ezspFindUnusedPanId(

  uint32_t channelMask,

  uint8_t duration)

sl_status_t sl_zigbee_find_unused_pan_id(

  uint32_t channel_mask,

  uint8_t duration)

EmberStatus emberStopScan(void)

EmberStatus ezspStopScan(void)

sl_status_t sl_zigbee_stop_scan(void)

void emberScanCompleteHandler(

  uint8_t channel,

  EmberStatus status)

void ezspScanCompleteHandler(

  uint8_t channel,

  EmberStatus status)

void sl_zigbee_scan_complete_handler(

  uint8_t channel,

  sl_status_t status)

void emberEnergyScanResultHandler(

  uint8_t channel,

  int8_t maxRssiValue)

void ezspEnergyScanResultHandler(

  uint8_t channel,

  int8_t maxRssiValue)

void sl_zigbee_energy_scan_result_handler(

  uint8_t channel,

  int8_t max_rssi_value)

void emberNetworkFoundHandler(

  EmberZigbeeNetwork *networkFound,

  uint8_t lqi,

  int8_t rssi)

void ezspNetworkFoundHandler(

  EmberZigbeeNetwork *networkFound,

  uint8_t lastHopLqi,

  int8_t lastHopRssi)

void sl_zigbee_network_found_handler(

  sl_zigbee_network_data_t *network,

  uint8_t last_hop_lqi,

  int8_t last_hop_rssi)

void emberUnusedPanIdFoundHandler(

  EmberPanId panId,

  uint8_t channel);

void ezspUnusedPanIdFoundHandler(

  EmberPanId panId,

  uint8_t channel)

void sl_zigbee_unused_pan_id_found_handler(

  sl_802154_pan_id_t pan_id,

  uint8_t channel)

bool emberStackIsPerformingRejoin(void)

bool emberStackIsPerformingRejoin(void)

bool sl_zigbee_is_performing_rejoin(void)

EmberLeaveReason emberGetLastLeaveReason(

  EmberNodeId* returnNodeIdThatSentLeave)

EmberLeaveReason emberGetLastLeaveReason(

  EmberNodeId* id)

sl_zigbee_leave_reason_t sl_zigbee_get_last_leave_reason(

  sl_802154_short_addr_t *returnNodeIdThatSentLeave)

bool emberGetPermitJoining(void)

NONE

bool sl_zigbee_get_permit_joining(void)

EmberStatus emberSetNwkUpdateId(

  uint8_t nwkUpdateId)

NONE

sl_status_t sl_zigbee_set_nwk_update_id(

  uint8_t nwkUpdateId,

  bool set_when_on_network)

EmberStatus emberSetBeaconJitterDuration(

  uint8_t beaconJitterDuration)

NONE

  sl_status_t sl_zigbee_set_beacon_jitter(

  uint8_t duration_ms)

void emberSetTcRejoinsUsingWellKnownKeyAllowed(

  bool allow)

NONE

sl_status_t sl_zigbee_set_tc_rejoins_using_well_known_key_allowed(

  bool allow)

bool emberTcRejoinsUsingWellKnownKeyAllowed(void)

NONE

bool sl_zigbee_tc_rejoins_using_well_known_key_allowed(void)

EmberStatus emberSetupDelayedJoin(

  uint8_t networkKeyTimeoutS)

NONE

sl_status_t sl_zigbee_setup_delayed_join(

  uint8_t network_key_timeout_s)

uint8_t emberGetNetworkKeyTimeout(void)

NONE

uint8_t sl_zigbee_get_network_key_timeout(void)

void emberRescheduleLinkStatusMsg(void)

NONE

sl_status_t sl_zigbee_reschedule_link_status_msg(void)

void emberSetMinRSSI( int8_t minRSSI)

NONE

See sl_zigbee_set_beacon_classification_params

void emberSetParentClassificationEnabled(

  bool enabled)

void ezspSetParentClassificationEnabled(

  bool enabled)

sl_status_t sl_zigbee_set_beacon_classification_params(

  sl_zigbee_beacon_classification_params_t* param)

bool emberGetParentClassificationEnabled(void)

bool ezspGetParentClassificationEnabled(void)

sl_status_t sl_zigbee_get_beacon_classification_params(

  sl_zigbee_beacon_classification_params_t* param)

void emberSetPendingNetworkUpdatePanId(

  uint16_t panId)

NONE

sl_status_t sl_zigbee_set_pending_network_update_pan_id(

  uint16_t pan_id)

EmberStatus emberGetNeighborLastLqiRssi(

  EmberNodeId nodeId,

  uint8_t *lqi,

  int8_t *rssi)

NONE

See sl_zigbee_incoming_message_handler.Relevant info in sl_zigbee_rx_packet_info_t

bool emberSendPanIdUpdate(

  EmberPanId newPan)

bool ezspSendPanIdUpdate(

  EmberPanId newPan)

bool sl_zigbee_send_pan_id_update(

  sl_802154_pan_id_t new_pan)

void emberClearStoredBeacons(void)

void ezspClearStoredBeacons(void)

sl_status_t sl_zigbee_clear_stored_beacons(void)

EmberStatus emberSetNumBeaconsToStore(

  uint8_t numBeacons)

NONE

sl_status_t sl_zigbee_set_num_beacons_to_store(

  uint8_t num_beacons)

EmberStatus emberGetFirstBeacon(

  EmberBeaconIterator* beaconIterator)

EmberStatus ezspGetFirstBeacon(

  EmberBeaconIterator *beaconIterator)

sl_status_t sl_zigbee_get_stored_beacon(

  uint8_t beacon_number,

  sl_zigbee_beacon_data_t* beacon)

EmberStatus emberGetNextBeacon(

  EmberBeaconData* beacon)

EmberStatus ezspGetNextBeacon(

  EmberBeaconData *beacon)

See sl_zigbee_get_stored_beacon

uint8_t emberGetNumStoredBeacons(void)

uint8_t ezspGetNumStoredBeacons(void)

uint8_t sl_zigbee_get_num_stored_beacons(void)

void emberStackStatusHandler(

  EmberStatus status)

  EmberStatus status)

  void sl_zigbee_stack_status_handler(

  sl_status_t status)

EmberNetworkStatus emberNetworkState(void)

EmberNetworkStatus ezspNetworkState(void)

sl_zigbee_network_status_t sl_zigbee_network_state(void)

bool emberStackIsUp(void)

NONE

bool sl_zigbee_stack_is_up(void)

EmberStatus emberWriteNodeData(

  bool erase)

EmberStatus ezspWriteNodeData(

  bool erase)

sl_status_t sl_zigbee_write_node_data(

  bool erase)

uint32_t emberMsToNextStackEvent(void)

NONE

uint32_t sl_zigbee_ms_to_next_stack_event(void)

void emberSetPowerDescriptor(

  uint16_t descriptor)

void ezspSetPowerDescriptor(

  uint16_t descriptor)

sl_status_t sl_zigbee_set_power_descriptor(

  uint16_t descriptor)

EmberEUI64 emberGetEui64(void)

void ezspGetEui64(

  EmberEUI64 eui64)

sl_802154_long_addr_t sl_zigbee_get_eui64(void)

bool emberIsLocalEui64(

  EmberEUI64 eui64)

Macro wrapper around ezspGetEui64()

bool sl_zigbee_is_local_eui64(

  sl_802154_long_addr_t eui64)

EmberNodeId emberGetNodeId(void)

EmberNodeId ezspGetNodeId(void)

sl_802154_short_addr_t sl_zigbee_get_node_id(void)

EmberNodeId emberRadioGetNodeId(void)

NONE

Removed

void emberSetManufacturerCode(

  uint16_t code)

void ezspSetManufacturerCode(

  uint16_t code)

sl_status_t sl_zigbee_set_manufacturer_code(

  uint16_t code)

void emberSetMaximumIncomingTransferSize(

  uint16_t size)

void emberSetMaximumIncomingTransferSize(

  uint16_t size)

sl_status_t sl_zigbee_set_node_descriptor(

  sl_zigbee_node_descriptor_info_t *descriptor)

void emberSetMaximumOutgoingTransferSize(

  uint16_t size)

void emberSetMaximumOutgoingTransferSize(

  uint16_t size)

See sl_zigbee_set_node_descriptor

void emberSetDescriptorCapability(

  uint8_t capability)

void emberSetDescriptorCapability(

  uint8_t capability)

See sl_zigbee_set_node_descriptor

EmberStatus emberGetNetworkParameters(

  EmberNetworkParameters *parameters)

EmberStatus ezspGetNetworkParameters(

  EmberNodeType *nodeType,

  EmberNetworkParameters *parameters)

sl_status_t sl_zigbee_get_network_parameters(

  sl_zigbee_node_type_t *node_type,

  sl_zigbee_network_parameters *parameters)

EmberStatus emberGetRadioParameters(

  uint8_t phyIndex,

  EmberMultiPhyRadioParameters *parameters)

EmberStatus ezspGetRadioParameters(

  uint8_t phyIndex,

  EmberMultiPhyRadioParameters *parameters)

sl_status_t sl_zigbee_get_radio_parameters(

  uint8_t phy_index,

  sl_zigbee_multiphy_radio_parameters_t *parameters)

EmberStatus emberGetNodeType(

  EmberNodeType *resultLocation)

NONE

See sl_zigbee_get_network_parameters

EmberStatus emberSetRadioChannel(

  uint8_t channel)

EmberStatus ezspSetRadioChannel(

  uint8_t channel)

sl_status_t sl_zigbee_set_logical_and_radio_channel(

  uint8_t channel)

EmberStatus emberSetLogicalAndRadioChannel(

  uint8_t channel)

NONE

sl_status_t sl_zigbee_set_radio_channel(

  uint8_t channel)

uint8_t emberGetLogicalChannel(void)

NONE

See sl_zigbee_get_radio_channel

uint8_t emberGetRadioChannel(void)

uint8_t ezspGetRadioChannel(void)

uint8_t sl_zigbee_get_radio_channel(void)

EmberStatus emberSetRadioPower(

EmberStatus ezspSetRadioPower(

  int8_t power)

sl_status_t sl_zigbee_set_radio_power(

  int8_t power)

int8_t emberGetRadioPower(void)

NONE

int8_t sl_zigbee_get_radio_power(void)

void *emberGetRailHandle(void)

NONE

void *sl_zigbee_get_rail_handle(void)

EmberPanId emberGetPanId(void)

NONE

sl_802154_pan_id_t sl_zigbee_get_pan_id(void)

EmberPanId emberRadioGetPanId(void)

NONE

Removed

EmberStatus emberSetRadioIeee802154CcaMode(

  uint8_t ccaMode)

EmberStatus ezspSetRadioIeee802154CcaMode(

  uint8_t ccaMode)

sl_status_t sl_zigbee_set_radio_ieee802154_cca_mode(

  uint8_t cca_mode)

void emberGetExtendedPanId(

  uint8_t *resultLocation)

NONE

void sl_zigbee_get_extended_pan_id(

  uint8_t *result_location)

uint8_t emberGetEndpoint(

  uint8_t index)

NONE

uint8_t sl_zigbee_get_endpoint(

  uint8_t index)

uint8_t emberGetEndpointCount(void)

uint8_t sl_zigbee_get_endpoint_count(void)

bool emberGetEndpointDescription(

  uint8_t endpoint,

  EmberEndpointDescription *result)

bool sl_zigbee_get_endpoint_description(

  uint8_t endpoint,

  sl_zigbee_endpoint_description_t *result)

uint16_t emberGetEndpointCluster(

  uint8_t endpoint,

  EmberClusterListId listId,

  uint8_t listIndex)

uint16_t sl_zigbee_get_endpoint_cluster(

  uint8_t endpoint,

  sl_zigbee_cluster_list_id_t listId,

bool emberIsNodeIdValid(

  EmberNodeId nodeId)

NONE

bool sl_zigbee_is_node_id_valid(

  sl_802154_short_addr_t id)

EmberNodeId emberLookupNodeIdByEui64(

  EmberEUI64 eui64)

EmberNodeId ezspLookupNodeIdByEui64(

  EmberEUI64 eui64)

sl_status_t sl_zigbee_lookup_node_id_by_eui64(

  sl_802154_long_addr_t eui64,

  sl_802154_short_addr_t *return)

EmberStatus emberLookupEui64ByNodeId(

  EmberNodeId nodeId,

  EmberEUI64 eui64Return)

EmberStatus ezspLookupEui64ByNodeId(

  EmberNodeId nodeId,

   EmberEUI64 eui64)

sl_status_t sl_zigbee_lookup_eui64_by_node_id(

  sl_802154_short_addr_t node_id,

  sl_802154_long_addr_t *return)

void emberCounterHandler(

  EmberCounterType type,

  EmberCounterInfo info)

NONE

Removed; see sl_zigbee_read_counters, sl_zigbee_set_counter_threshold, and sl_zigbee_af_counter_rollover_cb

bool emberCounterRequiresPhyIndex(

  EmberCounterType type)

NONE

bool sl_zigbee_counter_requires_phy_index(

  sl_zigbee_counter_type_t type)

bool emberCounterRequiresDestinationNodeId(

  EmberCounterType type)

NONE

bool sl_zigbee_counter_requires_destination_node_id(

  sl_zigbee_counter_type_t type)

void emberStackTokenChangedHandler(

  uint16_t tokenAddress)

NONE

void sl_zigbee_stack_token_changed_handler(

  uint16_t token_address)

bool emberRtosIdleHandler(

  uint32_t *idleTimeMs)

NONE

Removed

void emberRtosStackWakeupIsrHandler(void)

NONE

void sl_zigbee_rtos_stack_wakeup_isr_handler(void)

EmberStatus emberGetNeighbor(

  uint8_t index,

  EmberNeighborTableEntry *result)

EmberStatus ezspGetNeighbor(

  uint8_t index,

  EmberNeighborTableEntry *value)

sl_status_t sl_zigbee_get_neighbor(

  uint8_t index,

  sl_zigbee_neighbor_table_entry_t *result)

EmberStatus emberSetRoutingShortcutThreshold(

  uint8_t costThresh)

EmberStatus ezspSetRoutingShortcutThreshold(

  uint8_t costThresh)

sl_status_t sl_zigbee_set_routing_shortcut_threshold(

  uint8_t threshold)

uint8_t emberGetRoutingShortcutThreshold(void)

uint8_t ezspGetRoutingShortcutThreshold(void)

uint8_t sl_zigbee_get_routing_shortcut_threshold(void)

EmberStatus emberSetInitialNeighborOutgoingCost(

  uint8_t cost)

NONE

sl_status_t sl_zigbee_set_initial_neighbor_outgoing_cost(

  uint8_t cost)

uint8_t emberGetInitialNeighborOutgoingCost(void)

NONE

uint8_t sl_zigbee_get_initial_neighbor_outgoing_cost(void)

void emberResetRejoiningNeighborsFC(

  bool reset)

NONE

void sl_zigbee_reset_rejoining_neighbors_frame_counter(

  bool reset)

bool emberIsResetRejoiningNeighborsFCEnabled(void)

NONE

bool sl_zigbee_is_reset_rejoining_neighbors_frame_counter_enabled(void)

EmberStatus emberGetNeighborFrameCounter(

  EmberEUI64 nodeEui64,

  uint32_t *returnFrameCounter)

EmberStatus ezspGetNeighborFrameCounter(

  EmberEUI64 eui64,

  uint32_t *returnFrameCounter)

sl_status_t sl_zigbee_get_neighbor_frame_counter(

  sl_802154_long_addr_t eui64,

  uint32_t *return)

EmberStatus emberSetNeighborFrameCounter(

  EmberEUI64 nodeEui64,

  uint32_t frameCounter)

EmberStatus ezspSetNeighborFrameCounter(

  EmberEUI64 eui64,

  uint32_t frameCounter)

sl_status_t sl_zigbee_set_neighbor_frame_counter(

  sl_802154_long_addr_t eui64,

  uint32_t frame_counter)

EmberStatus emberGetRouteTableEntry(

  uint8_t index,

  EmberRouteTableEntry *result)

EmberStatus ezspGetRouteTableEntry(

  uint8_t index,

  EmberRouteTableEntry *value)

sl_status_t sl_zigbee_get_route_table_entry(

  sl_zigbee_route_table_entry_t *result)

uint8_t emberStackProfile(void)

emberAfGetNcpConfigItem(

  EZSP_CONFIG_STACK_PROFILE)

uint8_t sl_zigbee_stack_profile(void)

uint8_t emberTreeDepth(void)

NONE

Removed

uint8_t emberMaxDepth(void)

NONE

Removed

void emberIncomingBootloadMessageHandler(

  EmberEUI64 longId,

void ezspIncomingBootloadMessageHandler(

  EmberEUI64 longId,

  uint8_t lastHopLqi,

  int8_t lastHopRssi,

  uint8_t messageLength,

  uint8_t *messageContents)

void sl_zigbee_incoming_bootload_message_handler(

  sl_802154_long_addr_t longId,

  sl_zigbee_rx_packet_info_t *packetInfo,

  uint8_t messageLength,

  uint8_t *messageContents)

void emberBootloadTransmitCompleteHandler(

  Buffer message,

  EmberStatus status)

void ezspBootloadTransmitCompleteHandler(

  EmberStatus status,

  uint8_t messageLength,

  uint8_t* messageContents)

void sl_zigbee_bootload_transmit_complete_handler(

  sl_status_t status,

  uint8_t messageLength,

  uint8_t *messageContents)

void emberDsaSignHandler(

  EmberStatus status,

  Buffer signedMessage)

void ezspDsaSignHandler(

  EmberStatus status,

  uint8_t messageLength,

  uint8_t* messageContents)

void sl_zigbee_dsa_sign_handler(

  sl_status_t status,

  uint8_t messageLength,

  uint8_t *messageContents)

void emberChildJoinHandler(

  uint8_t index,

  bool joining)

void ezspChildJoinHandler(

  uint8_t index,

  bool joining,

  EmberNodeId childId,

  EmberEUI64 childEui64,

  EmberNodeType childType)

void sl_zigbee_child_join_handler(

  uint8_t index,

  bool joining,

  sl_802154_short_addr_t childId,

  sl_802154_long_addr_t childEui64,

  sl_zigbee_node_type_t childType)

void emberDutyCycleHandler(

  uint8_t channelPage,

  uint8_t channel,

  EmberDutyCycleState state)

void ezspDutyCycleHandler(

  uint8_t channelPage,

  uint8_t channel,

  EmberDutyCycleState state,

  uint8_t totalDevices,

  EmberPerDeviceDutyCycle arrayOfDeviceDutyCycles)

void sl_zigbee_duty_cycle_handler(

  uint8_t channelPage,

  uint8_t channel,

  sl_zigbee_duty_cycle_state state,

  uint8_t totalDevices,

  sl_zigbee_per_device_duty_cycle_t arrayOfDeviceDutyCycles)

void emberMacFilterMatchMessageHandler(

  const EmberMacFilterMatchStruct* macFilterMatchStruct)

  uint8_t filterIndexMatch,

  uint8_t legacyPassthroughType,

  uint8_t lastHopLqi,

  int8_t lastHopRssi,

  uint8_t messageLength,

  uint8_t *messageContents)

void sl_802154_filter_match_message_handler(

  uint8_t filterIndexMatch,

  uint8_t legacyPassthroughType,

  sl_zigbee_rx_packet_info_t *packetInfo,

  uint8_t messageLength,

  uint8_t *messageContents)

void emberRawTransmitCompleteHandler(

  Buffer message,

  EmberStatus status)

void ezspRawTransmitCompleteHandler(

  EmberStatus status)

void sl_zigbee_raw_transmit_complete_handler(

  uint8_t message,

  uint8_t* messageContents,

void emberMacPassthroughMessageHandler(

  EmberMacPassthroughType messageType,

void ezspMacPassthroughMessageHandler(

  uint8_t messageType,

  uint8_t lastHopLqi,

  int8_t lastHopRssi,

  uint8_t messageLength,

  uint8_t *messageContents)

void sl_802154_passthrough_message_handler(

  sl_zigbee_mac_passthrough_type_t messageType,

  sl_zigbee_rx_packet_info_t *packetInfo,

  uint8_t messageLength,

  uint8_t *messageContents)

EmberJoinDecision EmberTrustCenterJoinHandler(

  EmberNodeId newNodeId,

  EmberEui64 newNodeEui64,

  EmberDeviceUpdate status,

  EmberNodeId parentOfNewNode)

NONE

(In context of stack task)

sl_zigbee_join_decision_t sl_zigbee_internal_trust_center_join_handler(

  sl_802154_short_addr_t newNodeId,

  sl_802154_long_addr_t newNodeEui64,

  sl_zigbee_device_update_t status,

  sl_802154_short_addr_t parentOfNewNode)

NONE

void ezspTrustCenterJoinHandler(

  EmberNodeId newNodeId,

  EmberEUI64 newNodeEui64,

  EmberDeviceUpdate status,

  EmberJoinDecision policyDecision,

  EmberNodeId parentOfNewNode)

(In context of user/application task)

void sl_zigbee_trust_center_post_join_handler(

  sl_802154_short_addr_t newNodeId,

  sl_802154_long_addr_t newNodeEui64,

  sl_zigbee_device_update_t status,

  sl_zigbee_join_decision_t policyDecision,

  sl_802154_short_addr_t parentOfNewNode)

void EmberZllNetworkFoundHandler(

  const EmberZllNetwork* networkInfo,

  const EmberDeviceInfoRecord* deviceInfo)

void ezspZllNetworkFoundHandler(

  EmberZllNetwork *networkInfo,

  bool isDeviceInfoNull,

  EmberZllDeviceInfoRecord *deviceInfo,

  uint8_t lastHopLqi,

  int8_t lastHopRssi)

void sl_zigbee_zll_network_found_handler(

  sl_zigbee_zll_network_t* networkInfo,

  bool isDeviceInfoNull,

  sl_zigbee_zll_device_info_record_t* deviceInfo,

  sl_zigbee_rx_packet_info_t *packetInfo)

void EmberZllAddressAssignmentHandler(

  EmberZllAddressAssignment* addressInfo)

void ezspZllAddressAssignmentHandler(

  EmberZllAddressAssignment *addressInfo,

  uint8_t lastHopLqi,

  int8_t lastHopRssi)

void sl_zigbee_zll_address_assignment_handler(

  sl_zigbee_zll_address_assignment_t* addressInfo,

  sl_zigbee_rx_packet_info_t *packetInfo)