*
*/
+/* was mechboard in 2009 */
+
#define LED_TOGGLE(port, bit) do { \
if (port & _BV(bit)) \
port &= ~_BV(bit); \
#define I2C_POLL_PRIO 20
#define EEPROM_TIME_PRIO 10
-#define CS_PERIOD 5000L /* in microsecond */
+#define CS_PERIOD 5000L /* in microsecond */
#define CS_HZ (1000000. / CS_PERIOD)
#define NB_LOGS 4
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;
/* 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;
};
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);