run once and run periodic example work

Dependencies:   JobScheduler

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?

UserRevisionLine numberNew 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