mirror of
https://github.com/bcomsugi/VSS_Rally_V3.git
synced 2026-01-09 18:02:38 +07:00
tidyup redrawrally
This commit is contained in:
parent
1e404def49
commit
cf5f1986dc
@ -16,7 +16,7 @@ monitor_speed = 115200
|
||||
lib_deps =
|
||||
ottowinter/ESPAsyncWebServer-esphome@^2.1.0
|
||||
esphome/AsyncTCP-esphome@^1.2.2
|
||||
SPIFFS
|
||||
;SPIFFS
|
||||
bblanchon/ArduinoJson@^6.19.4
|
||||
khoih-prog/ESPAsync_WiFiManager@^1.12.2
|
||||
rodan/ds3231@^1.0
|
||||
@ -26,6 +26,7 @@ lib_deps =
|
||||
Wire
|
||||
;arduino-libraries/LiquidCrystal@^1.0.7
|
||||
https://github.com/fdebrabander/Arduino-LiquidCrystal-I2C-library.git
|
||||
;https://github.com/mathertel/LiquidCrystal_PCF8574.git
|
||||
|
||||
[env:env1]
|
||||
lib_deps =
|
||||
|
||||
157
src/main.cpp
157
src/main.cpp
@ -151,7 +151,8 @@ const int lcdRows = 4;
|
||||
#define LED_BUILTIN 22 // LED built in pada ESP32 Lolin32 Lite
|
||||
// set LCD address, number of columns and rows
|
||||
// if you don't know your display address, run an I2C scanner sketch
|
||||
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows); // marcoschwartz. ujungnya jelek
|
||||
LiquidCrystal_I2C lcd(0x27, lcdColumns, lcdRows); // marcoschwartz. ujungnya jelek ->remark
|
||||
|
||||
|
||||
/*-----( Declare objects )-----*/
|
||||
//LiquidCrystal_I2C lcd(I2C_ADDR,En_pin,Rw_pin,Rs_pin,D4_pin,D5_pin,D6_pin,D7_pin);
|
||||
@ -311,7 +312,7 @@ void notFound(AsyncWebServerRequest *request) {
|
||||
|
||||
String readFile(fs::FS &fs, const char * path){
|
||||
// Serial.printf("Reading file: %s\r\n", path);
|
||||
if (fs.exists(path)){
|
||||
// if (fs.exists(path)){
|
||||
File file = fs.open(path, "r");
|
||||
if(!file || file.isDirectory()){
|
||||
Serial.println("- empty file or failed to open file");
|
||||
@ -332,7 +333,7 @@ String readFile(fs::FS &fs, const char * path){
|
||||
file.close();
|
||||
Serial.println(fileContent);
|
||||
return fileContent;
|
||||
} else {return String();}
|
||||
// } else {return String();}
|
||||
}
|
||||
|
||||
boolean writeFile(fs::FS &fs, const char * path, const char * message){
|
||||
@ -1369,6 +1370,32 @@ void redrawcalibrationMenuForESP32()
|
||||
serializeJson(getCalib, getCalibJson);
|
||||
}
|
||||
|
||||
|
||||
// char digitClock(int v){
|
||||
// if (v < 10)
|
||||
// return '0' + v;
|
||||
// else
|
||||
// return 'A' + (v-10);
|
||||
// }
|
||||
void digitClock(int v){
|
||||
// lcd.setCursor(x,y);
|
||||
if (v < 10){
|
||||
lcd.print("0");
|
||||
lcd.print(v);
|
||||
// return '0' + v;
|
||||
}
|
||||
else lcd.print(v);
|
||||
}
|
||||
void digitClock(int v, byte x, byte y){
|
||||
lcd.setCursor(x,y);
|
||||
if (v < 10){
|
||||
lcd.print("0");
|
||||
lcd.print(v);
|
||||
// return '0' + v;
|
||||
}
|
||||
else lcd.print(v);
|
||||
}
|
||||
|
||||
void redrawrallyMenu()
|
||||
{
|
||||
// Serial.println("redrawRM");
|
||||
@ -1379,7 +1406,6 @@ void redrawrallyMenu()
|
||||
//Serial.print(tempcount1);Serial.print(";"); Serial.print(time1);Serial.print("; ");Serial.print(Calibration); Serial.print(";"); Serial.println(count1);
|
||||
updateCount();
|
||||
|
||||
//distance = (float)count1/((float)Calibration);
|
||||
distance1 = (float)count1/((float)Calibration); // * 1);
|
||||
distance2 = (float)count2/((float)Calibration);
|
||||
float speed1=0;
|
||||
@ -1410,16 +1436,16 @@ void redrawrallyMenu()
|
||||
//Serial.print(starttracthour); Serial.print(":"); Serial.print(starttractmin); Serial.print(":"); Serial.println(starttractsec);
|
||||
//Serial.println(distance2,3);
|
||||
|
||||
lcd.setCursor(4,0);
|
||||
lcd.print(Trip[curTrip].sub);
|
||||
lcd.setCursor(0,2);
|
||||
// lcd.setCursor(4,0);
|
||||
// lcd.print(Trip[curTrip].sub);
|
||||
// lcd.setCursor(0,2);
|
||||
|
||||
lcd.print(Trip[curTrip].speed);
|
||||
lcd.print("Km/H");
|
||||
// lcd.print(Trip[curTrip].speed);
|
||||
// lcd.print("Km/H");
|
||||
|
||||
runningtime(6,0);
|
||||
|
||||
lcd.setCursor(11,2);
|
||||
// lcd.setCursor(11,2);
|
||||
char cur_speed_str[9];
|
||||
int speedtemp=(int)speed1;
|
||||
int speedtemp2=(int)((speed1 - (int)speed1)*10);
|
||||
@ -1427,10 +1453,10 @@ void redrawrallyMenu()
|
||||
sprintf(cur_speed_str, "%3d.%01dKm/h", 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);
|
||||
// lcd.print(cur_speed_str);
|
||||
char cur_distance1_str[8];
|
||||
char cur_distance2_str[8];
|
||||
lcd.setCursor(0,1);
|
||||
// lcd.setCursor(0,1);
|
||||
// Serial.print(";redrawRM 2;");
|
||||
if (distance1<100) {
|
||||
sprintf(cur_distance1_str, "%02d.%03dKm", (int)distance1, (int)((distance1 - (int)distance1)*1000));
|
||||
@ -1441,10 +1467,9 @@ void redrawrallyMenu()
|
||||
else {
|
||||
sprintf(cur_distance1_str, "%03d.%01dKm", (int)distance1, (int)((distance1 - (int)distance1)*10));
|
||||
}
|
||||
//lcd.print(distance1,3);
|
||||
lcd.print(cur_distance1_str);
|
||||
// lcd.print(cur_distance1_str);
|
||||
|
||||
lcd.setCursor(0,3);
|
||||
// lcd.setCursor(0,3);
|
||||
if (distance2<100) {
|
||||
sprintf(cur_distance2_str, "%02d.%03dKm", (int)distance2, (int)((distance2 - (int)distance2)*1000));
|
||||
}
|
||||
@ -1454,16 +1479,15 @@ void redrawrallyMenu()
|
||||
else {
|
||||
sprintf(cur_distance2_str, "%03d.%01dKm", (int)distance2, (int)((distance2 - (int)distance2)*10));
|
||||
}
|
||||
//lcd.print(distance2,3);
|
||||
lcd.print(cur_distance2_str);
|
||||
// lcd.print(cur_distance2_str);
|
||||
|
||||
// Serial.print(";redrawRM 3;");
|
||||
float distancetime1 = distance1 * 60 / constanta;
|
||||
float distancetime2 = distance2 * 60 / constanta;
|
||||
|
||||
//Calculating all about TIME,TDiff(including passing 23:59:59)
|
||||
lcd.setCursor(9,1);
|
||||
int secs1, mins1, hours1;
|
||||
// lcd.setCursor(9,1);
|
||||
uint8_t secs1, mins1, hours1;
|
||||
|
||||
secs1 = (distancetime1-(int)distancetime1)*60;
|
||||
mins1 = (int)distancetime1 % 60;
|
||||
@ -1480,7 +1504,6 @@ void redrawrallyMenu()
|
||||
if (totcurrentsecs<totstarttractsecs) totcurrentsecs+=86400;
|
||||
|
||||
if (!showTIME) {
|
||||
//if ((long)(tottime1 - totcurrentsecs)>=0) { //positif means we are too fast, slow down please.
|
||||
if (tottime1 >= totcurrentsecs) { //positif means we are too fast, slow down please.
|
||||
// Serial.println("pos");
|
||||
negatifsign = false;
|
||||
@ -1499,6 +1522,15 @@ void redrawrallyMenu()
|
||||
|
||||
char cur_time1_str[12];
|
||||
if (showTIME) {
|
||||
// lcd.setCursor(9,1);
|
||||
// lcd.print(dircount[dircount1]);
|
||||
// lcd.print(" ");
|
||||
// digitClock(hours1);
|
||||
// lcd.print(":");
|
||||
// digitClock(mins1);
|
||||
// lcd.print(":");
|
||||
// digitClock(secs1);
|
||||
|
||||
sprintf(cur_time1_str, "%s %02d:%02d:%02d", dircount[dircount1], hours1, mins1, secs1);
|
||||
}
|
||||
else {
|
||||
@ -1506,11 +1538,11 @@ void redrawrallyMenu()
|
||||
else sprintf(cur_time1_str, "%s%s%02d:%02d:%02d", dircount[dircount1], (negatifsign?"-":" "), hours1, mins1, secs1);
|
||||
|
||||
}
|
||||
lcd.print(cur_time1_str);
|
||||
// lcd.print(cur_time1_str);
|
||||
// Serial.print(";redrawRM 5;");
|
||||
// Print Second TIME
|
||||
lcd.setCursor(9,3);
|
||||
int secs2, mins2, hours2;
|
||||
// lcd.setCursor(9,3);
|
||||
uint8_t secs2, mins2, hours2;
|
||||
|
||||
secs2 = (distancetime2-(int)distancetime2)*60;
|
||||
mins2 = (int)distancetime2 % 60;
|
||||
@ -1534,24 +1566,61 @@ void redrawrallyMenu()
|
||||
hours2 = ((int)(tottime2 / 3600))%24;
|
||||
mins2 = (int)((tottime2 % 3600)/60);
|
||||
secs2 = (tottime2 % 60);
|
||||
char cur_time2_str[12];
|
||||
char cur_time2_str[11];
|
||||
if (showTIME) {
|
||||
sprintf(cur_time2_str, "%s %02d:%02d:%02d", dircount[dircount2], hours2, mins2, secs2);
|
||||
lcd.setCursor(9,3);
|
||||
lcd.print(dircount[dircount2]);
|
||||
lcd.print(" ");
|
||||
digitClock(hours2);
|
||||
lcd.print(":");
|
||||
digitClock(mins2);
|
||||
lcd.print(":");
|
||||
digitClock(secs2);
|
||||
|
||||
// sprintf(cur_time2_str, "%s %02d:%02d:%02d", dircount[dircount2], hours2, mins2, secs2);
|
||||
}
|
||||
else {
|
||||
if (hours2<10) sprintf(cur_time2_str, "%s %s%01d:%02d:%02d", dircount[dircount2], (negatifsign?"-":" "), hours2, mins2, secs2);
|
||||
else sprintf(cur_time2_str, "%s%s%02d:%02d:%02d", dircount[dircount2], (negatifsign?"-":" "), hours2, mins2, secs2);
|
||||
}
|
||||
//sprintf(cur_time2_str, "%s%02d:%02d:%02d", (dirfwdcount2?"Fw":"Bw"), hours2, mins2, secs2);
|
||||
//sprintf(cur_time2_str, "%s %02d:%02d:%02d", dircount[dircount2], hours2, mins2, secs2);
|
||||
lcd.print(cur_time2_str);
|
||||
/* //may be needed to refresh if Km more than 10000Km
|
||||
lcd.setCursor(8,3);
|
||||
lcd.write(1); //UP Arrow
|
||||
|
||||
// lcd.setCursor(4,0);
|
||||
// lcd.print(Trip[curTrip].sub);
|
||||
// lcd.setCursor(0,2);
|
||||
// lcd.print(Trip[curTrip].speed);
|
||||
// lcd.print("Km/H");
|
||||
|
||||
// lcd.setCursor(11,2);
|
||||
|
||||
// lcd.print(cur_speed_str);
|
||||
|
||||
// lcd.setCursor(0,1);
|
||||
|
||||
// lcd.print(cur_distance1_str);
|
||||
|
||||
lcd.setCursor(8,1);
|
||||
lcd.write(2); //DOWN Arrow
|
||||
*/
|
||||
|
||||
// lcd.setCursor(0,3);
|
||||
|
||||
// lcd.print(cur_distance2_str);
|
||||
|
||||
// lcd.setCursor(9,1);
|
||||
// lcd.print(dircount[dircount1]);
|
||||
// // lcd.print(cur_time1_str);
|
||||
// digitClock(hours1,12,1);
|
||||
// lcd.print(":");
|
||||
// // lcd.print(digitClock(mins1));
|
||||
// digitClock(mins1);
|
||||
// lcd.print(":");
|
||||
// // lcd.print(digitClock(secs1));
|
||||
// digitClock(secs1);
|
||||
// // Serial.print(digitClock(hours1));Serial.print(":");Serial.print(digitClock(mins1));Serial.print(":");Serial.println(digitClock(secs1));
|
||||
|
||||
// // lcd.setCursor(9,3);
|
||||
|
||||
|
||||
// // lcd.print(cur_time2_str);
|
||||
|
||||
|
||||
lcd.setCursor(x,y);
|
||||
// Serial.println("END redrawRM");
|
||||
}
|
||||
@ -2121,6 +2190,22 @@ Trip[9].startSec = 58;
|
||||
//Serial.println(Trip[0].subTime);
|
||||
|
||||
|
||||
// lcd.init();
|
||||
// lcd.backlight();
|
||||
|
||||
// lcd.begin(LCD_COLS, LCD_ROWS);
|
||||
// lcd.setBacklight(0xff);
|
||||
// Wire.setClock(400000L); // set i2c clock bit rate, if asked
|
||||
|
||||
// lcd.print("i2c clock:");
|
||||
// lcd.setCursor(0,1);
|
||||
// lcd.print(Wire.getClock());
|
||||
// lcd.print(" Hz");
|
||||
// delay(3000);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//**************************LCD Setup********************************
|
||||
|
||||
@ -3487,14 +3572,14 @@ void loop() //loop from VSS RALLY V2
|
||||
if (MENU==RALLY) {
|
||||
if (((now1 - prevtemprally) >= tempintervalrally) && !isloadingConst) {
|
||||
//if ((long)(now1 - prevtemprally) >= 0) {
|
||||
// testLoadTime=millis();
|
||||
testLoadTime=millis();
|
||||
//rallyMenu();
|
||||
if (!rallyEdit) {
|
||||
iscalculatingRally=true;
|
||||
redrawrallyMenu(); //Distance is edited?
|
||||
iscalculatingRally=false;
|
||||
}
|
||||
// Serial.println(millis()-testLoadTime);
|
||||
Serial.println(millis()-testLoadTime);
|
||||
prevtemprally=now1;
|
||||
//prevtemprally+=tempintervalrally;
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user