Sergei G
/
JobSchedulerDemo
run once and run periodic example work
source/main.cpp@5:79cbf6d8b5f0, 2017-07-11 (annotated)
- Committer:
- sgnezdov
- Date:
- Tue Jul 11 22:35:51 2017 +0000
- Revision:
- 5:79cbf6d8b5f0
- Parent:
- 3:dd0e559a9ff7
- Child:
- 6:b0bca03d9f3a
increased amount of time to run
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 | 3:dd0e559a9ff7 | 22 | JobScheduler::Response<JobScheduler::JobID> res = scheduler.JobAdd(1, new JobScheduler::RunOnceSchedule(nowSecs + 5), NULL); |
sgnezdov | 3:dd0e559a9ff7 | 23 | printf("job add response error: %d, jobID: %d\n", res.error, res.data); |
sgnezdov | 5:79cbf6d8b5f0 | 24 | wait(10); |
sgnezdov | 0:728722f45131 | 25 | scheduler.Stop(); |
sgnezdov | 0:728722f45131 | 26 | scheduler.WaitToStop(); |
sgnezdov | 0:728722f45131 | 27 | } |
sgnezdov | 0:728722f45131 | 28 | |
sgnezdov | 0:728722f45131 | 29 | int main() |
sgnezdov | 0:728722f45131 | 30 | { |
sgnezdov | 0:728722f45131 | 31 | printf("\nJob Scheduler Demo\n"); |
sgnezdov | 0:728722f45131 | 32 | runScheduler(); |
sgnezdov | 0:728722f45131 | 33 | printf("done\n"); |
sgnezdov | 0:728722f45131 | 34 | |
sgnezdov | 0:728722f45131 | 35 | exit(0); |
sgnezdov | 0:728722f45131 | 36 | } |
sgnezdov | 0:728722f45131 | 37 |