Răsfoiți Sursa

Change data to csv, harmonize REST API editflow

jomjol 3 ani în urmă
părinte
comite
9b8594c040

+ 3 - 1
Changelog.md

@@ -12,7 +12,7 @@
 
 -   SD card info into the "Info" Menue (thanks to [@Slider007]( https://github.com/Slider0007))
 -   Added a logging of the values in a text table in `/log/data` - each measurement is one line
-    -   Format: tabulator separated
+    -   Format: csv - comma separated
     -   Content: time, name-of-number, raw-value, return-value, pre-value, change-rate, change-absolute, error-text, cnn-digital, cnn-analog
 
 
@@ -27,6 +27,8 @@
 -   [#1116](https://github.com/jomjol/AI-on-the-edge-device/issues/1116) precision problem at setting prevalue
 -   [#1119](https://github.com/jomjol/AI-on-the-edge-device/issues/1119) renamed `firmware.bin` not working in OTA
 -   [#1143](https://github.com/jomjol/AI-on-the-edge-device/issues/1143) changed postprocess for analog->digit (lowest digit processing)
+-    [#1280](https://github.com/jomjol/AI-on-the-edge-device/issues/1280) check ROIs name for "," and "." (not allowed)
+
 ### Removed
 
 -   n.a.

+ 4 - 4
code/components/jomjol_flowcontroll/ClassFlowCNNGeneral.cpp

@@ -979,20 +979,20 @@ string ClassFlowCNNGeneral::getReadoutRawString(int _analog)
     {
         if (CNNType == Analogue || CNNType == Analogue100)
         {
-            rt = rt + "\t" + RundeOutput(GENERAL[_analog]->ROI[i]->result_float, 1);
+            rt = rt + "," + RundeOutput(GENERAL[_analog]->ROI[i]->result_float, 1);
         }
 
         if (CNNType == Digital)
         {
             if (GENERAL[_analog]->ROI[i]->result_klasse == 10)
-                rt = rt + "\tN";
+                rt = rt + ",N";
             else
-                rt = rt + "\t" + RundeOutput(GENERAL[_analog]->ROI[i]->result_klasse, 0);
+                rt = rt + "," + RundeOutput(GENERAL[_analog]->ROI[i]->result_klasse, 0);
         }
 
         if ((CNNType == DoubleHyprid10) || (CNNType == Digital100))
         {
-            rt = rt + "\t" + RundeOutput(GENERAL[_analog]->ROI[i]->result_float, 1);
+            rt = rt + "," + RundeOutput(GENERAL[_analog]->ROI[i]->result_float, 1);
         }
     }
     return rt;

+ 8 - 8
code/components/jomjol_logfile/ClassLogFile.cpp

@@ -18,7 +18,7 @@ extern "C" {
 
 static const char *TAG = "log";
 
-ClassLogFile LogFile("/sdcard/log/message", "log_%Y-%m-%d.txt", "/sdcard/log/data", "data_%Y-%m-%d.txt");
+ClassLogFile LogFile("/sdcard/log/message", "log_%Y-%m-%d.txt", "/sdcard/log/data", "data_%Y-%m-%d.csv");
 
 void ClassLogFile::WriteHeapInfo(std::string _id)
 {
@@ -90,19 +90,19 @@ void ClassLogFile::WriteToData(std::string _timestamp, std::string _name, std::s
 
     if (pFile!=NULL) {
         fputs(_timestamp.c_str(), pFile);
-        fputs("\t", pFile);
+        fputs(",", pFile);
         fputs(_name.c_str(), pFile);
-        fputs("\t", pFile);
+        fputs(",", pFile);
         fputs(_ReturnRawValue.c_str(), pFile);
-        fputs("\t", pFile);
+        fputs(",", pFile);
         fputs(_ReturnValue.c_str(), pFile);
-        fputs("\t", pFile);
+        fputs(",", pFile);
         fputs(_ReturnPreValue.c_str(), pFile);
-        fputs("\t", pFile);
+        fputs(",", pFile);
         fputs(_ReturnRateValue.c_str(), pFile);
-        fputs("\t", pFile);
+        fputs(",", pFile);
         fputs(_ReturnChangeAbsolute.c_str(), pFile);
-        fputs("\t", pFile);
+        fputs(",", pFile);
         fputs(_ErrorMessageText.c_str(), pFile);
         fputs(_digital.c_str(), pFile);
         fputs(_analog.c_str(), pFile);

+ 0 - 1
code/components/jomjol_logfile/ClassLogFile.h

@@ -28,7 +28,6 @@ public:
     void CreateLogDirectories();
     void RemoveOld();
 
-//    void WriteToData(std::string _ReturnRawValue, std::string _ReturnValue, std::string _ReturnPreValue, std::string _ErrorMessageText, std::string _digital, std::string _analog);
     void WriteToData(std::string _timestamp, std::string _name, std::string  _ReturnRawValue, std::string  _ReturnValue, std::string  _ReturnPreValue, std::string  _ReturnRateValue, std::string  _ReturnChangeAbsolute, std::string  _ErrorMessageText, std::string  _digital, std::string  _analog);
 
 

+ 1 - 1
code/components/jomjol_tfliteclass/server_tflite.cpp

@@ -859,7 +859,7 @@ void register_server_tflite_uri(httpd_handle_t server)
     camuri.user_ctx  = (void*) "Light Off";
     httpd_register_uri_handler(server, &camuri);
 
-    camuri.uri       = "/editflow.html";
+    camuri.uri       = "/editflow";
     camuri.handler   = handler_editflow;
     camuri.user_ctx  = (void*) "EditFlow"; 
     httpd_register_uri_handler(server, &camuri);     

BIN
sd-card/config/dig-class11_1440_s2.tflite


+ 4 - 4
sd-card/html/edit_check.html

@@ -58,7 +58,7 @@ p {font-size: 1em;}
 
     function doAnalog(){
         var xhttp = new XMLHttpRequest();
-        url = basepath + "/editflow.html?task=test_analog";
+        url = basepath + "/editflow?task=test_analog";
         if (basepath.length > 0){
             url = url + "&host=" + basepath;
         }        
@@ -73,7 +73,7 @@ p {font-size: 1em;}
 
     function doDigits(){
         var xhttp = new XMLHttpRequest();
-        url = basepath + "/editflow.html?task=test_digits";
+        url = basepath + "/editflow?task=test_digits";
         if (basepath.length > 0){
             url = url + "&host=" + basepath;
         }        
@@ -88,7 +88,7 @@ p {font-size: 1em;}
 
     function doAlign(){
         var xhttp = new XMLHttpRequest();
-        url = basepath + "/editflow.html?task=test_align";
+        url = basepath + "/editflow?task=test_align";
         if (basepath.length > 0){
             url = url + "&host=" + basepath;
         }        
@@ -107,7 +107,7 @@ p {font-size: 1em;}
 
     function doTake(){
         var xhttp = new XMLHttpRequest();
-        url = basepath + "/editflow.html?task=test_take";
+        url = basepath + "/editflow?task=test_take";
         if (basepath.length > 0){
             url = url + "&host=" + basepath;
         }

+ 2 - 2
sd-card/html/edit_reference.html

@@ -126,12 +126,12 @@ table {
                 _brightness = document.getElementById("MakeImage_Brightness_value1").value;
                 _contrast = document.getElementById("MakeImage_Contrast_value1").value;
                 _saturation = document.getElementById("MakeImage_Saturation_value1").value;
-                url = basepath + "/editflow.html?task=test_take&bri=" + _brightness;
+                url = basepath + "/editflow?task=test_take&bri=" + _brightness;
                 url = url + "&con=" + _saturation + "&sat=" + _saturation + "&int=" + _intensity;
             }
             else
             {
-                url = basepath + "/editflow.html?task=test_take";
+                url = basepath + "/editflow?task=test_take";
             }
             if (basepath.length > 0){
                 url = url + "&host=" + basepath;

+ 3 - 3
sd-card/html/graph.html

@@ -59,10 +59,10 @@ fetch(_basepath + '/fileserver/log/data/' + datefile)
         for (let line of lines) {
             {
                 console.log(line);
-                if (line.split("\t")[1] == numbername)
+                if (line.split(",")[1] == numbername)
                 {
-                    var value = line.split("\t")[datatype];
-                    var time  = line.split("\t")[0];
+                    var value = line.split(",")[datatype];
+                    var time  = line.split(",")[0];
                     console.log("> "+time+" "+value+"\n");
                     trace.x.push(time);
 //                    timex += 1;

+ 3 - 3
sd-card/html/readconfigcommon.js

@@ -141,7 +141,7 @@ function dataURLtoBlob(dataurl) {
      }	
      
 function FileCopyOnServer(_source, _target, _basepath = ""){
-     url = _basepath + "/editflow.html?task=copy&in=" + _source + "&out=" + _target;
+     url = _basepath + "/editflow?task=copy&in=" + _source + "&out=" + _target;
      var xhttp = new XMLHttpRequest();  
      try {
           xhttp.open("GET", url, false);
@@ -225,7 +225,7 @@ function SaveCanvasToImage(_canvas, _filename, _delete = true, _basepath = ""){
 
 function MakeContrastImageZW(zw, _enhance, _basepath){
      _filename = zw["name"].replace("/config/", "/img_tmp/");
-     url = _basepath + "/editflow.html?task=cutref&in=/config/reference.jpg&out=" + _filename + "&x=" + zw["x"] + "&y="  + zw["y"] + "&dx=" + zw["dx"] + "&dy=" + zw["dy"];
+     url = _basepath + "/editflow?task=cutref&in=/config/reference.jpg&out=" + _filename + "&x=" + zw["x"] + "&y="  + zw["y"] + "&dx=" + zw["dx"] + "&dy=" + zw["dy"];
      if (_enhance == true){
           url = url + "&enhance=true";
      }
@@ -245,7 +245,7 @@ function MakeContrastImageZW(zw, _enhance, _basepath){
 function MakeRefZW(zw, _basepath){
      _filetarget = zw["name"].replace("/config/", "/img_tmp/");
      _filetarget = _filetarget.replace(".jpg", "_org.jpg");
-     url = _basepath + "/editflow.html?task=cutref&in=/config/reference.jpg&out="+_filetarget+"&x=" + zw["x"] + "&y="  + zw["y"] + "&dx=" + zw["dx"] + "&dy=" + zw["dy"];
+     url = _basepath + "/editflow?task=cutref&in=/config/reference.jpg&out="+_filetarget+"&x=" + zw["x"] + "&y="  + zw["y"] + "&dx=" + zw["dx"] + "&dy=" + zw["dy"];
      var xhttp = new XMLHttpRequest();  
      try {
           xhttp.open("GET", url, false);

+ 3 - 3
sd-card/html/readconfigparam.js

@@ -25,7 +25,7 @@ function getNUMBERSList() {
 	 });
 
 	 try {
-		  url = _basepath + '/editflow.html?task=namenumbers';     
+		  url = _basepath + '/editflow?task=namenumbers';     
 		  xhttp.open("GET", url, false);
 		  xhttp.send();
 
@@ -56,7 +56,7 @@ function getDATAList() {
 	 });
 
 	 try {
-		  url = _basepath + '/editflow.html?task=data';     
+		  url = _basepath + '/editflow?task=data';     
 		  xhttp.open("GET", url, false);
 		  xhttp.send();
 
@@ -87,7 +87,7 @@ function getTFLITEList() {
 	 });
 
 	 try {
-		  url = _basepath + '/editflow.html?task=tflite';     
+		  url = _basepath + '/editflow?task=tflite';     
 		  xhttp.open("GET", url, false);
 		  xhttp.send();