X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fmainboard%2Fstrat_utils.h;h=f314b0eec4798c7eb19ec5f169786f9763193281;hp=85997c2c0a8373ff02438cafcf7d7df06cda7baf;hb=b699727efceb661be65fbd22e975565b800c628e;hpb=1714f4ee916fca95ce24120ea6e698237913f947 diff --git a/projects/microb2010/mainboard/strat_utils.h b/projects/microb2010/mainboard/strat_utils.h index 85997c2..f314b0e 100644 --- a/projects/microb2010/mainboard/strat_utils.h +++ b/projects/microb2010/mainboard/strat_utils.h @@ -20,10 +20,6 @@ */ -#define DEG(x) (((double)(x)) * (180.0 / M_PI)) -#define RAD(x) (((double)(x)) * (M_PI / 180.0)) -#define M_2PI (2*M_PI) - struct xy_point { int16_t x; int16_t y; @@ -35,12 +31,19 @@ struct xy_point { ({ \ uint8_t __err = 0; \ while ( (! (cond)) && (__err == 0)) { \ - __err = test_traj_end(TRAJ_FLAGS_NO_NEAR); \ + __err = test_traj_end(mask); \ } \ + if (!__err) \ + DEBUG(E_USER_STRAT, "cond is true at line %d", \ + __LINE__); \ + else \ + DEBUG(E_USER_STRAT, "got %s at line %d", \ + get_err(__err), __LINE__); \ __err; \ }) \ int16_t distance_between(int16_t x1, int16_t y1, int16_t x2, int16_t y2); +int32_t quad_distance_between(int16_t x1, int16_t y1, int16_t x2, int16_t y2); int16_t distance_from_robot(int16_t x, int16_t y); int16_t simple_modulo_360(int16_t a); int16_t angle_abs_to_rel(int16_t a_abs); @@ -61,4 +64,7 @@ uint8_t get_opponent_color(void); int8_t get_opponent_xy(int16_t *x, int16_t *y); int8_t get_opponent_da(int16_t *d, int16_t *a); int8_t get_opponent_xyda(int16_t *x, int16_t *y, int16_t *d, int16_t *a); -uint8_t opponent_is_behind(void); +int16_t distance_from_opponent(int16_t x, int16_t y); + +uint8_t get_ball_count(void); +uint8_t get_cob_count(void);