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: NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed
Fork of ICE by
Diff: src/ConfigurationHandler/Controls/TimerControl.cpp
- Revision:
- 122:4db48b933115
- Parent:
- 46:4cb96ab2d1c8
- Child:
- 126:c85ac6a8e9af
--- a/src/ConfigurationHandler/Controls/TimerControl.cpp Fri Sep 23 12:45:49 2016 +0000 +++ b/src/ConfigurationHandler/Controls/TimerControl.cpp Fri Sep 23 15:13:04 2016 +0000 @@ -11,15 +11,23 @@ extern mDot *GLOBAL_mdot; + +// +// method: load +// description: load the pertinents from the control file +// +// @param _controlFile +// @return true if loaded; false otherwise +// bool TimerControl::load(string _controlFile) -{ - MbedJSONValue json_value; // json parsing element - controlFile = _controlFile; - +{ + MbedJSONValue json_value; // json parsing element + // try to open the control file - mDot::mdot_file file = GLOBAL_mdot->openUserFile(controlFile.c_str(), mDot::FM_RDONLY); - if ( file.fd < 0 ) + mDot::mdot_file file = GLOBAL_mdot->openUserFile(_controlFile.c_str(), mDot::FM_RDONLY); + if ( file.fd < 0 ) { return false; + } // read the data into a buffer char dataBuf[1024]; @@ -29,38 +37,52 @@ logError("%s: failed to read %d bytes from %s", __func__, sizeof(dataBuf), controlFile.c_str()); return false; } - - // close the file + + // close the file GLOBAL_mdot->closeUserFile(file); parse(json_value, dataBuf); - // { - // "tcontrol": { - // "id": "Timer1", - // "name": "Acid Cleaning Cycle", - // "priority":"800", - // "dow":"127", - // "strtw":"1", - // "output":"o_r4", - // "freq":"1", - // "tod": { - // "start":"420", - // "int":"1" - // } - // } + controlFile = _controlFile; + id = json_value["id"].get<string>(); + priority = atoi(json_value["priority"].get<string>().c_str()); + dow = atoi(json_value["dow"].get<string>().c_str()); + startw = atoi(json_value["startw"].get<string>().c_str()); + output = json_value["output"].get<string>(); + startHour = atoi(json_value["startHour"].get<string>().c_str()); + startMinute = atoi(json_value["startMinute"].get<string>().c_str()); + duration = atoi(json_value["duration"].get<string>().c_str()); + + return true; +} + +// +// methid: display +// description: display the elements of this timer control object +// +// @param none +// @return +void TimerControl::display(void) +{ + char daysOfWeek[24]; - // parse the json data - id = json_value["id"].get<string>(); - name = json_value["name"].get<string>(); - priority = atoi(json_value["priority"].get<string>().c_str()); - dayOfWeek = atoi(json_value["dow"].get<string>().c_str()); - startWeek = atoi(json_value["strtw"].get<string>().c_str()); - output = json_value["output"].get<string>().c_str(); - freq = atoi(json_value["freq"].get<string>().c_str()); - - // TODO extract - tod.start = 0; tod.interval = 0; - - return true; + sprintf(daysOfWeek, "%s %s %s %s %s %s %s %s", + (dow & DAY_SUNDAY_MASK) ? "Su" : " ", + (dow & DAY_MONDAY_MASK) ? "M" : " ", + (dow & DAY_TUESDAY_MASK) ? "Tu" : " ", + (dow & DAY_WEDNESDAY_MASK) ? "W" : " ", + (dow & DAY_THURSDAY_MASK) ? "Th" : " ", + (dow & DAY_FRIDAY_MASK) ? "F" : " ", + (dow & DAY_SATURDAY_MASK) ? "Sa" : " "); + + printf("\r controlFile : %s \n", controlFile.c_str()); + printf("\r id : %s \n", id.c_str()); + printf("\r priority : %d \n", priority); + printf("\r dow : %s \n", daysOfWeek); + printf("\r startw : %u \n", startw); + printf("\r output : %s \n", output.c_str()); + printf("\r starting hour : %u \n", startHour); + printf("\r starting minute : %u \n", startMinute); + printf("\r duration : %u \n", duration); + printf("\r\n"); } \ No newline at end of file