fixed hud

This commit is contained in:
Lubos Petrovic
2020-11-25 22:09:20 +01:00
parent c3090a0be6
commit e68b68b52b
2 changed files with 35 additions and 30 deletions

View File

@@ -34,7 +34,9 @@ Others
## Quick installation with ESP32 flash tool ## Quick installation with ESP32 flash tool
Guide is here M5STACK (Many thanks to DimZen)
https://docs.google.com/document/d/17vJmeveNfN0exQy9wKC-5igU8zzNjsuOn1DPuPV_yJA/edit?usp=sharing
TTGO-T4 (older)
https://docs.google.com/document/d/1nEezrtXY-8X6mQ1hiZVWDjBVse1sXQg1SlnizaRmJwU/edit?usp=sharing https://docs.google.com/document/d/1nEezrtXY-8X6mQ1hiZVWDjBVse1sXQg1SlnizaRmJwU/edit?usp=sharing
## Screens and shortcuts ## Screens and shortcuts

View File

@@ -27,7 +27,7 @@
<= 0°C BMS allows max 40A <= 0°C BMS allows max 40A
*/ */
#define APP_VERSION "v1.8.2" #define APP_VERSION "v1.8.2b"
#include "SPI.h" #include "SPI.h"
#include "TFT_eSPI.h" #include "TFT_eSPI.h"
@@ -541,37 +541,38 @@ bool drawSceneSpeed() {
if (displayScreenSpeedHud) { if (displayScreenSpeedHud) {
// Change rotation to vertical & mirror // Change rotation to vertical & mirror
if (spr.getRotation() != 6) if (tft.getRotation() != 6) {
spr.setRotation(6); tft.setRotation(6);
}
spr.fillRect(0, 0, 240, 320, TFT_BLACK); tft.fillScreen(TFT_BLACK);
spr.setTextDatum(TR_DATUM); // top-right alignment tft.setTextDatum(TR_DATUM); // top-right alignment
spr.setTextColor(TFT_WHITE, TFT_BLACK); // foreground, background text color tft.setTextColor(TFT_WHITE, TFT_BLACK); // foreground, background text color
// Draw speed // Draw speed
spr.setTextSize((params.speedKmh > 99) ? 1 : 2); tft.setTextSize((params.speedKmh > 99) ? 1 : 2);
sprintf(tmpStr3, "0"); sprintf(tmpStr3, "0");
if (params.speedKmh > 10) if (params.speedKmh > 10)
sprintf(tmpStr3, "%01.00f", km2distance(params.speedKmh)); sprintf(tmpStr3, "%01.00f", km2distance(params.speedKmh));
spr.drawString(tmpStr3, 240, 0, 8); tft.drawString(tmpStr3, 240, 0, 8);
// Draw power kWh/100km (>25kmh) else kW // Draw power kWh/100km (>25kmh) else kW
spr.setTextSize(1); tft.setTextSize(1);
if (params.speedKmh > 25 && params.batPowerKw < 0) if (params.speedKmh > 25 && params.batPowerKw < 0)
sprintf(tmpStr3, "%01.01f", km2distance(params.batPowerKwh100)); sprintf(tmpStr3, "%01.01f", km2distance(params.batPowerKwh100));
else else
sprintf(tmpStr3, "%01.01f", params.batPowerKw); sprintf(tmpStr3, "%01.01f", params.batPowerKw);
spr.drawString(tmpStr3, 240, 150, 8); tft.drawString(tmpStr3, 240, 150, 8);
// Draw soc% // Draw soc%
sprintf(tmpStr3, "%01.00f", params.socPerc); sprintf(tmpStr3, "%01.00f", params.socPerc);
spr.drawString(tmpStr3, 240 , 230, 8); tft.drawString(tmpStr3, 240 , 230, 8);
// Cold gate cirlce // Cold gate cirlce
spr.fillCircle(30, 280, 25, (params.batTempC >= 15) ? ((params.batTempC >= 25) ? TFT_DARKGREEN2 : TFT_BLUE) : TFT_RED); tft.fillCircle(30, 280, 25, (params.batTempC >= 15) ? ((params.batTempC >= 25) ? TFT_DARKGREEN2 : TFT_BLUE) : TFT_RED);
// Brake lights // Brake lights
spr.fillRect(0, 310, 240, 10, (params.brakeLights) ? TFT_RED : TFT_BLACK); tft.fillRect(0, 310, 240, 10, (params.brakeLights) ? TFT_RED : TFT_BLACK);
return true; return true;
} }
@@ -1392,18 +1393,20 @@ bool redrawScreen() {
drawSceneDebug(); drawSceneDebug();
} }
// BLE not connected if (!displayScreenSpeedHud) {
if (!bleConnected && bleConnect) { // BLE not connected
// Print message if (!bleConnected && bleConnect) {
spr.setTextSize(1); // Print message
spr.setTextColor(TFT_WHITE, TFT_BLACK); spr.setTextSize(1);
spr.setTextDatum(TL_DATUM); spr.setTextColor(TFT_WHITE, TFT_BLACK);
spr.drawString("BLE4 OBDII not connected...", 0, 180, 2); spr.setTextDatum(TL_DATUM);
spr.drawString("Press middle button to menu.", 0, 200, 2); spr.drawString("BLE4 OBDII not connected...", 0, 180, 2);
spr.drawString(APP_VERSION, 0, 220, 2); spr.drawString("Press middle button to menu.", 0, 200, 2);
} spr.drawString(APP_VERSION, 0, 220, 2);
}
spr.pushSprite(0, 0); spr.pushSprite(0, 0);
}
return true; return true;
} }
@@ -1811,11 +1814,11 @@ void setup(void) {
if (psramFound()) if (psramFound())
psramUsed = true; psramUsed = true;
#endif #endif
// if (!psramUsed) { // if (!psramUsed) {
// displayMessage("SRAM support required", "Compile with ESP32 Wrover CPU"); // displayMessage("SRAM support required", "Compile with ESP32 Wrover CPU");
// delay(60000); // delay(60000);
// ESP.restart(); // ESP.restart();
// } // }
spr.setColorDepth((psramUsed) ? 16 : 8); spr.setColorDepth((psramUsed) ? 16 : 8);
spr.createSprite(320, 240); spr.createSprite(320, 240);
redrawScreen(); redrawScreen();