Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Committer:
jmarkel44
Date:
Wed Oct 26 20:31:39 2016 +0000
Revision:
276:851554207c77
Parent:
244:26074095e389
cJSON frees

Who changed what in which revision?

UserRevisionLine numberNew contents of line
jmarkel44 221:2a5e9902003c 1 #include "global.h"
jmarkel44 244:26074095e389 2 #include "cJSON.h"
jmarkel44 221:2a5e9902003c 3 #include "CompositeAlgorithm.h"
jmarkel44 221:2a5e9902003c 4
jmarkel44 221:2a5e9902003c 5 bool CompositeAlgorithm::load(const std::string _controlFile)
jmarkel44 221:2a5e9902003c 6 {
jmarkel44 221:2a5e9902003c 7 controlFile = _controlFile;
jmarkel44 221:2a5e9902003c 8
jmarkel44 221:2a5e9902003c 9 // open and read from the control file
jmarkel44 221:2a5e9902003c 10 mDot::mdot_file file = GLOBAL_mdot->openUserFile(controlFile.c_str(), mDot::FM_RDONLY);
jmarkel44 221:2a5e9902003c 11 if ( file.fd < 0 ) {
jmarkel44 221:2a5e9902003c 12 logError("%s: failed to open %s\n", __func__, controlFile.c_str());
jmarkel44 221:2a5e9902003c 13 return false;
jmarkel44 221:2a5e9902003c 14 }
jmarkel44 221:2a5e9902003c 15
jmarkel44 221:2a5e9902003c 16 // read the data into a buffer
jmarkel44 221:2a5e9902003c 17 char dataBuf[MAX_FILE_SIZE];
jmarkel44 221:2a5e9902003c 18
jmarkel44 221:2a5e9902003c 19 int bytes_read = GLOBAL_mdot->readUserFile(file, (void *)dataBuf, sizeof(dataBuf));
jmarkel44 221:2a5e9902003c 20 if ( bytes_read != sizeof(dataBuf) ) {
jmarkel44 221:2a5e9902003c 21 logError("%s: failed to read %d bytes from %s", __func__, sizeof(dataBuf), controlFile.c_str());
jmarkel44 221:2a5e9902003c 22 // caller should destroy the object
jmarkel44 221:2a5e9902003c 23 return false;
jmarkel44 221:2a5e9902003c 24 }
jmarkel44 221:2a5e9902003c 25
jmarkel44 221:2a5e9902003c 26 // close the file
jmarkel44 221:2a5e9902003c 27 GLOBAL_mdot->closeUserFile(file);
jmarkel44 221:2a5e9902003c 28
jmarkel44 221:2a5e9902003c 29 // parse the JSON data
jmarkel44 244:26074095e389 30 cJSON * root = cJSON_Parse(dataBuf);
jmarkel44 244:26074095e389 31
jmarkel44 244:26074095e389 32 id = cJSON_GetObjectItem(root,"id")->valuestring;
jmarkel44 244:26074095e389 33 opr = cJSON_GetObjectItem(root, "opr")->valuestring;
jmarkel44 244:26074095e389 34 op = cJSON_GetObjectItem(root, "op")->valuestring;
jmarkel44 244:26074095e389 35 resultTrue = cJSON_GetObjectItem(root, "true")->valuestring;
jmarkel44 244:26074095e389 36 resultFalse = cJSON_GetObjectItem(root, "false")->valuestring;
jmarkel44 276:851554207c77 37
jmarkel44 276:851554207c77 38 cJSON_Delete(root);
jmarkel44 221:2a5e9902003c 39
jmarkel44 221:2a5e9902003c 40 return true;
jmarkel44 221:2a5e9902003c 41 }
jmarkel44 221:2a5e9902003c 42
jmarkel44 244:26074095e389 43 void CompositeAlgorithm::display(void)
jmarkel44 221:2a5e9902003c 44 {
jmarkel44 221:2a5e9902003c 45 printf("\r id : %s\n", id.c_str());
jmarkel44 221:2a5e9902003c 46 printf("\r opr : %s\n", opr.c_str());
jmarkel44 221:2a5e9902003c 47 printf("\r op : %s\n", op.c_str());
jmarkel44 221:2a5e9902003c 48 printf("\r true : %s\n", resultTrue.c_str());
jmarkel44 221:2a5e9902003c 49 printf("\r false : %s\n", resultFalse.c_str());
jmarkel44 221:2a5e9902003c 50 printf("\r\n");
jmarkel44 221:2a5e9902003c 51 }