fixed hud
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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();
|
||||||
|
|||||||
Reference in New Issue
Block a user