strat db
[aversive.git] / projects / microb2010 / cobboard / main.h
index dce4825..105ca7d 100755 (executable)
@@ -1,6 +1,6 @@
-/*  
+/*
  *  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
@@ -19,6 +19,8 @@
  *
  */
 
+/* was mainboard 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 RIGHT_SPICKLE_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.pwm3_1A)
@@ -90,7 +96,7 @@ struct genboard {
        struct pwm_ng servo2;
        struct pwm_ng servo3;
        struct pwm_ng servo4;
-       
+
        /* ax12 interface */
        AX12 ax12;
 
@@ -102,6 +108,7 @@ struct genboard {
 
 struct cs_block {
        uint8_t on;
+       int32_t prev;
         struct cs cs;
         struct pid_filter pid;
        struct quadramp_filter qr;
@@ -114,6 +121,7 @@ struct cobboard {
 #define DO_CS        2
 #define DO_BD        4
 #define DO_POWER     8
+#define DO_ERRBLOCKING 16
        uint8_t flags;                /* misc flags */
 
        /* control systems */