summaryrefslogtreecommitdiffhomepage
path: root/digital/io-hub/src/robospierre
diff options
context:
space:
mode:
authorNicolas Schodet2011-05-31 22:35:06 +0200
committerNicolas Schodet2011-05-31 22:44:18 +0200
commitf86980a9c1a8a7daf2b45629a66288f2a8fd03a2 (patch)
tree13a1f5fbc275e98b3d80df151c23ddfd351a3625 /digital/io-hub/src/robospierre
parent18a1c04ba9b61d484c745b075bfbaad101629a2c (diff)
digital/io-hub: authorize backward movement from green zone
Diffstat (limited to 'digital/io-hub/src/robospierre')
-rw-r--r--digital/io-hub/src/robospierre/move.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/digital/io-hub/src/robospierre/move.c b/digital/io-hub/src/robospierre/move.c
index 6c204f61..09faf8f9 100644
--- a/digital/io-hub/src/robospierre/move.c
+++ b/digital/io-hub/src/robospierre/move.c
@@ -24,6 +24,7 @@
* }}} */
#include "common.h"
#include "move.h"
+#include "playground_2011.h"
#include "main.h"
#include "asserv.h"
@@ -191,6 +192,10 @@ move_go_or_rotate (vect_t dst, uint16_t angle, uint8_t with_angle,
uint16_t robot_angle = robot_position.a;
if (backward & ASSERV_BACKWARD)
robot_angle += 0x8000;
+ /* Check for green zone. */
+ if (robot_position.v.x < PG_GREEN_WIDTH_MM
+ || robot_position.v.x > PG_WIDTH - PG_GREEN_WIDTH_MM)
+ backward |= ASSERV_REVERT_OK;
/* Remember step. */
move_data.step = dst;
move_data.step_angle = angle;