mirror of
https://github.com/jomjol/AI-on-the-edge-device.git
synced 2025-12-08 04:26:58 +03:00
Merge branch 'pr/952' into rolling
This commit is contained in:
@@ -439,6 +439,7 @@ bool ClassFlowCNNGeneral::ReadParameter(FILE* pfile, string& aktparamgraph)
|
|||||||
neuroi->posy = std::stoi(zerlegt[2]);
|
neuroi->posy = std::stoi(zerlegt[2]);
|
||||||
neuroi->deltax = std::stoi(zerlegt[3]);
|
neuroi->deltax = std::stoi(zerlegt[3]);
|
||||||
neuroi->deltay = std::stoi(zerlegt[4]);
|
neuroi->deltay = std::stoi(zerlegt[4]);
|
||||||
|
neuroi->CCW = toUpper(zerlegt[5]) == "TRUE";
|
||||||
neuroi->result_float = -1;
|
neuroi->result_float = -1;
|
||||||
neuroi->image = NULL;
|
neuroi->image = NULL;
|
||||||
neuroi->image_org = NULL;
|
neuroi->image_org = NULL;
|
||||||
@@ -511,7 +512,7 @@ general* ClassFlowCNNGeneral::GetGENERAL(string _name, bool _create = true)
|
|||||||
|
|
||||||
_ret->ROI.push_back(neuroi);
|
_ret->ROI.push_back(neuroi);
|
||||||
|
|
||||||
printf("GetGENERAL - GENERAL %s - roi %s\n", _analog.c_str(), _roi.c_str());
|
printf("GetGENERAL - GENERAL %s - roi %s - CCW: %d\n", _analog.c_str(), _roi.c_str(), neuroi->CCW);
|
||||||
|
|
||||||
return _ret;
|
return _ret;
|
||||||
}
|
}
|
||||||
@@ -724,8 +725,13 @@ bool ClassFlowCNNGeneral::doNeuralNetwork(string time)
|
|||||||
f1 = tflite->GetOutputValue(0);
|
f1 = tflite->GetOutputValue(0);
|
||||||
f2 = tflite->GetOutputValue(1);
|
f2 = tflite->GetOutputValue(1);
|
||||||
float result = fmod(atan2(f1, f2) / (M_PI * 2) + 2, 1);
|
float result = fmod(atan2(f1, f2) / (M_PI * 2) + 2, 1);
|
||||||
|
|
||||||
|
if(GENERAL[_ana]->ROI[i]->CCW)
|
||||||
|
GENERAL[_ana]->ROI[i]->result_float = 10 - (result * 10);
|
||||||
|
else
|
||||||
GENERAL[_ana]->ROI[i]->result_float = result * 10;
|
GENERAL[_ana]->ROI[i]->result_float = result * 10;
|
||||||
printf("Result General(Analog)%i: %f\n", i, GENERAL[_ana]->ROI[i]->result_float);
|
|
||||||
|
printf("Result General(Analog)%i - CCW: %d - %f\n", i, GENERAL[_ana]->ROI[i]->CCW, GENERAL[_ana]->ROI[i]->result_float);
|
||||||
if (isLogImage)
|
if (isLogImage)
|
||||||
LogImage(logPath, GENERAL[_ana]->ROI[i]->name, &GENERAL[_ana]->ROI[i]->result_float, NULL, time, GENERAL[_ana]->ROI[i]->image_org);
|
LogImage(logPath, GENERAL[_ana]->ROI[i]->name, &GENERAL[_ana]->ROI[i]->result_float, NULL, time, GENERAL[_ana]->ROI[i]->image_org);
|
||||||
} break;
|
} break;
|
||||||
@@ -916,15 +922,17 @@ bool ClassFlowCNNGeneral::doNeuralNetwork(string time)
|
|||||||
|
|
||||||
_num = tflite->GetOutClassification();
|
_num = tflite->GetOutClassification();
|
||||||
|
|
||||||
|
if(GENERAL[_ana]->ROI[i]->CCW)
|
||||||
|
GENERAL[_ana]->ROI[i]->result_float = 10 - ((float)_num / 10.0);
|
||||||
|
else
|
||||||
GENERAL[_ana]->ROI[i]->result_float = (float)_num / 10.0;
|
GENERAL[_ana]->ROI[i]->result_float = (float)_num / 10.0;
|
||||||
|
|
||||||
|
|
||||||
_result_save_file = GENERAL[_ana]->ROI[i]->result_float;
|
_result_save_file = GENERAL[_ana]->ROI[i]->result_float;
|
||||||
|
|
||||||
|
|
||||||
GENERAL[_ana]->ROI[i]->isReject = false;
|
GENERAL[_ana]->ROI[i]->isReject = false;
|
||||||
|
|
||||||
printf("Result General(Analog)%i: %f\n", i, GENERAL[_ana]->ROI[i]->result_float);
|
printf("Result General(Analog)%i - CCW: %d - %f\n", i, GENERAL[_ana]->ROI[i]->CCW, GENERAL[_ana]->ROI[i]->result_float);
|
||||||
|
|
||||||
if (isLogImage)
|
if (isLogImage)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ struct roi {
|
|||||||
int posx, posy, deltax, deltay;
|
int posx, posy, deltax, deltay;
|
||||||
float result_float;
|
float result_float;
|
||||||
int result_klasse;
|
int result_klasse;
|
||||||
bool isReject;
|
bool isReject, CCW;
|
||||||
string name;
|
string name;
|
||||||
CImageBasis *image, *image_org;
|
CImageBasis *image, *image_org;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -170,6 +170,9 @@ bool ClassFlowMQTT::doFlow(string zwtime)
|
|||||||
sprintf(rssi, "%d", get_WIFI_RSSI());
|
sprintf(rssi, "%d", get_WIFI_RSSI());
|
||||||
MQTTPublish(zw, rssi, SetRetainFlag);
|
MQTTPublish(zw, rssi, SetRetainFlag);
|
||||||
|
|
||||||
|
zw = maintopic + "/" + "CPUtemp";
|
||||||
|
std::string cputemp = std::to_string(temperatureRead());
|
||||||
|
MQTTPublish(zw, cputemp, SetRetainFlag);
|
||||||
|
|
||||||
if (flowpostprocessing)
|
if (flowpostprocessing)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
#include "server_GPIO.h"
|
#include "server_GPIO.h"
|
||||||
|
|
||||||
#include "server_file.h"
|
#include "server_file.h"
|
||||||
|
#include "connect_wlan.h"
|
||||||
|
|
||||||
#define DEBUG_DETAIL_ON
|
#define DEBUG_DETAIL_ON
|
||||||
|
|
||||||
@@ -590,6 +591,55 @@ esp_err_t handler_statusflow(httpd_req_t *req)
|
|||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
esp_err_t handler_cputemp(httpd_req_t *req)
|
||||||
|
{
|
||||||
|
#ifdef DEBUG_DETAIL_ON
|
||||||
|
LogFile.WriteHeapInfo("handler_cputemp - Start");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const char* resp_str;
|
||||||
|
char cputemp[20];
|
||||||
|
|
||||||
|
sprintf(cputemp, "CPU Temp: %4.1f°C", temperatureRead());
|
||||||
|
|
||||||
|
resp_str = cputemp;
|
||||||
|
|
||||||
|
httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
|
||||||
|
httpd_resp_send(req, resp_str, strlen(resp_str));
|
||||||
|
/* Respond with an empty chunk to signal HTTP response completion */
|
||||||
|
httpd_resp_send_chunk(req, NULL, 0);
|
||||||
|
|
||||||
|
#ifdef DEBUG_DETAIL_ON
|
||||||
|
LogFile.WriteHeapInfo("handler_cputemp - End");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return ESP_OK;
|
||||||
|
};
|
||||||
|
|
||||||
|
esp_err_t handler_rssi(httpd_req_t *req)
|
||||||
|
{
|
||||||
|
#ifdef DEBUG_DETAIL_ON
|
||||||
|
LogFile.WriteHeapInfo("handler_rssi - Start");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
const char* resp_str;
|
||||||
|
char rssi[20];
|
||||||
|
|
||||||
|
sprintf(rssi, "RSSI: %idBm", get_WIFI_RSSI());
|
||||||
|
|
||||||
|
resp_str = rssi;
|
||||||
|
|
||||||
|
httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");
|
||||||
|
httpd_resp_send(req, resp_str, strlen(resp_str));
|
||||||
|
/* Respond with an empty chunk to signal HTTP response completion */
|
||||||
|
httpd_resp_send_chunk(req, NULL, 0);
|
||||||
|
|
||||||
|
#ifdef DEBUG_DETAIL_ON
|
||||||
|
LogFile.WriteHeapInfo("handler_rssi - End");
|
||||||
|
#endif
|
||||||
|
|
||||||
|
return ESP_OK;
|
||||||
|
};
|
||||||
|
|
||||||
esp_err_t handler_prevalue(httpd_req_t *req)
|
esp_err_t handler_prevalue(httpd_req_t *req)
|
||||||
{
|
{
|
||||||
@@ -643,7 +693,7 @@ esp_err_t handler_prevalue(httpd_req_t *req)
|
|||||||
httpd_resp_send_chunk(req, NULL, 0);
|
httpd_resp_send_chunk(req, NULL, 0);
|
||||||
|
|
||||||
#ifdef DEBUG_DETAIL_ON
|
#ifdef DEBUG_DETAIL_ON
|
||||||
LogFile.WriteHeapInfo("handler_prevalue - Start");
|
LogFile.WriteHeapInfo("handler_prevalue - End");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
return ESP_OK;
|
return ESP_OK;
|
||||||
@@ -766,6 +816,16 @@ void register_server_tflite_uri(httpd_handle_t server)
|
|||||||
camuri.user_ctx = (void*) "Light Off";
|
camuri.user_ctx = (void*) "Light Off";
|
||||||
httpd_register_uri_handler(server, &camuri);
|
httpd_register_uri_handler(server, &camuri);
|
||||||
|
|
||||||
|
camuri.uri = "/cputemp.html";
|
||||||
|
camuri.handler = handler_cputemp;
|
||||||
|
camuri.user_ctx = (void*) "Light Off";
|
||||||
|
httpd_register_uri_handler(server, &camuri);
|
||||||
|
|
||||||
|
camuri.uri = "/rssi.html";
|
||||||
|
camuri.handler = handler_rssi;
|
||||||
|
camuri.user_ctx = (void*) "Light Off";
|
||||||
|
httpd_register_uri_handler(server, &camuri);
|
||||||
|
|
||||||
camuri.uri = "/editflow.html";
|
camuri.uri = "/editflow.html";
|
||||||
camuri.handler = handler_editflow;
|
camuri.handler = handler_editflow;
|
||||||
camuri.user_ctx = (void*) "EditFlow";
|
camuri.user_ctx = (void*) "EditFlow";
|
||||||
|
|||||||
@@ -25,9 +25,9 @@ Model = /config/dig-cont_0570_s3.tflite
|
|||||||
CNNGoodThreshold = 0.5
|
CNNGoodThreshold = 0.5
|
||||||
;LogImageLocation = /log/digit
|
;LogImageLocation = /log/digit
|
||||||
;LogfileRetentionInDays = 3
|
;LogfileRetentionInDays = 3
|
||||||
main.dig1 294 126 30 54
|
main.dig1 294 126 30 54 false
|
||||||
main.dig2 343 126 30 54
|
main.dig2 343 126 30 54 false
|
||||||
main.dig3 391 126 30 54
|
main.dig3 391 126 30 54 false
|
||||||
|
|
||||||
[Analog]
|
[Analog]
|
||||||
Model = /config/ana-cont_11.3.0_s2.tflite
|
Model = /config/ana-cont_11.3.0_s2.tflite
|
||||||
@@ -35,10 +35,10 @@ CNNGoodThreshold = 0.5
|
|||||||
;LogImageLocation = /log/analog
|
;LogImageLocation = /log/analog
|
||||||
;LogfileRetentionInDays = 3
|
;LogfileRetentionInDays = 3
|
||||||
ExtendedResolution = true
|
ExtendedResolution = true
|
||||||
main.ana1 432 230 92 92
|
main.ana1 432 230 92 92 false
|
||||||
main.ana2 379 332 92 92
|
main.ana2 379 332 92 92 false
|
||||||
main.ana3 283 374 92 92
|
main.ana3 283 374 92 92 false
|
||||||
main.ana4 155 328 92 92
|
main.ana4 155 328 92 92 false
|
||||||
|
|
||||||
[PostProcessing]
|
[PostProcessing]
|
||||||
main.DecimalShift = 0
|
main.DecimalShift = 0
|
||||||
|
|||||||
@@ -116,18 +116,19 @@ th, td {
|
|||||||
<tr>
|
<tr>
|
||||||
<td>x: <input type="number" name="refx" id="refx" step=1 onchange="valuemanualchanged()" tabindex=2></td>
|
<td>x: <input type="number" name="refx" id="refx" step=1 onchange="valuemanualchanged()" tabindex=2></td>
|
||||||
<td>dx: <input type="number" name="refdx" id="refdx" step=1 onchange="valuemanualchangeddx()" tabindex=4></td>
|
<td>dx: <input type="number" name="refdx" id="refdx" step=1 onchange="valuemanualchangeddx()" tabindex=4></td>
|
||||||
<td rowspan="2"><label for="lockAR"> Lock aspect ratio: </label><input type="checkbox" id="lockAR" name="lockAR" value="1" onclick="changelockAR()" checked tabindex=6></td>
|
<td rowspan="1"><label for="lockAR"> Lock aspect ratio: </label><input type="checkbox" id="lockAR" name="lockAR" value="1" onclick="changelockAR()" checked tabindex=6></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>y: <input type="number" name="refy" id="refy" step=1 onchange="valuemanualchanged()" tabindex=3></td>
|
<td>y: <input type="number" name="refy" id="refy" step=1 onchange="valuemanualchanged()" tabindex=3></td>
|
||||||
<td>dy: <input type="number" name="refdy" id="refdy" step=1 onchange="valuemanualchanged()" tabindex=5></td>
|
<td>dy: <input type="number" name="refdy" id="refdy" step=1 onchange="valuemanualchanged()" tabindex=5></td>
|
||||||
|
<td rowspan="1"><label for="CCW"> Counter-Clockwise Rotation: </label><input type="checkbox" id="CCW" name="CCW" value="0" onclick="changeCCW()" unchecked tabindex=7></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><input class="button" type="submit" id="saveroi" name="saveroi" onclick="SaveToConfig()" value="Save all to Config.ini" tabindex=7></td>
|
<td><input class="button" type="submit" id="saveroi" name="saveroi" onclick="SaveToConfig()" value="Save all to Config.ini" tabindex=8></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td><button class="button" id="reboot" type="button" onclick="doReboot()">Reboot to activate saved config</button></td>
|
<td><button class="button" id="reboot" type="button" onclick="doReboot()">Reboot to activate saved config</button></td>
|
||||||
@@ -216,9 +217,9 @@ function newROI(){
|
|||||||
var _roinew = prompt("Please enter name of new ROI", "name");
|
var _roinew = prompt("Please enter name of new ROI", "name");
|
||||||
|
|
||||||
if (ROIInfo.length > 0)
|
if (ROIInfo.length > 0)
|
||||||
erg = CreateROI(_number, "analog", sel.selectedIndex, _roinew, 1, 1, ROIInfo[aktindex]["dx"], ROIInfo[aktindex]["dy"]);
|
erg = CreateROI(_number, "analog", sel.selectedIndex, _roinew, 1, 1, ROIInfo[aktindex]["dx"], ROIInfo[aktindex]["dy"], ROIInfo[aktindex]["CCW"]=="true");
|
||||||
else
|
else
|
||||||
erg = CreateROI(_number, "analog", sel.selectedIndex, _roinew, 1, 1, 30, 30);
|
erg = CreateROI(_number, "analog", sel.selectedIndex, _roinew, 1, 1, 30, 30, false);
|
||||||
|
|
||||||
if (erg != "")
|
if (erg != "")
|
||||||
alert(erg);
|
alert(erg);
|
||||||
@@ -246,6 +247,17 @@ function changelockAR(){
|
|||||||
lockAR = document.getElementById("lockAR").checked;
|
lockAR = document.getElementById("lockAR").checked;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function changeCCW(){
|
||||||
|
var sel = document.getElementById("Numbers_value1");
|
||||||
|
var _number = sel.options[sel.selectedIndex].text;
|
||||||
|
|
||||||
|
ROIInfo = getROIInfo("analog", _number);
|
||||||
|
aktindex = parseInt(document.getElementById("index").value);
|
||||||
|
|
||||||
|
ROIInfo[aktindex]["CCW"] = document.getElementById("CCW").checked;
|
||||||
|
UpdateROIs();
|
||||||
|
}
|
||||||
|
|
||||||
function ChangeSelection(){
|
function ChangeSelection(){
|
||||||
aktindex = parseInt(document.getElementById("index").value);
|
aktindex = parseInt(document.getElementById("index").value);
|
||||||
// lockAR = true;
|
// lockAR = true;
|
||||||
@@ -261,7 +273,7 @@ function SaveToConfig(){
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
function UpdateROIs(){
|
function UpdateROIs(_sel){
|
||||||
document.getElementById("Category_Analog_enabled").checked = true;
|
document.getElementById("Category_Analog_enabled").checked = true;
|
||||||
var sel = document.getElementById("Numbers_value1");
|
var sel = document.getElementById("Numbers_value1");
|
||||||
var _number = sel.options[sel.selectedIndex].text;
|
var _number = sel.options[sel.selectedIndex].text;
|
||||||
@@ -332,6 +344,8 @@ function UpdateROIs(){
|
|||||||
document.getElementById("refy").value = ROIInfo[aktindex]["y"];
|
document.getElementById("refy").value = ROIInfo[aktindex]["y"];
|
||||||
document.getElementById("refdx").value = ROIInfo[aktindex]["dx"];
|
document.getElementById("refdx").value = ROIInfo[aktindex]["dx"];
|
||||||
document.getElementById("refdy").value = ROIInfo[aktindex]["dy"];
|
document.getElementById("refdy").value = ROIInfo[aktindex]["dy"];
|
||||||
|
document.getElementById("CCW").checked = ROIInfo[aktindex]["CCW"] == "true";
|
||||||
|
|
||||||
rect.startX = ROIInfo[aktindex]["x"];
|
rect.startX = ROIInfo[aktindex]["x"];
|
||||||
rect.startY = ROIInfo[aktindex]["y"];
|
rect.startY = ROIInfo[aktindex]["y"];
|
||||||
rect.w = ROIInfo[aktindex]["dx"];
|
rect.w = ROIInfo[aktindex]["dx"];
|
||||||
|
|||||||
@@ -209,9 +209,9 @@ function newROI() {
|
|||||||
var _roinew = prompt("Please enter name of new ROI", "name");
|
var _roinew = prompt("Please enter name of new ROI", "name");
|
||||||
|
|
||||||
if (ROIInfo.length > 0)
|
if (ROIInfo.length > 0)
|
||||||
erg = CreateROI(_number, "digit", sel.selectedIndex, _roinew, 1, 1, ROIInfo[aktindex]["dx"], ROIInfo[aktindex]["dy"]);
|
erg = CreateROI(_number, "digit", sel.selectedIndex, _roinew, 1, 1, ROIInfo[aktindex]["dx"], ROIInfo[aktindex]["dy"], 0);
|
||||||
else
|
else
|
||||||
erg = CreateROI(_number, "digit", sel.selectedIndex, _roinew, 1, 1, 30, 51);
|
erg = CreateROI(_number, "digit", sel.selectedIndex, _roinew, 1, 1, 30, 51, 0);
|
||||||
|
|
||||||
if (erg != "")
|
if (erg != "")
|
||||||
alert(erg);
|
alert(erg);
|
||||||
|
|||||||
@@ -236,9 +236,9 @@ function ParseConfigParamAll(_aktline, _catname){
|
|||||||
let [isCom, input] = isCommented(_input);
|
let [isCom, input] = isCommented(_input);
|
||||||
var linesplit = ZerlegeZeile(input);
|
var linesplit = ZerlegeZeile(input);
|
||||||
ParamExtractValueAll(param, linesplit, _catname, _aktline, isCom);
|
ParamExtractValueAll(param, linesplit, _catname, _aktline, isCom);
|
||||||
if (!isCom && (linesplit.length == 5) && (_catname == 'Digits'))
|
if (!isCom && (linesplit.length == 6) && (_catname == 'Digits'))
|
||||||
ExtractROIs(input, "digit");
|
ExtractROIs(input, "digit");
|
||||||
if (!isCom && (linesplit.length == 5) && (_catname == 'Analog'))
|
if (!isCom && (linesplit.length == 6) && (_catname == 'Analog'))
|
||||||
ExtractROIs(input, "analog");
|
ExtractROIs(input, "analog");
|
||||||
if (!isCom && (linesplit.length == 3) && (_catname == 'Alignment'))
|
if (!isCom && (linesplit.length == 3) && (_catname == 'Alignment'))
|
||||||
{
|
{
|
||||||
@@ -398,6 +398,7 @@ function WriteConfigININew()
|
|||||||
text = text + " " + NUMBERS[_roi]["digit"][_roiddet]["y"];
|
text = text + " " + NUMBERS[_roi]["digit"][_roiddet]["y"];
|
||||||
text = text + " " + NUMBERS[_roi]["digit"][_roiddet]["dx"];
|
text = text + " " + NUMBERS[_roi]["digit"][_roiddet]["dx"];
|
||||||
text = text + " " + NUMBERS[_roi]["digit"][_roiddet]["dy"];
|
text = text + " " + NUMBERS[_roi]["digit"][_roiddet]["dy"];
|
||||||
|
text = text + " " + NUMBERS[_roi]["digit"][_roiddet]["CCW"];
|
||||||
config_split.push(text);
|
config_split.push(text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -416,6 +417,7 @@ function WriteConfigININew()
|
|||||||
text = text + " " + NUMBERS[_roi]["analog"][_roiddet]["y"];
|
text = text + " " + NUMBERS[_roi]["analog"][_roiddet]["y"];
|
||||||
text = text + " " + NUMBERS[_roi]["analog"][_roiddet]["dx"];
|
text = text + " " + NUMBERS[_roi]["analog"][_roiddet]["dx"];
|
||||||
text = text + " " + NUMBERS[_roi]["analog"][_roiddet]["dy"];
|
text = text + " " + NUMBERS[_roi]["analog"][_roiddet]["dy"];
|
||||||
|
text = text + " " + NUMBERS[_roi]["analog"][_roiddet]["CCW"];
|
||||||
config_split.push(text);
|
config_split.push(text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -484,6 +486,7 @@ function ExtractROIs(_aktline, _type){
|
|||||||
abc["dx"] = linesplit[3];
|
abc["dx"] = linesplit[3];
|
||||||
abc["dy"] = linesplit[4];
|
abc["dy"] = linesplit[4];
|
||||||
abc["ar"] = parseFloat(linesplit[3]) / parseFloat(linesplit[4]);
|
abc["ar"] = parseFloat(linesplit[3]) / parseFloat(linesplit[4]);
|
||||||
|
abc["CCW"] = linesplit[5];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -712,7 +715,7 @@ function DeleteNUMBER(_delte){
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
function CreateROI(_number, _type, _pos, _roinew, _x, _y, _dx, _dy){
|
function CreateROI(_number, _type, _pos, _roinew, _x, _y, _dx, _dy, _CCW){
|
||||||
_indexnumber = -1;
|
_indexnumber = -1;
|
||||||
for (j = 0; j < NUMBERS.length; ++j)
|
for (j = 0; j < NUMBERS.length; ++j)
|
||||||
if (NUMBERS[j]["name"] == _number)
|
if (NUMBERS[j]["name"] == _number)
|
||||||
@@ -735,6 +738,7 @@ function CreateROI(_number, _type, _pos, _roinew, _x, _y, _dx, _dy){
|
|||||||
_ret["dx"] = _dx;
|
_ret["dx"] = _dx;
|
||||||
_ret["dy"] = _dy;
|
_ret["dy"] = _dy;
|
||||||
_ret["ar"] = _dx / _dy;
|
_ret["ar"] = _dx / _dy;
|
||||||
|
_ret["CCW"] = _CCW;
|
||||||
|
|
||||||
NUMBERS[_indexnumber][_type].splice(_pos+1, 0, _ret);
|
NUMBERS[_indexnumber][_type].splice(_pos+1, 0, _ret);
|
||||||
|
|
||||||
|
|||||||
@@ -20,7 +20,7 @@
|
|||||||
|
|
||||||
<table class="tg">
|
<table class="tg">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="tg-1" rowspan="9"><div id="img"></div></td>
|
<td class="tg-1" rowspan="9" style="vertical-align: top"><div id="img"></div></td>
|
||||||
<th class="th">Value:</th>
|
<th class="th">Value:</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
@@ -57,6 +57,8 @@
|
|||||||
<td class="tg-3">
|
<td class="tg-3">
|
||||||
<div id="timestamp" ></div>
|
<div id="timestamp" ></div>
|
||||||
<div id="statusflow" ></div>
|
<div id="statusflow" ></div>
|
||||||
|
<div id="cputemp" ></div>
|
||||||
|
<div id="rssi" ></div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@@ -83,6 +85,8 @@ function addZero(i) {
|
|||||||
$('#img').html('<img src="/img_tmp/alg_roi.jpg" style="max-height:555px; display:block; margin-left:auto; margin-right:auto;"></img>');
|
$('#img').html('<img src="/img_tmp/alg_roi.jpg" style="max-height:555px; display:block; margin-left:auto; margin-right:auto;"></img>');
|
||||||
$('#timestamp').html("Last Page Refresh:" + (h + ":" + m + ":" + s));
|
$('#timestamp').html("Last Page Refresh:" + (h + ":" + m + ":" + s));
|
||||||
loadStatus();
|
loadStatus();
|
||||||
|
loadCPUTemp();
|
||||||
|
loadRSSI();
|
||||||
refresh();
|
refresh();
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -94,10 +98,10 @@ function refresh() {
|
|||||||
var h = addZero(d.getHours());
|
var h = addZero(d.getHours());
|
||||||
var m = addZero(d.getMinutes());
|
var m = addZero(d.getMinutes());
|
||||||
var s = addZero(d.getSeconds());
|
var s = addZero(d.getSeconds());
|
||||||
|
|
||||||
// reassign the url to be like alg_roi.jpg?timestamp=456784512 based on timestamp
|
// reassign the url to be like alg_roi.jpg?timestamp=456784512 based on timestamp
|
||||||
$('#img').html('<img src="/img_tmp/alg_roi.jpg?timestamp='+ timestamp +'"max-height:555px; display:block; margin-left:auto; margin-right:auto;"></img>');
|
$('#img').html('<img src="/img_tmp/alg_roi.jpg?timestamp='+ timestamp +'"max-height:555px; display:block; margin-left:auto; margin-right:auto;"></img>');
|
||||||
$('#timestamp').html("Last Page Refresh:" + (h + ":" + m + ":" + s));
|
$('#timestamp').html("Last Page Refresh:" + (h + ":" + m + ":" + s));
|
||||||
loadStatus();
|
|
||||||
init();
|
init();
|
||||||
refresh();
|
refresh();
|
||||||
}, 300000);
|
}, 300000);
|
||||||
@@ -120,6 +124,32 @@ function refresh() {
|
|||||||
xhttp.send();
|
xhttp.send();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function loadCPUTemp() {
|
||||||
|
url = basepath + '/cputemp.html';
|
||||||
|
var xhttp = new XMLHttpRequest();
|
||||||
|
xhttp.onreadystatechange = function() {
|
||||||
|
if (this.readyState == 4 && this.status == 200) {
|
||||||
|
var _rsp = xhttp.responseText;
|
||||||
|
$('#cputemp').html(_rsp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xhttp.open("GET", url, true);
|
||||||
|
xhttp.send();
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadRSSI() {
|
||||||
|
url = basepath + '/rssi.html';
|
||||||
|
var xhttp = new XMLHttpRequest();
|
||||||
|
xhttp.onreadystatechange = function() {
|
||||||
|
if (this.readyState == 4 && this.status == 200) {
|
||||||
|
var _rsp = xhttp.responseText;
|
||||||
|
$('#rssi').html(_rsp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
xhttp.open("GET", url, true);
|
||||||
|
xhttp.send();
|
||||||
|
}
|
||||||
|
|
||||||
function loadValue(_type, _div, _style) {
|
function loadValue(_type, _div, _style) {
|
||||||
url = basepath + '/wasserzaehler.html?all=true&type=' + _type;
|
url = basepath + '/wasserzaehler.html?all=true&type=' + _type;
|
||||||
var xhttp = new XMLHttpRequest();
|
var xhttp = new XMLHttpRequest();
|
||||||
@@ -167,6 +197,8 @@ function refresh() {
|
|||||||
loadValue("prevalue", "prevalue");
|
loadValue("prevalue", "prevalue");
|
||||||
loadValue("error", "error", "font-size:8px");
|
loadValue("error", "error", "font-size:8px");
|
||||||
loadStatus();
|
loadStatus();
|
||||||
|
loadCPUTemp();
|
||||||
|
loadRSSI();
|
||||||
}
|
}
|
||||||
|
|
||||||
init();
|
init();
|
||||||
|
|||||||
Reference in New Issue
Block a user