research application on sending data to headend
Dependencies: DataStore JobScheduler NetworkServices W5500Interface nanopb protocol
See "main.cpp" documentation on "API Documentation" tab for details about application.
source/main.cpp
- Committer:
- sgnezdov
- Date:
- 2017-07-13
- Revision:
- 1:eebe442fc126
- Parent:
- 0:2c57ed6943f7
- Child:
- 2:661c545d718e
File content as of revision 1:eebe442fc126:
#include "mbed.h" #include "mbed-trace/mbed_trace.h" #define TRACE_GROUP "main" #include "scheduler.h" #include "schedules.h" #include "jobService.h" #include "jobTestPrint.h" // These are necessary only if thread safety is needed static Mutex TracingLock; static void tracingWait() { TracingLock.lock(); } static void tracingRelease() { TracingLock.unlock(); } int main() { printf("\n==Borsch==\n"); /* Setup tracing */ mbed_trace_mutex_wait_function_set( tracingWait ); // only if thread safety is needed mbed_trace_mutex_release_function_set( tracingRelease ); // only if thread safety is needed mbed_trace_init(); // initialize the trace library tr_info("**Started**"); //-> "[INFO][main]: this is an info msg" JobScheduler::JobService js; JobScheduler::Scheduler scheduler(&js); JobTestPrint jtp; js.Register(1, JobTestPrint::RunAdapter, &jtp); scheduler.Start(); // inject test case time_t nowSecs = time(NULL); JobScheduler::Response<JobScheduler::JobID> res = scheduler.JobAdd(1, new JobScheduler::RunOnceSchedule(nowSecs + 2), NULL); // block forever unless there is a job that calls scheduler.Stop() scheduler.WaitToStop(); // indicate clean app termination tr_info("**Finished**"); //-> "[INFO][main]: this is an info msg" exit(0); }