Sergei G / Mbed OS Borsch

Dependencies:   DataStore JobScheduler NetworkServices W5500Interface nanopb protocol

Revision:
17:b79ce8109995
Parent:
16:bef1673b199e
Child:
18:133a51becbe1
--- a/source/jobSchedulesUpload.cpp	Thu Aug 03 20:57:50 2017 +0000
+++ b/source/jobSchedulesUpload.cpp	Thu Aug 03 22:44:59 2017 +0000
@@ -11,12 +11,6 @@
 #include "scheduler.h"
 #include "schedules.h"
 
-// encode signature
-// bool (*encode)(pb_ostream_t *stream, const pb_field_t *field, void * const *arg);
-//bool pbOutStream(pb_ostream_t *stream, const pb_field_t *field, void * const *arg) {
-//    return true;
-//}
-
 bool fillScheduleData(protocol_Job_ScheduleData_t& pbSchedData, JobScheduler::Appointment& apt) {
     JobScheduler::Job* job = apt.GetJob();
     JobScheduler::ISchedule* schedule = job->GetSchedule();
@@ -58,51 +52,56 @@
     tr_info("Job Schedules Upload");
     
     protocol_JobList pbJobs = protocol_JobList_init_zero;
-    strcpy(pbJobs.sn, this->_conf.SerialNumber());
+//    strcpy(pbJobs.sn, this->_conf.SerialNumber());
     
-    {
-        LinkedList<JobScheduler::Appointment> apts;
-        this->_scheduler.AppointmentList(apts);
-        node<JobScheduler::Appointment>* aptn = apts.pop(1);
-        int idx = 0;
-        pbJobs.items_count = 0;
-        while (aptn != NULL) {
-            JobScheduler::Appointment* apt = aptn->data;
-            JobScheduler::Job* job = apt->GetJob();
-            tr_debug("adding job ID: %d, type: %d\n", job->GetID(), job->GetTypeID());
-            pbJobs.items[idx].ID = job->GetID();
-            pbJobs.items[idx].TypeID = job->GetTypeID();
-            pbJobs.items[idx].ScheduleTypeID = static_cast<protocol_ScheduleType>(job->GetSchedule()->ScheduleType());
-            // pbJobs.items[idx].ScheduleData = 
-            if (!fillScheduleData(pbJobs.items[idx].ScheduleData, *apt)) {
-                tr_error("job error: failed to fill schedule");
-                return;
-            }
-            //tr_debug("schedule data size: %d", pbJobs.items[idx].ScheduleData.size);
-            // pbJobs.items[idx].Data = 
-            pbJobs.items_count = idx;
-            
-            apts.remove(1);
-            aptn = apts.pop(1);
-            idx++;
-        }
-    }
-    
-    // encode to nothing to detect buffer size
-    pb_ostream_t sizeStream = {0};
-    pb_encode(&sizeStream, protocol_JobList_fields, &pbJobs);
-
-    // allocate output buffer and encode into it
-    uint8_t* outBuf = new uint8_t[sizeStream.bytes_written];
-    pb_ostream_t outStream = pb_ostream_from_buffer(outBuf, sizeStream.bytes_written);
-    pb_encode(&outStream, protocol_JobList_fields, &pbJobs);
-        
-    tr_array(outBuf, outStream.bytes_written);
+//    {
+//        LinkedList<JobScheduler::Appointment> apts;
+//        this->_scheduler.AppointmentList(apts);
+//        node<JobScheduler::Appointment>* aptn = apts.pop(1);
+//        int idx = 0;
+//        pbJobs.items_count = 0;
+//        while (aptn != NULL) {
+//            JobScheduler::Appointment* apt = aptn->data;
+//            JobScheduler::Job* job = apt->GetJob();
+//            tr_debug("adding job ID: %d, type: %d\n", job->GetID(), job->GetTypeID());
+//            pbJobs.items[idx].ID = job->GetID();
+//            pbJobs.items[idx].TypeID = job->GetTypeID();
+//            pbJobs.items[idx].ScheduleTypeID = static_cast<protocol_ScheduleType>(job->GetSchedule()->ScheduleType());
+//            // pbJobs.items[idx].ScheduleData = 
+//            if (!fillScheduleData(pbJobs.items[idx].ScheduleData, *apt)) {
+//                tr_error("job error: failed to fill schedule");
+//                return;
+//            }
+//            //tr_debug("schedule data size: %d", pbJobs.items[idx].ScheduleData.size);
+//            // pbJobs.items[idx].Data = 
+//            pbJobs.items_count = idx;
+//            
+//            apts.remove(1);
+//            aptn = apts.pop(1);
+//            idx++;
+//        }
+//    }
+//    
+//    // encode to nothing to detect buffer size
+//    pb_ostream_t sizeStream = {0};
+//    pb_encode(&sizeStream, protocol_JobList_fields, &pbJobs);
+//
+//    // allocate output buffer and encode into it
+//    uint8_t* outBuf = new uint8_t[sizeStream.bytes_written];
+//    pb_ostream_t outStream = pb_ostream_from_buffer(outBuf, sizeStream.bytes_written);
+//    pb_encode(&outStream, protocol_JobList_fields, &pbJobs);
+//        
+//    tr_array(outBuf, outStream.bytes_written);
 
     // send CoAP message
     time_t now = time(NULL);
-    _lce.SendV1("/uw/joblist", outBuf, outStream.bytes_written, false, now);
-    delete outBuf;
+    
+    uint8_t msg[] = { 0x0a, 0x07, 0x4e, 0x75, 0x63, 0x6c, 0x65, 0x6f, 0x31 };
+    size_t msgLen = 9;
+    _lce.SendV1("/uw/joblist", msg, msgLen, false, now);
+    
+    //_lce.SendV1("/uw/joblist", outBuf, outStream.bytes_written, false, now);
+//    delete outBuf;
 }