Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Committer:
jmarkel44
Date:
Tue Sep 13 11:59:34 2016 +0000
Revision:
46:4cb96ab2d1c8
Parent:
30:738359dfdab1
Child:
51:66b820f203a5
commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmarkel44 14:cc916fa8dd11 1 /******************************************************************************
jmarkel44 14:cc916fa8dd11 2 *
jmarkel44 19:9bc8fabeddfa 3 * File: SetpointControl.cpp
jmarkel44 20:653923c2f37a 4 * Desciption: ICE Setpoint Control Class implementation
jmarkel44 14:cc916fa8dd11 5 *
jmarkel44 14:cc916fa8dd11 6 *****************************************************************************/
jmarkel44 13:c80c283f9db2 7 #include "SetpointControl.h"
jmarkel44 14:cc916fa8dd11 8 #include "mDot.h"
jmarkel44 20:653923c2f37a 9 #include "MbedJSONValue.h"
jmarkel44 28:c410a61238bb 10 #include <string>
jmarkel44 13:c80c283f9db2 11
jmarkel44 14:cc916fa8dd11 12 extern mDot *GLOBAL_mdot;
jmarkel44 14:cc916fa8dd11 13
jmarkel44 28:c410a61238bb 14 bool SetpointControl::load(string _controlFile)
jmarkel44 20:653923c2f37a 15 {
jmarkel44 46:4cb96ab2d1c8 16 MbedJSONValue json_value; // JSON parsing element
jmarkel44 28:c410a61238bb 17 controlFile = _controlFile;
jmarkel44 30:738359dfdab1 18
jmarkel44 19:9bc8fabeddfa 19 // try to open the control file
jmarkel44 14:cc916fa8dd11 20 mDot::mdot_file file = GLOBAL_mdot->openUserFile(controlFile.c_str(), mDot::FM_RDONLY);
jmarkel44 28:c410a61238bb 21 if ( file.fd < 0 )
jmarkel44 28:c410a61238bb 22 return false;
jmarkel44 20:653923c2f37a 23
jmarkel44 20:653923c2f37a 24 // read the data into a buffer
jmarkel44 28:c410a61238bb 25 char dataBuf[1024];
jmarkel44 28:c410a61238bb 26
jmarkel44 28:c410a61238bb 27 int bytes_read = GLOBAL_mdot->readUserFile(file, (void *)dataBuf, sizeof(dataBuf));
jmarkel44 28:c410a61238bb 28 if ( bytes_read != sizeof(dataBuf) ) {
jmarkel44 28:c410a61238bb 29 logError("%s: failed to read %d bytes from %s", __func__, sizeof(dataBuf), controlFile.c_str());
jmarkel44 46:4cb96ab2d1c8 30 // we can't throw exceptions in mbed, so just return false. the calling function will
jmarkel44 46:4cb96ab2d1c8 31 // destroy the object
jmarkel44 28:c410a61238bb 32 return false;
jmarkel44 28:c410a61238bb 33 }
jmarkel44 28:c410a61238bb 34
jmarkel44 28:c410a61238bb 35 // close the file
jmarkel44 28:c410a61238bb 36 GLOBAL_mdot->closeUserFile(file);
jmarkel44 28:c410a61238bb 37
jmarkel44 46:4cb96ab2d1c8 38 // parse the json data
jmarkel44 28:c410a61238bb 39 parse(json_value, dataBuf);
jmarkel44 28:c410a61238bb 40
jmarkel44 28:c410a61238bb 41 id = json_value["id"].get<string>();
jmarkel44 28:c410a61238bb 42 name = json_value["name"].get<string>();
jmarkel44 28:c410a61238bb 43 priority = atoi(json_value["priority"].get<string>().c_str());
jmarkel44 28:c410a61238bb 44 input = json_value["input"].get<string>();
jmarkel44 28:c410a61238bb 45 output = json_value["output"].get<string>();
jmarkel44 28:c410a61238bb 46 productFactor = atof(json_value["prodfact"].get<string>().c_str());
jmarkel44 28:c410a61238bb 47 highAlert = atof(json_value["halert"].get<string>().c_str());
jmarkel44 28:c410a61238bb 48 lowAlert = atof(json_value["lalert"].get<string>().c_str());
jmarkel44 28:c410a61238bb 49 highFailsafe = atof(json_value["hfs"].get<string>().c_str());
jmarkel44 28:c410a61238bb 50 lowFailsafe = atof(json_value["lfs"].get<string>().c_str());
jmarkel44 28:c410a61238bb 51 tol = atof(json_value["tol"].get<string>().c_str());
jmarkel44 20:653923c2f37a 52
jmarkel44 19:9bc8fabeddfa 53 return true;
jmarkel44 19:9bc8fabeddfa 54 }
jmarkel44 19:9bc8fabeddfa 55