X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fmainboard%2Fmain.h;h=f98bd9954ac7fc5a4ee94cd239b2ba628670f312;hp=ff86dd26798e929c8e840a16bea1b03a044849db;hb=d78a81c0df6dfe318d873a6f877e53cfb957ad8e;hpb=4e7801883ed4076cb14b63a0571467747894c0f8 diff --git a/projects/microb2010/mainboard/main.h b/projects/microb2010/mainboard/main.h index ff86dd2..f98bd99 100755 --- a/projects/microb2010/mainboard/main.h +++ b/projects/microb2010/mainboard/main.h @@ -19,7 +19,7 @@ * */ -/* was mechboard in 2009 */ +/* was sensorboard in 2009 */ #define LED_TOGGLE(port, bit) do { \ if (port & _BV(bit)) \ @@ -83,11 +83,17 @@ #define ROBOT_HALF_LENGTH_REAR 120 #define ROBOT_WIDTH 320 +#ifdef HOST_VERSION +#define ROBOT_ANGLE_FRONT 0. +#else +#define ROBOT_ANGLE_FRONT 0.75 // 0.27 +#endif + /* it is a 1024 imps -> 4096 because we see 1/4 period * and diameter: 55mm -> perimeter 134mm * dist_imp_mm = 4096/134 x 10 -> 304 */ /* increase it to go further */ -#define IMP_ENCODERS 1024 +#define IMP_ENCODERS 1000 #define WHEEL_DIAMETER_MM 42.9 #define WHEEL_PERIM_MM (WHEEL_DIAMETER_MM * M_PI) #define IMP_COEF 10. @@ -119,9 +125,10 @@ #define CS_PRIO 100 #define STRAT_PRIO 30 #define I2C_POLL_PRIO 20 +#define BEACON_PRIO 15 #define EEPROM_TIME_PRIO 10 -#define CS_PERIOD 5000L /* in microsecond */ +#define CS_PERIOD ((5000L/SCHEDULER_UNIT)*SCHEDULER_UNIT) /* in microsecond */ #define CS_HZ (1000000. / CS_PERIOD) #define NB_LOGS 4 @@ -196,6 +203,8 @@ struct mainboard { struct cobboard { uint8_t mode; uint8_t status; + uint8_t lspickle; + uint8_t rspickle; int16_t left_cobroller_speed; int16_t right_cobroller_speed; uint8_t cob_count; @@ -206,12 +215,26 @@ struct ballboard { volatile uint8_t mode; uint8_t status; uint8_t ball_count; + uint8_t lcob; + uint8_t rcob; +}; + +/* state of beaconboard, sync'd through uart */ +struct beaconboard { + int16_t oppx; + int16_t oppy; + int16_t oppa; + int16_t oppd; + uint16_t posx; + uint16_t posy; + uint16_t posa; /* between 0 and 3600 */ }; extern struct genboard gen; extern struct mainboard mainboard; extern volatile struct cobboard cobboard; extern volatile struct ballboard ballboard; +extern volatile struct beaconboard beaconboard; /* start the bootloader */ void bootloader(void);