summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--digital/io/src/ai_loader_cb.c28
-rw-r--r--digital/io/src/loader.fsm6
2 files changed, 34 insertions, 0 deletions
diff --git a/digital/io/src/ai_loader_cb.c b/digital/io/src/ai_loader_cb.c
index 5e9af297..6afa73f8 100644
--- a/digital/io/src/ai_loader_cb.c
+++ b/digital/io/src/ai_loader_cb.c
@@ -261,6 +261,20 @@ ai__LOADER_DOWNING__elevator_failed (void)
}
/*
+ * LOADER_DOWNING =loader_element=>
+ * => LOADER_ERROR
+ * emergency stop
+ * post loader_errored event
+ */
+fsm_branch_t
+ai__LOADER_DOWNING__loader_element (void)
+{
+ asserv_motor0_free ();
+ main_post_event (AI_EVENT_loader_errored);
+ return ai_next (LOADER_DOWNING, loader_element);
+}
+
+/*
* LOADER_DOWNING =loader_up=>
* => LOADER_UPING
* move up
@@ -324,6 +338,20 @@ ai__LOADER_ERROR_DOWNING__elevator_failed (void)
}
/*
+ * LOADER_ERROR_DOWNING =loader_element=>
+ * => LOADER_ERROR
+ * emergency stop
+ * post loader_errored event
+ */
+fsm_branch_t
+ai__LOADER_ERROR_DOWNING__loader_element (void)
+{
+ asserv_motor0_free ();
+ main_post_event (AI_EVENT_loader_errored);
+ return ai_next (LOADER_ERROR_DOWNING, loader_element);
+}
+
+/*
* LOADER_ERROR_DOWNING_OPEN =clamp_succeed=>
* => LOADER_DOWN
* post loader_downed event
diff --git a/digital/io/src/loader.fsm b/digital/io/src/loader.fsm
index e830def9..00366ed5 100644
--- a/digital/io/src/loader.fsm
+++ b/digital/io/src/loader.fsm
@@ -140,6 +140,9 @@ LOADER_ERROR_DOWNING:
open clamp
elevator_failed -> LOADER_ERROR
post loader_errored event
+ loader_element -> LOADER_ERROR
+ emergency stop
+ post loader_errored event
LOADER_ERROR_DOWNING_OPEN:
clamp_succeed -> LOADER_DOWN
@@ -161,6 +164,9 @@ LOADER_DOWNING:
post loader_downed event
elevator_failed -> LOADER_ERROR
post loader_errored event
+ loader_element -> LOADER_ERROR
+ emergency stop
+ post loader_errored event
loader_up -> LOADER_UPING
move up