#ifndef PINS_H #define PINS_H /**************** SPI **********************/ #define SS_PORT_DDR DDRS #define SS_PORT PTS #define SS_BIT BIT7HI /**************** SERVOS *******************/ #define LANCE_SERVO_INPUT TIM0_TC4 #define GATE_SERVO_INPUT TIM0_TC5 #define SWING_SERVO_INPUT TIM0_TC6 #define RETRACTED_POSITION 0 #define DEPLOYED_POSITION 45 #define GATE_OPEN_POSITION 40 #define GATE_CLOSED_POSITION 75 #define FORWARD_POSITION 0 #define BACKWARD_POSITION 80 /**************** PWM LINES *******************/ //CLOCK A: Channels 0, 1, 4, 5 //Period: 100 //Frequency: 24MHz/Prescaler/(Scaler*2)/100 #define CLOCK_A_PRESCALER (_S12_PCKA1 | _S12_PCKA2) // Frequency: 375 kHz (%64) #define CLOCK_A_SCALER 75 // Frequency: 25Hz #define CLOCK_LAUNCHER _S12_PCLK0 #define CLOCK_RELOAD _S12_PCLK4 // Launch: 375 kHz (A) // Reload: 25 Hz (S+A) //CLOCK B: Channels 2, 3 #define DRIVE_PRESCALER _S12_PCKB1 //Frequency: 6MHz (%4) //Drive PWM #define LEFT_DUTY PWMDTY3 #define RIGHT_DUTY PWMDTY2 #define LEFT_FORWARD 95 #define RIGHT_FORWARD 95 #define LEFT_BACKWARD 87 #define RIGHT_BACKWARD 87 #define TURN_SPEED 65 #define LEFT_REDUCED_SPEED 65 #define RIGHT_REDUCED_SPEED 65 //Drive Direction Lines #define DDR_DRIVE_DIR DDRU #define PORT_DRIVE_DIR PTU #define PIN_LEFT_DIR BIT6HI #define PIN_RIGHT_DIR BIT7HI //Drive Controls #define Kd_FULL 5 #define Kp_FULL 1 #define Kd_REDUCED 1 #define Kp_REDUCED .5 #define DDR_LANCE_ENABLE DDRP #define PORT_LANCE_ENABLE PTP #define PIN_LANCE_ENABLE BIT0HI //Launcher #define LAUNCHER_DUTY PWMDTY0 #define LAUNCH_ON_DUTY 50 #define LAUNCH_OFF_DUTY 0 //Reload #define RELOAD_DUTY PWMDTY4 #define RELOAD_ON_DUTY 25 #define RELOAD_OFF_DUTY 0 /*************** DIGITAL IN ****************/ #define DDR_LANCE_LIMIT DDRP #define PORT_LANCE_LIMIT PTP #define PIN_FRONT_LANCE_LIMIT BIT1HI #define PIN_BACK_LANCE_LIMIT BIT3HI #define DDR_BUMPER DDRP #define PORT_BUMPER PTP #define PIN_FRONT_BUMPER BIT5HI #define PIN_BACK_BUMPER BIT4HI #define DDR_STATUS_LED DDRP #define PORT_STATUS_LED PTP #define PIN_STATUS_LED BIT2HI //TODO: Beacon Detector, Knight Toggle /*************** Analog ********************/ #define ANALOG_SETTING "IAAAAAAA" #define PIN_FRONT_LEFT_INDUCTOR 2 #define PIN_FRONT_RIGHT_INDUCTOR 1 #define PIN_BACK_LEFT_INDUCTOR 4 #define PIN_BACK_RIGHT_INDUCTOR 5 #define PIN_VOLTAGE 6 #define PORT_KNIGHT_TOGGLE PTAD #define PIN_KNIGHT_TOGGLE BIT7HI #define RED_KNIGHT 0 #define DARK_KNIGHT 1 /************** Ultrasonic ******************/ #define DDR_ULTRASONIC DDRT #define PORT_ULTRASONIC PTT #define PIN_FRONT_ECHO BIT5HI #define PIN_BACK_ECHO BIT7HI #define TIMER_FRONT_ECHO TIM1_TC5 #define TIMER_BACK_ECHO TIM1_TC7 #define FRONT_WALL_DISTANCE 40 #define BACK_WALL_DISTANCE 40 #endif