Sub GHz Server#

Callbacks for Sub GHz Server Component.

Callbacks#

void
sli_zigbee_af_sub_ghz_server_zdo_message_received_callback(EmberNodeId sender, const uint8_t *message, uint16_t length)

Incoming ZDO message handler.

void
emberAfPluginSubGhzUnsolicitedEnhancedUpdateNotifyCallback(uint8_t channelPage, uint8_t channel, uint16_t macTxUcastTotal, uint16_t macTxUcastFailures, uint16_t macTxUcastRetries, uint8_t period)

Callback to let the application handle the incoming Mgmt_NWK_Unsolicited_Enhanced_Update_notify command.

bool
emberAfPluginSubGhzDutyCycleCallback(uint8_t channelPage, uint8_t channel, EmberDutyCycleState oldState, EmberDutyCycleState newState)

Duty cycle state change callback for the use with the Sub-GHz plugin.

bool

Get the suspend ZCL messages status.

Callbacks Documentation#

sli_zigbee_af_sub_ghz_server_zdo_message_received_callback#

void sli_zigbee_af_sub_ghz_server_zdo_message_received_callback (EmberNodeId sender, const uint8_t *message, uint16_t length)

Incoming ZDO message handler.

Parameters
N/Asender
N/Amessage
N/Alength

Used to handle the incoming Mgmt_NWK_Unsolicited_Enhanced_Update_notify command. Calls the user's emberAfPluginSubGhzUnsolicitedEnhancedUpdateNotifyCallback in response.


Definition at line 122 of file app/framework/plugin/sub-ghz-server/sub-ghz-server.h

emberAfPluginSubGhzUnsolicitedEnhancedUpdateNotifyCallback#

void emberAfPluginSubGhzUnsolicitedEnhancedUpdateNotifyCallback (uint8_t channelPage, uint8_t channel, uint16_t macTxUcastTotal, uint16_t macTxUcastFailures, uint16_t macTxUcastRetries, uint8_t period)

Callback to let the application handle the incoming Mgmt_NWK_Unsolicited_Enhanced_Update_notify command.

Parameters
N/AchannelPage

........ current channel page

N/Achannel

............ current channel

N/AmacTxUcastTotal

.... total number of Mac Tx transaction attempts

N/AmacTxUcastFailures

. total number of Mac Tx transaction failures

N/AmacTxUcastRetries

.. total number of Mac Tx transaction retries

N/Aperiod

............. time in minutes over which macTxUcastXxx were measured

'Mgmt_NWK_Unsolicited_Enhanced_Update_notify' is a client command. The client sends it to notify the server about the poor link quality. The server should determine whether a channel change is necessary and change the channel if so. There is no default action performed by the application framework. If not handled by the application, no action is taken.


Definition at line 142 of file app/framework/plugin/sub-ghz-server/sub-ghz-server.h

emberAfPluginSubGhzDutyCycleCallback#

bool emberAfPluginSubGhzDutyCycleCallback (uint8_t channelPage, uint8_t channel, EmberDutyCycleState oldState, EmberDutyCycleState newState)

Duty cycle state change callback for the use with the Sub-GHz plugin.

Parameters
N/AchannelPage

the channel that registered a Duty Cycle state change

N/Achannel

current Duty Cycle mode

N/AoldState

the previous Duty Cycle state

N/AnewState

the current Duty Cycle state

The Sub-GHz plugin monitors the duty cycle and calls this callback every time the duty cycle state changes.

Returns

  • true to handle in the application, false for default behaviour

The default response is sending the 'Suspend ZCL Messages' command, either by unicast to the most offending client of a broadcast to all clients, depending on the old and new duty cycle state.


Definition at line 165 of file app/framework/plugin/sub-ghz-server/sub-ghz-server.h

emberAfPluginSubGhzGetSuspendZclMessagesStatusCallback#

bool emberAfPluginSubGhzGetSuspendZclMessagesStatusCallback (void)

Get the suspend ZCL messages status.

Parameters
N/A

'Get Suspend ZCL Messages Status' is a client command. The client can send it to the server to query the status instead of waiting for the 'Suspend ZCL Messages' command.

The server's default action is sending the 'Suspend ZCL Messages' command with the parameter indicating the remaining suspend time in minutes.

Returns

  • True to indicate the callback has been handled by the application, false to keep the default behavior


Definition at line 182 of file app/framework/plugin/sub-ghz-server/sub-ghz-server.h