5,28 → 5,28 |
|
// Normally it is 20MHz/2048 = 9765.625 Hz |
#define F_TIMER0IRQ ((float)F_CPU/2048.0) |
#define MAINLOOP_DIVIDER 10 |
// Originally it is 488 |
#define F_MAINLOOP (F_TIMER0IRQ/(2.0*MAINLOOP_DIVIDER)) |
#define T_TIMER0IRQ ((float)2048.0/(float)F_CPU) |
// About 250 Hz |
#define F_CONTROL 250 |
#define CONTROLLOOP_DIVIDER (F_TIMER0IRQ/F_CONTROL) |
#define SERIALLOOP_DIVIDER 61 |
#define OUTPUTLOOP_DIVIDER 100 |
|
#define BEEP_MODULATION_NONE 0xFFFF |
#define BEEP_MODULATION_RCALARM 0x0C00 |
#define BEEP_MODULATION_I2CALARM 0x0080 |
#define BEEP_MODULATION_BATTERYALARM 0x0300 |
#define BEEP_MODULATION_EEPROMALARM 0x0007 |
extern volatile uint32_t jiffiesClock; |
extern volatile uint32_t millisClock; |
extern volatile uint8_t loopJiffiesClock; |
|
extern volatile uint32_t globalMillisClock; |
extern volatile uint8_t runFlightControl; |
extern volatile uint16_t beepModulation; |
extern volatile uint16_t beepTime; |
#ifdef USE_NAVICTRL |
extern volatile uint8_t SendSPI; |
#endif |
|
extern void timer0_init(void); |
extern void delay_ms(uint16_t w); |
extern void delay_ms_with_adc_measurement(uint16_t w, uint8_t stop); |
extern uint16_t setDelay(uint16_t t); |
extern int8_t checkDelay(uint16_t t); |
|
typedef enum { |
NOT_RUNNING = 0, |
RUNNING, |
BLOCKED_FOR_CALIBRATION |
} FlightControlRunStatus; |
|
extern volatile uint8_t flightControlStatus; |
|
#endif //_TIMER0_H |