vt100: include pgmspace.h as we use PROGMEM macro
[aversive.git] / projects / microb2010 / mainboard / main.h
index 21c0065..2fe7199 100755 (executable)
@@ -19,6 +19,8 @@
  *
  */
 
+/* was sensorboard in 2009 */
+
 #define LED_TOGGLE(port, bit) do {             \
                if (port & _BV(bit))            \
                        port &= ~_BV(bit);      \
 #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.
 #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
@@ -194,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;
@@ -201,15 +212,21 @@ struct cobboard {
 
 /* state of ballboard, synchronized through i2c */
 struct ballboard {
-       uint8_t mode;
+       volatile uint8_t mode;
        uint8_t status;
        uint8_t ball_count;
+       uint8_t lcob;
+       uint8_t rcob;
+       int16_t opponent_x;
+       int16_t opponent_y;
+       int16_t opponent_a;
+       int16_t opponent_d;
 };
 
 extern struct genboard gen;
 extern struct mainboard mainboard;
-extern struct cobboard cobboard;
-extern struct ballboard ballboard;
+extern volatile struct cobboard cobboard;
+extern volatile struct ballboard ballboard;
 
 /* start the bootloader */
 void bootloader(void);