Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Committer:
jmarkel44
Date:
Thu Sep 22 16:12:12 2016 +0000
Revision:
111:d31b3a347e6a
Parent:
46:4cb96ab2d1c8
timer controls;

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 111:d31b3a347e6a 14 //
jmarkel44 111:d31b3a347e6a 15 // method: load
jmarkel44 111:d31b3a347e6a 16 // description: load the pertienent data from the timer json file to this object
jmarkel44 111:d31b3a347e6a 17 //
jmarkel44 111:d31b3a347e6a 18 // @param controlFile -> the timer control file
jmarkel44 111:d31b3a347e6a 19 // @return true on success; false on failure
jmarkel44 111:d31b3a347e6a 20
jmarkel44 35:6235ef67faa1 21 bool TimerControl::load(string _controlFile)
jmarkel44 111:d31b3a347e6a 22 {
jmarkel44 111:d31b3a347e6a 23 MbedJSONValue json_value; // json parsing element
jmarkel44 111:d31b3a347e6a 24 controlFile = _controlFile;
jmarkel44 111:d31b3a347e6a 25
jmarkel44 19:9bc8fabeddfa 26 // try to open the control file
jmarkel44 19:9bc8fabeddfa 27 mDot::mdot_file file = GLOBAL_mdot->openUserFile(controlFile.c_str(), mDot::FM_RDONLY);
jmarkel44 111:d31b3a347e6a 28 if ( file.fd < 0 )
jmarkel44 35:6235ef67faa1 29 return false;
jmarkel44 35:6235ef67faa1 30
jmarkel44 35:6235ef67faa1 31 // read the data into a buffer
jmarkel44 35:6235ef67faa1 32 char dataBuf[1024];
jmarkel44 35:6235ef67faa1 33
jmarkel44 35:6235ef67faa1 34 int bytes_read = GLOBAL_mdot->readUserFile(file, (void *)dataBuf, sizeof(dataBuf));
jmarkel44 35:6235ef67faa1 35 if ( bytes_read != sizeof(dataBuf) ) {
jmarkel44 35:6235ef67faa1 36 logError("%s: failed to read %d bytes from %s", __func__, sizeof(dataBuf), controlFile.c_str());
jmarkel44 35:6235ef67faa1 37 return false;
jmarkel44 35:6235ef67faa1 38 }
jmarkel44 111:d31b3a347e6a 39
jmarkel44 111:d31b3a347e6a 40 // close the file
jmarkel44 35:6235ef67faa1 41 GLOBAL_mdot->closeUserFile(file);
jmarkel44 35:6235ef67faa1 42
jmarkel44 35:6235ef67faa1 43 parse(json_value, dataBuf);
jmarkel44 35:6235ef67faa1 44
jmarkel44 111:d31b3a347e6a 45 id = json_value["id"].get<string>();
jmarkel44 111:d31b3a347e6a 46 priority = atoi(json_value["priority"].get<string>().c_str());
jmarkel44 111:d31b3a347e6a 47 dayOfWeek = atoi(json_value["dow"].get<string>().c_str());
jmarkel44 111:d31b3a347e6a 48 startWeek = atoi(json_value["startw"].get<string>().c_str());
jmarkel44 111:d31b3a347e6a 49 output = atoi(json_value["output"].get<string>().c_str());
jmarkel44 111:d31b3a347e6a 50 startTime = atoi(json_value["starttime"].get<string>().c_str());
jmarkel44 111:d31b3a347e6a 51 duration = atoi(json_value["duration"].get<string>().c_str());
jmarkel44 111:d31b3a347e6a 52
jmarkel44 19:9bc8fabeddfa 53 return true;
jmarkel44 111:d31b3a347e6a 54 }
jmarkel44 111:d31b3a347e6a 55
jmarkel44 111:d31b3a347e6a 56 //
jmarkel44 111:d31b3a347e6a 57 // method: start
jmarkel44 111:d31b3a347e6a 58 // description: start a timer control
jmarkel44 111:d31b3a347e6a 59 //
jmarkel44 111:d31b3a347e6a 60 // @param none
jmarkel44 111:d31b3a347e6a 61 // @return none
jmarkel44 111:d31b3a347e6a 62 int TimerControl::start(void)
jmarkel44 111:d31b3a347e6a 63 {
jmarkel44 111:d31b3a347e6a 64 return 0;
jmarkel44 111:d31b3a347e6a 65 }
jmarkel44 111:d31b3a347e6a 66
jmarkel44 111:d31b3a347e6a 67 //
jmarkel44 111:d31b3a347e6a 68 // method: update
jmarkel44 111:d31b3a347e6a 69 // description: update a timer control
jmarkel44 111:d31b3a347e6a 70 //
jmarkel44 111:d31b3a347e6a 71 // @param none
jmarkel44 111:d31b3a347e6a 72 // @return none
jmarkel44 111:d31b3a347e6a 73 int TimerControl::update(void)
jmarkel44 111:d31b3a347e6a 74 {
jmarkel44 111:d31b3a347e6a 75 return 0;
jmarkel44 111:d31b3a347e6a 76 }
jmarkel44 111:d31b3a347e6a 77
jmarkel44 111:d31b3a347e6a 78 //
jmarkel44 111:d31b3a347e6a 79 // method: unregisterControl
jmarkel44 111:d31b3a347e6a 80 // description: unregister a control with the output task
jmarkel44 111:d31b3a347e6a 81 //
jmarkel44 111:d31b3a347e6a 82 // @param none
jmarkel44 111:d31b3a347e6a 83 // @return none
jmarkel44 111:d31b3a347e6a 84 int TimerControl::unregisterControl(void)
jmarkel44 111:d31b3a347e6a 85 {
jmarkel44 111:d31b3a347e6a 86 return 0;
jmarkel44 111:d31b3a347e6a 87 }
jmarkel44 111:d31b3a347e6a 88
jmarkel44 111:d31b3a347e6a 89 //
jmarkel44 111:d31b3a347e6a 90 // method: display
jmarkel44 111:d31b3a347e6a 91 // description: display the data
jmarkel44 111:d31b3a347e6a 92 //
jmarkel44 111:d31b3a347e6a 93 // @param none
jmarkel44 111:d31b3a347e6a 94 // @return none
jmarkel44 111:d31b3a347e6a 95 //
jmarkel44 111:d31b3a347e6a 96 void TimerControl::display(void)
jmarkel44 111:d31b3a347e6a 97 {
jmarkel44 111:d31b3a347e6a 98 printf("\r controlFile : %s \n", controlFile.c_str());
jmarkel44 111:d31b3a347e6a 99 printf("\r id : %s \n", id.c_str());
jmarkel44 111:d31b3a347e6a 100 printf("\r priority : %d \n", priority);
jmarkel44 111:d31b3a347e6a 101 printf("\r dayOfWeek : %u \n", dayOfWeek);
jmarkel44 111:d31b3a347e6a 102 printf("\r startWeek : %u \n", startWeek);
jmarkel44 111:d31b3a347e6a 103 printf("\r output : %s \n", output.c_str());
jmarkel44 111:d31b3a347e6a 104 printf("\r startTime : %u \n", startTime);
jmarkel44 111:d31b3a347e6a 105 printf("\r duration : %u \n", duration);
jmarkel44 111:d31b3a347e6a 106
jmarkel44 111:d31b3a347e6a 107 printf("\r\n");
jmarkel44 35:6235ef67faa1 108 }