name=OTA Bootload Cluster Client Policy
category=ZigBee OTA Bootloading

# Any string is allowable here.  Generally it is either: Production Ready, Test Tool, or Requires Extending
qualityString=Production Ready (Certifiable)
# This must be one of the following:  productionReady, testTool, extensionNeeded
quality=production

introducedIn=se-1.1-07-5356-16

description=This is a sample implementation of how to define the policies of the Zigbee Over-the-air bootload cluster client (a multi-hop, application bootloader).  It allows the implementor to decide what manufacturer ID, image type ID, and file version informatoin is used for when querying the server.  It also defines a couple callbacks that are fired, such as download complete and ready to bootload.

sourceFiles=ota-client-policy.c

dependsOnClusterClient=over the air bootloading
requiredPlugins=ota-client

implementedCallbacks=emberAfOtaClientVersionInfoCallback, emberAfOtaClientDownloadCompleteCallback, emberAfOtaClientBootloadCallback, emberAfOtaClientCustomVerifyCallback

includedByDefault=true

options=imageTypeId, firmwareVersion, hardwareVersion, eblVerification, includeHardwareVersion, deleteFailedDownloads

imageTypeId.name=Image Type ID
imageTypeId.description=This is the device's OTA image identifier used for querying the OTA server about the next image to use for an upgrade.
imageTypeId.type=NUMBER:0,65535
imageTypeId.default=0

firmwareVersion.name=Firmware Version
firmwareVersion.description=This is the device's current firmware version, used when querying the OTA server about the next image to use for an upgrade.
firmwareVersion.type=NUMBER
firmwareVersion.default=1

includeHardwareVersion.name=Include Hardware Version
includeHardwareVersion.description=This indicates that the current hardware version of the product should be included in the messages sent to the ZigBee OTA Cluster server.
includeHardwareVersion.type=BOOLEAN
includeHardwareVersion.default=FALSE

hardwareVersion.name=Hardware Version
hardwareVersion.description=Devices may have a hardware version that limits what images they can use.  OTA Images may be configured with minimum and maximum hardware versions that they are supported on.  If the device is not restricted by hardware version then this value should be 0xFFFF.
hardwareVersion.type=NUMBER:0,65535
hardwareVersion.default=0

eblVerification.name=Perform EBL Verification (SOC Only)
eblVerification.description=This uses the application bootloader routines to verify the EBL image after signature verification passes.
eblVerification.type=BOOLEAN
eblVerification.default=TRUE

deleteFailedDownloads.name=Delete Failed Downloads
deleteFailedDownloads.description=This causes the device to delete any image (partial or complete) that has been downloaded but did not pass verification or when the server tells us to abort the download or upgrade.
deleteFailedDownloads.type=BOOLEAN
deleteFailedDownloads.default=TRUE

additionalMacros=CUSTOMER_APPLICATION_VERSION EMBER_AF_PLUGIN_OTA_CLIENT_POLICY_FIRMWARE_VERSION
