]> git.sur5r.net Git - freertos/commitdiff
Cosmetic changes in the MQTT demo - mostly comment updates.
authorgaurav-aws <gaurav-aws@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 24 Jul 2019 01:29:01 +0000 (01:29 +0000)
committergaurav-aws <gaurav-aws@1d2547de-c912-0410-9cb9-b8ca96c0e9e2>
Wed, 24 Jul 2019 01:29:01 +0000 (01:29 +0000)
git-svn-id: https://svn.code.sf.net/p/freertos/code/trunk@2705 1d2547de-c912-0410-9cb9-b8ca96c0e9e2

FreeRTOS-Plus/Demo/FreeRTOS_IoT_Libraries/mqtt/DemoTasks/SimpleMQTTExamples.c
FreeRTOS-Plus/Demo/FreeRTOS_IoT_Libraries/mqtt/FreeRTOSConfig.h
FreeRTOS-Plus/Demo/FreeRTOS_IoT_Libraries/mqtt/FreeRTOSIPConfig.h
FreeRTOS-Plus/Demo/FreeRTOS_IoT_Libraries/mqtt/iot_config.h
FreeRTOS-Plus/Demo/FreeRTOS_IoT_Libraries/mqtt/main.c

index 1ef921cd22152e7a8ccbd67d09f86dc63a441d83..3ad5e662d1f061805690d08945a957f55b6cd2c6 100644 (file)
@@ -228,10 +228,10 @@ TaskHandle_t xDemoTaskHandle = ( TaskHandle_t ) pvCallbackContext;
        configASSERT( pxCallbackParams->u.message.info.qos == IOT_MQTT_QOS_1 );\r
 \r
        /* Although this print uses the constants rather than the data from the\r
-       message payload the asserts above have already checked the message payload\r
-       equals the constants, and it is more efficient not to have to worry about\r
-       lengths in the print. */\r
-       configPRINTF( ( "Received %s from topic %s\r\n", mqttexampleMESSAGE, mqttexampleTOPIC ) );\r
+        * message payload the asserts above have already checked the message\r
+        * payload equals the constants, and it is more efficient not to have to\r
+        * worry about lengths in the print. */\r
+       configPRINTF( ( "Received %s on the topic %s\r\n", mqttexampleMESSAGE, mqttexampleTOPIC ) );\r
 \r
        /* Inform the demo task about the message received from the MQTT broker. */\r
        xTaskNotify( xDemoTaskHandle,\r
@@ -258,8 +258,8 @@ void vStartSimpleMQTTDemo( void )
 static void prvMQTTDemoTask( void *pvParameters )\r
 {\r
 IotMqttError_t xResult;\r
-uint32_t ulNotificationValue = 0, ulIterations;\r
-const uint32_t ulMaxIterations = 5UL;\r
+uint32_t ulNotificationValue = 0, ulPublishCount;\r
+const uint32_t ulMaxPublishCount = 5UL;\r
 const TickType_t xNoDelay = ( TickType_t ) 0;\r
 \r
        /* Remove compiler warnings about unused parameters. */\r
@@ -280,7 +280,7 @@ const TickType_t xNoDelay = ( TickType_t ) 0;
                configASSERT( ulTaskNotifyTake( pdTRUE, xNoDelay ) == 0 );\r
 \r
 \r
-               /******************** CONNECT ****************************************/\r
+               /****************************** Connect. ******************************/\r
 \r
                /* Establish a connection to the MQTT broker. This example connects to\r
                 * the MQTT broker as specified in mqttexampleMQTT_BROKER_ENDPOINT and\r
@@ -291,33 +291,34 @@ const TickType_t xNoDelay = ( TickType_t ) 0;
                configPRINTF( ( "Connected to %s\r\n", mqttexampleMQTT_BROKER_ENDPOINT ) );\r
 \r
 \r
-               /******************* SUBSCRIBE ***************************************/\r
+               /**************************** Subscribe. ******************************/\r
 \r
-               /* The client is now connected to the broker.  Subscribe to the topic\r
-               as specified in mqttexampleTOPIC at the top of this file.  This client\r
-               will then publish to the same topic it subscribed to, so will expect\r
-               all the messages it sends to the broker to be sent back to it from the\r
-               broker. */\r
+               /* The client is now connected to the broker. Subscribe to the topic\r
+                * as specified in mqttexampleTOPIC at the top of this file.  This\r
+                * client will then publish to the same topic it subscribed to, so will\r
+                * expect all the messages it sends to the broker to be sent back to it\r
+                * from the broker. */\r
                prvMQTTSubscribe();\r
-               configPRINTF( ( "Subscribed to %s\r\n", mqttexampleTOPIC ) );\r
+               configPRINTF( ( "Subscribed to the topic %s\r\n", mqttexampleTOPIC ) );\r
 \r
 \r
-               /******************* PUBLISH 5 TIMES *********************************/\r
+               /*********************** Publish 5 messages. **************************/\r
 \r
                /* Publish a few messages while connected. */\r
-               for( ulIterations = 0; ulIterations < ulMaxIterations; ulIterations++ )\r
+               for( ulPublishCount = 0; ulPublishCount < ulMaxPublishCount; ulPublishCount++ )\r
                {\r
-                       /* Publish a message on the mqttexampleTOPIC topic as specified at the\r
-                        * top of this file. */\r
+                       /* Publish a message on the mqttexampleTOPIC topic as specified at\r
+                        * the top of this file. */\r
                        prvMQTTPublish();\r
-                       configPRINTF( ( "Published %s to %s\r\n", mqttexampleMESSAGE, mqttexampleTOPIC ) );\r
+                       configPRINTF( ( "Published %s on the topic %s\r\n", mqttexampleMESSAGE, mqttexampleTOPIC ) );\r
 \r
-                       /* Since we are subscribed on the same topic, we will get the same\r
-                        * message back from the MQTT broker. Wait for the message to be\r
-                        * received which is informed to us by the publish callback\r
-                        * (prvExample_OnMessageReceived) by setting the\r
+                       /* Since we are subscribed to the same topic as we published on, we\r
+                        * will get the same message back from the MQTT broker. Wait for the\r
+                        * message to be received which is informed to us by the publish\r
+                        * callback (prvExample_OnMessageReceived) by setting the\r
                         * mqttexampleMESSAGE_RECEIVED_BIT in this task's notification\r
-                        value. */\r
+                        * value. Note that the bit is cleared in the task's notification\r
+                        * value to ensure that it is ready for next message. */\r
                        xTaskNotifyWait( 0UL, /* Don't clear any bits on entry. */\r
                                                         mqttexampleMESSAGE_RECEIVED_BIT, /* Clear bit on exit. */\r
                                                         &( ulNotificationValue ), /* Obtain the notification value. */\r
@@ -326,30 +327,28 @@ const TickType_t xNoDelay = ( TickType_t ) 0;
                }\r
 \r
 \r
-               /******************* UNSUBSCRIBE AND DISCONNECT **********************/\r
+               /******************* Unsubscribe and Disconnect. **********************/\r
 \r
-               /* Unsubscribe from the topic mqttexampleTOPIC the disconnect\r
-               gracefully. */\r
+               /* Unsubscribe from the topic mqttexampleTOPIC and disconnect\r
+                * gracefully. */\r
                prvMQTTUnsubscribe();\r
                prvMQTTDisconnect();\r
-               configPRINTF( ( "Disconnected from from %s\r\n\r\n", mqttexampleMQTT_BROKER_ENDPOINT ) );\r
+               configPRINTF( ( "Disconnected from %s\r\n\r\n", mqttexampleMQTT_BROKER_ENDPOINT ) );\r
 \r
                /* Wait for the disconnect operation to complete which is informed to us\r
                 * by the disconnect callback (prvExample_OnDisconnect)by setting\r
                 * the mqttexampleDISCONNECTED_BIT in this task's notification value.\r
-                * Note that all bits are cleared in the task's notification value to\r
+                * Note that the bit is cleared in the task's notification value to\r
                 * ensure that it is ready for the next run. */\r
                xTaskNotifyWait( 0UL, /* Don't clear any bits on entry. */\r
-                                                mqttexampleDISCONNECTED_BIT, /* Clear bit again on exit. */\r
+                                                mqttexampleDISCONNECTED_BIT, /* Clear bit on exit. */\r
                                                 &( ulNotificationValue ), /* Obtain the notification value. */\r
                                                 pdMS_TO_TICKS( mqttexampleMQTT_TIMEOUT_MS ) );\r
                configASSERT( ( ulNotificationValue & mqttexampleDISCONNECTED_BIT ) == mqttexampleDISCONNECTED_BIT );\r
 \r
-\r
-\r
                /* Wait for some time between two iterations to ensure that we do not\r
                 * bombard the public test mosquitto broker. */\r
-               configPRINTF( ( "prvMQTTDemoTask() completed an iteration without hitting an assert.  Total free heap is %u\r\n\r\n", xPortGetFreeHeapSize() ) );\r
+               configPRINTF( ( "prvMQTTDemoTask() completed an iteration without hitting an assert. Total free heap is %u\r\n\r\n", xPortGetFreeHeapSize() ) );\r
                vTaskDelay( pdMS_TO_TICKS( 5000 ) );\r
        }\r
 }\r
@@ -362,11 +361,15 @@ IotNetworkServerInfo_t xMQTTBrokerInfo;
 IotMqttNetworkInfo_t xNetworkInfo = IOT_MQTT_NETWORK_INFO_INITIALIZER;\r
 IotMqttConnectInfo_t xConnectInfo = IOT_MQTT_CONNECT_INFO_INITIALIZER;\r
 \r
+\r
        /******************* Broker information setup. **********************/\r
+\r
        xMQTTBrokerInfo.pHostName = mqttexampleMQTT_BROKER_ENDPOINT;\r
        xMQTTBrokerInfo.port = mqttexampleMQTT_BROKER_PORT;\r
 \r
+\r
        /******************* Network information setup. **********************/\r
+\r
        /* No connection to the MQTT broker has been established yet and we want to\r
         * establish a new connection. */\r
        xNetworkInfo.createNetworkConnection = true;\r
@@ -379,13 +382,17 @@ IotMqttConnectInfo_t xConnectInfo = IOT_MQTT_CONNECT_INFO_INITIALIZER;
        /* Use FreeRTOS+TCP network. */\r
        xNetworkInfo.pNetworkInterface = IOT_NETWORK_INTERFACE_FREERTOS;\r
 \r
-       /* Setup the callback which is called when the MQTT connection is disconnected. */\r
-       xNetworkInfo.disconnectCallback.pCallbackContext = ( void * ) xTaskGetCurrentTaskHandle();//_RB_ Why the task handle?\r
+       /* Setup the callback which is called when the MQTT connection is\r
+        * disconnected. The task handle is passed as the callback context which\r
+        * is used by the callback to send a task notification to this task.*/\r
+       xNetworkInfo.disconnectCallback.pCallbackContext = ( void * ) xTaskGetCurrentTaskHandle();\r
        xNetworkInfo.disconnectCallback.function = prvExample_OnDisconnect;\r
 \r
+\r
        /****************** MQTT Connection information setup. ********************/\r
-       /* Set this flag to true if connecting to the AWS IoT MQTT broker.  This\r
-       example does not use TLS and therefore won't work with AWS IoT. */\r
+\r
+       /* Set this flag to true if connecting to the AWS IoT MQTT broker. This\r
+        * example does not use TLS and therefore won't work with AWS IoT. */\r
        xConnectInfo.awsIotMqttMode = false;\r
 \r
        /* Start with a clean session i.e. direct the MQTT broker to discard any\r
@@ -404,12 +411,12 @@ IotMqttConnectInfo_t xConnectInfo = IOT_MQTT_CONNECT_INFO_INITIALIZER;
        xConnectInfo.pWillInfo = NULL;\r
 \r
        /* Send an MQTT PING request every minute to keep the connection open if\r
-       there is no other MQTT trafic. */\r
+       there is no other MQTT traffic. */\r
        xConnectInfo.keepAliveSeconds = mqttexampleKEEP_ALIVE_SECONDS;\r
 \r
        /* The client identifier is used to uniquely identify this MQTT client to\r
         * the MQTT broker.  In a production device the identifier can be something\r
-        unique, such as a device serial number. */\r
+        unique, such as a device serial number. */\r
        xConnectInfo.pClientIdentifier = mqttexampleCLIENT_IDENTIFIER;\r
        xConnectInfo.clientIdentifierLength = ( uint16_t ) strlen( mqttexampleCLIENT_IDENTIFIER );\r
 \r
@@ -421,7 +428,7 @@ IotMqttConnectInfo_t xConnectInfo = IOT_MQTT_CONNECT_INFO_INITIALIZER;
        xConnectInfo.passwordLength = 0;\r
 \r
        /* Establish the connection to the MQTT broker - It is a blocking call and\r
-       will return only when connection is complete or a timeout occurrs. */\r
+       will return only when connection is complete or a timeout occurs. */\r
        xResult = IotMqtt_Connect( &( xNetworkInfo ),\r
                                                           &( xConnectInfo ),\r
                                                           mqttexampleMQTT_TIMEOUT_MS,\r
@@ -435,7 +442,9 @@ static void prvMQTTSubscribe( void )
 IotMqttError_t xResult;\r
 IotMqttSubscription_t xMQTTSubscription;\r
 \r
-       /* Subscribe to the mqttexampleTOPIC topic filter. */\r
+       /* Subscribe to the mqttexampleTOPIC topic filter. The task handle is passed\r
+        * as the callback context which is used by the callback to send a task\r
+        * notification to this task.*/\r
        xMQTTSubscription.qos = IOT_MQTT_QOS_1;\r
        xMQTTSubscription.pTopicFilter = mqttexampleTOPIC;\r
        xMQTTSubscription.topicFilterLength = ( uint16_t ) strlen( mqttexampleTOPIC );\r
@@ -443,7 +452,7 @@ IotMqttSubscription_t xMQTTSubscription;
        xMQTTSubscription.callback.function = prvExample_OnMessageReceived;\r
 \r
        /* Use the synchronous API to subscribe - It is a blocking call and only\r
-        * returns when the subscribe operation is complete. */\r
+        * returns when the subscribe operation is complete or a timeout occurs. */\r
        xResult = IotMqtt_TimedSubscribe( xMQTTConnection,\r
                                                                          &( xMQTTSubscription ),\r
                                                                          1, /* We are subscribing to one topic filter. */\r
@@ -471,7 +480,7 @@ IotMqttPublishInfo_t xMQTTPublishInfo;
        xMQTTPublishInfo.retryLimit = mqttexamplePUBLISH_RETRY_LIMIT;\r
 \r
        /* Use the synchronous API to publish - It is a blocking call and only\r
-        * returns when the publish operation is complete. */\r
+        * returns when the publish operation is complete or a timeout occurs. */\r
        xResult = IotMqtt_TimedPublish( xMQTTConnection,\r
                                                                        &( xMQTTPublishInfo ),\r
                                                                        0, /* flags - currently ignored. */\r
@@ -496,7 +505,7 @@ IotMqttSubscription_t xMQTTSubscription;
        xMQTTSubscription.callback.function = NULL;\r
 \r
        /* Use the synchronous API to unsubscribe - It is a blocking call and only\r
-        * returns when the unsubscribe operation is complete. */\r
+        * returns when the unsubscribe operation is complete or a timeout occurs. */\r
        xResult = IotMqtt_TimedUnsubscribe( xMQTTConnection,\r
                                                                                &( xMQTTSubscription ),\r
                                                                                1, /* We are unsubscribing from one topic filter. */\r
index f03164c14951fabb54230fa251377f106501a871..966ac7050375df69bd896f431eab1fc9a3e045e3 100644 (file)
@@ -138,7 +138,7 @@ configNETWORK_INTERFACE_TO_USE to 2 results in the wireless network being
 used. */\r
 #define configNETWORK_INTERFACE_TO_USE 3L\r
 \r
-/* The address of an echo server is only left in this project as it douples as\r
+/* The address of an echo server is only left in this project as it doubles as\r
 the address to which logging is sent should UDP logging be enabled. */\r
 #define configECHO_SERVER_ADDR0        192\r
 #define configECHO_SERVER_ADDR1 168\r
index dba43cdba353e9e06f3d0f7402e35f1f55a97895..4729ef107ba4eb2afc1148ae096428889181546a 100644 (file)
@@ -44,7 +44,7 @@ extern void vLoggingPrintf( const char *pcFormatString, ... );
 /* Set to 1 to print out debug messages.  If ipconfigHAS_DEBUG_PRINTF is set to\r
 1 then FreeRTOS_debug_printf should be defined to the function used to print\r
 out the debugging messages. */\r
-#define ipconfigHAS_DEBUG_PRINTF       1\r
+#define ipconfigHAS_DEBUG_PRINTF       0\r
 #if( ipconfigHAS_DEBUG_PRINTF == 1 )\r
        #define FreeRTOS_debug_printf(X)        vLoggingPrintf X\r
 #endif\r
index f7485acde316d181918e2c25802d0c637a3c1dc5..8a06baac5dfa49264178fb0cf3287689250b14df 100644 (file)
  */\r
 #define IOT_TASKPOOL_ENABLE_ASSERTS                 1\r
 \r
-/*\r
+/**\r
+ * @brief The numer of worker tasks in the task pool.\r
+ *\r
  * The full IoT Task Pool Library has many use cases, including Linux\r
- * development.  Typical FreeRTOS use cases do not require the full\r
- * functionality so an optimised implementation is provided specifically for use\r
- * with FreeRTOS.  The optimised version has a fixed number of tasks in the\r
- * pool, each of which uses statically allocated memory to ensure creation of\r
- * the pool is guaranteed (it does not run out of heap space).\r
- * IOT_TASKPOOL_NUMBER_OF_WORKERS sets the number of tasks in the pool.\r
+ * development. Typical FreeRTOS use cases do not require the full\r
+ * functionality so an optimized implementation is provided specifically for use\r
+ * with FreeRTOS. The optimized version has a fixed number of tasks in the\r
+ * task pool, each of which uses statically allocated memory to ensure creation\r
+ * of the task pool is guaranteed (it does not run out of heap space).\r
  */\r
 #define IOT_TASKPOOL_NUMBER_OF_WORKERS               3\r
 \r
  */\r
 #define AWS_IOT_MQTT_ENABLE_METRICS                 0\r
 \r
-/*\r
- * @brief Set the log level of the task pool library.\r
+/**\r
+ * @brief Set the log level of the MQTT library.\r
  *\r
- * Log messages from the task pool library at or below this setting will be\r
- * printed.\r
+ * Log messages from the MQTT library at or below this setting will be printed.\r
  *\r
  * Possible values: One of the Log levels.\r
  * Default value (if undefined): IOT_LOG_LEVEL_GLOBAL; if that is undefined,\r
index 305e2153e3a56b76677eb1f207c013f24b23b0fe..213defd0358801c364880221f201d9ad938ecbb7 100644 (file)
@@ -353,5 +353,4 @@ void vApplicationGetTimerTaskMemory( StaticTask_t** ppxTimerTaskTCBBuffer, Stack
        configMINIMAL_STACK_SIZE is specified in words, not bytes. */\r
        *pulTimerTaskStackSize = configTIMER_TASK_STACK_DEPTH;\r
 }\r
-\r
-\r
+/*-----------------------------------------------------------*/\r