add ballboard commands on mainboard
[aversive.git] / projects / microb2010 / mainboard / main.h
index 7f21058..c248644 100755 (executable)
 #define IMP_COEF 10.
 #define DIST_IMP_MM (((IMP_ENCODERS*4) / WHEEL_PERIM_MM) * IMP_COEF)
 
-#define LEFT_ENCODER            ((void *)1)
 #define RIGHT_ENCODER           ((void *)0)
+#define LEFT_ENCODER            ((void *)1)
 #define LEFT_COBROLLER_ENCODER  ((void *)2)
 #define RIGHT_COBROLLER_ENCODER ((void *)3)
 
-#define LEFT_PWM            ((void *)&gen.pwm1_4A)
-#define RIGHT_PWM           ((void *)&gen.pwm2_4B)
+#define RIGHT_PWM           ((void *)&gen.pwm1_4A)
+#define LEFT_PWM            ((void *)&gen.pwm2_4B)
 #define LEFT_COBROLLER_PWM  ((void *)&gen.pwm3_1A)
 #define RIGHT_COBROLLER_PWM ((void *)&gen.pwm4_1B)
 
+#define SUPPORT_BALLS_R_SERVO ((void *)&gen.servo2)
+#define SUPPORT_BALLS_L_SERVO ((void *)&gen.servo3)
+
+
 /** ERROR NUMS */
 #define E_USER_STRAT           194
 #define E_USER_I2C_PROTO       195
@@ -111,7 +115,7 @@ struct genboard {
        struct pwm_ng servo2;
        struct pwm_ng servo3;
        struct pwm_ng servo4;
-       
+
        /* ax12 interface */
        AX12 ax12;
 
@@ -161,13 +165,18 @@ struct mainboard {
 
 /* state of cobboard, synchronized through i2c */
 struct cobboard {
-       uint8_t mode;   
+       uint8_t mode;
        uint8_t status;
+       int16_t left_cobroller_speed;
+       int16_t right_cobroller_speed;
+       uint8_t cob_count;
 };
 
 /* state of ballboard, synchronized through i2c */
 struct ballboard {
+       uint8_t mode;
        uint8_t status;
+       uint8_t ball_count;
 };
 
 extern struct genboard gen;