Skip to content

Commit 717fa2d

Browse files
app: main: fix state machine
Set STATE IDLE as initial state in STATE_RUNNNIG. And do transitions from there. Signed-off-by: Giacomo Dematteis <giacomo.dematteis@nordicsemi.no>
1 parent 042cc7a commit 717fa2d

File tree

1 file changed

+5
-20
lines changed

1 file changed

+5
-20
lines changed

app/src/main.c

+5-20
Original file line numberDiff line numberDiff line change
@@ -150,11 +150,11 @@ static struct app_state_object app_state;
150150
/* Construct state table */
151151
static 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-
325308
static 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

Comments
 (0)