Cosmetic changes in the MQTT demo

- Fix warnings in the MQTT code.
- Update comments in the iot_config.h.
This commit is contained in:
Gaurav Aggarwal 2019-07-23 18:20:06 +00:00
parent 17b18c8b7e
commit 95f60318d5
6 changed files with 63 additions and 46 deletions

View File

@ -146,7 +146,7 @@ stack will revert to using the static IP address even when ipconfigUSE_DHCP is
set to 1 if a valid configuration cannot be obtained from a DHCP server for any set to 1 if a valid configuration cannot be obtained from a DHCP server for any
reason. The static configuration used is that passed into the stack by the reason. The static configuration used is that passed into the stack by the
FreeRTOS_IPInit() function call. */ FreeRTOS_IPInit() function call. */
#define ipconfigUSE_DHCP 0 #define ipconfigUSE_DHCP 1
/* When ipconfigUSE_DHCP is set to 1, DHCP requests will be sent out at /* When ipconfigUSE_DHCP is set to 1, DHCP requests will be sent out at
increasing time intervals until either a reply is received from a DHCP server increasing time intervals until either a reply is received from a DHCP server

View File

@ -71,7 +71,7 @@
<SuppressStartupBanner>true</SuppressStartupBanner> <SuppressStartupBanner>true</SuppressStartupBanner>
<DisableLanguageExtensions>false</DisableLanguageExtensions> <DisableLanguageExtensions>false</DisableLanguageExtensions>
<DebugInformationFormat>EditAndContinue</DebugInformationFormat> <DebugInformationFormat>EditAndContinue</DebugInformationFormat>
<AdditionalOptions>/wd4210 /wd4127 /wd4214 /wd4201 /wd4244 /wd4310 %(AdditionalOptions)</AdditionalOptions> <AdditionalOptions>/wd4210 /wd4127 /wd4214 /wd4201 /wd4244 /wd4310 /wd4200 %(AdditionalOptions)</AdditionalOptions>
<BrowseInformation>true</BrowseInformation> <BrowseInformation>true</BrowseInformation>
<PrecompiledHeader>NotUsing</PrecompiledHeader> <PrecompiledHeader>NotUsing</PrecompiledHeader>
<ExceptionHandling>false</ExceptionHandling> <ExceptionHandling>false</ExceptionHandling>

View File

@ -28,27 +28,29 @@
#include "FreeRTOS.h" #include "FreeRTOS.h"
#include "platform/iot_platform_types_freertos.h" //_RB_Makes common config file FreeRTOS specific #include "platform/iot_platform_types_freertos.h" //_RB_Makes common config file FreeRTOS specific
/* /**
* Set this to the number of recyclable tasks for the task pool to cache. * @brief The number of recyclable jobs for the task pool to cache.
* *
* Caching dynamically allocated tasks (recyclable tasks) helps the application * Caching dynamically allocated jobs (recyclable jobs) helps the application
* to limit the number of allocations at runtime. Caching recyclable tasks may * to limit the number of allocations at runtime. Caching recyclable jobs may
* help making the application more responsive and predictable, by removing a * help making the application more responsive and predictable, by removing a
* potential for memory allocation failures, but it may also have negative * potential for memory allocation failures, but it may also have negative
* repercussions on the amount of memory available at any given time. It is up * repercussions on the amount of memory available at any given time. It is up
* to the application developer to strike the correct balance these competing * to the application developer to strike the correct balance among these
* needs. The task pool will cache when the application calling * competing needs. The task pool will cache a job when the application calls
* IotTaskPool_RecycleJob. Any recycled tasks in excess of * IotTaskPool_RecycleJob on a job which was created using
* IotTaskPool_CreateRecyclableJob API. Any recycled jobs in excess of
* IOT_TASKPOOL_JOBS_RECYCLE_LIMIT will be destroyed and its memory will be * IOT_TASKPOOL_JOBS_RECYCLE_LIMIT will be destroyed and its memory will be
* release. * released.
* *
* Default value (if undefined): 8 * Default value (if undefined): 8
*/ */
#define IOT_TASKPOOL_JOBS_RECYCLE_LIMIT 8 #define IOT_TASKPOOL_JOBS_RECYCLE_LIMIT 8
/* /**
* @brief Enable/Disable asserts for the task pool library.
*
* Set this to 1 to perform sanity checks when using the task pool library. * Set this to 1 to perform sanity checks when using the task pool library.
*
* Asserts are useful for debugging, but should be disabled in production code. * Asserts are useful for debugging, but should be disabled in production code.
* If this is set to 1, IotTaskPool_Assert can be defined to set the assertion * If this is set to 1, IotTaskPool_Assert can be defined to set the assertion
* function; otherwise, the standard library's assert function will be used. * function; otherwise, the standard library's assert function will be used.
@ -57,10 +59,10 @@
* Recommended values: 1 when debugging; 0 in production code. * Recommended values: 1 when debugging; 0 in production code.
* Default value (if undefined): 0 * Default value (if undefined): 0
*/ */
#define IOT_TASKPOOL_ENABLE_ASSERTS 1 #define IOT_TASKPOOL_ENABLE_ASSERTS 1
/* /**
* Set the log level of the task pool library. * @brief Set the log level of the task pool library.
* *
* Log messages from the task pool library at or below this setting will be * Log messages from the task pool library at or below this setting will be
* printed. * printed.
@ -69,22 +71,37 @@
* Default value (if undefined): IOT_LOG_LEVEL_GLOBAL; if that is undefined, * Default value (if undefined): IOT_LOG_LEVEL_GLOBAL; if that is undefined,
* then IOT_LOG_NONE. * then IOT_LOG_NONE.
*/ */
#define IOT_LOG_LEVEL_TASKPOOL IOT_LOG_INFO #define IOT_LOG_LEVEL_TASKPOOL IOT_LOG_INFO
/* /**
* * @brief The number of worker tasks in the task pool.
*
* The minimal version of the of task pool library only supports one task pool
* and the number of the worker tasks is fixed at the compile time.
*/ */
#define IOT_TASKPOOL_NUMBER_OF_WORKERS 3 #define IOT_TASKPOOL_NUMBER_OF_WORKERS 3
/* /**
* * @brief The stack size (in bytes) for each worker task in the task pool.
*
* The minimal version of the of task pool library only supports one task pool
* and the configuration of each worker task fixed at the compile time.
*/ */
#define IOT_TASKPOOL_WORKER_STACK_SIZE_BYTES 2048 #define IOT_TASKPOOL_WORKER_STACK_SIZE_BYTES 2048
/* How long the MQTT library will wait for PINGRESPs or PUBACKs. */ /**
#define IOT_MQTT_RESPONSE_WAIT_MS ( 10000 ) * @brief The amount of time the MQTT library waits for responses (PINGRESPs or
* PUBACKs) from the MQTT broker.
*/
#define IOT_MQTT_RESPONSE_WAIT_MS ( 10000 )
#define AWS_IOT_MQTT_ENABLE_METRICS 0 /**
* @brief Enable/Disable anonymous metrics collection when using AWS IoT.
*
* This demo does not support TLS and so does not work with AWS IoT. Therefore,
* the metric collection must be disabled.
*/
#define AWS_IOT_MQTT_ENABLE_METRICS 0
/* Include the common configuration file for FreeRTOS. */ /* Include the common configuration file for FreeRTOS. */
#include "iot_config_common.h" #include "iot_config_common.h"

