X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fmainboard%2Fmain.h;h=f98bd9954ac7fc5a4ee94cd239b2ba628670f312;hp=07986990c0f671d3cba2714a9646f6d6c7f9f527;hb=d78a81c0df6dfe318d873a6f877e53cfb957ad8e;hpb=092caa88280f71fb58e5938114304fe2e94d6855 diff --git a/projects/microb2010/mainboard/main.h b/projects/microb2010/mainboard/main.h index 0798699..f98bd99 100755 --- a/projects/microb2010/mainboard/main.h +++ b/projects/microb2010/mainboard/main.h @@ -76,18 +76,24 @@ #define MATCH_TIME 89 /* decrease track to decrease angle */ -#define EXT_TRACK_MM 304.9 +#define EXT_TRACK_MM 304.61875 #define VIRTUAL_TRACK_MM EXT_TRACK_MM -#define ROBOT_HALF_LENGTH_FRONT 180 -#define ROBOT_HALF_LENGTH_REAR 70 +#define ROBOT_HALF_LENGTH_FRONT 130 +#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);