summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/ai_loader_cb.c
diff options
context:
space:
mode:
authorNicolas Schodet2010-05-04 02:25:27 +0200
committerNicolas Schodet2010-05-04 02:25:27 +0200
commit6efb5213ba0113e92f168156c80cd748aea53745 (patch)
tree0018d92b91f3c1c7e72364899882e185788abd35 /digital/io/src/ai_loader_cb.c
parentfd1c46e3bbb4a98b7a263c051bd8bda9797c508f (diff)
digital/io/src: first element pickup
Diffstat (limited to 'digital/io/src/ai_loader_cb.c')
-rw-r--r--digital/io/src/ai_loader_cb.c51
1 files changed, 51 insertions, 0 deletions
diff --git a/digital/io/src/ai_loader_cb.c b/digital/io/src/ai_loader_cb.c
index 10e32211..f759b417 100644
--- a/digital/io/src/ai_loader_cb.c
+++ b/digital/io/src/ai_loader_cb.c
@@ -152,6 +152,19 @@ ai__LOADER_DOWN__loader_up (void)
}
/*
+ * LOADER_DOWN =loader_element=>
+ * => LOADER_LOAD_CLOSING
+ * close clamp
+ */
+fsm_branch_t
+ai__LOADER_DOWN__loader_element (void)
+{
+ mimot_move_motor0_absolute (BOT_CLAMP_STROKE_STEP, BOT_CLAMP_SPEED);
+ mimot_move_motor1_absolute (BOT_CLAMP_STROKE_STEP, BOT_CLAMP_SPEED);
+ return ai_next (LOADER_DOWN, loader_element);
+}
+
+/*
* LOADER_UPING =elevator_succeed=>
* => LOADER_UP
* post loader_uped event
@@ -223,3 +236,41 @@ ai__LOADER_ERROR__loader_up (void)
return ai_next (LOADER_ERROR, loader_up);
}
+/*
+ * LOADER_LOAD_CLOSING =clamp_succeed=>
+ * => LOADER_LOAD_UPING
+ * move up
+ */
+fsm_branch_t
+ai__LOADER_LOAD_CLOSING__clamp_succeed (void)
+{
+ asserv_move_motor0_absolute (BOT_ELEVATOR_UNLOAD_STEP,
+ BOT_ELEVATOR_SPEED);
+ return ai_next (LOADER_LOAD_CLOSING, clamp_succeed);
+}
+
+/*
+ * LOADER_LOAD_UPING =elevator_succeed=>
+ * => LOADER_LOAD_UNLOADING
+ * open clamp
+ */
+fsm_branch_t
+ai__LOADER_LOAD_UPING__elevator_succeed (void)
+{
+ mimot_move_motor0_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
+ mimot_move_motor1_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
+ return ai_next (LOADER_LOAD_UPING, elevator_succeed);
+}
+
+/*
+ * LOADER_LOAD_UNLOADING =clamp_succeed=>
+ * => LOADER_DOWNING
+ * move down
+ */
+fsm_branch_t
+ai__LOADER_LOAD_UNLOADING__clamp_succeed (void)
+{
+ asserv_move_motor0_absolute (BOT_ELEVATOR_DOWN_STEP, BOT_ELEVATOR_SPEED);
+ return ai_next (LOADER_LOAD_UNLOADING, clamp_succeed);
+}
+