View File

@ -65,8 +65,8 @@ environment.
mainCREATE_SIMPLE_MQTT_EXAMPLE_TASKS: TBD mainCREATE_SIMPLE_MQTT_EXAMPLE_TASKS: TBD
*/ */
#define mainCREATE_SIMPLE_UDP_CLIENT_SERVER_TASKS 1 #define mainCREATE_SIMPLE_UDP_CLIENT_SERVER_TASKS 0
#define mainCREATE_SIMPLE_MQTT_EXAMPLE_TASKS 0 #define mainCREATE_SIMPLE_MQTT_EXAMPLE_TASKS 1
/* Simple UDP client and server task parameters. */ /* Simple UDP client and server task parameters. */
#define mainSIMPLE_UDP_CLIENT_SERVER_TASK_PRIORITY ( tskIDLE_PRIORITY ) #define mainSIMPLE_UDP_CLIENT_SERVER_TASK_PRIORITY ( tskIDLE_PRIORITY )

View File

@ -1105,7 +1105,10 @@ _mqttOperation_t * _IotMqtt_FindOperation( _mqttConnection_t * pMqttConnection,
IotTaskPoolError_t taskPoolStatus = IOT_TASKPOOL_SUCCESS; IotTaskPoolError_t taskPoolStatus = IOT_TASKPOOL_SUCCESS;
_mqttOperation_t * pResult = NULL; _mqttOperation_t * pResult = NULL;
IotLink_t * pResultLink = NULL; IotLink_t * pResultLink = NULL;
_operationMatchParam_t param = { .type = type, .pPacketIdentifier = pPacketIdentifier }; _operationMatchParam_t param = { 0 };
param.type = type;
param.pPacketIdentifier = pPacketIdentifier;
if( pPacketIdentifier != NULL ) if( pPacketIdentifier != NULL )
{ {

View File

@ -406,12 +406,11 @@ void _IotMqtt_InvokeSubscriptionCallback( _mqttConnection_t * pMqttConnection,
void ( * callbackFunction )( void *, void ( * callbackFunction )( void *,
IotMqttCallbackParam_t * ) = NULL; IotMqttCallbackParam_t * ) = NULL;
_topicMatchParams_t topicMatchParams = _topicMatchParams_t topicMatchParams = { 0 };
{
.pTopicName = pCallbackParam->u.message.info.pTopicName, topicMatchParams.pTopicName = pCallbackParam->u.message.info.pTopicName;
.topicNameLength = pCallbackParam->u.message.info.topicNameLength, topicMatchParams.topicNameLength = pCallbackParam->u.message.info.topicNameLength;
.exactMatchOnly = false topicMatchParams.exactMatchOnly = false;
};
/* Prevent any other thread from modifying the subscription list while this /* Prevent any other thread from modifying the subscription list while this
* function is searching. */ * function is searching. */
@ -508,11 +507,10 @@ void _IotMqtt_RemoveSubscriptionByPacket( _mqttConnection_t * pMqttConnection,
uint16_t packetIdentifier, uint16_t packetIdentifier,
int32_t order ) int32_t order )
{ {
const _packetMatchParams_t packetMatchParams = _packetMatchParams_t packetMatchParams = { 0 };
{
.packetIdentifier = packetIdentifier, packetMatchParams.packetIdentifier = packetIdentifier;
.order = order packetMatchParams.order = order;
};
IotMutex_Lock( &( pMqttConnection->subscriptionMutex ) ); IotMutex_Lock( &( pMqttConnection->subscriptionMutex ) );
IotListDouble_RemoveAllMatches( &( pMqttConnection->subscriptionList ), IotListDouble_RemoveAllMatches( &( pMqttConnection->subscriptionList ),
@ -593,12 +591,11 @@ bool IotMqtt_IsSubscribed( IotMqttConnection_t mqttConnection,
bool status = false; bool status = false;
_mqttSubscription_t * pSubscription = NULL; _mqttSubscription_t * pSubscription = NULL;
IotLink_t * pSubscriptionLink = NULL; IotLink_t * pSubscriptionLink = NULL;
_topicMatchParams_t topicMatchParams = _topicMatchParams_t topicMatchParams = { 0 };
{
.pTopicName = pTopicFilter, topicMatchParams.pTopicName = pTopicFilter;
.topicNameLength = topicFilterLength, topicMatchParams.topicNameLength = topicFilterLength;
.exactMatchOnly = true topicMatchParams.exactMatchOnly = false;
};
/* Prevent any other thread from modifying the subscription list while this /* Prevent any other thread from modifying the subscription list while this
* function is running. */ * function is running. */