summaryrefslogtreecommitdiffhomepage
path: root/digital/io
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io')
-rw-r--r--digital/io/src/cylinder_cb.c1
-rw-r--r--digital/io/src/elevator_cb.c1
-rw-r--r--digital/io/src/main.c32
3 files changed, 33 insertions, 1 deletions
diff --git a/digital/io/src/cylinder_cb.c b/digital/io/src/cylinder_cb.c
index 1b4cc28b..f820f633 100644
--- a/digital/io/src/cylinder_cb.c
+++ b/digital/io/src/cylinder_cb.c
@@ -291,6 +291,7 @@ cylinder__WAIT_BRIDGE_READY_FLUSH__bridge_ready (void)
fsm_branch_t
cylinder__TURN_PLUS_3_FLUSH__move_done (void)
{
+ cylinder_flush_order = 0;
if(puck_on_cylinder)
{
--cylinder_nb_puck;
diff --git a/digital/io/src/elevator_cb.c b/digital/io/src/elevator_cb.c
index 0c32f922..471c46b9 100644
--- a/digital/io/src/elevator_cb.c
+++ b/digital/io/src/elevator_cb.c
@@ -256,6 +256,7 @@ fsm_branch_t
elevator__WAIT_FOR_CLOSE_ORDER__order_received (void)
{
pwm_set(CLOSE_DOOR_PWM, TIME_DOORS_PWM);
+ elvt_order = 0;
return elevator_next (WAIT_FOR_CLOSE_ORDER, order_received);
}
diff --git a/digital/io/src/main.c b/digital/io/src/main.c
index 63dbfa03..0f31221a 100644
--- a/digital/io/src/main.c
+++ b/digital/io/src/main.c
@@ -253,7 +253,7 @@ main_event_to_fsm (void)
FSM_HANDLE_EVENT (&cylinder_fsm,
CYLINDER_EVENT_close_order);
- /* cylinder__flush_order */
+ /* cylinder_flush_order */
if(cylinder_flush_order)
FSM_HANDLE_EVENT (&cylinder_fsm,
CYLINDER_EVENT_flush_order);
@@ -517,6 +517,36 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
#define c(cmd, size) (cmd << 8 | size)
switch (c (cmd, size))
{
+ /* cylinder orders */
+ case c ('c', 1):
+ {
+ switch(args[0])
+ {
+ case 'f':
+ cylinder_flush_order = 1;
+ break;
+ case 'C':
+ cylinder_close_order = 1;
+ break;
+ case 'c':
+ cylinder_close_order = 0;
+ break;
+ }
+ }
+ break;
+
+ /* elevator (l like lift) */
+ case c('l', 2):
+ {
+ switch(args[0])
+ {
+ case 'o':
+ elvt_order = args[1];
+ break;
+ }
+ }
+ break;
+
case c ('j', 0):
fsm_handle_event (&filterbridge_fsm,
FILTERBRIDGE_EVENT_jack_inserted_into_bot);