]> git.karo-electronics.de Git - oswald.git/blob - metawatch/mw_main.h
Add modified LPM3_EXIT_ISR to work around FLL IRQ wake-up problem
[oswald.git] / metawatch / mw_main.h
1 #ifndef _GCCFWTEST_LCD_H
2 #define _GCCFWTEST_LCD_H
3
4 #define MW_MAIN_VERSION "MW v0.4"
5
6 #if defined MW_DEVBOARD_V2
7 #include "hal_devboard_v2_defs.h"
8 #elif defined MW_DIGITAL_V2
9 #include "hal_digital_v2_defs.h"
10 #else
11 #error "Define a watch type!"
12 #endif
13 #include "hal_io_macros.h"
14
15 #define LPM3_EXIT_ISR() { _BIC_SR_IRQ(SCG1+OSCOFF+CPUOFF); nop(); }
16
17 #define WATCHDOG_EVENT          1 << 0
18 #define RTC_1HZ_EVENT           1 << 1
19 #define DBG_UART_RCV_EVENT      1 << 2
20 #define BUTTON_EVENT            1 << 3
21 #define TIMER_500MS_EVENT       1 << 4
22 #define TIMER_100MS_EVENT       1 << 5
23 #define POWER_SRC_EVENT         1 << 6
24 #define BT_UART_RCV_EVENT       1 << 7
25 #define BT_UART_WAKEUP_EVENT    1 << 8
26 #define ACCEL_EVENT             1 << 9
27
28 extern unsigned int _event_src;
29
30 //#define TIMER_500MS_CYCLES            32768
31
32 #define TIMER_500MS_CYCLES              16384
33 #define TIMER_100MS_CYCLES              327
34
35 void start_timer(int cycles);
36 void stop_timer(void);
37
38 uint8_t handle_event(void);
39
40 #endif