htmlinfo;
-
- result = "Found ROIs:

\n";
- result = result + "Analog Pointers: ";
-
- htmlinfo = GetHTMLInfo();
- for (int i = 0; i < htmlinfo.size(); ++i)
- {
- std::stringstream stream;
- stream << std::fixed << std::setprecision(1) << htmlinfo[i]->val;
- zw = stream.str();
-
- result = result + "
filename + "\"> " + zw;
- delete htmlinfo[i];
- }
- htmlinfo.clear();
-
- return result;
-}
-
-
-
-bool ClassFlowAnalog::doFlow(string time)
-{
- if (disabled)
- return true;
-
- if (!doAlignAndCut(time)){
- return false;
- };
-
- if (debugdetailanalog) LogFile.WriteToFile("ClassFlowAnalog::doFlow nach Alignment");
-
- doNeuralNetwork(time);
-
- RemoveOldLogs();
-
- return true;
-}
-
-bool ClassFlowAnalog::doAlignAndCut(string time)
-{
- if (disabled)
- return true;
-
- CAlignAndCutImage *caic = flowpostalignment->GetAlignAndCutImage();
-
- for (int i = 0; i < ROI.size(); ++i)
- {
- printf("Analog %d - Align&Cut\n", i);
-
- caic->CutAndSave(ROI[i]->posx, ROI[i]->posy, ROI[i]->deltax, ROI[i]->deltay, ROI[i]->image_org);
- if (SaveAllFiles) ROI[i]->image_org->SaveToFile(FormatFileName("/sdcard/img_tmp/" + ROI[i]->name + ".jpg"));
-
- ROI[i]->image_org->Resize(modelxsize, modelysize, ROI[i]->image);
- if (SaveAllFiles) ROI[i]->image->SaveToFile(FormatFileName("/sdcard/img_tmp/" + ROI[i]->name + ".bmp"));
- }
-
- return true;
-}
-
-void ClassFlowAnalog::DrawROI(CImageBasis *_zw)
-{
- int r = 0;
- int g = 255;
- int b = 0;
-
- for (int i = 0; i < ROI.size(); ++i)
- {
- _zw->drawRect(ROI[i]->posx, ROI[i]->posy, ROI[i]->deltax, ROI[i]->deltay, r, g, b, 1);
- _zw->drawCircle((int) (ROI[i]->posx + ROI[i]->deltax/2), (int) (ROI[i]->posy + ROI[i]->deltay/2), (int) (ROI[i]->deltax/2), r, g, b, 2);
- _zw->drawLine((int) (ROI[i]->posx + ROI[i]->deltax/2), (int) ROI[i]->posy, (int) (ROI[i]->posx + ROI[i]->deltax/2), (int) (ROI[i]->posy + ROI[i]->deltay), r, g, b, 2);
- _zw->drawLine((int) ROI[i]->posx, (int) (ROI[i]->posy + ROI[i]->deltay/2), (int) ROI[i]->posx + ROI[i]->deltax, (int) (ROI[i]->posy + ROI[i]->deltay/2), r, g, b, 2);
- }
-}
-
-bool ClassFlowAnalog::doNeuralNetwork(string time)
-{
- if (disabled)
- return true;
-
- string logPath = CreateLogFolder(time);
-
- string input = "/sdcard/img_tmp/alg.jpg";
- string ioresize = "/sdcard/img_tmp/resize.bmp";
- string output;
- input = FormatFileName(input);
-
-#ifndef OHNETFLITE
- CTfLiteClass *tflite = new CTfLiteClass;
- string zwcnn = "/sdcard" + cnnmodelfile;
- zwcnn = FormatFileName(zwcnn);
- printf(zwcnn.c_str());printf("\n");
- tflite->LoadModel(zwcnn);
- tflite->MakeAllocate();
-#endif
-
- for (int i = 0; i < ROI.size(); ++i)
- {
- printf("Analog %d - TfLite\n", i);
- ioresize = "/sdcard/img_tmp/ra" + std::to_string(i) + ".bmp";
- ioresize = FormatFileName(ioresize);
-
-
- float f1, f2;
- f1 = 0; f2 = 0;
-
-#ifndef OHNETFLITE
-// LogFile.WriteToFile("ClassFlowAnalog::doNeuralNetwork vor CNN tflite->LoadInputImage(ioresize)");
-// tflite->LoadInputImage(ioresize);
- tflite->LoadInputImageBasis(ROI[i]->image);
- tflite->Invoke();
- if (debugdetailanalog) LogFile.WriteToFile("Nach Invoke");
-
-
- f1 = tflite->GetOutputValue(0);
- f2 = tflite->GetOutputValue(1);
-#endif
-
- float result = fmod(atan2(f1, f2) / (M_PI * 2) + 2, 1);
-// printf("Result sin, cos, ziffer: %f, %f, %f\n", f1, f2, result);
- ROI[i]->result = result * 10;
-
- printf("Result Analog%i: %f\n", i, ROI[i]->result);
-
- if (isLogImage)
- {
- LogImage(logPath, ROI[i]->name, &ROI[i]->result, NULL, time, ROI[i]->image_org);
- }
- }
-#ifndef OHNETFLITE
- delete tflite;
-#endif
-
- return true;
-}
-
-
-std::vector ClassFlowAnalog::GetHTMLInfo()
-{
- std::vector result;
-
- for (int i = 0; i < ROI.size(); ++i)
- {
- HTMLInfo *zw = new HTMLInfo;
- zw->filename = ROI[i]->name + ".bmp";
- zw->filename_org = ROI[i]->name + ".jpg";
- zw->val = ROI[i]->result;
- zw->image = ROI[i]->image;
- zw->image_org = ROI[i]->image_org;
- result.push_back(zw);
- }
-
- return result;
-}
-
-
diff --git a/code/components/jomjol_flowcontroll/ClassFlowAnalog._h_ b/code/components/jomjol_flowcontroll/ClassFlowAnalog._h_
deleted file mode 100644
index 08a29be7..00000000
--- a/code/components/jomjol_flowcontroll/ClassFlowAnalog._h_
+++ /dev/null
@@ -1,48 +0,0 @@
-#pragma once
-#include "ClassFlowImage.h"
-#include "ClassFlowAlignment.h"
-// #include "CTfLiteClass.h"
-
-struct roianalog {
- int posx, posy, deltax, deltay;
- float result;
- CImageBasis *image, *image_org;
- string name;
-};
-
-
-class ClassFlowAnalog :
- public ClassFlowImage
-{
-protected:
- std::vector ROI;
- string cnnmodelfile;
- int modelxsize, modelysize;
- int ZeigerEval(float zahl, int ziffer_vorgaenger);
- bool SaveAllFiles;
-
-
- ClassFlowAlignment* flowpostalignment;
-
- void SetInitialParameter(void);
-
-public:
- bool extendedResolution;
-
- ClassFlowAnalog(std::vector* lfc);
-
- bool ReadParameter(FILE* pfile, string& aktparamgraph);
- bool doFlow(string time);
- string getHTMLSingleStep(string host);
- string getReadout();
-
- void DrawROI(CImageBasis *_zw);
-
- bool doNeuralNetwork(string time);
- bool doAlignAndCut(string time);
- std::vector GetHTMLInfo();
- int AnzahlROIs();
-
- string name(){return "ClassFlowAnalog";};
-};
-
diff --git a/code/components/jomjol_flowcontroll/ClassFlowMQTT.cpp b/code/components/jomjol_flowcontroll/ClassFlowMQTT.cpp
index b540e83f..d4ad7bbe 100644
--- a/code/components/jomjol_flowcontroll/ClassFlowMQTT.cpp
+++ b/code/components/jomjol_flowcontroll/ClassFlowMQTT.cpp
@@ -160,6 +160,15 @@ bool ClassFlowMQTT::doFlow(string zwtime)
zw = namenumber + "timestamp";
MQTTPublish(zw, resulttimestamp);
+
+
+ std::string json="{\"value\":"+result;
+ json += ",\"error\":\""+resulterror;
+ json += "\",\"rate\":"+resultrate;
+ json += ",\"timestamp\":\""+resulttimestamp+"\"}";
+
+ zw = namenumber + "json";
+ MQTTPublish(zw, json);
}
}
else
diff --git a/code/main/version.cpp b/code/main/version.cpp
index 82ab68fc..4e3b07c4 100644
--- a/code/main/version.cpp
+++ b/code/main/version.cpp
@@ -1,4 +1,4 @@
-const char* GIT_REV="e24ba68";
+const char* GIT_REV="08b0b25";
const char* GIT_TAG="";
const char* GIT_BRANCH="rolling";
-const char* BUILD_TIME="2021-07-07 21:50";
\ No newline at end of file
+const char* BUILD_TIME="2021-07-08 21:42";
\ No newline at end of file
diff --git a/code/version.cpp b/code/version.cpp
index 82ab68fc..4e3b07c4 100644
--- a/code/version.cpp
+++ b/code/version.cpp
@@ -1,4 +1,4 @@
-const char* GIT_REV="e24ba68";
+const char* GIT_REV="08b0b25";
const char* GIT_TAG="";
const char* GIT_BRANCH="rolling";
-const char* BUILD_TIME="2021-07-07 21:50";
\ No newline at end of file
+const char* BUILD_TIME="2021-07-08 21:42";
\ No newline at end of file
diff --git a/firmware/bootloader.bin b/firmware/bootloader.bin
index 7d5a4029..c6963e7a 100644
Binary files a/firmware/bootloader.bin and b/firmware/bootloader.bin differ
diff --git a/firmware/firmware.bin b/firmware/firmware.bin
index 1f085a92..38df11d0 100644
Binary files a/firmware/firmware.bin and b/firmware/firmware.bin differ
diff --git a/sd-card/config/config.ini b/sd-card/config/config.ini
index fa1c1977..fcfeb5a5 100644
--- a/sd-card/config/config.ini
+++ b/sd-card/config/config.ini
@@ -29,7 +29,7 @@ main.digit2 340 120 37 67
main.digit3 389 120 37 67
[Analog]
-Model = /config/ana0630s2.tflite
+Model = /config/ana0700s1lq.tflite
;LogImageLocation = /log/analog
;LogfileRetentionInDays = 3
ModelInputSize = 32 32
diff --git a/sd-card/html/gethost.js b/sd-card/html/gethost.js
index 0a72da08..d7a4c082 100644
--- a/sd-card/html/gethost.js
+++ b/sd-card/html/gethost.js
@@ -8,8 +8,8 @@ function getbasepath(){
if ((host == "127.0.0.1") || (host == "localhost"))
{
// host = "http://192.168.2.219"; // jomjol interner test
- host = "http://192.168.178.46"; // jomjol interner test
- host = "http://192.168.178.22"; // jomjol interner Real
+ host = "http://192.168.178.51"; // jomjol interner test
+// host = "http://192.168.178.22"; // jomjol interner Real
// host = "."; // jomjol interner localhost