Skip to content

Commit f7379ce

Browse files
app: led: use new SMF return codes
Use the newly introduced return codes for the Zephyr state-machine framework. Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
1 parent 24a6d34 commit f7379ce

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

app/src/led.c

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -189,7 +189,7 @@ static void led_indicate_activity(struct led_ctx *lctx, enum led_activity type,
189189
}
190190
}
191191

192-
static void led_state_normal_run(void *obj)
192+
static enum smf_state_result led_state_normal_run(void *obj)
193193
{
194194
struct led_ctx *lctx = obj;
195195

@@ -198,8 +198,10 @@ static void led_state_normal_run(void *obj)
198198
smf_set_state(SMF_CTX(lctx), &led_states[LED_STATE_IDENTIFY]);
199199
break;
200200
default:
201-
/* Event ignored */
201+
return SMF_EVENT_PROPAGATE;
202202
}
203+
204+
return SMF_EVENT_HANDLED;
203205
}
204206

205207
static void led_state_normal_stopped_entry(void *obj)
@@ -216,21 +218,20 @@ static void led_state_normal_stopped_entry(void *obj)
216218
led_indicate_activity(lctx, LED_ACTIVITY_TX, false);
217219
}
218220

219-
static void led_state_normal_stopped_run(void *obj)
221+
static enum smf_state_result led_state_normal_stopped_run(void *obj)
220222
{
221223
struct led_ctx *lctx = obj;
222224

223225
switch (lctx->event) {
224-
case LED_EVENT_TICK:
225-
smf_set_handled(SMF_CTX(lctx));
226-
break;
227226
case LED_EVENT_CHANNEL_STARTED:
228227
lctx->started = true;
229228
smf_set_state(SMF_CTX(lctx), &led_states[LED_STATE_NORMAL_STARTED]);
230229
break;
231230
default:
232-
/* Event ignored */
231+
return SMF_EVENT_PROPAGATE;
233232
}
233+
234+
return SMF_EVENT_HANDLED;
234235
}
235236

236237
static void led_state_normal_started_entry(void *obj)
@@ -242,7 +243,7 @@ static void led_state_normal_started_entry(void *obj)
242243
led_indicate_activity(lctx, LED_ACTIVITY_TX, false);
243244
}
244245

245-
static void led_state_normal_started_run(void *obj)
246+
static enum smf_state_result led_state_normal_started_run(void *obj)
246247
{
247248
struct led_ctx *lctx = obj;
248249
int i;
@@ -259,24 +260,22 @@ static void led_state_normal_started_run(void *obj)
259260
}
260261
}
261262
}
262-
263-
smf_set_handled(SMF_CTX(lctx));
264263
break;
265264
case LED_EVENT_CHANNEL_STOPPED:
266265
lctx->started = false;
267266
smf_set_state(SMF_CTX(lctx), &led_states[LED_STATE_NORMAL_STOPPED]);
268267
break;
269268
case LED_EVENT_CHANNEL_ACTIVITY_TX:
270269
lctx->ticks[LED_ACTIVITY_TX] = LED_TICKS_ACTIVITY;
271-
smf_set_handled(SMF_CTX(lctx));
272270
break;
273271
case LED_EVENT_CHANNEL_ACTIVITY_RX:
274272
lctx->ticks[LED_ACTIVITY_RX] = LED_TICKS_ACTIVITY;
275-
smf_set_handled(SMF_CTX(lctx));
276273
break;
277274
default:
278-
/* Event ignored */
275+
return SMF_EVENT_PROPAGATE;
279276
}
277+
278+
return SMF_EVENT_HANDLED;
280279
}
281280

282281
static void led_state_identify_entry(void *obj)
@@ -290,7 +289,7 @@ static void led_state_identify_entry(void *obj)
290289
led_indicate_activity(lctx, LED_ACTIVITY_TX, true);
291290
}
292291

293-
static void led_state_identify_run(void *obj)
292+
static enum smf_state_result led_state_identify_run(void *obj)
294293
{
295294
struct led_ctx *lctx = obj;
296295
struct led_dt_spec *leds[3];
@@ -339,8 +338,10 @@ static void led_state_identify_run(void *obj)
339338
smf_set_state(SMF_CTX(lctx), &led_states[LED_STATE_NORMAL]);
340339
break;
341340
default:
342-
/* Event ignored */
341+
return SMF_EVENT_PROPAGATE;
343342
}
343+
344+
return SMF_EVENT_HANDLED;
344345
}
345346

346347
/* clang-format off */

0 commit comments

Comments
 (0)