This commit is contained in:
Bluedragon 2022-04-27 02:31:27 +07:00
parent cdfac6ba65
commit 60acbe65d1
2 changed files with 101 additions and 94 deletions

View File

@ -42,7 +42,7 @@ const char HTML_startrally1[] PROGMEM = R"rawliteral(
}
}
ping++;
document.getElementById("counter").innerHTML = data.counter;
document.getElementById("counter").innerHTML = data.counter+";"+data.counter2;
document.getElementById("currenttime").innerHTML = data.Time;
document.getElementById("currenttrack").innerHTML = data.Trip;
document.getElementById("tripspeed").innerHTML = data.TSpeed;

View File

@ -1384,7 +1384,16 @@ void redrawcalibrationMenu()
lcd.print(cur_distance_str);
// }
}
String gcurTime;
// Declaration for calculationRally Variable
char gcur_speed_str[6];
char gcur_distance1_str[7];
char gcur_distance2_str[7];
char gcur_time1_str[12];
char gcur_time2_str[12];
String gcurTime;
char gcurTripStartTime[9]; // sTime
char gVSSCountDiff;
void redrawcalibrationMenuForESP32()
{
DynamicJsonDocument getCalib(512);
@ -1447,13 +1456,7 @@ void redrawcalibrationMenuForESP32()
// else lcd.print(v);
// }
char cur_speed_str[6];
char cur_distance1_str[7];
char cur_distance2_str[7];
char cur_time1_str[12];
char cur_time2_str[12];
// String gcurTime; // dah di declare di atas
void redrawrallyMenu()
{
@ -1509,7 +1512,7 @@ void redrawrallyMenu()
int speedtemp=(int)speed1;
int speedtemp2=(int)((speed1 - (int)speed1)*10);
sprintf(cur_speed_str, "%3d.%01d", speedtemp , speedtemp2 );
sprintf(gcur_speed_str, "%3d.%01d", speedtemp , speedtemp2 );
// Serial.print(count1); Serial.print(";");Serial.print(Calibration); Serial.print(";");Serial.print(speed1); Serial.print(";");Serial.println(cur_speed_str);
// Serial.print(distance1); Serial.print(";");Serial.print(startdistance); Serial.print(";");Serial.print(startspeed); Serial.println(";");
// lcd.print(cur_speed_str);
@ -1518,25 +1521,25 @@ void redrawrallyMenu()
// lcd.setCursor(0,1);
if (distance1<100) {
sprintf(cur_distance1_str, "%02d.%03d", (int)distance1, (int)((distance1 - (int)distance1)*1000));
sprintf(gcur_distance1_str, "%02d.%03d", (int)distance1, (int)((distance1 - (int)distance1)*1000));
}
else if (distance1<1000) {
sprintf(cur_distance1_str, "%02d.%02d", (int)distance1, (int)((distance1 - (int)distance1)*100));
sprintf(gcur_distance1_str, "%02d.%02d", (int)distance1, (int)((distance1 - (int)distance1)*100));
}
else {
sprintf(cur_distance1_str, "%03d.%01d", (int)distance1, (int)((distance1 - (int)distance1)*10));
sprintf(gcur_distance1_str, "%03d.%01d", (int)distance1, (int)((distance1 - (int)distance1)*10));
}
// lcd.print(cur_distance1_str);
// lcd.setCursor(0,3);
if (distance2<100) {
sprintf(cur_distance2_str, "%02d.%03d", (int)distance2, (int)((distance2 - (int)distance2)*1000));
sprintf(gcur_distance2_str, "%02d.%03d", (int)distance2, (int)((distance2 - (int)distance2)*1000));
}
else if (distance2<1000) {
sprintf(cur_distance2_str, "%02d.%02d", (int)distance2, (int)((distance2 - (int)distance2)*100));
sprintf(gcur_distance2_str, "%02d.%02d", (int)distance2, (int)((distance2 - (int)distance2)*100));
}
else {
sprintf(cur_distance2_str, "%03d.%01d", (int)distance2, (int)((distance2 - (int)distance2)*10));
sprintf(gcur_distance2_str, "%03d.%01d", (int)distance2, (int)((distance2 - (int)distance2)*10));
}
// lcd.print(cur_distance2_str);
// Serial.print(";redrawRM 3;");
@ -1582,13 +1585,13 @@ void redrawrallyMenu()
// char cur_time1_str[12];
if (showTIME) {
// sprintf(cur_time1_str, "%s %02d:%02d:%02d", dircount[dircount1], hours1, mins1, secs1);
sprintf(cur_time1_str, " %02d:%02d:%02d", hours1, mins1, secs1);
sprintf(gcur_time1_str, " %02d:%02d:%02d", hours1, mins1, secs1);
}
else {
// if (hours1 < 10) sprintf(cur_time1_str, "%s %s%01d:%02d:%02d", dircount[dircount1], (negatifsign1?"-":" "), hours1, mins1, secs1);
if (hours1 < 10) sprintf(cur_time1_str, " %s%01d:%02d:%02d", (negatifsign1?"-":" "), hours1, mins1, secs1);
if (hours1 < 10) sprintf(gcur_time1_str, " %s%01d:%02d:%02d", (negatifsign1?"-":" "), hours1, mins1, secs1);
// else sprintf(cur_time1_str, "%s%s%02d:%02d:%02d", dircount[dircount1], (negatifsign1?"-":" "), hours1, mins1, secs1);
else sprintf(cur_time1_str, "%s%02d:%02d:%02d", (negatifsign1?"-":" "), hours1, mins1, secs1);
else sprintf(gcur_time1_str, "%s%02d:%02d:%02d", (negatifsign1?"-":" "), hours1, mins1, secs1);
}
// lcd.setCursor(9,1);
@ -1622,11 +1625,11 @@ void redrawrallyMenu()
secs2 = (tottime2 % 60);
// char cur_time2_str[12];
if (showTIME) {
sprintf(cur_time2_str, " %02d:%02d:%02d", hours2, mins2, secs2);
sprintf(gcur_time2_str, " %02d:%02d:%02d", hours2, mins2, secs2);
}
else {
if (hours2<10) sprintf(cur_time2_str, " %s%01d:%02d:%02d", (negatifsign2?"-":" "), hours2, mins2, secs2);
else sprintf(cur_time2_str, "%s%02d:%02d:%02d", (negatifsign2?"-":" "), hours2, mins2, secs2);
if (hours2<10) sprintf(gcur_time2_str, " %s%01d:%02d:%02d", (negatifsign2?"-":" "), hours2, mins2, secs2);
else sprintf(gcur_time2_str, "%s%02d:%02d:%02d", (negatifsign2?"-":" "), hours2, mins2, secs2);
}
lcd.setCursor(4,0);
@ -1636,27 +1639,27 @@ void redrawrallyMenu()
lcd.print("Km/H");
lcd.setCursor(11,2);
lcd.print(cur_speed_str);
lcd.print(gcur_speed_str);
lcd.print("Km/H");
lcd.setCursor(0,1);
lcd.print(cur_distance1_str);
lcd.print(gcur_distance1_str);
lcd.print("Km");
lcd.setCursor(9,1);
lcd.print(dircount[dircount1]);
lcd.print(cur_time1_str);
lcd.print(gcur_time1_str);
lcd.setCursor(0,3);
lcd.print(cur_distance2_str);
lcd.print(gcur_distance2_str);
lcd.print("Km");
lcd.setCursor(9,3);
lcd.print(dircount[dircount2]);
lcd.print(cur_time2_str);
lcd.print(gcur_time2_str);
// Serial.print("x=");Serial.print(x);Serial.print("y=");Serial.print(y);Serial.println("");
@ -1719,40 +1722,40 @@ void calculationRally_BACKUP() //calculation only ESP32
getRally["Time"]=gcurTime;
// lcd.setCursor(11,2);
// char cur_speed_str[6];
sprintf(cur_speed_str, "%3d.%01d", (int)speed1, (int)((speed1 - (int)speed1)*10));
sprintf(gcur_speed_str, "%3d.%01d", (int)speed1, (int)((speed1 - (int)speed1)*10));
// lcd.print(cur_speed_str);
getRally["curSpeed"]=cur_speed_str; /////
getRally["curSpeed"]=gcur_speed_str; /////
// char cur_distance1_plain[7];
// char cur_distance2_plain[7];
// lcd.setCursor(0,1);
if (distance1<100) {
sprintf(cur_distance1_str, "%02d.%03d", (int)distance1, (int)((distance1 - (int)distance1)*1000));
sprintf(gcur_distance1_str, "%02d.%03d", (int)distance1, (int)((distance1 - (int)distance1)*1000));
}
else if (distance1<1000) {
sprintf(cur_distance1_str, "%02d.%02d", (int)distance1, (int)((distance1 - (int)distance1)*100));
sprintf(gcur_distance1_str, "%02d.%02d", (int)distance1, (int)((distance1 - (int)distance1)*100));
}
else {
sprintf(cur_distance1_str, "%03d.%01d", (int)distance1, (int)((distance1 - (int)distance1)*10));
sprintf(gcur_distance1_str, "%03d.%01d", (int)distance1, (int)((distance1 - (int)distance1)*10));
}
// lcd.print(cur_distance1_str);
getRally["curDist1"]=String(cur_distance1_str);
getRally["curDist1"]=String(gcur_distance1_str);
// lcd.setCursor(0,3);
if (distance2<100) {
sprintf(cur_distance2_str, "%02d.%03d", (int)distance2, (int)((distance2 - (int)distance2)*1000));
sprintf(gcur_distance2_str, "%02d.%03d", (int)distance2, (int)((distance2 - (int)distance2)*1000));
}
else if (distance2<1000) {
sprintf(cur_distance2_str, "%02d.%02d", (int)distance2, (int)((distance2 - (int)distance2)*100));
sprintf(gcur_distance2_str, "%02d.%02d", (int)distance2, (int)((distance2 - (int)distance2)*100));
}
else {
sprintf(cur_distance2_str, "%03d.%01d", (int)distance2, (int)((distance2 - (int)distance2)*10));
sprintf(gcur_distance2_str, "%03d.%01d", (int)distance2, (int)((distance2 - (int)distance2)*10));
}
// lcd.print(cur_distance2_str);
getRally["curDist2"]=cur_distance2_str;
getRally["curDist2"]=gcur_distance2_str;
float distancetime1 = distance1 * 60 / constanta;
float distancetime2 = distance2 * 60 / constanta;
@ -1794,14 +1797,14 @@ void calculationRally_BACKUP() //calculation only ESP32
// char cur_time1_plain[10];
if (showTIME) {
sprintf(cur_time1_str, " %02d:%02d:%02d", hours1, mins1, secs1);
sprintf(gcur_time1_str, " %02d:%02d:%02d", hours1, mins1, secs1);
}
else {
if (hours1<10) sprintf(cur_time1_str, " %s%01d:%02d:%02d", (negatifsign?"-":" "), hours1, mins1, secs1);
else sprintf(cur_time1_str, "%s%02d:%02d:%02d", (negatifsign?"-":" "), hours1, mins1, secs1);
if (hours1<10) sprintf(gcur_time1_str, " %s%01d:%02d:%02d", (negatifsign?"-":" "), hours1, mins1, secs1);
else sprintf(gcur_time1_str, "%s%02d:%02d:%02d", (negatifsign?"-":" "), hours1, mins1, secs1);
}
// lcd.print(cur_time1_str);
getRally["time1"]=cur_time1_str;
getRally["time1"]=gcur_time1_str;
getRally["dir1"]=dircount[dircount1];
// Print Second TIME
@ -1836,15 +1839,15 @@ void calculationRally_BACKUP() //calculation only ESP32
// char cur_time2_plain[9];
if (showTIME) {
sprintf(cur_time2_str, " %02d:%02d:%02d", hours2, mins2, secs2);
sprintf(gcur_time2_str, " %02d:%02d:%02d", hours2, mins2, secs2);
}
else {
if (hours2<10) sprintf(cur_time2_str, " %s%01d:%02d:%02d", (negatifsign?"-":" "), hours2, mins2, secs2);
else sprintf(cur_time2_str, "%s%02d:%02d:%02d", (negatifsign?"-":" "), hours2, mins2, secs2);
if (hours2<10) sprintf(gcur_time2_str, " %s%01d:%02d:%02d", (negatifsign?"-":" "), hours2, mins2, secs2);
else sprintf(gcur_time2_str, "%s%02d:%02d:%02d", (negatifsign?"-":" "), hours2, mins2, secs2);
}
// lcd.print(cur_time2_str);
getRally["time2"]=cur_time2_str;
getRally["time2"]=gcur_time2_str;
getRally["dir2"]=dircount[dircount2];
// lcd.setCursor(x,y);
@ -1889,26 +1892,26 @@ void calculationRally() //calculation only ESP32
gcurTime = runningtimeforESP32(6,0);
sprintf(cur_speed_str, "%3d.%01d", (int)speed1, (int)((speed1 - (int)speed1)*10));
sprintf(gcur_speed_str, "%3d.%01d", (int)speed1, (int)((speed1 - (int)speed1)*10));
if (distance1<100) {
sprintf(cur_distance1_str, "%02d.%03d", (int)distance1, (int)((distance1 - (int)distance1)*1000));
sprintf(gcur_distance1_str, "%02d.%03d", (int)distance1, (int)((distance1 - (int)distance1)*1000));
}
else if (distance1<1000) {
sprintf(cur_distance1_str, "%02d.%02d", (int)distance1, (int)((distance1 - (int)distance1)*100));
sprintf(gcur_distance1_str, "%02d.%02d", (int)distance1, (int)((distance1 - (int)distance1)*100));
}
else {
sprintf(cur_distance1_str, "%03d.%01d", (int)distance1, (int)((distance1 - (int)distance1)*10));
sprintf(gcur_distance1_str, "%03d.%01d", (int)distance1, (int)((distance1 - (int)distance1)*10));
}
if (distance2<100) {
sprintf(cur_distance2_str, "%02d.%03d", (int)distance2, (int)((distance2 - (int)distance2)*1000));
sprintf(gcur_distance2_str, "%02d.%03d", (int)distance2, (int)((distance2 - (int)distance2)*1000));
}
else if (distance2<1000) {
sprintf(cur_distance2_str, "%02d.%02d", (int)distance2, (int)((distance2 - (int)distance2)*100));
sprintf(gcur_distance2_str, "%02d.%02d", (int)distance2, (int)((distance2 - (int)distance2)*100));
}
else {
sprintf(cur_distance2_str, "%03d.%01d", (int)distance2, (int)((distance2 - (int)distance2)*10));
sprintf(gcur_distance2_str, "%03d.%01d", (int)distance2, (int)((distance2 - (int)distance2)*10));
}
float distancetime1 = distance1 * 60 / constanta;
@ -1947,11 +1950,11 @@ void calculationRally() //calculation only ESP32
secs1 = (tottime1 % 60);
if (showTIME) {
sprintf(cur_time1_str, " %02d:%02d:%02d", hours1, mins1, secs1);
sprintf(gcur_time1_str, " %02d:%02d:%02d", hours1, mins1, secs1);
}
else {
if (hours1<10) sprintf(cur_time1_str, " %s%01d:%02d:%02d", (negatifsign?"-":" "), hours1, mins1, secs1);
else sprintf(cur_time1_str, "%s%02d:%02d:%02d", (negatifsign?"-":" "), hours1, mins1, secs1);
if (hours1<10) sprintf(gcur_time1_str, " %s%01d:%02d:%02d", (negatifsign?"-":" "), hours1, mins1, secs1);
else sprintf(gcur_time1_str, "%s%02d:%02d:%02d", (negatifsign?"-":" "), hours1, mins1, secs1);
}
// Print Second TIME
@ -1980,11 +1983,11 @@ void calculationRally() //calculation only ESP32
secs2 = (tottime2 % 60);
if (showTIME) {
sprintf(cur_time2_str, " %02d:%02d:%02d", hours2, mins2, secs2);
sprintf(gcur_time2_str, " %02d:%02d:%02d", hours2, mins2, secs2);
}
else {
if (hours2<10) sprintf(cur_time2_str, " %s%01d:%02d:%02d", (negatifsign?"-":" "), hours2, mins2, secs2);
else sprintf(cur_time2_str, "%s%02d:%02d:%02d", (negatifsign?"-":" "), hours2, mins2, secs2);
if (hours2<10) sprintf(gcur_time2_str, " %s%01d:%02d:%02d", (negatifsign?"-":" "), hours2, mins2, secs2);
else sprintf(gcur_time2_str, "%s%02d:%02d:%02d", (negatifsign?"-":" "), hours2, mins2, secs2);
}
// Serial.println("ENDCRal");
} ///// calculation only for esp32
@ -1992,35 +1995,38 @@ void calculationRally() //calculation only ESP32
void fillRallyJsonWithData() {
DynamicJsonDocument getRally(1024);
deserializeJson(getRally, getRallyJson);
getRally["Trip"]=String(Trip[curTrip].sub); /////
getRally["TSpeed"]=String(Trip[curTrip].speed); /////
char sTime[9]; //global can move to the sprintf to change change constanta
sprintf(sTime, "%02u:%02u:%02u", Trip[curTrip].startHour, Trip[curTrip].startMin, Trip[curTrip].startSec);
getRally["TsTime"]=sTime; /////
getRally["TTime"]=String(Trip[curTrip].subTime); /////
getRally["TDist"]=String(Trip[curTrip].distance); /////
getRally["Trip"]=String(Trip[curTrip].sub);
getRally["TSpeed"]=String(Trip[curTrip].speed);
sprintf(gcurTripStartTime, "%02u:%02u:%02u", Trip[curTrip].startHour, Trip[curTrip].startMin, Trip[curTrip].startSec);
getRally["TsTime"]=gcurTripStartTime;
getRally["TTime"]=String(Trip[curTrip].subTime);
getRally["TDist"]=String(Trip[curTrip].distance);
getRally["Time"]=gcurTime;
getRally["curSpeed"]=cur_speed_str; /////
getRally["curDist1"]=String(cur_distance1_str);
getRally["curDist2"]=cur_distance2_str;
getRally["time1"]=cur_time1_str;
getRally["curSpeed"]=gcur_speed_str;
getRally["curDist1"]=String(gcur_distance1_str);
getRally["curDist2"]=gcur_distance2_str;
getRally["time1"]=gcur_time1_str;
getRally["dir1"]=dircount[dircount1];
getRally["time2"]=cur_time2_str;
getRally["time2"]=gcur_time2_str;
getRally["dir2"]=dircount[dircount2];
getRally["counter"]=VSSCount;
getRally["counter2"]=VSSCount;
getRally["counter"]=String(gVSSCountDiff);
if (showTIME) getRally["TDiff"]="Time"; //add 1 space
else getRally["TDiff"]="TDiff";
getRallyJson="";
serializeJson(getRally, getRallyJson);
}
void fillRallyLCDScreen(){
void fillRallyLCDScreen() {
lcd.setCursor(0,0);
lcd.print(gVSSCountDiff);
lcd.setCursor(6,0);
lcd.print(gcurTime);
if (showTIME) lcd.print(" Time "); //add 1 space
else lcd.print(" TDiff");
lcd.setCursor(4,0);
lcd.print(Trip[curTrip].sub);
lcd.setCursor(0,2);
@ -2028,27 +2034,24 @@ void fillRallyLCDScreen(){
lcd.print("Km/H");
lcd.setCursor(11,2);
lcd.print(cur_speed_str);
lcd.print(gcur_speed_str);
lcd.print("Km/H");
lcd.setCursor(0,1);
lcd.print(cur_distance1_str);
lcd.print(gcur_distance1_str);
lcd.print("Km");
lcd.setCursor(9,1);
lcd.print(dircount[dircount1]);
lcd.print(cur_time1_str);
lcd.print(gcur_time1_str);
lcd.setCursor(0,3);
lcd.print(cur_distance2_str);
lcd.print(gcur_distance2_str);
lcd.print("Km");
lcd.setCursor(9,3);
lcd.print(dircount[dircount2]);
lcd.print(cur_time2_str);
lcd.print(gcur_time2_str);
// Serial.print("x=");Serial.print(x);Serial.print("y=");Serial.print(y);Serial.println("");
@ -3838,9 +3841,8 @@ void loop() //loop from VSS RALLY V2
//prevtemprally+=tempintervalrally;
}
}
if ((MENU==RALLY || globalClientCalib) && ((now1 - prevCalculatingRallyMillis)>=calculatingRallyMillis)){
calculationRally();
}
if (MENU==SETTIME) {
//if ((long)(now1 - prevtempint) >=0 ){
if ((now1 - prevtempint) >=tempinterval ){
@ -3900,18 +3902,18 @@ 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) {
lcd.setCursor(0,0);
if (VSSCountDiff==0) lcd.print("0");
else if (VSSCountDiff <= 10) lcd.print("1");
else if (VSSCountDiff <= 50) lcd.print("2");
else if (VSSCountDiff <= 150) lcd.print("3");
else if (VSSCountDiff <= 250) lcd.print("4");
else if (VSSCountDiff <= 400) lcd.print("5");
else if (VSSCountDiff <= 600) lcd.print("6");
else if (VSSCountDiff <= 900) lcd.print("7");
else if (VSSCountDiff <= 1200) lcd.print("8");
else if (VSSCountDiff > 1200) lcd.print("9");
if ((MENU!=CALIBRATION && MENU!=MAIN && MENU!=CONSTANTA) || globalClientRally) {
// lcd.setCursor(0,0); ///
if (VSSCountDiff==0) gVSSCountDiff='0';//lcd.print("0");
else if (VSSCountDiff <= 10) gVSSCountDiff='1';//lcd.print("1");
else if (VSSCountDiff <= 50) gVSSCountDiff='2';//lcd.print("2");
else if (VSSCountDiff <= 150) gVSSCountDiff='3';//lcd.print("3");
else if (VSSCountDiff <= 250) gVSSCountDiff='4';//lcd.print("4");
else if (VSSCountDiff <= 400) gVSSCountDiff='5';//lcd.print("5");
else if (VSSCountDiff <= 600) gVSSCountDiff='6';//lcd.print("6");
else if (VSSCountDiff <= 900) gVSSCountDiff='7';//lcd.print("7");
else if (VSSCountDiff <= 1200) gVSSCountDiff='8';//lcd.print("8");
else if (VSSCountDiff > 1200) gVSSCountDiff='9';//lcd.print("9");
//lcd.print(VSSCountDiff);
//lcd.print(" ");
@ -3944,6 +3946,11 @@ void loop() //loop from VSS RALLY V2
//startsavemillis += 3000;
startsavemillis = millis();
}
if ((MENU==RALLY || globalClientRally) && ((now1 - prevCalculatingRallyMillis)>=calculatingRallyMillis)){
calculationRally();
prevCalculatingRallyMillis=now1;
}
if ((millis()-broadcastwebsocket) > 333 && !isloadingConst && globalClientRally) {
broadcastwebsocket = millis();