Nuvoton
/
NuMaker-mbed-tickless-example
NuMaker tickless example
wakeup.h@1:eb1da9d36e12, 2017-09-12 (annotated)
- Committer:
- ccli8
- Date:
- Tue Sep 12 16:16:43 2017 +0800
- Revision:
- 1:eb1da9d36e12
- Child:
- 2:dbe00b3a7545
Support NUC472/M453/M487
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ccli8 |
1:eb1da9d36e12 | 1 | #ifndef __WAKEUP_H__ |
ccli8 |
1:eb1da9d36e12 | 2 | #define __WAKEUP_H__ |
ccli8 |
1:eb1da9d36e12 | 3 | |
ccli8 |
1:eb1da9d36e12 | 4 | #include <vector> |
ccli8 |
1:eb1da9d36e12 | 5 | #include "mbed.h" |
ccli8 |
1:eb1da9d36e12 | 6 | /* EventFlags is supported from mbed-os-5.5.6. Before then, we need EventFlags_. */ |
ccli8 |
1:eb1da9d36e12 | 7 | #if (MBED_MAJOR_VERSION <= 5 && MBED_MINOR_VERSION <= 5 && MBED_PATCH_VERSION <= 6) |
ccli8 |
1:eb1da9d36e12 | 8 | #include "EventFlags_.h" |
ccli8 |
1:eb1da9d36e12 | 9 | #endif |
ccli8 |
1:eb1da9d36e12 | 10 | |
ccli8 |
1:eb1da9d36e12 | 11 | enum EventFlag_Wakeup { |
ccli8 |
1:eb1da9d36e12 | 12 | EventFlag_Wakeup_Button1 = (1 << 0), |
ccli8 |
1:eb1da9d36e12 | 13 | EventFlag_Wakeup_Button2 = (1 << 1), |
ccli8 |
1:eb1da9d36e12 | 14 | EventFlag_Wakeup_LPTicker = (1 << 2), |
ccli8 |
1:eb1da9d36e12 | 15 | EventFlag_Wakeup_WDT_Timeout = (1 << 3), |
ccli8 |
1:eb1da9d36e12 | 16 | EventFlag_Wakeup_RTC_Alarm = (1 << 4), |
ccli8 |
1:eb1da9d36e12 | 17 | EventFlag_Wakeup_UART_CTS = (1 << 5), |
ccli8 |
1:eb1da9d36e12 | 18 | EventFlag_Wakeup_I2C_AddrMatch = (1 << 6), |
ccli8 |
1:eb1da9d36e12 | 19 | |
ccli8 |
1:eb1da9d36e12 | 20 | EventFlag_Wakeup_UnID = (1 << 7), |
ccli8 |
1:eb1da9d36e12 | 21 | |
ccli8 |
1:eb1da9d36e12 | 22 | EventFlag_Wakeup_All = 0xFF, |
ccli8 |
1:eb1da9d36e12 | 23 | }; |
ccli8 |
1:eb1da9d36e12 | 24 | |
ccli8 |
1:eb1da9d36e12 | 25 | #if (MBED_MAJOR_VERSION <= 5 && MBED_MINOR_VERSION <= 5 && MBED_PATCH_VERSION <= 6) |
ccli8 |
1:eb1da9d36e12 | 26 | extern EventFlags_ wakeup_eventflags; |
ccli8 |
1:eb1da9d36e12 | 27 | #else |
ccli8 |
1:eb1da9d36e12 | 28 | extern EventFlags wakeup_eventflags; |
ccli8 |
1:eb1da9d36e12 | 29 | #endif |
ccli8 |
1:eb1da9d36e12 | 30 | |
ccli8 |
1:eb1da9d36e12 | 31 | void config_pwrctl(void); |
ccli8 |
1:eb1da9d36e12 | 32 | void config_button_wakeup(void); |
ccli8 |
1:eb1da9d36e12 | 33 | void config_wdt_wakeup(void); |
ccli8 |
1:eb1da9d36e12 | 34 | void config_rtc_wakeup(void); |
ccli8 |
1:eb1da9d36e12 | 35 | void config_uart_wakeup(void); |
ccli8 |
1:eb1da9d36e12 | 36 | void config_i2c_wakeup(void); |
ccli8 |
1:eb1da9d36e12 | 37 | |
ccli8 |
1:eb1da9d36e12 | 38 | #endif // target-power.h |