diff --git a/lib/TFT_eSPI/User_Setup_Select.h b/lib/TFT_eSPI/User_Setup_Select.h index 185f994..2ebed60 100644 --- a/lib/TFT_eSPI/User_Setup_Select.h +++ b/lib/TFT_eSPI/User_Setup_Select.h @@ -149,6 +149,9 @@ #ifdef NERMINER_S3_DONGLE #include // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT #endif +#ifdef ESP32_CAM +#include // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT +#endif //#include // Setup file for Bw16-based boards with ST7735 160 x 80 TFT //#include // Template file for a setup diff --git a/lib/TFT_eSPI/User_Setups/Setup212_ESP32Cam_DongleDisplay.h b/lib/TFT_eSPI/User_Setups/Setup212_ESP32Cam_DongleDisplay.h new file mode 100644 index 0000000..1137fe2 --- /dev/null +++ b/lib/TFT_eSPI/User_Setups/Setup212_ESP32Cam_DongleDisplay.h @@ -0,0 +1,52 @@ +// Config for esp32cam, using dongledriver w ESP32 and ST7735 80 x 160 display +#define USER_SETUP_ID 212 + +#define ST7735_DRIVER // Configure all registers + +#define TFT_WIDTH 80 +#define TFT_HEIGHT 160 + +// #define ST7735_INITB +// #define ST7735_GREENTAB +// #define ST7735_GREENTAB2 +// #define ST7735_GREENTAB3 +// #define ST7735_GREENTAB128 // For 128 x 128 display +#define ST7735_GREENTAB160x80 // For 160 x 80 display (BGR, inverted, 26 offset) +// #define ST7735_REDTAB +//#define ST7735_BLACKTAB +// #define ST7735_REDTAB160x80 // For 160 x 80 display with 24 pixel offset + +//#define TFT_RGB_ORDER TFT_RGB // Colour order Red-Green-Blue +#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red + +//#define TFT_INVERSION_ON +//#define TFT_INVERSION_OFF + +// Generic ESP32 setup +#define TFT_MISO 2 +#define TFT_MOSI 15 +#define TFT_SCLK 14 +#define TFT_CS 12 +#define TFT_DC 16 +#define TFT_RST 4 // Connect reset to ensure display initialises + +#define LOAD_GLCD // Font 1. Original Adafruit 8 pixel font needs ~1820 bytes in FLASH +#define LOAD_FONT2 // Font 2. Small 16 pixel high font, needs ~3534 bytes in FLASH, 96 characters +#define LOAD_FONT4 // Font 4. Medium 26 pixel high font, needs ~5848 bytes in FLASH, 96 characters +#define LOAD_FONT6 // Font 6. Large 48 pixel font, needs ~2666 bytes in FLASH, only characters 1234567890:-.apm +#define LOAD_FONT7 // Font 7. 7 segment 48 pixel font, needs ~2438 bytes in FLASH, only characters 1234567890:. +#define LOAD_FONT8 // Font 8. Large 75 pixel font needs ~3256 bytes in FLASH, only characters 1234567890:-. +//#define LOAD_FONT8N // Font 8. Alternative to Font 8 above, slightly narrower, so 3 digits fit a 160 pixel TFT +#define LOAD_GFXFF // FreeFonts. Include access to the 48 Adafruit_GFX free fonts FF1 to FF48 and custom fonts + +#define SMOOTH_FONT + + +#define SPI_FREQUENCY 27000000 +//#define SPI_FREQUENCY 40000000 + +#define SPI_READ_FREQUENCY 20000000 + +//#define SPI_TOUCH_FREQUENCY 2500000 + +// #define SUPPORT_TRANSACTIONS \ No newline at end of file diff --git a/platformio.ini b/platformio.ini index cf41920..aa07a60 100644 --- a/platformio.ini +++ b/platformio.ini @@ -160,8 +160,9 @@ lib_deps = https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2 mathertel/OneButton @ ^2.0.3 arduino-libraries/NTPClient + https://github.com/takkaO/OpenFontRender lib_ignore = - TFT_eSPI + ;TFT_eSPI ;-------------------------------------------------------------------- diff --git a/src/drivers/devices/esp32CAM.h b/src/drivers/devices/esp32CAM.h index f58bd6d..39d4391 100644 --- a/src/drivers/devices/esp32CAM.h +++ b/src/drivers/devices/esp32CAM.h @@ -4,7 +4,7 @@ #define PIN_BUTTON_1 0 #define LED_PIN 33 -#define NO_DISPLAY +#define DONGLE_DISPLAY // NO_DISPLAY // example how to configure SD card. // if you would define everything, diff --git a/src/drivers/displays/dongleDisplayDriver.cpp b/src/drivers/displays/dongleDisplayDriver.cpp index f6b4fe0..9e27d0f 100644 --- a/src/drivers/displays/dongleDisplayDriver.cpp +++ b/src/drivers/displays/dongleDisplayDriver.cpp @@ -9,7 +9,10 @@ #include "version.h" #include "monitor.h" #include "OpenFontRender.h" + +#ifdef USE_LED #include +#endif #define WIDTH 160 #define HEIGHT 80 @@ -26,6 +29,7 @@ OpenFontRender render; TFT_eSPI tft = TFT_eSPI(); TFT_eSprite background = TFT_eSprite(&tft); +#ifdef USE_LED #define MAX_BRIGHTNESS 16 #define SLOW_FADE 1; #define FAST_FADE 4; @@ -34,6 +38,7 @@ CRGB leds(0, 0, 0); int brightness = 0; int fadeDirection = 1; int fadeAmount = 0; +#endif // USE_LED extern monitor_data mMonitor; @@ -74,8 +79,10 @@ extern monitor_data mMonitor; void dongleDisplay_Init(void) { + #ifdef USE_LED FastLED.addLeds(&leds, 1); FastLED.show(); + #endif // USE_LED tft.init(); tft.setRotation(3);