@@ -150,11 +150,11 @@ static struct app_state_object app_state;
150150/* Construct state table */
151151static const struct smf_state states [] = {
152152 [STATE_RUNNING ] = SMF_CREATE_STATE (
153- running_entry ,
153+ NULL ,
154154 running_run ,
155155 NULL ,
156156 NULL ,
157- NULL
157+ & states [ STATE_IDLE ]
158158 ),
159159 [STATE_TRIGGERING ] = SMF_CREATE_STATE (
160160 triggering_entry ,
@@ -305,23 +305,6 @@ static void timer_work_fn(struct k_work *work)
305305/* Zephyr State Machine framework handlers */
306306
307307/* STATE_RUNNING */
308-
309- static void running_entry (void * o )
310- {
311- const struct app_state_object * state_object = (const struct app_state_object * )o ;
312-
313- LOG_DBG ("%s" , __func__ );
314-
315- if (state_object -> status == CLOUD_CONNECTED_READY_TO_SEND ||
316- state_object -> status == CLOUD_PAYLOAD_JSON ||
317- state_object -> status == CLOUD_POLL_SHADOW ) {
318- STATE_SET (app_state , STATE_TRIGGERING );
319- return ;
320- }
321-
322- STATE_SET (app_state , STATE_IDLE );
323- }
324-
325308static void running_run (void * o )
326309{
327310 const struct app_state_object * state_object = (const struct app_state_object * )o ;
@@ -370,7 +353,9 @@ static void idle_run(void *o)
370353 const struct app_state_object * state_object = (const struct app_state_object * )o ;
371354
372355 if ((state_object -> chan == & CLOUD_CHAN ) &&
373- (state_object -> status == CLOUD_CONNECTED_READY_TO_SEND )) {
356+ ((state_object -> status == CLOUD_CONNECTED_READY_TO_SEND ) ||
357+ (state_object -> status == CLOUD_PAYLOAD_JSON ) ||
358+ (state_object -> status == CLOUD_POLL_SHADOW ))) {
374359 STATE_SET (app_state , STATE_TRIGGERING );
375360 return ;
376361 }
0 commit comments