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.

Committer:
sgnezdov
Date:
Fri Aug 11 19:07:20 2017 +0000
Revision:
28:7214f7806526
Parent:
27:60c12f3f3430
fixed compilation bug

Who changed what in which revision?

UserRevisionLine numberNew contents of line
sgnezdov 11:acaefb63fc6b 1 #pragma once
sgnezdov 11:acaefb63fc6b 2
sgnezdov 11:acaefb63fc6b 3 #include "mbed.h"
sgnezdov 11:acaefb63fc6b 4 #include "lceProxy.h"
sgnezdov 11:acaefb63fc6b 5 #include "scheduler.h"
sgnezdov 13:0fdbc14c33e7 6 #include "config.h"
sgnezdov 11:acaefb63fc6b 7
sgnezdov 11:acaefb63fc6b 8 // JobSchedulesUpload reads current jobs schedule and uploads it to LCE
sgnezdov 11:acaefb63fc6b 9 // using Job protocol buffers structures.
sgnezdov 27:60c12f3f3430 10 /** JobSchedulesUpload uploads shceduler state to LCE HE. */
sgnezdov 11:acaefb63fc6b 11 class JobSchedulesUpload {
sgnezdov 11:acaefb63fc6b 12 public:
sgnezdov 11:acaefb63fc6b 13
sgnezdov 27:60c12f3f3430 14 /** RunAdapter is scheduler callback function.
sgnezdov 27:60c12f3f3430 15 @param thisPointer provides job context, which is this class's instance.
sgnezdov 27:60c12f3f3430 16 */
sgnezdov 11:acaefb63fc6b 17 static void RunAdapter(void *thisPointer) {
sgnezdov 11:acaefb63fc6b 18 JobSchedulesUpload *self = static_cast<JobSchedulesUpload*>(thisPointer);
sgnezdov 11:acaefb63fc6b 19 self->Run();
sgnezdov 11:acaefb63fc6b 20 }
sgnezdov 27:60c12f3f3430 21
sgnezdov 27:60c12f3f3430 22 /** JobSchedulesUpload constructor arguments are its service dependencies. */
sgnezdov 13:0fdbc14c33e7 23 JobSchedulesUpload(Config& conf, LceProxy& lce, JobScheduler::Scheduler& scheduler):
sgnezdov 13:0fdbc14c33e7 24 _conf(conf), _lce(lce), _scheduler(scheduler) {}
sgnezdov 11:acaefb63fc6b 25
sgnezdov 11:acaefb63fc6b 26 void Run();
sgnezdov 11:acaefb63fc6b 27
sgnezdov 11:acaefb63fc6b 28 private:
sgnezdov 11:acaefb63fc6b 29
sgnezdov 13:0fdbc14c33e7 30 Config _conf;
sgnezdov 11:acaefb63fc6b 31 LceProxy& _lce;
sgnezdov 11:acaefb63fc6b 32 JobScheduler::Scheduler& _scheduler;
sgnezdov 11:acaefb63fc6b 33 };