While the cloud connection is up, the module performs a synchronization every CONFIG_APP_MAIN_SYNC_INTERVAL_SECONDS, and once immediately on connect. Each synchronization advances through the sync substates in order, waiting for the current step to complete before starting the next:
CLOUD_MESSAGE_SENDwith a demo JSON payload:{"appId":"SMHA","messageType":"DATA","data":"hello"}. Advances onCLOUD_MESSAGE_SENT.LOCATION_SEARCH_TRIGGER, when the application is built with the location overlay. Advances onLOCATION_SEARCH_DONE.CLOUD_SHADOW_POLL_REQUEST, to pick up any desired configuration from the device shadow. Advances onCLOUD_SHADOW_POLLED.FOTA_POLL_REQUEST, when the FOTA module is enabled. Advances onFOTA_ABORTED, or moves toSTATE_FOTAonFOTA_STARTING.CLOUD_MEMFAULT_POST_REQUEST, to post any pending Memfault data. Advances onCLOUD_MEMFAULT_POSTED.
Only STATE_SYNC_IDLE acts on the periodic trigger, so a synchronization already in progress is never restarted by the timer.