port |= _BV(bit); \
} while(0)
+#ifdef HOST_VERSION
+#define LED1_ON()
+#define LED1_OFF()
+#define LED1_TOGGLE()
+
+#define LED2_ON()
+#define LED2_OFF()
+#define LED2_TOGGLE()
+
+#define LED3_ON()
+#define LED3_OFF()
+#define LED3_TOGGLE()
+
+#define LED4_ON()
+#define LED4_OFF()
+#define LED4_TOGGLE()
+
+#define BRAKE_DDR()
+#define BRAKE_ON()
+#define BRAKE_OFF()
+
+#else
+
#define LED1_ON() sbi(PORTJ, 2)
#define LED1_OFF() cbi(PORTJ, 2)
#define LED1_TOGGLE() LED_TOGGLE(PORTJ, 2)
#define BRAKE_DDR() do { DDRJ |= 0xF0; } while(0)
#define BRAKE_ON() do { PORTJ |= 0xF0; } while(0)
#define BRAKE_OFF() do { PORTJ &= 0x0F; } while(0)
+#endif
/* only 90 seconds, don't forget it :) */
#define MATCH_TIME 89
#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
struct pwm_ng servo2;
struct pwm_ng servo3;
struct pwm_ng servo4;
-
+
/* ax12 interface */
AX12 ax12;
/* 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;