|
13 | 13 | #include <zephyr/sys/reboot.h> |
14 | 14 |
|
15 | 15 | #include "app_common.h" |
| 16 | +#ifdef CONFIG_APP_INSPECT_SHELL |
| 17 | +#include "app_inspect.h" |
| 18 | +#endif /* CONFIG_APP_INSPECT_SHELL */ |
16 | 19 | #include "button.h" |
17 | 20 | #include "modules/button/button.h" |
18 | 21 | #include "modules/storage/storage.h" |
@@ -380,6 +383,54 @@ static const struct smf_state states[] = { |
380 | 383 | ), |
381 | 384 | }; |
382 | 385 |
|
| 386 | +#if defined(CONFIG_APP_INSPECT_SHELL) |
| 387 | +static struct main_state *main_state_ctx; |
| 388 | + |
| 389 | +static const char *main_state_to_string(enum app_state state) |
| 390 | +{ |
| 391 | + switch (state) { |
| 392 | + case STATE_WAITING_FOR_MODULES_INIT: |
| 393 | + return "STATE_WAITING_FOR_MODULES_INIT"; |
| 394 | + case STATE_RUNNING: |
| 395 | + return "STATE_RUNNING"; |
| 396 | + case STATE_DISCONNECTED: |
| 397 | + return "STATE_DISCONNECTED"; |
| 398 | + case STATE_DISCONNECTED_SAMPLING: |
| 399 | + return "STATE_DISCONNECTED_SAMPLING"; |
| 400 | + case STATE_DISCONNECTED_WAITING: |
| 401 | + return "STATE_DISCONNECTED_WAITING"; |
| 402 | + case STATE_CONNECTED: |
| 403 | + return "STATE_CONNECTED"; |
| 404 | + case STATE_CONNECTED_SAMPLING: |
| 405 | + return "STATE_CONNECTED_SAMPLING"; |
| 406 | + case STATE_CONNECTED_WAITING: |
| 407 | + return "STATE_CONNECTED_WAITING"; |
| 408 | + case STATE_CONNECTED_SENDING: |
| 409 | + return "STATE_CONNECTED_SENDING"; |
| 410 | + case STATE_FOTA: |
| 411 | + return "STATE_FOTA"; |
| 412 | + case STATE_FOTA_DOWNLOADING: |
| 413 | + return "STATE_FOTA_DOWNLOADING"; |
| 414 | + case STATE_FOTA_WAITING_FOR_NETWORK_DISCONNECT: |
| 415 | + return "STATE_FOTA_WAITING_FOR_NETWORK_DISCONNECT"; |
| 416 | + case STATE_FOTA_WAITING_FOR_NETWORK_DISCONNECT_TO_APPLY_IMAGE: |
| 417 | + return "STATE_FOTA_WAITING_FOR_NETWORK_DISCONNECT_TO_APPLY_IMAGE"; |
| 418 | + case STATE_FOTA_APPLYING_IMAGE: |
| 419 | + return "STATE_FOTA_APPLYING_IMAGE"; |
| 420 | + case STATE_FOTA_REBOOTING: |
| 421 | + return "STATE_FOTA_REBOOTING"; |
| 422 | + default: |
| 423 | + return "STATE_UNKNOWN"; |
| 424 | + } |
| 425 | +} |
| 426 | + |
| 427 | +APP_INSPECT_MODULE_REGISTER_STATE(main, |
| 428 | + main_state_ctx, |
| 429 | + states, |
| 430 | + enum app_state, |
| 431 | + main_state_to_string); |
| 432 | +#endif /* CONFIG_APP_INSPECT_SHELL */ |
| 433 | + |
383 | 434 | /* Static helper function */ |
384 | 435 |
|
385 | 436 | static void task_wdt_callback(int channel_id, void *user_data) |
@@ -1760,6 +1811,10 @@ int main(void) |
1760 | 1811 | const k_timeout_t zbus_wait_ms = K_MSEC(wdt_timeout_ms - execution_time_ms); |
1761 | 1812 | static struct main_state main_state; |
1762 | 1813 |
|
| 1814 | +#if defined(CONFIG_APP_INSPECT_SHELL) |
| 1815 | + main_state_ctx = &main_state; |
| 1816 | +#endif /* CONFIG_APP_INSPECT_SHELL */ |
| 1817 | + |
1763 | 1818 | main_state.sample_interval_sec = CONFIG_APP_SAMPLING_INTERVAL_SECONDS; |
1764 | 1819 | main_state.update_interval_sec = CONFIG_APP_CLOUD_UPDATE_INTERVAL_SECONDS; |
1765 | 1820 | main_state.storage_threshold = CONFIG_APP_STORAGE_INITIAL_THRESHOLD; |
|
0 commit comments