AWS IoT Device SDK C:
Shadow
AWS IoT Device Shadow library
|
Return to main page ↑ |
Configuration settings of the Shadow library.
Configuration settings are C pre-processor constants. They can be set with a #
in the config file (define
iot_config.h
) or by using a compiler option such as -D
in gcc. If a configuration setting is not defined, the library will use a "sensible" default value (unless otherwise noted). Because they are compile-time constants, a library must be rebuilt if a configuration setting is changed.
Set this to 1
to perform sanity checks when using the Shadow library.
Asserts are useful for debugging, but should be disabled in production code. If this is set to 1
, AwsIotShadow_Assert can be defined to set the assertion function; otherwise, the Iot_DefaultAssert will be used.
Possible values: 0
(asserts disabled) or 1
(asserts enabled)
Recommended values: 1
when debugging; 0
in production code.
Default value (if undefined): 0
Set the default timeout (in milliseconds) for MQTT library called by the Shadow library.
If the mqttTimeout
argument of AwsIotShadow_Init is 0
, the Shadow library uses this setting for MQTT timeouts. This timeout is passed to functions such as IotMqtt_SubscribeSync, IotMqtt_UnsubscribeSync, and IotMqtt_PublishSync to limit amount of time an MQTT function may block.
Possible values: Any positive integer.
Recommended values: This setting must be at least the network round-trip time, as an MQTT packet must be sent to the AWS IoT server and a response must be received. The recommended minimum value is 500
.
Default value (if undefined): 5000
Set the log level of the Shadow library.
Log messages from the Shadow library at or below this setting will be printed.
Possible values: One of the Log levels.
Default value (if undefined): IOT_LOG_LEVEL_GLOBAL; if that is undefined, then IOT_LOG_NONE.
Assertion function used when AWS_IOT_SHADOW_ENABLE_ASSERTS is 1
.
Possible values: Any function with the same signature as the standard library's assert function.
Default value (if undefined): Iot_DefaultAssert if AWS_IOT_SHADOW_ENABLE_ASSERTS is 1
; otherwise, nothing. If Iot_DefaultAssert is not defined when asserts are enabled, the Shadow library will fail to build.
The following functions may be re-implemented for the Shadow library.
If a custom implementation is not set for a Shadow memory allocation function, IotDefault_Malloc and Iot_DefaultFree will be used. If IotDefault_Malloc and Iot_DefaultFree are not set, the Shadow library will fail to build.
When IOT_STATIC_MEMORY_ONLY is 1
, the following settings configure the number of statically-allocated buffers for Shadow.