A sample policy file that implements the callbacks for the Zigbee Over-the-air bootload cluster server.
License#
Copyright 2018 Silicon Laboratories Inc. www.silabs.com
The licensor of this software is Silicon Laboratories Inc. Your use of this software is governed by the terms of Silicon Labs Master Software License Agreement (MSLA) available at www.silabs.com/about-us/legal/master-software-license-agreement. This software is distributed to you in Source Code format and is governed by the sections of the MSLA applicable to Source Code.
#define OTA_SERVER_NO_RATE_LIMITING_FOR_CLIENT 0
#define OTA_SERVER_CLIENT_USES_MILLISECONDS 1
#define OTA_SERVER_CLIENT_USES_SECONDS 2
#define OTA_SERVER_DISCOVER_CLIENT_DELAY_UNITS 3
#ifdef EMBER_TEST
#define OTA_SERVER_DO_NOT_OVERRIDE_CLIENT_DELAY_UNITS 0xFF
#endif
uint8_t emberAfPluginOtaServerPolicyGetClientDelayUnits(EmberNodeId clientNodeId,
EmberEUI64 clientEui64);
uint8_t emberAfOtaServerImageBlockRequestCallback(EmberAfImageBlockRequestCallbackStruct* data);
void sli_zigbee_af_ota_server_policy_print(void);
void sli_zigbee_af_ota_server_set_query_policy(uint8_t value);
void sli_zigbee_af_ota_server_set_block_request_policy(uint8_t value);
void sli_zigbee_af_ota_server_set_upgrade_policy(uint8_t value);
bool sli_zigbee_af_server_page_request_tick_callback(uint16_t relativeOffset, uint8_t blockSize);
void sli_zigbee_af_set_page_requestMissedBlockModulus(uint16_t modulus);
void sli_zigbee_af_ota_server_set_page_request_policy(uint8_t value);
void sli_zigbee_af_ota_server_policy_set_min_block_request_period(uint16_t minBlockRequestPeriodMS);
API Documentation#
emberAfPluginOtaServerPolicyGetClientDelayUnits#
uint8_t emberAfPluginOtaServerPolicyGetClientDelayUnits (EmberNodeId clientNodeId, EmberEUI64 clientEui64)
GetClientDelayUnits.
ParametersN/A | clientNodeId | Ver.: always |
N/A | clientEui64 | Ver.: always |
Called when the server receives an Image Block Request from a client that supports rate limiting using the Minimum Block Period feature. This callback gives the server a chance to decide which units the client uses for the Minimum Block Period, seconds or milliseconds. The server can also return OTA_SERVER_DISCOVER_CLIENT_DELAY_UNITS, which causes the plugin code to test the client by sending it a preset delay value. The length of time the client delays determines which units it uses. For more information on this feature, see the plugin option descriptions under the OTA Server plugin.
For return values, see ota-server-policy.h. An unknown return value will result in the same behavior as if OTA_SERVER_CLIENT_USES_MILLISECONDS had been returned.
Definition at line 69
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
Callbacks Documentation#
emberAfOtaServerImageBlockRequestCallback#
uint8_t emberAfOtaServerImageBlockRequestCallback (EmberAfImageBlockRequestCallbackStruct * data)
Definition at line 91
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
Macro Definition Documentation#
OTA_SERVER_NO_RATE_LIMITING_FOR_CLIENT#
#define OTA_SERVER_NO_RATE_LIMITING_FOR_CLIENT
Value:0
Definition at line 38
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
OTA_SERVER_CLIENT_USES_MILLISECONDS#
#define OTA_SERVER_CLIENT_USES_MILLISECONDS
Value:1
Definition at line 39
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
OTA_SERVER_CLIENT_USES_SECONDS#
#define OTA_SERVER_CLIENT_USES_SECONDS
Value:2
Definition at line 40
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
OTA_SERVER_DISCOVER_CLIENT_DELAY_UNITS#
#define OTA_SERVER_DISCOVER_CLIENT_DELAY_UNITS
Value:3
Definition at line 41
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
Function Documentation#
sli_zigbee_af_ota_server_policy_print#
void sli_zigbee_af_ota_server_policy_print (void )
Definition at line 97
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
sli_zigbee_af_ota_server_set_query_policy#
void sli_zigbee_af_ota_server_set_query_policy (uint8_t value)
Definition at line 99
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
sli_zigbee_af_ota_server_set_block_request_policy#
void sli_zigbee_af_ota_server_set_block_request_policy (uint8_t value)
Definition at line 100
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
sli_zigbee_af_ota_server_set_upgrade_policy#
void sli_zigbee_af_ota_server_set_upgrade_policy (uint8_t value)
Definition at line 101
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
sli_zigbee_af_server_page_request_tick_callback#
bool sli_zigbee_af_server_page_request_tick_callback (uint16_t relativeOffset, uint8_t blockSize)
ParametersN/A | relativeOffset | |
N/A | blockSize | |
Definition at line 103
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
sli_zigbee_af_set_page_requestMissedBlockModulus#
void sli_zigbee_af_set_page_requestMissedBlockModulus (uint16_t modulus)
Definition at line 104
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
sli_zigbee_af_ota_server_set_page_request_policy#
void sli_zigbee_af_ota_server_set_page_request_policy (uint8_t value)
Definition at line 105
of file app/framework/plugin/ota-server-policy/ota-server-policy.h
sli_zigbee_af_ota_server_policy_set_min_block_request_period#
void sli_zigbee_af_ota_server_policy_set_min_block_request_period (uint16_t minBlockRequestPeriodMS)
ParametersN/A | minBlockRequestPeriodMS | |
Definition at line 106
of file app/framework/plugin/ota-server-policy/ota-server-policy.h