mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-08 12:36:52 +03:00
Rolling 20210507
This commit is contained in:
14
README.md
14
README.md
@@ -44,12 +44,24 @@ In other cases you can contact the developer via email: <img src="https://raw.gi
|
|||||||
**General remark:** Beside the `firmware.bin`, typically also the content of `/html` needs to be updated!
|
**General remark:** Beside the `firmware.bin`, typically also the content of `/html` needs to be updated!
|
||||||
|
|
||||||
|
|
||||||
##### Rolling - (2021-05-06)
|
|
||||||
|
##### Rolling - (2021-05-07)
|
||||||
|
|
||||||
|
* Upgrade digital CNN to v8.5.0 (added new images)
|
||||||
|
* Updated number format ("2021-05-07T19:04:01")
|
||||||
|
* Update MQTT/Error topic to " " in case no error (instead of empty string)
|
||||||
|
|
||||||
|
|
||||||
|
Rolling - (2021-05-06)
|
||||||
|
|
||||||
* Additional MQTT topics: flow rate (units/minute), time stamp last correct readout
|
* Additional MQTT topics: flow rate (units/minute), time stamp last correct readout
|
||||||
|
|
||||||
* Portrait or landscape image orientation in rotated image
|
* Portrait or landscape image orientation in rotated image
|
||||||
|
|
||||||
* based on v6.7.2
|
* based on v6.7.2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
##### 6.7.2 Image Processing in Memory - (2021-05-01)
|
##### 6.7.2 Image Processing in Memory - (2021-05-01)
|
||||||
|
|
||||||
|
|||||||
@@ -227,7 +227,7 @@ void ClassFlowAlignment::SaveReferenceAlignmentValues()
|
|||||||
time(&rawtime);
|
time(&rawtime);
|
||||||
timeinfo = localtime(&rawtime);
|
timeinfo = localtime(&rawtime);
|
||||||
|
|
||||||
strftime(buffer, 80, "%Y-%m-%d_%H-%M-%S", timeinfo);
|
strftime(buffer, 80, "%Y-%m-%dT%H:%M:%S", timeinfo);
|
||||||
zwtime = std::string(buffer);
|
zwtime = std::string(buffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -154,6 +154,10 @@ bool ClassFlowMQTT::doFlow(string zwtime)
|
|||||||
MQTTPublish(topic, result);
|
MQTTPublish(topic, result);
|
||||||
|
|
||||||
if (topicError.length() > 0) {
|
if (topicError.length() > 0) {
|
||||||
|
if (resulterror.length() == 0)
|
||||||
|
{
|
||||||
|
resulterror = " ";
|
||||||
|
}
|
||||||
MQTTPublish(topicError, resulterror);
|
MQTTPublish(topicError, resulterror);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,7 +63,7 @@ bool ClassFlowPostProcessing::LoadPreValue(void)
|
|||||||
int yy, month, dd, hh, mm, ss;
|
int yy, month, dd, hh, mm, ss;
|
||||||
struct tm whenStart;
|
struct tm whenStart;
|
||||||
|
|
||||||
sscanf(zwtime.c_str(), "%d-%d-%d_%d-%d-%d", &yy, &month, &dd, &hh, &mm, &ss);
|
sscanf(zwtime.c_str(), "%d-%d-%dT%d:%d:%d", &yy, &month, &dd, &hh, &mm, &ss);
|
||||||
whenStart.tm_year = yy - 1900;
|
whenStart.tm_year = yy - 1900;
|
||||||
whenStart.tm_mon = month - 1;
|
whenStart.tm_mon = month - 1;
|
||||||
whenStart.tm_mday = dd;
|
whenStart.tm_mday = dd;
|
||||||
@@ -121,7 +121,7 @@ void ClassFlowPostProcessing::SavePreValue(float value, string zwtime)
|
|||||||
time(&rawtime);
|
time(&rawtime);
|
||||||
timeinfo = localtime(&rawtime);
|
timeinfo = localtime(&rawtime);
|
||||||
|
|
||||||
strftime(buffer, 80, "%Y-%m-%d_%H-%M-%S", timeinfo);
|
strftime(buffer, 80, "%Y-%m-%dT%H:%M:%S", timeinfo);
|
||||||
timeStamp = std::string(buffer);
|
timeStamp = std::string(buffer);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -305,7 +305,7 @@ bool ClassFlowPostProcessing::doFlow(string zwtime)
|
|||||||
timeinfo = localtime(&imagetime);
|
timeinfo = localtime(&imagetime);
|
||||||
|
|
||||||
char strftime_buf[64];
|
char strftime_buf[64];
|
||||||
strftime(strftime_buf, sizeof(strftime_buf), "%Y-%m-%d_%H-%M-%S", timeinfo);
|
strftime(strftime_buf, sizeof(strftime_buf), "%Y-%m-%dT%H:%M:%S", timeinfo);
|
||||||
zwtime = std::string(strftime_buf);
|
zwtime = std::string(strftime_buf);
|
||||||
|
|
||||||
|
|
||||||
@@ -367,14 +367,6 @@ bool ClassFlowPostProcessing::doFlow(string zwtime)
|
|||||||
|
|
||||||
zwvalue = RundeOutput(Value, AnzahlAnalog - DecimalShift);
|
zwvalue = RundeOutput(Value, AnzahlAnalog - DecimalShift);
|
||||||
|
|
||||||
time_t currenttime;
|
|
||||||
time(¤ttime);
|
|
||||||
localtime(¤ttime);
|
|
||||||
double difference = difftime(currenttime, lastvalue); // in Sekunden
|
|
||||||
difference /= 60; // in Minuten
|
|
||||||
|
|
||||||
FlowRateAct = (Value - PreValue) / difference;
|
|
||||||
|
|
||||||
if ((!AllowNegativeRates) && (Value < PreValue))
|
if ((!AllowNegativeRates) && (Value < PreValue))
|
||||||
{
|
{
|
||||||
ErrorMessageText = ErrorMessageText + "Negative Rate - Returned old value - read value: " + zwvalue + " - raw value: " + ReturnRawValue + " - checked value: " + std::to_string(Value) + " ";
|
ErrorMessageText = ErrorMessageText + "Negative Rate - Returned old value - read value: " + zwvalue + " - raw value: " + ReturnRawValue + " - checked value: " + std::to_string(Value) + " ";
|
||||||
@@ -389,6 +381,7 @@ bool ClassFlowPostProcessing::doFlow(string zwtime)
|
|||||||
zwvalue = RundeOutput(Value, AnzahlAnalog - DecimalShift);
|
zwvalue = RundeOutput(Value, AnzahlAnalog - DecimalShift);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ReturnValueNoError = zwvalue;
|
ReturnValueNoError = zwvalue;
|
||||||
ReturnValue = zwvalue;
|
ReturnValue = zwvalue;
|
||||||
if (ErrorMessage && (ErrorMessageText.length() > 0))
|
if (ErrorMessage && (ErrorMessageText.length() > 0))
|
||||||
@@ -396,10 +389,15 @@ bool ClassFlowPostProcessing::doFlow(string zwtime)
|
|||||||
|
|
||||||
if (ErrorMessageText.length() == 0)
|
if (ErrorMessageText.length() == 0)
|
||||||
{
|
{
|
||||||
|
time_t currenttime;
|
||||||
|
time(¤ttime);
|
||||||
|
localtime(¤ttime);
|
||||||
|
double difference = difftime(currenttime, lastvalue); // in Sekunden
|
||||||
|
difference /= 60; // in Minuten
|
||||||
|
FlowRateAct = (Value - PreValue) / difference;
|
||||||
|
|
||||||
PreValue = Value;
|
PreValue = Value;
|
||||||
|
|
||||||
SavePreValue(Value, zwtime);
|
SavePreValue(Value, zwtime);
|
||||||
|
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ void ClassLogFile::WriteToDedicatedFile(std::string _fn, std::string info, bool
|
|||||||
time(&rawtime);
|
time(&rawtime);
|
||||||
timeinfo = localtime(&rawtime);
|
timeinfo = localtime(&rawtime);
|
||||||
|
|
||||||
strftime(buffer, 80, "%Y-%m-%d_%H-%M-%S", timeinfo);
|
strftime(buffer, 80, "%Y-%m-%dT%H:%M:%S", timeinfo);
|
||||||
|
|
||||||
zwtime = std::string(buffer);
|
zwtime = std::string(buffer);
|
||||||
info = zwtime + ": " + info;
|
info = zwtime + ": " + info;
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const char* GIT_REV="016f408";
|
const char* GIT_REV="67d0bf6";
|
||||||
const char* GIT_TAG="";
|
const char* GIT_TAG="";
|
||||||
const char* GIT_BRANCH="rolling";
|
const char* GIT_BRANCH="rolling";
|
||||||
const char* BUILD_TIME="2021-05-06 21:42";
|
const char* BUILD_TIME="2021-05-07 21:30";
|
||||||
@@ -13,7 +13,7 @@ extern "C"
|
|||||||
#include "Helper.h"
|
#include "Helper.h"
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
|
|
||||||
const char* GIT_BASE_BRANCH = "master - v6.7.1 - 2020-05-01";
|
const char* GIT_BASE_BRANCH = "master - v6.7.2 - 2020-05-01";
|
||||||
|
|
||||||
|
|
||||||
const char* git_base_branch(void)
|
const char* git_base_branch(void)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
const char* GIT_REV="016f408";
|
const char* GIT_REV="67d0bf6";
|
||||||
const char* GIT_TAG="";
|
const char* GIT_TAG="";
|
||||||
const char* GIT_BRANCH="rolling";
|
const char* GIT_BRANCH="rolling";
|
||||||
const char* BUILD_TIME="2021-05-06 21:42";
|
const char* BUILD_TIME="2021-05-07 21:30";
|
||||||
Binary file not shown.
Binary file not shown.
@@ -18,7 +18,7 @@ InitialMirror= false
|
|||||||
AlignmentAlgo = Default
|
AlignmentAlgo = Default
|
||||||
|
|
||||||
[Digits]
|
[Digits]
|
||||||
Model = /config/dig0840s1q.tflite
|
Model = /config/dig0850s1q.tflite
|
||||||
;LogImageLocation = /log/digit
|
;LogImageLocation = /log/digit
|
||||||
;LogfileRetentionInDays = 3
|
;LogfileRetentionInDays = 3
|
||||||
ModelInputSize = 20 32
|
ModelInputSize = 20 32
|
||||||
|
|||||||
BIN
sd-card/config/dig0850s1q.tflite
Normal file
BIN
sd-card/config/dig0850s1q.tflite
Normal file
Binary file not shown.
Reference in New Issue
Block a user