mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-07 12:06:58 +03:00
Change data to csv, harmonize REST API editflow
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
|
||||
@@ -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
Normal file
BIN
sd-card/config/dig-class11_1440_s2.tflite
Normal file
Binary file not shown.
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user