lots of work in opponent avoidance and strats
[aversive.git] / projects / microb2010 / mainboard / main.h
index 0798699..1c41d89 100755 (executable)
 #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
 
 /* it is a 1024 imps -> 4096 because we see 1/4 period
 #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 */
@@ -212,10 +213,21 @@ 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;
+};
+
 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);