Sergei G
/
JobSchedulerDemo
run once and run periodic example work
source/main.cpp@2:4fe42e3bafe4, 2017-07-11 (annotated)
- Committer:
- sgnezdov
- Date:
- Tue Jul 11 20:35:35 2017 +0000
- Revision:
- 2:4fe42e3bafe4
- Parent:
- 0:728722f45131
- Child:
- 3:dd0e559a9ff7
added run once schedule job
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sgnezdov | 0:728722f45131 | 1 | #include "mbed.h" |
sgnezdov | 0:728722f45131 | 2 | #include "scheduler.h" |
sgnezdov | 0:728722f45131 | 3 | #include "LinkedList.h" |
sgnezdov | 0:728722f45131 | 4 | #include "jobService.h" |
sgnezdov | 2:4fe42e3bafe4 | 5 | #include "schedules.h" |
sgnezdov | 0:728722f45131 | 6 | |
sgnezdov | 0:728722f45131 | 7 | void job1() |
sgnezdov | 0:728722f45131 | 8 | { |
sgnezdov | 0:728722f45131 | 9 | printf("Job 1\n"); |
sgnezdov | 0:728722f45131 | 10 | } |
sgnezdov | 0:728722f45131 | 11 | |
sgnezdov | 0:728722f45131 | 12 | void runScheduler() |
sgnezdov | 0:728722f45131 | 13 | { |
sgnezdov | 0:728722f45131 | 14 | JobScheduler::JobService js; |
sgnezdov | 0:728722f45131 | 15 | JobScheduler::Scheduler scheduler(&js); |
sgnezdov | 0:728722f45131 | 16 | |
sgnezdov | 0:728722f45131 | 17 | js.Register(1, job1); |
sgnezdov | 0:728722f45131 | 18 | |
sgnezdov | 0:728722f45131 | 19 | scheduler.Start(); |
sgnezdov | 2:4fe42e3bafe4 | 20 | |
sgnezdov | 2:4fe42e3bafe4 | 21 | time_t nowSecs = time(NULL); |
sgnezdov | 2:4fe42e3bafe4 | 22 | scheduler.JobAdd(1, new JobScheduler::RunOnceSchedule(nowSecs + 5), NULL); |
sgnezdov | 0:728722f45131 | 23 | wait(5); |
sgnezdov | 0:728722f45131 | 24 | scheduler.Stop(); |
sgnezdov | 0:728722f45131 | 25 | scheduler.WaitToStop(); |
sgnezdov | 0:728722f45131 | 26 | } |
sgnezdov | 0:728722f45131 | 27 | |
sgnezdov | 0:728722f45131 | 28 | void useTime() |
sgnezdov | 0:728722f45131 | 29 | { |
sgnezdov | 0:728722f45131 | 30 | //set_time(1256729737); // Set RTC time to Wed, 28 Oct 2009 11:35:37 |
sgnezdov | 0:728722f45131 | 31 | // while (true) { |
sgnezdov | 0:728722f45131 | 32 | // |
sgnezdov | 0:728722f45131 | 33 | // printf("Time as seconds since January 1, 1970 = %d\n", seconds); |
sgnezdov | 0:728722f45131 | 34 | // |
sgnezdov | 0:728722f45131 | 35 | // printf("Time as a basic string = %s", ctime(&seconds)); |
sgnezdov | 0:728722f45131 | 36 | // |
sgnezdov | 0:728722f45131 | 37 | // char buffer[32]; |
sgnezdov | 0:728722f45131 | 38 | // strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds)); |
sgnezdov | 0:728722f45131 | 39 | // printf("Time as a custom formatted string = %s", buffer); |
sgnezdov | 0:728722f45131 | 40 | // |
sgnezdov | 0:728722f45131 | 41 | // wait(1); |
sgnezdov | 0:728722f45131 | 42 | // } |
sgnezdov | 0:728722f45131 | 43 | } |
sgnezdov | 0:728722f45131 | 44 | |
sgnezdov | 0:728722f45131 | 45 | int main() |
sgnezdov | 0:728722f45131 | 46 | { |
sgnezdov | 0:728722f45131 | 47 | printf("\nJob Scheduler Demo\n"); |
sgnezdov | 0:728722f45131 | 48 | runScheduler(); |
sgnezdov | 0:728722f45131 | 49 | printf("done\n"); |
sgnezdov | 0:728722f45131 | 50 | |
sgnezdov | 0:728722f45131 | 51 | exit(0); |
sgnezdov | 0:728722f45131 | 52 | } |
sgnezdov | 0:728722f45131 | 53 |