summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/filterbridge_cb.c
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/src/filterbridge_cb.c')
-rw-r--r--digital/io/src/filterbridge_cb.c16
1 files changed, 14 insertions, 2 deletions
diff --git a/digital/io/src/filterbridge_cb.c b/digital/io/src/filterbridge_cb.c
index e3b7f096..3f571f66 100644
--- a/digital/io/src/filterbridge_cb.c
+++ b/digital/io/src/filterbridge_cb.c
@@ -109,18 +109,30 @@ filterbridge__OPEN_DOOR__state_timeout (void)
/*
* PUSH_PUCK =no_puck_on_pos2=>
+ * => TEMPO_ELVETATOR_COMMUNICATION
+ * nothing to do.
+ */
+fsm_branch_t
+filterbridge__PUSH_PUCK__no_puck_on_pos2 (void)
+{
+ return filterbridge_next (PUSH_PUCK, no_puck_on_pos2);
+}
+
+/*
+ * TEMPO_ELVETATOR_COMMUNICATION =state_timeout=>
* => CLOSE_DOOR
* the puck disappears, we close doors
+ * tell the elevator we are ready.
*/
fsm_branch_t
-filterbridge__PUSH_PUCK__no_puck_on_pos2 (void)
+filterbridge__TEMPO_ELVETATOR_COMMUNICATION__state_timeout (void)
{
++nb_puck_in_elvt;
--nb_puck_fb;
elvt_new_puck = 1;
servo_pos_move_to(SERVO_FINGER_ID, SERVO_FINGER_IDLE);
servo_pos_move_to(SERVO_DOOR_ID, SERVO_DOOR_CLOSE);
- return filterbridge_next (PUSH_PUCK, no_puck_on_pos2);
+ return filterbridge_next (TEMPO_ELVETATOR_COMMUNICATION, state_timeout);
}