mirror of
https://github.com/bcomsugi/VSS_Rally_V3.git
synced 2026-01-09 18:02:38 +07:00
add settime and fix load const
This commit is contained in:
parent
702223dc58
commit
d65d980642
@ -9,12 +9,24 @@
|
||||
<link href="bootstrap.css" rel="stylesheet">
|
||||
<script type = "text/javascript">
|
||||
const ws = new WebSocket("ws://%serveripaddress%/wssettime");
|
||||
ws.onopen = function() {console.log("WebSocket Connected");};
|
||||
ws.onclose = function() {alert("WS Connection Closed");};
|
||||
ws.onopen = function() {
|
||||
console.log("WebSocket Connected");
|
||||
if(document.getElementById("mainTime").classList.contains("bg-danger")){
|
||||
document.getElementById("mainTime").classList.remove("bg-danger")
|
||||
}
|
||||
};
|
||||
ws.onclose = function() {
|
||||
// alert("WS Connection Closed");
|
||||
if(!document.getElementById("mainTime").classList.contains("bg-danger")){
|
||||
document.getElementById("mainTime").classList.add("bg-danger")
|
||||
}
|
||||
};
|
||||
ws.onmessage = function(event) {
|
||||
console.log(event.data);
|
||||
var data = JSON.parse(event.data);
|
||||
document.getElementById("counter").innerHTML = data.counter;
|
||||
if (data.NTPTime=="N/A") document.getElementById("btnNTP").disabled = true;
|
||||
else document.getElementById("btnNTP").disabled = false;
|
||||
document.getElementById("counter").innerHTML = data.counter+";"+data.counter2;
|
||||
document.getElementById("currenttrack").innerHTML = data.curTrip;
|
||||
document.getElementById("currenttime").innerHTML = data.curTime;
|
||||
document.getElementById("speed").innerHTML = data.curTripSpeed;
|
||||
@ -32,9 +44,9 @@
|
||||
<script src="bootstrap.bundle.min.js"></script>
|
||||
<div class=" bg-secondary text-white">
|
||||
<div class="row">
|
||||
<div class="col-2 mt-1"><h2><span id="counter">12345</span></h2></div>
|
||||
<div class="col-3 mt-1"><h2>TRACK <span id="currenttrack">A</span></h2></div>
|
||||
<div class="col mt-1"><h2 class="text-center">Time: <span id="currenttime">00:00:00</span></h2></div>
|
||||
<div class="col-2 mt-1"><h6><span id="counter">12345</span></h6></div>
|
||||
<div class="col-3 mt-1"><h2>TRIP <span id="currenttrack">A</span></h2></div>
|
||||
<div class="col mt-1 text-center" id="mainTime"><h2>Time: <span id="currenttime">00:00:00</span></h2></div>
|
||||
<div class="col-3 mt-1 text-end"><h2><span id="speed">123.4</span>Km/h</h2></div>
|
||||
<hr>
|
||||
</div>
|
||||
@ -45,7 +57,7 @@
|
||||
<input type="time" step="any" maxlength="6" required oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"
|
||||
id="settime" name="settime" size="4">
|
||||
<button class="btn btn-primary mb-2 fw-bold" onclick="setTime(0)">SET Time</button>
|
||||
<button class="btn btn-primary mb-2 fw-bold" onclick="setTime(1)">Use NTP</button>
|
||||
<button id="btnNTP" class="btn btn-primary mb-2 fw-bold" onclick="setTime(1)">Use NTP</button>
|
||||
</h3></div>
|
||||
</div>
|
||||
<button ondblclick="location.href='/menu';" class="btn btn-primary fw-bold btn-sm mt-2 mb-2 ms-3">Back to Menu</button>
|
||||
|
||||
48
src/index.h
48
src/index.h
@ -341,14 +341,24 @@ const char HTML_CALIBRATION[] PROGMEM = R"rawliteral(
|
||||
<link href="bootstrap.css" rel="stylesheet">
|
||||
<script type = "text/javascript">
|
||||
const ws = new WebSocket("ws://%serveripaddress%/wscal");
|
||||
ws.onopen = function() {console.log("WebSocket Connected");};
|
||||
ws.onclose = function() {alert("WS Connection Closed");};
|
||||
ws.onopen = function() {
|
||||
console.log("WebSocket Connected");
|
||||
if(document.getElementById("mainTime").classList.contains("bg-danger")){
|
||||
document.getElementById("mainTime").classList.remove("bg-danger")
|
||||
}
|
||||
};
|
||||
ws.onclose = function() {
|
||||
// alert("WS Connection Closed");
|
||||
if(!document.getElementById("mainTime").classList.contains("bg-danger")){
|
||||
document.getElementById("mainTime").classList.add("bg-danger")
|
||||
}
|
||||
};
|
||||
ws.onmessage = function(event) {
|
||||
console.log(event.data);
|
||||
var data = JSON.parse(event.data);
|
||||
document.getElementById("currenttime").innerHTML = data.curTime;
|
||||
document.getElementById("currenttrack").innerHTML = data.curTrip;
|
||||
document.getElementById("counter").innerHTML = data.counter;
|
||||
document.getElementById("counter").innerHTML = data.counter+";"+data.counter2;
|
||||
document.getElementById("speed").innerHTML = data.curTripSpeed;
|
||||
document.getElementById("caldist").innerHTML = data.caldist;
|
||||
document.getElementById("calman").innerHTML = data.calman;
|
||||
@ -364,9 +374,9 @@ const char HTML_CALIBRATION[] PROGMEM = R"rawliteral(
|
||||
<script src="bootstrap.bundle.min.js"></script>
|
||||
<div class=" bg-secondary text-white">
|
||||
<div class="row">
|
||||
<div class="col-2 mt-1"><h2><span id="counter">12345</span></h2></div>
|
||||
<div class="col-3 mt-1"><h2>TRACK <span id="currenttrack">A</span></h2></div>
|
||||
<div class="col mt-1"><h2 class="text-center">Time: <span id="currenttime">00:00:00</span></h2></div>
|
||||
<div class="col-2 mt-1"><h5><span id="counter">12345</span></h5></div>
|
||||
<div class="col-3 mt-1"><h2>TRIP <span id="currenttrack">A</span></h2></div>
|
||||
<div class="col mt-1 text-center" id="mainTime"><h2>Time: <span id="currenttime">00:00:00</span></h2></div>
|
||||
<div class="col-3 mt-1 text-end"><h2><span id="speed">123.4</span>Km/h</h2></div>
|
||||
<hr>
|
||||
</div>
|
||||
@ -446,12 +456,24 @@ const char HTML_SETTIME[] PROGMEM = R"rawliteral(
|
||||
<link href="bootstrap.css" rel="stylesheet">
|
||||
<script type = "text/javascript">
|
||||
const ws = new WebSocket("ws://%serveripaddress%/wssettime");
|
||||
ws.onopen = function() {console.log("WebSocket Connected");};
|
||||
ws.onclose = function() {alert("WS Connection Closed");};
|
||||
ws.onopen = function() {
|
||||
console.log("WebSocket Connected");
|
||||
if(document.getElementById("mainTime").classList.contains("bg-danger")){
|
||||
document.getElementById("mainTime").classList.remove("bg-danger")
|
||||
}
|
||||
};
|
||||
ws.onclose = function() {
|
||||
// alert("WS Connection Closed");
|
||||
if(!document.getElementById("mainTime").classList.contains("bg-danger")){
|
||||
document.getElementById("mainTime").classList.add("bg-danger")
|
||||
}
|
||||
};
|
||||
ws.onmessage = function(event) {
|
||||
console.log(event.data);
|
||||
var data = JSON.parse(event.data);
|
||||
document.getElementById("counter").innerHTML = data.counter;
|
||||
if (data.NTPTime=="N/A") document.getElementById("btnNTP").disabled = true;
|
||||
else document.getElementById("btnNTP").disabled = false;
|
||||
document.getElementById("counter").innerHTML = data.counter+";"+data.counter2;
|
||||
document.getElementById("currenttrack").innerHTML = data.curTrip;
|
||||
document.getElementById("currenttime").innerHTML = data.curTime;
|
||||
document.getElementById("speed").innerHTML = data.curTripSpeed;
|
||||
@ -469,9 +491,9 @@ const char HTML_SETTIME[] PROGMEM = R"rawliteral(
|
||||
<script src="bootstrap.bundle.min.js"></script>
|
||||
<div class=" bg-secondary text-white">
|
||||
<div class="row">
|
||||
<div class="col-2 mt-1"><h2><span id="counter">12345</span></h2></div>
|
||||
<div class="col-3 mt-1"><h2>TRACK <span id="currenttrack">A</span></h2></div>
|
||||
<div class="col mt-1"><h2 class="text-center">Time: <span id="currenttime">00:00:00</span></h2></div>
|
||||
<div class="col-2 mt-1"><h6><span id="counter">12345</span></h6></div>
|
||||
<div class="col-3 mt-1"><h2>TRIP <span id="currenttrack">A</span></h2></div>
|
||||
<div class="col mt-1 text-center" id="mainTime"><h2>Time: <span id="currenttime">00:00:00</span></h2></div>
|
||||
<div class="col-3 mt-1 text-end"><h2><span id="speed">123.4</span>Km/h</h2></div>
|
||||
<hr>
|
||||
</div>
|
||||
@ -482,7 +504,7 @@ const char HTML_SETTIME[] PROGMEM = R"rawliteral(
|
||||
<input type="time" step="any" maxlength="6" required oninput="javascript: if (this.value.length > this.maxLength) this.value = this.value.slice(0, this.maxLength);"
|
||||
id="settime" name="settime" size="4">
|
||||
<button class="btn btn-primary mb-2 fw-bold" onclick="setTime(0)">SET Time</button>
|
||||
<button class="btn btn-primary mb-2 fw-bold" onclick="setTime(1)">Use NTP</button>
|
||||
<button id="btnNTP" class="btn btn-primary mb-2 fw-bold" onclick="setTime(1)">Use NTP</button>
|
||||
</h3></div>
|
||||
</div>
|
||||
<button ondblclick="location.href='/menu';" class="btn btn-primary fw-bold btn-sm mt-2 mb-2 ms-3">Back to Menu</button>
|
||||
|
||||
416
src/main.cpp
416
src/main.cpp
@ -70,6 +70,10 @@ String strSetTimeJson="{\"counter\":0}";
|
||||
int globalClientRally=0;
|
||||
int globalClientCalib=0;
|
||||
int globalClientSetTime=0;
|
||||
boolean gHasLcdClient=false;
|
||||
boolean gHasRallyClient=false;
|
||||
boolean gHasCalibClient=false;
|
||||
boolean gHasSetTimeClient=false;
|
||||
|
||||
#define REQUESTCOUNT 3
|
||||
AsyncWebServerRequest *gRequest[REQUESTCOUNT];
|
||||
@ -177,7 +181,7 @@ unsigned int recv_size = 0;
|
||||
unsigned long prevsettime, intervalsettime = 250;
|
||||
unsigned long prevtempint, tempinterval=60000;
|
||||
unsigned long prevtemprally, tempintervalrally=333;
|
||||
unsigned long prevCalculatingRallyMillis, calculatingRallyMillis=1000;
|
||||
unsigned long prevCalculatingRallyMillis, calculatingRallyMillis=500;
|
||||
unsigned long prevcalibrationtime, calibrationtimeinterval = 200;
|
||||
unsigned long updatecounttime=0;
|
||||
float temperature;
|
||||
@ -197,6 +201,7 @@ unsigned long startsavemillis;
|
||||
unsigned long broadcastwebsocket;
|
||||
unsigned long timerWebsocketCalibration;
|
||||
unsigned long timerWebsocketSetTime;
|
||||
unsigned long timerDS3231Get;
|
||||
volatile unsigned long howLongInMillis;
|
||||
|
||||
//#include <Button.h> //https://github.com/JChristensen/Button //from <Button.h> change to <JC_Button.h>
|
||||
@ -430,98 +435,101 @@ void OnWiFiEvent(WiFiEvent_t event)
|
||||
}
|
||||
}
|
||||
|
||||
String getPin(){
|
||||
struct tm timeinfo;
|
||||
String hasil;
|
||||
if(!getLocalTime(&timeinfo)){
|
||||
Serial.println("Failed to obtain time");
|
||||
return hasil;
|
||||
}
|
||||
// StaticJsonBuffer<200> jsonBuffer;
|
||||
// JsonObject& root = JsonBuffer.createObject();
|
||||
DynamicJsonDocument testdoc(512);
|
||||
//String datetime = &timeinfo;
|
||||
char datetime[21];
|
||||
char curtime[9];
|
||||
strftime(datetime, 21, "%d %b %Y %H:%M:%S", &timeinfo);
|
||||
strftime(curtime, 9, "%H:%M:%S", &timeinfo);
|
||||
//Serial.println(&timeinfo);
|
||||
//Serial.println(datetime);
|
||||
testdoc["pin36"]=242;
|
||||
testdoc["pin39"]=datetime;
|
||||
testdoc["time"]=curtime;
|
||||
// testdoc["datetime"]=datetime;
|
||||
testdoc["pin5"]=millis();
|
||||
testdoc["curtime"]=curtime;
|
||||
testdoc["speed"]=String(float(random(1,20000))/100,1);
|
||||
testdoc["counter"]=random(0,50000);
|
||||
String bb[]={"A","B","C","D","E","F","G","H","I","J","K","L"};
|
||||
testdoc["curtrack"]=bb[random(12)];
|
||||
String dir[]={"FW","STOP","BACK"};
|
||||
testdoc["dir1"]=dir[random(3)];
|
||||
testdoc["dir2"]=dir[random(3)];
|
||||
testdoc["time1"]=curtime;
|
||||
testdoc["time2"]=curtime;
|
||||
float odo1=float(millis())/10000;
|
||||
float odo2=float(millis())/20000;
|
||||
//Serial.println(odo1,3);
|
||||
testdoc["odo1"]=String(odo1,3);
|
||||
testdoc["odo2"]=String(odo2,3); // if disabled, the web will get undefined value
|
||||
//serializeJson(testdoc,Serial);
|
||||
serializeJson(testdoc,hasil);
|
||||
//testdoc.printTo(hasil);
|
||||
// testdoc.clear();
|
||||
return hasil;
|
||||
}
|
||||
String getCalib(){
|
||||
struct tm timeinfo;
|
||||
String hasil;
|
||||
if(!getLocalTime(&timeinfo)){
|
||||
Serial.println("Failed to obtain time");
|
||||
return hasil;
|
||||
}
|
||||
DynamicJsonDocument testdoc(200);
|
||||
//String datetime = &timeinfo;
|
||||
char datetime[21];
|
||||
char curtime[9];
|
||||
strftime(datetime, 21, "%d %b %Y %H:%M:%S", &timeinfo);
|
||||
strftime(curtime, 9, "%H:%M:%S", &timeinfo);
|
||||
//Serial.println(&timeinfo);
|
||||
//Serial.println(datetime);
|
||||
// testdoc["datetime"]=datetime;
|
||||
testdoc["curtime"]=curtime;
|
||||
testdoc["speed"]=String(float(random(1,20000))/100,1);
|
||||
testdoc["counter"]=random(0,50000);
|
||||
String bb[]={"A","B","C","D","E","F","G","H","I","J","K","L"};
|
||||
testdoc["curtrack"]=bb[random(12)];
|
||||
float calkm=float(millis())/100000;
|
||||
float calmeter=float(millis())/100;
|
||||
testdoc["caldist"]=random(9);
|
||||
testdoc["calman"]=random(100000, 150000);
|
||||
testdoc["calkm"]=String(calkm,3);
|
||||
testdoc["calmeter"]=String(calmeter,3);
|
||||
//Serial.println(odo1,3);
|
||||
testdoc["calval"]=String(calmeter*1000); // if disabled, the web will get undefined value
|
||||
//serializeJson(testdoc,Serial);
|
||||
serializeJson(testdoc,hasil);
|
||||
//testdoc.printTo(hasil);
|
||||
// testdoc.clear();
|
||||
return hasil;
|
||||
}
|
||||
// String getPin(){ //can be delete
|
||||
// struct tm timeinfo;
|
||||
// String hasil;
|
||||
// if(!getLocalTime(&timeinfo)){
|
||||
// Serial.println("Failed to obtain time");
|
||||
// return hasil;
|
||||
// }
|
||||
// // StaticJsonBuffer<200> jsonBuffer;
|
||||
// // JsonObject& root = JsonBuffer.createObject();
|
||||
// DynamicJsonDocument testdoc(512);
|
||||
// //String datetime = &timeinfo;
|
||||
// char datetime[21];
|
||||
// char curtime[9];
|
||||
// strftime(datetime, 21, "%d %b %Y %H:%M:%S", &timeinfo);
|
||||
// strftime(curtime, 9, "%H:%M:%S", &timeinfo);
|
||||
// //Serial.println(&timeinfo);
|
||||
// //Serial.println(datetime);
|
||||
// testdoc["pin36"]=242;
|
||||
// testdoc["pin39"]=datetime;
|
||||
// testdoc["time"]=curtime;
|
||||
// // testdoc["datetime"]=datetime;
|
||||
// testdoc["pin5"]=millis();
|
||||
// testdoc["curtime"]=curtime;
|
||||
// testdoc["speed"]=String(float(random(1,20000))/100,1);
|
||||
// testdoc["counter"]=random(0,50000);
|
||||
// String bb[]={"A","B","C","D","E","F","G","H","I","J","K","L"};
|
||||
// testdoc["curtrack"]=bb[random(12)];
|
||||
// String dir[]={"FW","STOP","BACK"};
|
||||
// testdoc["dir1"]=dir[random(3)];
|
||||
// testdoc["dir2"]=dir[random(3)];
|
||||
// testdoc["time1"]=curtime;
|
||||
// testdoc["time2"]=curtime;
|
||||
// float odo1=float(millis())/10000;
|
||||
// float odo2=float(millis())/20000;
|
||||
// //Serial.println(odo1,3);
|
||||
// testdoc["odo1"]=String(odo1,3);
|
||||
// testdoc["odo2"]=String(odo2,3); // if disabled, the web will get undefined value
|
||||
// //serializeJson(testdoc,Serial);
|
||||
// serializeJson(testdoc,hasil);
|
||||
// //testdoc.printTo(hasil);
|
||||
// // testdoc.clear();
|
||||
// return hasil;
|
||||
// }
|
||||
|
||||
// String getCalibFunc(){ can be delete
|
||||
// struct tm timeinfo;
|
||||
// String hasil;
|
||||
// if(!getLocalTime(&timeinfo)){
|
||||
// Serial.println("Failed to obtain time");
|
||||
// return hasil;
|
||||
// }
|
||||
// DynamicJsonDocument testdoc(200);
|
||||
// //String datetime = &timeinfo;
|
||||
// char datetime[21];
|
||||
// char curtime[9];
|
||||
// strftime(datetime, 21, "%d %b %Y %H:%M:%S", &timeinfo);
|
||||
// strftime(curtime, 9, "%H:%M:%S", &timeinfo);
|
||||
// //Serial.println(&timeinfo);
|
||||
// //Serial.println(datetime);
|
||||
// // testdoc["datetime"]=datetime;
|
||||
// testdoc["curtime"]=curtime;
|
||||
// testdoc["speed"]=String(float(random(1,20000))/100,1);
|
||||
// testdoc["counter"]=random(0,50000);
|
||||
// String bb[]={"A","B","C","D","E","F","G","H","I","J","K","L"};
|
||||
// testdoc["curtrack"]=bb[random(12)];
|
||||
// float calkm=float(millis())/100000;
|
||||
// float calmeter=float(millis())/100;
|
||||
// testdoc["caldist"]=random(9);
|
||||
// testdoc["calman"]=random(100000, 150000);
|
||||
// testdoc["calkm"]=String(calkm,3);
|
||||
// testdoc["calmeter"]=String(calmeter,3);
|
||||
// //Serial.println(odo1,3);
|
||||
// testdoc["calval"]=String(calmeter*1000); // if disabled, the web will get undefined value
|
||||
// //serializeJson(testdoc,Serial);
|
||||
// serializeJson(testdoc,hasil);
|
||||
// //testdoc.printTo(hasil);
|
||||
// // testdoc.clear();
|
||||
// return hasil;
|
||||
// }
|
||||
|
||||
void printLocalTime(){
|
||||
struct tm timeinfo;
|
||||
if(!getLocalTime(&timeinfo)){
|
||||
Serial.println("Failed to obtain time");
|
||||
return;
|
||||
}
|
||||
t.hour=timeinfo.tm_hour;
|
||||
t.min=timeinfo.tm_min;
|
||||
t.sec=timeinfo.tm_sec;
|
||||
t.mday=timeinfo.tm_mday;
|
||||
t.mon=timeinfo.tm_mon;
|
||||
t.year=timeinfo.tm_year;
|
||||
DS3231_set(t);
|
||||
if (WiFi.status() == WL_CONNECTED){
|
||||
if(!getLocalTime(&timeinfo)){
|
||||
Serial.println("Failed to obtain NTP time");
|
||||
return;
|
||||
}
|
||||
} else return;
|
||||
// t.hour=timeinfo.tm_hour;
|
||||
// t.min=timeinfo.tm_min;
|
||||
// t.sec=timeinfo.tm_sec;
|
||||
// t.mday=timeinfo.tm_mday;
|
||||
// t.mon=timeinfo.tm_mon;
|
||||
// t.year=timeinfo.tm_year;
|
||||
// DS3231_set(t);
|
||||
Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
|
||||
Serial.print("Day of week: ");
|
||||
Serial.println(&timeinfo, "%A");
|
||||
@ -665,7 +673,7 @@ unsigned long getValueSetTime(const char* st){
|
||||
|
||||
unsigned long getMemStime(uint8_t getmemsTimecurTrip);
|
||||
|
||||
String getsTime(uint8_t getsTimecurtrip){
|
||||
String getShortsTime(uint8_t getsTimecurtrip){
|
||||
unsigned long sTimeinconstanta;
|
||||
int sTimeHour;
|
||||
int sTimeMin;
|
||||
@ -682,7 +690,7 @@ String getsTime(uint8_t getsTimecurtrip){
|
||||
char sTime[6];
|
||||
// if (sTimeHour<10){
|
||||
sprintf(sTime, "%02d:%02d", sTimeHour, sTimeMin);
|
||||
// Serial.print(getsTimecurtrip);Serial.print("getsTime:");Serial.print(sTimeHour);Serial.print(":");Serial.print(sTimeMin);Serial.print(";");Serial.println(sTime);
|
||||
// Serial.print(getsTimecurtrip);Serial.print("getShortsTime:");Serial.print(sTimeHour);Serial.print(":");Serial.print(sTimeMin);Serial.print(";");Serial.println(sTime);
|
||||
// }
|
||||
return sTime;
|
||||
}
|
||||
@ -691,12 +699,14 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT
|
||||
|
||||
if(type == WS_EVT_CONNECT){
|
||||
globalClientRally++;
|
||||
gHasRallyClient=true;
|
||||
Serial.println("Websocket client connection received");
|
||||
Serial.print("Rally Client=");Serial.println(globalClientRally);
|
||||
Serial.print("IPAdd client:"); Serial.println(client->remoteIP());
|
||||
client->text(strRallyJson);
|
||||
} else if(type == WS_EVT_DISCONNECT){
|
||||
globalClientRally--;
|
||||
if (globalClientRally<=0) gHasRallyClient=false;
|
||||
Serial.println("Client disconnected");
|
||||
Serial.print("Rally Client=");Serial.println(globalClientRally);
|
||||
Serial.print("IPAdd client:"); Serial.println(client->remoteIP());
|
||||
@ -815,12 +825,14 @@ void onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventT
|
||||
void onWsEventCalibration(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){
|
||||
if(type == WS_EVT_CONNECT){
|
||||
globalClientCalib++;
|
||||
gHasCalibClient=true;
|
||||
Serial.println("wscal Websocket client connection received");
|
||||
Serial.print("Calib Client=");Serial.println(globalClientCalib);
|
||||
Serial.print("IPAdd client:"); Serial.println(client->remoteIP());
|
||||
client->text(strCalibJson);
|
||||
} else if(type == WS_EVT_DISCONNECT){
|
||||
globalClientCalib--;
|
||||
if (globalClientCalib<=0) gHasCalibClient=false;
|
||||
Serial.println("wscal Client disconnected");
|
||||
Serial.print("Calib Client=");Serial.println(globalClientCalib);
|
||||
Serial.print("IPAdd client:"); Serial.println(client->remoteIP());
|
||||
@ -885,12 +897,14 @@ void onWsEventCalibration(AsyncWebSocket * server, AsyncWebSocketClient * client
|
||||
void onWsEventSetTime(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t *data, size_t len){
|
||||
if(type == WS_EVT_CONNECT){
|
||||
globalClientSetTime++;
|
||||
gHasSetTimeClient=true;
|
||||
Serial.println("wssettime Websocket client connection received");
|
||||
Serial.print("SetTime Client=");Serial.println(globalClientSetTime);
|
||||
Serial.print("IPAdd client:");Serial.println(client->remoteIP());
|
||||
client->text(strSetTimeJson);
|
||||
} else if(type == WS_EVT_DISCONNECT){
|
||||
globalClientSetTime--;
|
||||
if (globalClientSetTime<=0) gHasSetTimeClient=false;
|
||||
Serial.println("wssettime Client disconnected");
|
||||
Serial.print("SetTime Client=");Serial.println(globalClientSetTime);
|
||||
Serial.print("IPAdd client:"); Serial.println(client->remoteIP());
|
||||
@ -924,7 +938,8 @@ void onWsEventSetTime(AsyncWebSocket * server, AsyncWebSocketClient * client, Aw
|
||||
int yMinVal=(uint8_t)(y.toInt());
|
||||
Serial.print("x=");Serial.println(xHourVal);
|
||||
Serial.print("y=");Serial.println(yMinVal);
|
||||
DS3231_get(&mts);
|
||||
//// DS3231_get(&mts);
|
||||
mts = t;
|
||||
mts.sec=0;
|
||||
mts.min=yMinVal;
|
||||
mts.hour=xHourVal;
|
||||
@ -932,18 +947,22 @@ void onWsEventSetTime(AsyncWebSocket * server, AsyncWebSocketClient * client, Aw
|
||||
Serial.println("Manual Time Saved");
|
||||
// } else if(setTime=="NTP") { //save NTP Time to DS3231
|
||||
} else if(strcmp(setTime, "NTP") == 0) { //save NTP Time to DS3231
|
||||
if(!getLocalTime(&mtm)){
|
||||
Serial.println("Failed to obtain NTP time");
|
||||
// return;
|
||||
}
|
||||
mts.hour = mtm.tm_hour;
|
||||
mts.min = mtm.tm_min;
|
||||
mts.sec = mtm.tm_sec;
|
||||
mts.mday = mtm.tm_mday;
|
||||
mts.mon = mtm.tm_mon;
|
||||
mts.year = mtm.tm_year;
|
||||
DS3231_set(mts);
|
||||
Serial.println("NTP Saved");
|
||||
if (WiFi.status() == WL_CONNECTED){
|
||||
if(!getLocalTime(&mtm)){
|
||||
Serial.println("<SetTime>Failed to obtain NTP time");
|
||||
// return;
|
||||
} else {
|
||||
mts.hour = mtm.tm_hour;
|
||||
mts.min = mtm.tm_min;
|
||||
mts.sec = mtm.tm_sec;
|
||||
mts.mday = mtm.tm_mday;
|
||||
mts.mon = mtm.tm_mon;
|
||||
mts.year = mtm.tm_year;
|
||||
DS3231_set(mts);
|
||||
Serial.println("NTP Saved");
|
||||
}
|
||||
}
|
||||
// else Serial.println("<SetTime>No WiFi");
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1039,6 +1058,10 @@ void memretrieveTrip(int pointer, int startaddress)
|
||||
if (Trip[pointer].startHour >= 24) Trip[pointer].startHour = 23;
|
||||
if (Trip[pointer].startMin >= 60) Trip[pointer].startMin = 59;
|
||||
if (Trip[pointer].startSec >= 60) Trip[pointer].startSec = 59;
|
||||
Serial.print(Trip[pointer].speed);Serial.print(";");
|
||||
Serial.print(Trip[pointer].startHour);Serial.print(":");
|
||||
Serial.print(Trip[pointer].startMin);Serial.print(":");
|
||||
Serial.print(Trip[pointer].startSec);Serial.println("");
|
||||
}
|
||||
|
||||
void constantatodigit()
|
||||
@ -1169,7 +1192,7 @@ void lcdprint2digit(byte val)
|
||||
if (val<10) lcd.print("0");
|
||||
lcd.print(val);
|
||||
}
|
||||
void setTheTime(char *cmd)
|
||||
void setTheTime(char *cmd) //// Not Used, Maybe Can delete
|
||||
{
|
||||
// ssmmhhWDDMMYYYY set time
|
||||
|
||||
@ -1440,7 +1463,7 @@ void constantaMenu()
|
||||
//lcd.print(
|
||||
lcd.setCursor(0,3);
|
||||
lcd.print("Start Time:");
|
||||
//DS3231_get(&t); //Get time
|
||||
|
||||
lcd.setCursor(12,3); //Go to second line of the LCD Screen
|
||||
if(starttracthour<10)
|
||||
{
|
||||
@ -1595,7 +1618,8 @@ void redrawcalibrationMenuForESP32()
|
||||
Calibrationtime = VSSCount;
|
||||
// lcd.setCursor(xtemp,2);
|
||||
// lcd.print(cur_distance_str);
|
||||
getCalib["counter"]=VSSCount; /////
|
||||
getCalib["counter2"]=VSSCount; /////
|
||||
getCalib["counter"]=String(gVSSCountDiff);
|
||||
getCalib["curTrip"]=String(Trip[curTrip].sub); /////
|
||||
getCalib["curTripSpeed"]=String(Trip[curTrip].speed); /////
|
||||
// String curTime = runningtimeforESP32(6,0);
|
||||
@ -1623,23 +1647,28 @@ void fillSetTimeJsonForESP32()
|
||||
{
|
||||
DynamicJsonDocument docSetTime(512);
|
||||
deserializeJson(docSetTime, strSetTimeJson);
|
||||
|
||||
docSetTime["counter"]=VSSCount; /////
|
||||
|
||||
docSetTime["counter2"]=VSSCount; /////
|
||||
docSetTime["counter"]=String(gVSSCountDiff);
|
||||
docSetTime["curTrip"]=String(Trip[curTrip].sub); /////
|
||||
docSetTime["curTripSpeed"]=String(Trip[curTrip].speed); /////
|
||||
DS3231_get(&t);
|
||||
// DS3231_get(&t);
|
||||
struct tm NTPTimeInfo;
|
||||
if(!getLocalTime(&NTPTimeInfo)){
|
||||
Serial.println("Failed to obtain NTP time");
|
||||
// return;
|
||||
String NTPTime;
|
||||
if (WiFi.status() == WL_CONNECTED){
|
||||
if(!getLocalTime(&NTPTimeInfo)){
|
||||
Serial.println("<fillSetTime>Failed to obtain NTP time");
|
||||
// return;
|
||||
}
|
||||
NTPTime = runningtimeforESP32(&NTPTimeInfo);
|
||||
docSetTime["NTPTime"]=NTPTime;
|
||||
} else {
|
||||
// Serial.println("<fillSetTime>No WiFi");
|
||||
docSetTime["NTPTime"]="N/A";
|
||||
}
|
||||
gcurTime = runningtimeforESP32(6,0);
|
||||
String NTPTime;
|
||||
NTPTime = runningtimeforESP32(&NTPTimeInfo);
|
||||
docSetTime["curTime"]=gcurTime;
|
||||
|
||||
docSetTime["NTPTime"]=NTPTime;
|
||||
|
||||
strSetTimeJson = "";
|
||||
serializeJson(docSetTime, strSetTimeJson);
|
||||
}
|
||||
@ -1674,7 +1703,7 @@ void fillSetTimeJsonForESP32()
|
||||
void redrawrallyMenu()
|
||||
{
|
||||
// Serial.println("redrawRM");
|
||||
DS3231_get(&t); //Get time
|
||||
// DS3231_get(&t); //Get time
|
||||
//runningtime(6,0);
|
||||
//float distance, distance1, distance2;
|
||||
|
||||
@ -1884,7 +1913,7 @@ void calculationRally_BACKUP() //calculation only ESP32
|
||||
{
|
||||
DynamicJsonDocument getRally(1024);
|
||||
deserializeJson(getRally, strRallyJson);
|
||||
DS3231_get(&t); //Get time
|
||||
// DS3231_get(&t); //Get time
|
||||
// Serial.println("startCRal");
|
||||
updateCount();
|
||||
|
||||
@ -2073,7 +2102,7 @@ void calculationRally_BACKUP() //calculation only ESP32
|
||||
|
||||
void calculationRally() //calculation only ESP32
|
||||
{
|
||||
DS3231_get(&t); //Get time
|
||||
// DS3231_get(&t); //Get time
|
||||
// Serial.println("startCRal");
|
||||
updateCount();
|
||||
|
||||
@ -2390,14 +2419,30 @@ void IRAM_ATTR isr() { //esp32 only
|
||||
ledstate=!ledstate;
|
||||
}
|
||||
|
||||
void convertJsonTripToTripStruct(uint8_t iTrip, const char* strJson){
|
||||
void convertJsonTripToTripStruct(uint8_t iTrip, const char* strJson){ //this also will check if loaded dist and time equal to the value from spiff and memload
|
||||
// Serial.print(iTrip); Serial.print(";");Serial.println(strJson);
|
||||
DynamicJsonDocument doc(256);
|
||||
deserializeJson(doc, strJson);
|
||||
char mspeed[7];
|
||||
|
||||
dtostrf(Trip[iTrip].speed, 6, 4, mspeed);
|
||||
Serial.print(String(char(iTrip)));Serial.print(mspeed);Serial.print(" VS ");Serial.println(doc["speed"].as<String>());
|
||||
// if (Trip[iTrip].speed!=doc["speed"])
|
||||
if (strcmp(mspeed, doc["speed"].as<const char*>()) != 0)
|
||||
{
|
||||
Serial.print(String(char(iTrip)));Serial.println(" speed is different");
|
||||
// Serial.print(String(char(iTrip)));Serial.print(Trip[iTrip].speed);Serial.print(" VS ");Serial.println(doc["speed"].as<String>());
|
||||
// Trip[iTrip].speed = doc["speed"];
|
||||
}
|
||||
// if (Trip[iTrip].subTime!=doc["stime"])
|
||||
// {
|
||||
// Serial.print(String(iTrip));Serial.print(Trip[iTrip].subTime);Serial.print(" VS ");Serial.println(doc["time"].as<String>());
|
||||
// Trip[iTrip].subTime = doc["time"];
|
||||
// }
|
||||
Trip[iTrip].distance = doc["dist"];
|
||||
Trip[iTrip].subTime = doc["time"];
|
||||
}
|
||||
void fillTripArray(){
|
||||
void fillTripArray(){ //run by setup()
|
||||
char tempTrip[7]="/tripZ";
|
||||
// Serial.println(tempTrip);
|
||||
String tempReadFile;
|
||||
@ -2473,7 +2518,7 @@ void handleloadConst(AsyncWebServerRequest *request, JsonVariant &json) {
|
||||
deserializeJson(doc, tempTrip);
|
||||
speedinconstanta = getMemSpeedInConstanta(i-65);
|
||||
// sTimeinconstanta = getMemStime(i-65);
|
||||
tempsTime = getsTime(i-65);
|
||||
tempsTime = getShortsTime(i-65);
|
||||
tempSpeed=String(speedinconstanta,5);
|
||||
tempSpeed.remove(6);
|
||||
// Serial.print(tempSpeed);Serial.println(speedinconstanta,3);
|
||||
@ -2528,11 +2573,8 @@ char* unConstChar(const char* s) {
|
||||
}
|
||||
}
|
||||
|
||||
char *temp2char;
|
||||
// char *charVal;
|
||||
char gsTime[10];
|
||||
char gSpeed[10];
|
||||
void getTripFromSPIFF(uint8_t charcurTrip, char *&pDist, char **pSpeed, char **pTime, char **psTime){
|
||||
void getTripFromSPIFF(uint8_t charcurTrip, char *pDist, char *pSpeed, char *pTime, char *psTime){ //read from the source ie:from mem and from SPIFF. not read fromStruct Trip.
|
||||
// void getTripFromSPIFF(uint8_t charcurTrip, char *&pDist, char **pSpeed, char **pTime, char **psTime){
|
||||
// Serial.print((uint32_t) psTime);Serial.print(";");Serial.print((uint32_t) *psTime);Serial.print(";");Serial.println((uint32_t) **psTime);
|
||||
DynamicJsonDocument doc(200);
|
||||
char filename[7] = "/tripZ";
|
||||
@ -2543,52 +2585,25 @@ void getTripFromSPIFF(uint8_t charcurTrip, char *&pDist, char **pSpeed, char **
|
||||
tempSpeed.reserve(10);
|
||||
String tempsTime;
|
||||
tempsTime.reserve(10);
|
||||
// for(uint8_t i=65; i<TRIPSIZE+65; i++){
|
||||
tempTrip=readFile(SPIFFS, filename);
|
||||
// Serial.print(tempTrip.length()); Serial.print(";");Serial.println(tempTrip);
|
||||
deserializeJson(doc, tempTrip);
|
||||
// speedinconstanta = getMemSpeedInConstanta(i-65);
|
||||
// sTimeinconstanta = getMemStime(i-65);
|
||||
// *pDist = doc["dist"];
|
||||
// String xTemp1;
|
||||
// xTemp.reserve(10);
|
||||
// xTemp1=doc["dist"].as<String>();
|
||||
// *pDist = (char*)xTemp1.c_str();
|
||||
// char charVal[10];
|
||||
float speedinconstanta = getMemSpeedInConstanta(charcurTrip-65);
|
||||
tempsTime = getsTime(charcurTrip-65);
|
||||
// Serial.print(speedinconstanta);Serial.print(";");
|
||||
// Serial.print(tempsTime);Serial.println(";");
|
||||
pDist = unConstChar( doc["dist"].as<const char*>());
|
||||
// *pDist = "hi";
|
||||
// *pSpeed = (char*)doc["speed"].as<const char*>(); //take from the eeprom data
|
||||
*pTime = (char*)doc["time"].as<const char*>();
|
||||
// *psTime = (char*)doc["stime"].as<const char*>();
|
||||
// *pSpeed =(char*) (String(speedinconstanta,4).c_str()); //not working
|
||||
// char hsTime[10];
|
||||
char charVal[10];
|
||||
tempsTime.toCharArray(gsTime, 10);
|
||||
dtostrf(speedinconstanta,1,4,gSpeed);
|
||||
// Serial.println(gsTime);
|
||||
// const char *tempchar=tempsTime.c_str();
|
||||
// temp2char=(char*)tempchar;
|
||||
// Serial.println(tempchar);
|
||||
// Serial.println((char*)tempchar);
|
||||
// Serial.println(temp2char);
|
||||
// Serial.println((uint32_t) &temp2char);
|
||||
// Serial.println((uint32_t) temp2char);
|
||||
// *psTime = &(char*)tempchar;
|
||||
// *psTime = temp2char;
|
||||
// strncpy(charVal, tempsTime.c_str(), 6);
|
||||
*psTime = gsTime;
|
||||
// *psTime = charVal;
|
||||
*pSpeed = gSpeed;
|
||||
// Serial.println((uint32_t) gsTime);
|
||||
// Serial.println((uint32_t) *psTime);
|
||||
// dtostrf(speedinconstanta,1,4,charVal);
|
||||
// *pSpeed = charVal;
|
||||
// Serial.println(charVal);
|
||||
|
||||
tempTrip=readFile(SPIFFS, filename);
|
||||
// Serial.print(tempTrip.length()); Serial.print(";");Serial.println(tempTrip);
|
||||
deserializeJson(doc, tempTrip);
|
||||
|
||||
float speedinconstanta = getMemSpeedInConstanta(charcurTrip-65);
|
||||
tempsTime = getShortsTime(charcurTrip-65);
|
||||
tempsTime.toCharArray(psTime, 10); // cannot use strcpy
|
||||
// Serial.print(speedinconstanta);Serial.print(";");
|
||||
// Serial.print(tempsTime);Serial.println(";");
|
||||
// pDist = unConstChar( doc["dist"].as<const char*>());
|
||||
strcpy(pDist, doc["dist"]);
|
||||
|
||||
// pTime = (char*)doc["time"].as<const char*>();
|
||||
strcpy(pTime, doc["time"]);
|
||||
|
||||
dtostrf(speedinconstanta,6,4,pSpeed);
|
||||
// dtostrf(speedinconstanta,1,4,gSpeed);
|
||||
// Serial.println(gsTime);
|
||||
}
|
||||
void handleConstantaHTML(AsyncWebServerRequest *request) {
|
||||
//PAGE.replace("%serveripaddress%", WiFi.localIP().toString());
|
||||
@ -2606,10 +2621,10 @@ void handleConstantaHTML(AsyncWebServerRequest *request) {
|
||||
PAGEROW.reserve(pageZiseConstRow);
|
||||
|
||||
PAGE = FPSTR(HTML_CONSTHEADER);
|
||||
char *xDist;
|
||||
char *xSpeed;
|
||||
char *xTime;
|
||||
char *xsTime;
|
||||
char xDist[8];
|
||||
char xSpeed[8];
|
||||
char xTime[8];
|
||||
char xsTime[8];
|
||||
for (uint8_t i=65; i<(TRIPSIZE+65); i++){
|
||||
PAGEROW = FPSTR(HTML_CONSTROW);
|
||||
PAGEROW.replace("%A%", String(char(i)));
|
||||
@ -2620,7 +2635,8 @@ void handleConstantaHTML(AsyncWebServerRequest *request) {
|
||||
// Serial.println(PAGEROW);
|
||||
// Fill with data
|
||||
// Serial.print((uint32_t) xsTime);Serial.print(";");Serial.print((uint32_t) *xsTime);Serial.print(";");Serial.println((uint32_t) &xsTime);
|
||||
getTripFromSPIFF(i, xDist, &xSpeed, &xTime, &xsTime);
|
||||
// getTripFromSPIFF(i, xDist, &xSpeed, &xTime, &xsTime);
|
||||
getTripFromSPIFF(i, xDist, xSpeed, xTime, xsTime);
|
||||
// Serial.print((uint32_t) xsTime);Serial.print(";");Serial.print((uint32_t) *xsTime);Serial.print(";");Serial.println((uint32_t) &xsTime);
|
||||
Serial.print(String(char(i)));Serial.print(";");
|
||||
Serial.print(xDist);Serial.print(";");
|
||||
@ -2667,7 +2683,6 @@ void handlesetConst(AsyncWebServerRequest *request, JsonVariant &json){
|
||||
} else {
|
||||
canSave = false;
|
||||
}
|
||||
|
||||
// const char* speed = data["speed"].as<const char*>();
|
||||
float speed = data["speed"].as<float>();
|
||||
float dist = data["dist"].as<float>();
|
||||
@ -2796,7 +2811,7 @@ Trip[9].startSec = 58;
|
||||
#ifdef DEBUG
|
||||
Serial.println("Setting time");
|
||||
#endif
|
||||
DS3231_init(DS3231_CONTROL_INTCN);
|
||||
DS3231_init(DS3231_CONTROL_INTCN); //0X4 address
|
||||
DS3231_get(&t); //Get time
|
||||
|
||||
blinkON=false;
|
||||
@ -2804,10 +2819,11 @@ Trip[9].startSec = 58;
|
||||
min60=t.min;
|
||||
hour24=t.hour;
|
||||
|
||||
delay(100); // delay for reading mem.read
|
||||
|
||||
//mainMenu();
|
||||
printUPchar();
|
||||
printDOWNchar();
|
||||
delay(100); // delay for reading mem.read
|
||||
count1 = memretrieveLong(count1Address, RRcountSIZE, count1Seq); //(int startaddress, byte RRsize, unsigned long seq)
|
||||
Serial.println(count1Seq);
|
||||
int countaddresspointer = count1count2diffAddress*32;
|
||||
@ -2938,7 +2954,7 @@ Serial.println("calibration and constanta");
|
||||
}
|
||||
Serial.print("try to connect to ssid:");Serial.print(ssid);Serial.print("; with pwd:");Serial.println(password);
|
||||
WiFi.begin(ssid, password);
|
||||
if (WiFi.waitForConnectResult() != WL_CONNECTED) {
|
||||
if (WiFi.waitForConnectResult(15000) != WL_CONNECTED) {
|
||||
Serial.println("WiFi Failed!");
|
||||
//return;
|
||||
}
|
||||
@ -4155,11 +4171,13 @@ void loop() //loop from VSS RALLY V2
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
gHasLcdClient=false;
|
||||
if (MENU==RALLY) {
|
||||
gHasLcdClient=true; //to start the get DS3231 time
|
||||
if (((now1 - prevtemprally) >= tempintervalrally) && !isloadingConst) {
|
||||
//if ((long)(now1 - prevtemprally) >= 0) {
|
||||
testLoadTime=millis();
|
||||
|
||||
//rallyMenu();
|
||||
if (!rallyEdit) {
|
||||
iscalculatingRally=true;
|
||||
@ -4169,14 +4187,15 @@ void loop() //loop from VSS RALLY V2
|
||||
fillRallyLCDScreen();
|
||||
iscalculatingRally=false;
|
||||
}
|
||||
Serial.println(millis()-testLoadTime);
|
||||
// Serial.println(millis()-testLoadTime);
|
||||
prevtemprally=now1;
|
||||
//prevtemprally+=tempintervalrally;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if (MENU==SETTIME) {
|
||||
gHasLcdClient=true;
|
||||
//if ((long)(now1 - prevtempint) >=0 ){
|
||||
if ((now1 - prevtempint) >=tempinterval ){
|
||||
temperature = DS3231_get_treg(); //Get temperature
|
||||
@ -4193,7 +4212,7 @@ void loop() //loop from VSS RALLY V2
|
||||
}
|
||||
//if ((long)(now1- prevsettime) >=0 ){ //show SET TIME MENU
|
||||
if ((now1 - prevsettime) >=intervalsettime ){ //show SET TIME MENU
|
||||
DS3231_get(&t); //Get time
|
||||
// DS3231_get(&t); //Get time
|
||||
if (prevsec!=t.sec) { //will update the LCD every sec(as long as the t.sec is different) eventhough intervalseetime is 250ms
|
||||
settimeMenu();
|
||||
prevsettime = now1;
|
||||
@ -4235,7 +4254,7 @@ void loop() //loop from VSS RALLY V2
|
||||
else if (VSSCountDiff < 70) intervalsavemillis = 60000;
|
||||
else intervalsavemillis = 4000000;
|
||||
if (VSSCountDiff > 0) savedCount = false;
|
||||
if ((MENU!=CALIBRATION && MENU!=MAIN && MENU!=CONSTANTA) || globalClientRally) {
|
||||
if ((MENU!=CALIBRATION && MENU!=MAIN && MENU!=CONSTANTA) || gHasRallyClient) {
|
||||
// lcd.setCursor(0,0); ///
|
||||
if (VSSCountDiff==0) gVSSCountDiff='0';//lcd.print("0");
|
||||
else if (VSSCountDiff <= 10) gVSSCountDiff='1';//lcd.print("1");
|
||||
@ -4266,7 +4285,7 @@ void loop() //loop from VSS RALLY V2
|
||||
lcd.setCursor(x,y);
|
||||
}
|
||||
*/
|
||||
if ((millis()-updatecounttime)>=250) {
|
||||
if ((millis()-updatecounttime)>=50) {
|
||||
// if ((millis()-updatecounttime)>=250) {
|
||||
updateCount();
|
||||
updatecounttime = millis();
|
||||
@ -4281,20 +4300,20 @@ void loop() //loop from VSS RALLY V2
|
||||
startsavemillis = millis();
|
||||
}
|
||||
|
||||
if ((MENU==RALLY || globalClientRally) && ((now1 - prevCalculatingRallyMillis)>=calculatingRallyMillis)){
|
||||
if ((MENU==RALLY || gHasRallyClient) && ((now1 - prevCalculatingRallyMillis)>=calculatingRallyMillis)){
|
||||
if(semaphoreS){
|
||||
prevCalculatingRallyMillis=millis();
|
||||
Serial.println("St calculationRally()");
|
||||
// Serial.println("St calculationRally()");
|
||||
semaphoreS=false;
|
||||
calculationRally();
|
||||
Serial.print("end calculationRally() in:");Serial.println(millis()-prevCalculatingRallyMillis);
|
||||
// Serial.print("end calculationRally() in:");Serial.println(millis()-prevCalculatingRallyMillis);
|
||||
prevCalculatingRallyMillis=now1;
|
||||
|
||||
semaphoreS=true;
|
||||
}
|
||||
}
|
||||
|
||||
if ((millis()-broadcastwebsocket) > 330 && !isloadingConst && globalClientRally) {
|
||||
if ((millis()-broadcastwebsocket) > 330 && !isloadingConst && gHasRallyClient) {
|
||||
broadcastwebsocket = micros();
|
||||
iscalculatingRally=true;
|
||||
// calculationRally();
|
||||
@ -4307,20 +4326,25 @@ void loop() //loop from VSS RALLY V2
|
||||
broadcastwebsocket = millis();
|
||||
}
|
||||
|
||||
if ((millis()-timerWebsocketCalibration) > 499 && !isloadingConst && globalClientCalib) {
|
||||
if ((millis()-timerWebsocketCalibration) > 499 && !isloadingConst && gHasCalibClient) {
|
||||
timerWebsocketCalibration = millis();
|
||||
// if (globalClientCalib) {
|
||||
// if (gHasCalibClient) {
|
||||
redrawcalibrationMenuForESP32();
|
||||
wscal.textAll(strCalibJson);
|
||||
// }
|
||||
}
|
||||
|
||||
if ((millis()-timerWebsocketSetTime) > 1000 && globalClientSetTime) {
|
||||
if ((millis()-timerWebsocketSetTime) > 450 && gHasSetTimeClient) {
|
||||
timerWebsocketSetTime = millis();
|
||||
fillSetTimeJsonForESP32();
|
||||
wssettime.textAll(strSetTimeJson);
|
||||
}
|
||||
|
||||
if ((millis()-timerDS3231Get) > 500 && (gHasCalibClient || gHasRallyClient || gHasSetTimeClient || gHasLcdClient)) {
|
||||
timerDS3231Get = millis();
|
||||
DS3231_get(&t);
|
||||
// Serial.println("<DS3231_get>");
|
||||
}
|
||||
if(!isloadingConst){
|
||||
for (int i=(REQUESTCOUNT-1); i>=0; i--){
|
||||
// for (int i=0; i<REQUESTCOUNT; i++){
|
||||
|
||||
Loading…
Reference in New Issue
Block a user