#ifndef CONTROLLER_H #define CONTROLLER_H //Firing/Disable Timeouts #define SHOOTER_DISABLE_TIMEOUT 3000 #define VICTIM_DISABLE_TIMEOUT 2000 //Game Timers #define TIMER_OFF 0xFFFF #define TIMER_8_OFF 0xFF #define INPUT_UPDATE_TIMEOUT 25 #define AIM_TICK_TIMEOUT 100 #define RESET_TIMEOUT 2500 #define DAMAGE_DISPLAY_TIMEOUT 250 //Display Types #define DISP_TYPE_NONE 0 #define DISP_TYPE_WINNER 1 #define DISP_TYPE_LOSER 2 #define DISP_TYPE_TIE 3 #define DISP_TYPE_HIT 4 #define DISP_TYPE_MISS 5 #define DISP_TYPE_RESET 6 //Display Start Values #define DISP_START_WINNER 0x2AA #define DISP_START_LOSER 0x3FF #define DISP_START_TIE 0x001 #define DISP_START_HIT 0x001 #define DISP_START_MISS 0x00F #define DISP_START_RESET 0x000 //Display Timeouts #define DISP_TIMEOUT_WINNER 250 #define DISP_TIMEOUT_LOSER 125 #define DISP_TIMEOUT_TIE 50 #define DISP_TIMEOUT_HIT 50 #define DISP_TIMEOUT_MISS 150 #define DISP_TIMEOUT_RESET 250 //Display Iterations #define DISP_ITER_WINNER 10 #define DISP_ITER_LOSER 21 #define DISP_ITER_TIE 10 #define DISP_ITER_HIT 10 #define DISP_ITER_MISS 4 #define DISP_ITER_RESET 10 //Laser Constants #define LASER_EN PORTC #define LASER_DDR DDRC #define LASER_PIN 5 #define LASER_ON LASER_EN&=~(1<