summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/src/main.c')
-rw-r--r--digital/io/src/main.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/digital/io/src/main.c b/digital/io/src/main.c
index 760dc5d3..13b02353 100644
--- a/digital/io/src/main.c
+++ b/digital/io/src/main.c
@@ -164,6 +164,12 @@ main_loop (void)
continue; \
} \
}
+#define FSM_HANDLE_TIMEOUT(fsm) \
+ { if (fsm_handle_timeout (fsm)) \
+ { \
+ continue; \
+ } \
+ }
/* Infinite loop */
while (1)
@@ -226,6 +232,12 @@ main_loop (void)
/* Reset counter */
main_sharp_freq_counter_ = 0;
}
+ /* Update FSM timeouts. */
+ FSM_HANDLE_TIMEOUT (&move_fsm);
+ FSM_HANDLE_TIMEOUT (&top_fsm);
+ FSM_HANDLE_TIMEOUT (&filterbridge_fsm);
+ FSM_HANDLE_TIMEOUT (&elevator_fsm);
+ FSM_HANDLE_TIMEOUT (&cylinder_fsm);
/* Update main */
asserv_status_e move_status = asserv_last_cmd_ack ()