Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: DataStore JobScheduler NetworkServices W5500Interface nanopb protocol
Diff: source/jobSchedulesUpload.cpp
- 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; }