Erick / Mbed 2 deprecated ICE_BLE_TEST

Dependencies:   NaturalTinyShell_ice libmDot-12Sept mbed-rtos mbed

Fork of ICE by Erick

Revision:
144:b32d6a6f445f
Parent:
139:f1f4a523399f
Child:
145:c1dfbb5eed0e
--- a/src/CloudDataHandler/CloudFileReceiver.cpp	Tue Sep 27 18:50:06 2016 +0000
+++ b/src/CloudDataHandler/CloudFileReceiver.cpp	Tue Sep 27 20:09:01 2016 +0000
@@ -157,7 +157,7 @@
             logInfo("id=%s", from_json["pay"]["input"]["id"].get<std::string>().c_str() );
             snprintf( filename, sizeof(FILENAME_STRING), "input_%s%s",
                       from_json["pay"]["input"]["id"].get<std::string>().c_str(),
-                      ".jsn" );
+                      ".json" );
             logInfo("INPUT CONFIG FILENAME=%s", filename);
 
             memset( CloudFileReceiverWriteBuf, '\0', 1024 );
@@ -204,6 +204,63 @@
             ModbusMasterMailBox.put(mail);
             break;
         }
+        case OUTPUT_CONFIG_MTYPE: {
+            logInfo("id=%s", from_json["pay"]["output"]["id"].get<std::string>().c_str() );
+            snprintf( filename, sizeof(FILENAME_STRING), "output_%s%s",
+                      from_json["pay"]["output"]["id"].get<std::string>().c_str(),
+                      ".json" );
+            logInfo("OUTPUT CONFIG FILENAME=%s", filename);
+
+            memset( CloudFileReceiverWriteBuf, '\0', 1024 );
+            snprintf(CloudFileReceiverWriteBuf, sizeof(CloudFileReceiverWriteBuf),
+                     "{ "
+                     "\"id\":\"%s\", "
+                     "\"name\":\"%s\", "
+                     "\"units\":\"%s\", "
+                     "\"min\":\"%s\", "
+                     "\"max\":\"%s\", "
+                     "\"node\":\"%s\", "
+                     "\"reg\":\"%s\", "
+                     "\"rtype\":\"%s\", "
+                     "\"type\":\"%s\", "
+                     "\"size\":\"%s\", "
+                     "\"order\":\"%s\", "
+                     "\"fmt\":\"%s\", "
+                     "\"rfreq\":\"%s\", "
+                     "\"toperiod\":\"%s\", "
+                     "\"scalelo\":\"%s\", "
+                     "\"scalehi\":\"%s\" }",
+                     from_json["pay"]["output"]["id"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["name"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["units"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["min"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["max"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["node"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["reg"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["rtype"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["type"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["size"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["order"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["fmt"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["rfreq"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["toperiod"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["scalelo"].get<std::string>().c_str(),
+                     from_json["pay"]["output"]["scalehi"].get<std::string>().c_str()
+                    );
+
+            logInfo("saving string%s", CloudFileReceiverWriteBuf);
+            bool status = GLOBAL_mdot->saveUserFile(filename, (void *)CloudFileReceiverWriteBuf, 1024);
+            if( status != true ) {
+                logError("(%d)save file failed, status=%d", __LINE__, status);
+            }
+
+            logInfo("Sending Mail To ModbusMasterMailBox, filename=%s", filename);
+            Message_t *mail = ModbusMasterMailBox.alloc();
+            mail->action = ACTION_READ_FILE;
+            strncpy( mail->controlFile, filename, (sizeof(mail->controlFile)-1));
+            ModbusMasterMailBox.put(mail);
+            break;
+        }
         default:
             logInfo("DEFAULT");
             break;