X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fcobboard%2Fmain.h;h=0c12fdc13e965501a72e6297d3d849f795df4dd0;hp=33fb8338ba688b3f53a82dd013ad1405be5e66f3;hb=b022f257a5ee568737e1a684a83d0154397fffcb;hpb=8d6a47e9e21a9a31f4bc12d32fb3d11091a4b305 diff --git a/projects/microb2010/cobboard/main.h b/projects/microb2010/cobboard/main.h index 33fb833..0c12fdc 100755 --- a/projects/microb2010/cobboard/main.h +++ b/projects/microb2010/cobboard/main.h @@ -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 @@ -30,13 +30,13 @@ #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) @@ -48,11 +48,15 @@ #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 @@ -64,6 +68,7 @@ #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 @@ -89,7 +94,7 @@ struct genboard { struct pwm_ng servo2; struct pwm_ng servo3; struct pwm_ng servo4; - + /* ax12 interface */ AX12 ax12; @@ -101,6 +106,7 @@ struct genboard { struct cs_block { uint8_t on; + int32_t prev; struct cs cs; struct pid_filter pid; struct quadramp_filter qr; @@ -113,6 +119,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 */ @@ -124,6 +131,10 @@ struct cobboard { 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;