Skip to content

Commit 7be4cad

Browse files
committed
Set text size via new setter
1 parent 437b091 commit 7be4cad

File tree

4 files changed

+21
-5
lines changed

4 files changed

+21
-5
lines changed

src/Wippersnapper_demo.ino.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 1 "/var/folders/ff/dmzflvf52tq9kzvt6g8jglxw0000gn/T/tmp856663z2"
1+
# 1 "/var/folders/ff/dmzflvf52tq9kzvt6g8jglxw0000gn/T/tmpr2yz0h9_"
22
#include <Arduino.h>
33
# 1 "/Users/brentrubell/Documents/Arduino/libraries/Adafruit_Wippersnapper_Arduino/src/Wippersnapper_demo.ino"
44
# 16 "/Users/brentrubell/Documents/Arduino/libraries/Adafruit_Wippersnapper_Arduino/src/Wippersnapper_demo.ino"

src/components/display/drivers/dispDrvBase.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ class dispDrvBase {
9898
void setHeight(int16_t h) { _height = h; }
9999
void setRotation(uint8_t r) { _rotation = r; }
100100

101+
virtual void setTextSize(uint8_t s) { _text_sz = s; }
102+
101103
protected:
102104
int16_t _pin_dc; ///< Data/Command pin
103105
int16_t _pin_rst; ///< Reset pin

src/components/display/drivers/dispDrvSt7789.h

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
#include "dispDrvBase.h"
1919
#include <Adafruit_ST7789.h>
2020

21+
#define ST7789_TEXT_SZ_DEFAULT 2
22+
2123
/*!
2224
@brief Driver for ST7789-based TFT displays.
2325
*/
@@ -73,16 +75,18 @@ class dispDrvSt7789 : public dispDrvBase {
7375
return false;
7476

7577
_display->init(_width, _height);
76-
7778
_display->setRotation(_rotation);
7879
_display->fillScreen(ST77XX_BLACK);
7980
_display->setTextColor(ST77XX_WHITE);
80-
_display->setTextSize(_text_sz);
81-
_display->setCursor(0, 0);
82-
_display->println("Display Init");
81+
_display->setTextSize(ST7789_TEXT_SZ_DEFAULT);
8382
return true;
8483
}
8584

85+
void setTextSize(uint8_t s) override {
86+
_text_sz = s;
87+
_display->setTextSize(s);
88+
}
89+
8690
/*!
8791
@brief Writes a message to the display.
8892
@param message

src/components/display/hardware.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,11 @@ static const std::map<std::string, FnCreateDispDrvTft> FactoryDrvDispTft = {
5050
return new dispDrvSt7789(cs, dc, mosi, sck, rst, miso);
5151
}},
5252
{"st7789",
53+
[](int16_t cs, int16_t dc, int16_t mosi, int16_t sck, int16_t rst,
54+
int16_t miso) -> dispDrvBase * {
55+
return new dispDrvSt7789(cs, dc, mosi, sck, rst, miso);
56+
}},
57+
{"st7789-large",
5358
[](int16_t cs, int16_t dc, int16_t mosi, int16_t sck, int16_t rst,
5459
int16_t miso) -> dispDrvBase * {
5560
return new dispDrvSt7789(cs, dc, mosi, sck, rst, miso);
@@ -284,6 +289,11 @@ bool DisplayHardware::beginTft(
284289
return false;
285290
}
286291

292+
// Check if name has -large suffix, and if so, set a larger default text size
293+
if (strstr(_name, "-large") != nullptr) {
294+
_drvDisp->setTextSize(3); // Large text size for -large displays
295+
}
296+
287297
_drvDisp->setWidth(config->width);
288298
_drvDisp->setHeight(config->height);
289299
_drvDisp->setRotation(config->rotation);

0 commit comments

Comments
 (0)