Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Committer:
jmarkel44
Date:
Fri Sep 23 15:13:04 2016 +0000
Revision:
122:4db48b933115
Parent:
46:4cb96ab2d1c8
Child:
126:c85ac6a8e9af
timer control foundation;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmarkel44 19:9bc8fabeddfa 1 /******************************************************************************
jmarkel44 19:9bc8fabeddfa 2 *
jmarkel44 35:6235ef67faa1 3 * File: TimerCntrol.cpp
jmarkel44 35:6235ef67faa1 4 * Desciption: ICE Timer Control Class implementation
jmarkel44 19:9bc8fabeddfa 5 *
jmarkel44 19:9bc8fabeddfa 6 *****************************************************************************/
jmarkel44 19:9bc8fabeddfa 7 #include "TimerControl.h"
jmarkel44 19:9bc8fabeddfa 8 #include "mDot.h"
jmarkel44 35:6235ef67faa1 9 #include "MbedJSONValue.h"
jmarkel44 35:6235ef67faa1 10 #include <string>
jmarkel44 19:9bc8fabeddfa 11
jmarkel44 19:9bc8fabeddfa 12 extern mDot *GLOBAL_mdot;
jmarkel44 19:9bc8fabeddfa 13
jmarkel44 122:4db48b933115 14
jmarkel44 122:4db48b933115 15 //
jmarkel44 122:4db48b933115 16 // method: load
jmarkel44 122:4db48b933115 17 // description: load the pertinents from the control file
jmarkel44 122:4db48b933115 18 //
jmarkel44 122:4db48b933115 19 // @param _controlFile
jmarkel44 122:4db48b933115 20 // @return true if loaded; false otherwise
jmarkel44 122:4db48b933115 21 //
jmarkel44 35:6235ef67faa1 22 bool TimerControl::load(string _controlFile)
jmarkel44 122:4db48b933115 23 {
jmarkel44 122:4db48b933115 24 MbedJSONValue json_value; // json parsing element
jmarkel44 122:4db48b933115 25
jmarkel44 19:9bc8fabeddfa 26 // try to open the control file
jmarkel44 122:4db48b933115 27 mDot::mdot_file file = GLOBAL_mdot->openUserFile(_controlFile.c_str(), mDot::FM_RDONLY);
jmarkel44 122:4db48b933115 28 if ( file.fd < 0 ) {
jmarkel44 35:6235ef67faa1 29 return false;
jmarkel44 122:4db48b933115 30 }
jmarkel44 35:6235ef67faa1 31
jmarkel44 35:6235ef67faa1 32 // read the data into a buffer
jmarkel44 35:6235ef67faa1 33 char dataBuf[1024];
jmarkel44 35:6235ef67faa1 34
jmarkel44 35:6235ef67faa1 35 int bytes_read = GLOBAL_mdot->readUserFile(file, (void *)dataBuf, sizeof(dataBuf));
jmarkel44 35:6235ef67faa1 36 if ( bytes_read != sizeof(dataBuf) ) {
jmarkel44 35:6235ef67faa1 37 logError("%s: failed to read %d bytes from %s", __func__, sizeof(dataBuf), controlFile.c_str());
jmarkel44 35:6235ef67faa1 38 return false;
jmarkel44 35:6235ef67faa1 39 }
jmarkel44 122:4db48b933115 40
jmarkel44 122:4db48b933115 41 // close the file
jmarkel44 35:6235ef67faa1 42 GLOBAL_mdot->closeUserFile(file);
jmarkel44 35:6235ef67faa1 43
jmarkel44 35:6235ef67faa1 44 parse(json_value, dataBuf);
jmarkel44 35:6235ef67faa1 45
jmarkel44 122:4db48b933115 46 controlFile = _controlFile;
jmarkel44 122:4db48b933115 47 id = json_value["id"].get<string>();
jmarkel44 122:4db48b933115 48 priority = atoi(json_value["priority"].get<string>().c_str());
jmarkel44 122:4db48b933115 49 dow = atoi(json_value["dow"].get<string>().c_str());
jmarkel44 122:4db48b933115 50 startw = atoi(json_value["startw"].get<string>().c_str());
jmarkel44 122:4db48b933115 51 output = json_value["output"].get<string>();
jmarkel44 122:4db48b933115 52 startHour = atoi(json_value["startHour"].get<string>().c_str());
jmarkel44 122:4db48b933115 53 startMinute = atoi(json_value["startMinute"].get<string>().c_str());
jmarkel44 122:4db48b933115 54 duration = atoi(json_value["duration"].get<string>().c_str());
jmarkel44 122:4db48b933115 55
jmarkel44 122:4db48b933115 56 return true;
jmarkel44 122:4db48b933115 57 }
jmarkel44 122:4db48b933115 58
jmarkel44 122:4db48b933115 59 //
jmarkel44 122:4db48b933115 60 // methid: display
jmarkel44 122:4db48b933115 61 // description: display the elements of this timer control object
jmarkel44 122:4db48b933115 62 //
jmarkel44 122:4db48b933115 63 // @param none
jmarkel44 122:4db48b933115 64 // @return
jmarkel44 122:4db48b933115 65 void TimerControl::display(void)
jmarkel44 122:4db48b933115 66 {
jmarkel44 122:4db48b933115 67 char daysOfWeek[24];
jmarkel44 35:6235ef67faa1 68
jmarkel44 122:4db48b933115 69 sprintf(daysOfWeek, "%s %s %s %s %s %s %s %s",
jmarkel44 122:4db48b933115 70 (dow & DAY_SUNDAY_MASK) ? "Su" : " ",
jmarkel44 122:4db48b933115 71 (dow & DAY_MONDAY_MASK) ? "M" : " ",
jmarkel44 122:4db48b933115 72 (dow & DAY_TUESDAY_MASK) ? "Tu" : " ",
jmarkel44 122:4db48b933115 73 (dow & DAY_WEDNESDAY_MASK) ? "W" : " ",
jmarkel44 122:4db48b933115 74 (dow & DAY_THURSDAY_MASK) ? "Th" : " ",
jmarkel44 122:4db48b933115 75 (dow & DAY_FRIDAY_MASK) ? "F" : " ",
jmarkel44 122:4db48b933115 76 (dow & DAY_SATURDAY_MASK) ? "Sa" : " ");
jmarkel44 122:4db48b933115 77
jmarkel44 122:4db48b933115 78 printf("\r controlFile : %s \n", controlFile.c_str());
jmarkel44 122:4db48b933115 79 printf("\r id : %s \n", id.c_str());
jmarkel44 122:4db48b933115 80 printf("\r priority : %d \n", priority);
jmarkel44 122:4db48b933115 81 printf("\r dow : %s \n", daysOfWeek);
jmarkel44 122:4db48b933115 82 printf("\r startw : %u \n", startw);
jmarkel44 122:4db48b933115 83 printf("\r output : %s \n", output.c_str());
jmarkel44 122:4db48b933115 84 printf("\r starting hour : %u \n", startHour);
jmarkel44 122:4db48b933115 85 printf("\r starting minute : %u \n", startMinute);
jmarkel44 122:4db48b933115 86 printf("\r duration : %u \n", duration);
jmarkel44 122:4db48b933115 87 printf("\r\n");
jmarkel44 35:6235ef67faa1 88 }