diff options
| author | armink <[email protected]> | 2018-10-29 09:49:12 +0800 |
|---|---|---|
| committer | armink <[email protected]> | 2018-10-29 09:54:52 +0800 |
| commit | 2d59fe031038e94dd626f3b172653bcb9bab9a2d (patch) | |
| tree | 1672d1d0d2e4b1673af2fd4cb2b86341779f5976 /examples/pm | |
| parent | 125195c870f71b8e5c8841be25a0675a863dee62 (diff) | |
[DeviceDriver] Add power management device driver.
Diffstat (limited to 'examples/pm')
| -rw-r--r-- | examples/pm/timer_app.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/examples/pm/timer_app.c b/examples/pm/timer_app.c new file mode 100644 index 0000000000..73faf52d0a --- /dev/null +++ b/examples/pm/timer_app.c @@ -0,0 +1,54 @@ +/* + * Copyright (c) 2006-2018, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2018-08-07 Tanek first implementation + */ + +#include <board.h> +#include <rtthread.h> +#include <rtdevice.h> + +#ifndef RT_USING_TIMER_SOFT + #error "Please enable soft timer feature!" +#endif + +#define TIMER_APP_DEFAULT_TICK (RT_TICK_PER_SECOND * 2) + +#ifdef RT_USING_PM + +static rt_timer_t timer1; + +static void _timeout_entry(void *parameter) +{ + rt_kprintf("current tick: %ld\n", rt_tick_get()); +} + +static int timer_app_init(void) +{ + timer1 = rt_timer_create("timer_app", + _timeout_entry, + RT_NULL, + TIMER_APP_DEFAULT_TICK, + RT_TIMER_FLAG_PERIODIC | RT_TIMER_FLAG_SOFT_TIMER); + if (timer1 != RT_NULL) + { + rt_timer_start(timer1); + + /* keep in timer mode */ + rt_pm_request(PM_SLEEP_MODE_TIMER); + + return 0; + } + else + { + return -1; + } +} +INIT_EXPORT_APP(timer_app_init); + +#endif /* RT_USING_PM */ + |
