Updated the display helper functions, Tested display location to ensure text isn't cut off.

This commit is contained in:
jakeg00dwin 2024-10-04 16:16:11 -07:00
parent 0d506bc2f1
commit fa01a20576
1 changed files with 26 additions and 20 deletions

View File

@ -20,7 +20,7 @@ Adafruit_ST7789 tft = Adafruit_ST7789(TFT_CS, TFT_DC, TFT_RST); // Initialize d
CRGB leds[NUM_LEDS]; // Array to hold LED colors CRGB leds[NUM_LEDS]; // Array to hold LED colors
SoftwareSerial gpsSerial(GPS_RX_PIN, GPS_TX_PIN); // Software serial for GPS SoftwareSerial gpsSerial(GPS_RX_PIN, GPS_TX_PIN); // Software serial for GPS
TinyGPSPlus gps; // TinyGPS++ object to process GPS data TinyGPSPlus gps; // TinyGPS++ object to process GPS data
RH_RF95 rf95(RFM9X_CS, RMF9X_INT); // Radio instance. RH_RF95 rf95(RFM9X_CS, RFM9X_INT); // Radio instance.
// Variables // Variables
@ -269,13 +269,14 @@ void updateLEDs(int heading) {
// Updates the distance part of the display // Updates the distance part of the display
void TFT_UpdateDistance(uint16_t meters) { void TFT_UpdateDistance(uint16_t meters) {
Serial.println("TFT_UpdateDistance()"); Serial.println("TFT_UpdateDistance()");
tft.setTextWrap(false); tft.setTextSize(4);
tft.setCursor(0, 0); tft.setCursor(0, 20);
tft.setTextColor(ST77XX_WHITE); tft.setTextColor(ST77XX_WHITE);
tft.setTextSize(2); tft.setTextWrap(true);
tft.println(meters); tft.println(" Distance");
tft.println(" Meters"); tft.print(" ");
tft.print(distance);
tft.print("m");
} }
// Updates the direction part of the display // Updates the direction part of the display
@ -295,14 +296,21 @@ uint8_t TFT_UpdateBatteryState(uint8_t percentage) {
if(percentage > MAX_BATT_PERCENTAGE || percentage < MIN_BATT_PERCENTAGE){ if(percentage > MAX_BATT_PERCENTAGE || percentage < MIN_BATT_PERCENTAGE){
return Err; return Err;
} }
tft.setTextSize(4);
tft.setTextWrap(false); tft.setCursor(0, 100);
tft.setCursor(0, 80); if(percentage >= 80){
tft.setTextColor(ST77XX_WHITE); tft.setTextColor(ST77XX_GREEN);
tft.setTextSize(2); }
tft.println(percentage); else if(percentage < 80 && percentage > 50) {
tft.println("% Batt"); tft.setTextColor(ST77XX_ORANGE);
}
else if(percentage <= 50) {
tft.setTextColor(ST77XX_RED);
}
tft.setTextWrap(true);
tft.print("Batt: ");
tft.print(percentage);
tft.print("%");
return Ok; return Ok;
} }
@ -316,10 +324,7 @@ void TFT_DisplaySpecs(void) {
uint8_t TFT_Reset() { uint8_t TFT_Reset() {
Serial.println("TFT_Reset()"); Serial.println("TFT_Reset()");
tft.fillScreen(ST77XX_BLACK); // Set the screen background to black tft.fillScreen(ST77XX_BLACK); // Set the screen background to black
//Can add default startup logo/screen here for later.
TFT_UpdateDistance(0);
TFT_UpdateDirection(0);
TFT_UpdateBatteryState(100);
} }
// Initalizes the Screen with default startup screen. // Initalizes the Screen with default startup screen.
@ -355,6 +360,7 @@ void updateDisplay() {
// tft.print("Distance: "); // tft.print("Distance: ");
// tft.print(calculatedDistance); // tft.print(calculatedDistance);
tft.fillScreen(ST77XX_BLACK); // Set the screen background to black
TFT_UpdateDistance(0); TFT_UpdateDistance(0);
TFT_UpdateDirection(0); TFT_UpdateDirection(0);
TFT_UpdateBatteryState(100); TFT_UpdateBatteryState(100);