-/*
+/*
* Copyright Droids Corporation (2009)
- *
+ *
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
*
*/
+/* was sensorboard in 2009 */
+
#define LED_TOGGLE(port, bit) do { \
if (port & _BV(bit)) \
port &= ~_BV(bit); \
#define LED1_OFF() cbi(PORTJ, 2)
#define LED1_TOGGLE() LED_TOGGLE(PORTJ, 2)
-#define LED2_ON() sbi(PORTL, 7)
-#define LED2_OFF() cbi(PORTL, 7)
-#define LED2_TOGGLE() LED_TOGGLE(PORTL, 7)
+#define LED2_ON() sbi(PORTJ, 3)
+#define LED2_OFF() cbi(PORTJ, 3)
+#define LED2_TOGGLE() LED_TOGGLE(PORTJ, 3)
-#define LED3_ON() sbi(PORTJ, 3)
-#define LED3_OFF() cbi(PORTJ, 3)
-#define LED3_TOGGLE() LED_TOGGLE(PORTJ, 3)
+#define LED3_ON() sbi(PORTL, 7)
+#define LED3_OFF() cbi(PORTL, 7)
+#define LED3_TOGGLE() LED_TOGGLE(PORTL, 7)
#define LED4_ON() sbi(PORTL, 6)
#define LED4_OFF() cbi(PORTL, 6)
#define LEFT_SPICKLE_ENCODER ((void *)0)
#define RIGHT_SPICKLE_ENCODER ((void *)1)
-#define SHOVEL_ENCODER ((void *)1)
+#define SHOVEL_ENCODER ((void *)2)
+
+#define SERVO_DOOR_PWM ((void *)&gen.servo2)
+#define SERVO_CARRY_L_PWM ((void *)&gen.servo1)
+#define SERVO_CARRY_R_PWM ((void *)&gen.servo3)
#define LEFT_SPICKLE_PWM ((void *)&gen.pwm1_4A)
#define RIGHT_SPICKLE_PWM ((void *)&gen.pwm2_4B)
-#define SHOVEL_PWM ((void *)&gen.pwm2_4B)
+#define SHOVEL_PWM ((void *)&gen.pwm3_1A)
/** ERROR NUMS */
#define E_USER_I2C_PROTO 195
#define LED_PRIO 170
#define TIME_PRIO 160
+#define SPICKLE_PRIO 130
#define ADC_PRIO 120
#define CS_PRIO 100
#define I2C_POLL_PRIO 20
struct pwm_ng servo2;
struct pwm_ng servo3;
struct pwm_ng servo4;
-
+
/* ax12 interface */
AX12 ax12;
struct cs_block {
uint8_t on;
+ int32_t prev;
struct cs cs;
struct pid_filter pid;
struct quadramp_filter qr;
#define DO_CS 2
#define DO_BD 4
#define DO_POWER 8
+#define DO_ERRBLOCKING 16
uint8_t flags; /* misc flags */
/* control systems */
uint8_t our_color;
volatile uint8_t cob_count;
volatile uint8_t status;
+
+ /* synchronized to mainboard */
+ int16_t left_cobroller_speed;
+ int16_t right_cobroller_speed;
};
extern struct genboard gen;