summaryrefslogtreecommitdiffhomepage
path: root/digital/io-hub/src/robospierre/main.c
diff options
context:
space:
mode:
authorNicolas Schodet2011-05-24 01:33:18 +0200
committerNicolas Schodet2011-05-24 01:33:18 +0200
commit579d7d9ad8caf4299c5c672b724d056d9e9d9797 (patch)
tree5f966b2d6741bc9d6dcf5d33baebc317b763b3bb /digital/io-hub/src/robospierre/main.c
parent9377154ec66848759806d0fe924ded961c9f392b (diff)
digital/io-hub: add move FSM
Diffstat (limited to 'digital/io-hub/src/robospierre/main.c')
-rw-r--r--digital/io-hub/src/robospierre/main.c17
1 files changed, 15 insertions, 2 deletions
diff --git a/digital/io-hub/src/robospierre/main.c b/digital/io-hub/src/robospierre/main.c
index b1abfd8a..b1e85b72 100644
--- a/digital/io-hub/src/robospierre/main.c
+++ b/digital/io-hub/src/robospierre/main.c
@@ -52,6 +52,7 @@
#include "clamp.h"
#include "logistic.h"
#include "path.h"
+#include "move.h"
#include "bot.h"
@@ -160,7 +161,9 @@ main_event_to_fsm (void)
/* Post the event */
FSM_HANDLE_VAR_E (AI, save_event);
}
-
+ /* Check obstables. */
+ if (move_check_obstacles ())
+ return;
}
/** Main (and infinite) loop. */
@@ -191,7 +194,7 @@ main_loop (void)
position_t robot_pos;
asserv_get_position (&robot_pos);
main_obstacles_nb = radar_update (&robot_pos, main_obstacles_pos);
- //move_obstacles_update ();
+ move_obstacles_update ();
simu_send_pos_report (main_obstacles_pos, main_obstacles_nb, 0);
}
/* Update AI modules. */
@@ -252,6 +255,16 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
v8_to_v16 (args[3], args[4]),
v8_to_v16 (args[5], args[6]));
break;
+ case c ('m', 5):
+ /* Go to position.
+ * - 2w: x, y.
+ * - 1b: backward. */
+ {
+ vect_t position = { v8_to_v16 (args[0], args[1]),
+ v8_to_v16 (args[2], args[3]) };
+ move_start_noangle (position, args[4], 0);
+ }
+ break;
case c ('c', 1):
/* Move clamp.
* - 1b: position. */