#include "config.h" #include #include #ifdef JOYSTICK_SUPPORT # include "joystick/joystick.h" unsigned char waitForFire; #endif #ifdef RFM12_SUPPORT #include "rfm12/borg_rfm12.h" #endif //this buffer is declared in main extern jmp_buf newmode_jmpbuf; #ifdef CAN_SUPPORT # include "can/borg_can.h" #endif #ifdef UART_SUPPORT # include "uart/uart_commands.h" #endif void wait(int ms){ /* Always use Timer1 except for the Arduino/LoL Shield platform. */ #ifndef USER_TIMER0_FOR_WAIT TCCR1B = _BV(WGM12) | _BV(CS12); //CTC Mode, clk/256 OCR1A = (F_CPU/256000); //1000Hz /* Some Arduino/LoL Shield variants require Timer1 for multiplexing. Timer0, on * the other hand, is free to use, which makes it a perfect candidate for our * wait() function. */ #else // disconnect OC0A and OC0B pins, turn on CTC mode, clk/256 TCCR0A = _BV(WGM01); TCCR0B = _BV(CS02); OCR0A = (F_CPU/256000); //1000Hz #endif for(;ms>0;ms--){ #ifdef CAN_SUPPORT bcan_process_messages(); #endif #ifdef UART_SUPPORT uartcmd_process(); #endif #ifdef RFM12_SUPPORT borg_rfm12_tick(); #endif #ifdef JOYSTICK_SUPPORT if (waitForFire) { //PORTJOYGND &= ~(1<