mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2026-08-09 06:33:41 +00:00
The MQTT keep-alive demo is similar to the plaintext demo with QoS0. The only difference is that it creates an auto-reload timer that invokes a callback responsible for sending a PINGREQ packet. The timer is reset whenever a control packet is sent. Because the keep-alive mechanism is handled by the application, MQTT_ReceiveLoop is used in place of MQTT_ProcessLoop. * Add keep alive demo (no timer thread yet) * feat: Add software timer that uses mutex for MQTT context (bad approach) * feat: Serialize PINGREQ in separate buffer to avoid use of mutex * fix: Use hungarian notation instead of _ for private vars * fix: Remove unnecessary comment * Address PR comments * Reduce ulPingRespTimeoutMs to be as much as the timer interval * Add wrapper function to check xWaitingForPingResp before resetting the timer
Directories: + The FreeRTOS-Plus/Source directory contains source code for some of the FreeRTOS+ components. These subdirectories contain further readme files and links to documentation. + The FreeRTOS-Plus/Demo directory contains a demo application for every most of the FreeRTOS+ components. Lots of the demo applications use the FreeRTOS Windows simulator for easy evaluation. Be aware that FreeRTOS is much slower and not deterministic when executed in a simulated environment. + See http://www.freertos.org/plus