![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
FRDM-K64F, Avnet M14A2A, Grove Shield, to create smart home system. In use with AT&Ts M2x & Flow.
Dependencies: mbed FXOS8700CQ MODSERIAL
Diff: main.cpp
- Revision:
- 41:9b14c40eebf6
- Parent:
- 38:564b312a719f
- Child:
- 48:93a4ab6ac177
--- a/main.cpp Sat Jul 23 20:13:01 2016 +0000 +++ b/main.cpp Sat Jul 23 20:25:06 2016 +0000 @@ -353,10 +353,10 @@ char* endquote; beginquote = strchr(search_field, '{'); //start of JSON endquote = strchr(search_field, '}'); //end of JSON - if (beginquote != 0) + if (beginquote) { uint16_t ifoundlen; - if (endquote != 0) + if (endquote) { ifoundlen = (uint16_t) (endquote - beginquote) + 1; strncpy(found_string, beginquote, ifoundlen ); @@ -504,29 +504,29 @@ read_sensors(); //read available external sensors from a PMOD and the on-board motion sensor char modem_string[512]; GenerateModemString(&modem_string[0]); - printf(BLU "Sending to modem : %s" DEF "\n", modem_string); + printf(BLU "\r\nSending to modem : %s" DEF "\r\n", modem_string); sockwrite_mdm(modem_string); - sockread_mdm(&MySocketData, 1024, 20); - - // If any non-zero response from server, make it GREEN one-time - // then the actual FLOW responses will set the color. - if ((!ledOnce) && (MySocketData.length() > 0)) + if (sockread_mdm(&MySocketData, 1024, 20)) { - ledOnce = 1; - SetLedColor(0x2); - } - - printf(BLU "Read back : %s" DEF "\n", &MySocketData[0]); - char myJsonResponse[512]; - if (extract_JSON(&MySocketData[0], &myJsonResponse[0])) - { - printf(GRN "JSON : %s" DEF "\n", &myJsonResponse[0]); - parse_JSON(&myJsonResponse[0]); + // If any non-zero response from server, make it GREEN one-time + // then the actual FLOW responses will set the color. + if (!ledOnce) + { + ledOnce = 1; + SetLedColor(0x2); + } + printf(YEL "Read back : %s" DEF "\r\n", &MySocketData[0]); + char myJsonResponse[512]; + char * myJsonInput = (char *)MySocketData.c_str(); + if (extract_JSON(&myJsonInput[0], &myJsonResponse[0])) + { + printf(GRN "JSON : %s" DEF "\n", &myJsonResponse[0]); + parse_JSON(&myJsonResponse[0]); + } } else { - printf(RED "JSON : %s" DEF "\n", &myJsonResponse[0]); //most likely an incomplete JSON string - parse_JSON(&myJsonResponse[0]); //This is risky, as the string may be corrupted + printf(RED "No response..." DEF "\r\n"); } } //bTimerExpiredFlag } //forever loop