print "cobboard: %x,%x"%(int(m.groups()[0]),int(m.groups()[1]))
side = int(m.groups()[0])
flags = int(m.groups()[1])
- if side == 0:
+ if (side == 0 and color == YELLOW) or (side == 1 and color == BLUE):
robot_lspickle_deployed = ((flags & 1) * 2)
robot_lspickle_autoharvest = ((flags & 2) != 0)
else:
HILL_POSX_BALLS_DOWN3,
TRAJ_FLAGS_SMALL_DIST);
DEBUG(E_USER_STRAT, "deploy support balls");
- strat_set_speed(SPEED_DIST_FAST, SPEED_ANGLE_FAST);
strat_set_acc(ad, aa);
+ strat_set_speed(SPEED_DIST_FAST, SPEED_ANGLE_FAST);
support_balls_deploy();
err = wait_traj_end(TRAJ_FLAGS_SMALL_DIST);
i2c_cobboard_set_mode(I2C_COBBOARD_MODE_HARVEST);
#include <aversive.h>
#include <aversive/pgmspace.h>
+#include <aversive/error.h>
#include <ax12.h>
#include <uart.h>
x += (STEP_CORN_X/2);
i = x / STEP_CORN_X;
- y = COLOR_Y(y);
+ y = COLOR_Y(y); /* Y depends on color */
y -= OFFSET_CORN_Y;
if ((i & 1) == 1) {
j = y / STEP_CORN_Y;
/******** CORN */
-/* return the index of a corn given its i,j coords. */
-int8_t ijcoord_to_corn_idx(uint8_t i, uint8_t j)
+static int8_t early_ijcoord_to_corn_idx(uint8_t i, uint8_t j)
{
uint8_t n;
for (n = 0; n < CORN_NB; n ++) {
return -1;
}
+/* return the index of a corn given its i,j coords. */
+int8_t ijcoord_to_corn_idx(uint8_t i, uint8_t j)
+{
+ if (strat_db.wp_table[i][j].type != WP_TYPE_CORN)
+ return -1;
+ return strat_db.wp_table[i][j].corn.idx;
+}
+
/* return the i,j coords of a corn given its index */
int8_t corn_idx_to_ijcoord(uint8_t idx, uint8_t *i, uint8_t *j)
{
}
/* corn */
- idx = ijcoord_to_corn_idx(i, j);
+ idx = early_ijcoord_to_corn_idx(i, j);
if (idx >= 0) {
wp->type = WP_TYPE_CORN;
wp->present = 1;