Configurations of the OTA Library.
Some configuration settings are C pre-processor constants, and some are function-like macros for logging. They can be set with a #define
in the config file (ota_config.h) or by using a compiler option such as -D in gcc.
Define this macro to build the OTA library without the custom config file ota_config.h.
Without the custom config, the OTA library builds with default values of config macros defined in ota_config_defaults.h file.
If a custom config is provided, then OTA_DO_NOT_USE_CUSTOM_CONFIG should not be defined.
The number of words allocated to the stack for the OTA agent.
The configuration parameter specifies the size of the stack that will be allocated to the task being created (the size is specified in words, not bytes!). The amount of stack required is dependent on the application specific parameters, for more information Link
Possible values: Any positive 32 bit integer.
Default value: Varies by platform
The OTA agent task priority. Normally it runs at a low priority.
For more information Link.
Possible values: 0 to ( configMAX_PRIORITIES - 1 )
Default value: Varies by platform.
Log base 2 of the size of the file data block message (excluding the header).
Possible values: Any unsigned 32 integer.
Default value: '12'
The maximum number of data blocks requested from OTA streaming service.
Possible values: Any unsigned 32 integer value greater than 0.
Default value: '1'
Following two diagrams compare otaconfigLOG2_FILE_BLOCK_SIZE set to 10 (1 KB) and 12 (4 KB) with otaconfigMAX_NUM_BLOCKS_REQUEST set to maximum i.e 128 and 32 respectively.
otaconfigLOG2_FILE_BLOCK_SIZE is 10 ( 1KB )
otaconfigMAX_NUM_BLOCKS_REQUEST is 128
otaconfigLOG2_FILE_BLOCK_SIZE is 12 ( 4KB )
otaconfigMAX_NUM_BLOCKS_REQUEST is 32
Milliseconds to wait for the self test phase to succeed before we force reset.
Possible values: Any unsigned 32 integer.
Default value: '16000'
Milliseconds to wait before requesting data blocks from the OTA service if nothing is happening.
Possible values: Any unsigned 32 integer.
Default value: '10000'
The maximum allowed length of the thing name used by the OTA agent.
AWS IoT Core limits the ThingName length to 128 characters maximum. For more, see the AWS IoT Core Quotas here - https://console.aws.amazon.com/servicequotas/home/services/iotcore/quotas/L-83BC2FA9
Possible values: Any unsigned 32 integer - though practical limit is 128
Default value: '128'
The maximum number of requests allowed to send without a response before we abort.
Possible values: Any unsigned 32 integer.
Default value: '32'
The number of data buffers reserved by the OTA agent.
Possible values: Any unsigned 32 integer.
Default value: '1'
How frequently the device will report its OTA progress to the cloud.
Possible values: Any unsigned 32 integer.
Default value: '64'
Flag to enable booting into updates that have an identical or lower version than the current version.
Possible values: Any unsigned 32 integer.
Default value: '0'
The protocol selected for OTA control operations.
Possible values: OTA_CONTROL_OVER_MQTT
Default value: 'OTA_CONTROL_OVER_MQTT'
The protocol selected for OTA data operations.
Possible values:
Enable data over MQTT - ( OTA_DATA_OVER_MQTT )
Enable data over HTTP - ( OTA_DATA_OVER_HTTP )
Enable data over both MQTT & HTTP - ( OTA_DATA_OVER_MQTT | OTA_DATA_OVER_HTTP )
Default value: 'OTA_DATA_OVER_MQTT'
The preferred protocol selected for OTA data operations.
Possible values:
Data over MQTT - ( OTA_DATA_OVER_MQTT )
Data over HTTP - ( OTA_DATA_OVER_HTTP )
Default value: 'OTA_DATA_OVER_MQTT'
Macro that is called in the OTA library for logging "Error" level messages.
To enable error level logging in the OTA library, this macro should be mapped to the application-specific logging implementation that supports error logging.
Default value: Error logging is turned off, and no code is generated for calls to the macro in the OTA library on compilation.
Macro that is called in the OTA library for logging "Warning" level messages.
To enable warning level logging in the OTA library, this macro should be mapped to the application-specific logging implementation that supports warning logging.
Default value: Warning logging is turned off, and no code is generated for calls to the macro in the OTA library on compilation.
Macro that is called in the OTA library for logging "Info" level messages.
To enable info level logging in the OTA library, this macro should be mapped to the application-specific logging implementation that supports info logging.
Default value: Info logging is turned off, and no code is generated for calls to the macro in the OTA library on compilation.
Macro that is called in the OTA library for logging "Debug" level messages.
To enable Debug level logging in the OTA library, this macro should be mapped to the application-specific logging implementation that supports debug logging.
Default value: Debug logging is turned off, and no code is generated for calls to the macro in the OTA library on compilation.