X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fmainboard%2Fmain.h;h=f98bd9954ac7fc5a4ee94cd239b2ba628670f312;hp=00b6e8630b7e0d3abeae7d6d9cd5ebb196d9cc6b;hb=d78a81c0df6dfe318d873a6f877e53cfb957ad8e;hpb=14746d9a69fdf7390df82ef172b9aaafc2086ee4 diff --git a/projects/microb2010/mainboard/main.h b/projects/microb2010/mainboard/main.h index 00b6e86..f98bd99 100755 --- a/projects/microb2010/mainboard/main.h +++ b/projects/microb2010/mainboard/main.h @@ -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 @@ -212,10 +219,22 @@ struct ballboard { 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);