add display to esp32cam

This commit is contained in:
elmo128 2023-09-21 18:03:22 +02:00
parent 45dacd4f78
commit bfb01da2c8
5 changed files with 65 additions and 2 deletions

View File

@ -149,6 +149,9 @@
#ifdef NERMINER_S3_DONGLE #ifdef NERMINER_S3_DONGLE
#include <User_Setups/Setup209_LilyGo_T_Dongle_S3.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT #include <User_Setups/Setup209_LilyGo_T_Dongle_S3.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
#endif #endif
#ifdef ESP32_CAM
#include <User_Setups/Setup212_ESP32Cam_DongleDisplay.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
#endif
//#include <User_Setups/Setup301_BW16_ST7735.h> // Setup file for Bw16-based boards with ST7735 160 x 80 TFT //#include <User_Setups/Setup301_BW16_ST7735.h> // Setup file for Bw16-based boards with ST7735 160 x 80 TFT
//#include <User_Setups/SetupX_Template.h> // Template file for a setup //#include <User_Setups/SetupX_Template.h> // Template file for a setup

View File

@ -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

View File

@ -160,8 +160,9 @@ lib_deps =
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2 https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3 mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient arduino-libraries/NTPClient
https://github.com/takkaO/OpenFontRender
lib_ignore = lib_ignore =
TFT_eSPI ;TFT_eSPI
;-------------------------------------------------------------------- ;--------------------------------------------------------------------

View File

@ -4,7 +4,7 @@
#define PIN_BUTTON_1 0 #define PIN_BUTTON_1 0
#define LED_PIN 33 #define LED_PIN 33
#define NO_DISPLAY #define DONGLE_DISPLAY // NO_DISPLAY
// example how to configure SD card. // example how to configure SD card.
// if you would define everything, // if you would define everything,

View File

@ -9,7 +9,10 @@
#include "version.h" #include "version.h"
#include "monitor.h" #include "monitor.h"
#include "OpenFontRender.h" #include "OpenFontRender.h"
#ifdef USE_LED
#include <FastLED.h> #include <FastLED.h>
#endif
#define WIDTH 160 #define WIDTH 160
#define HEIGHT 80 #define HEIGHT 80
@ -26,6 +29,7 @@ OpenFontRender render;
TFT_eSPI tft = TFT_eSPI(); TFT_eSPI tft = TFT_eSPI();
TFT_eSprite background = TFT_eSprite(&tft); TFT_eSprite background = TFT_eSprite(&tft);
#ifdef USE_LED
#define MAX_BRIGHTNESS 16 #define MAX_BRIGHTNESS 16
#define SLOW_FADE 1; #define SLOW_FADE 1;
#define FAST_FADE 4; #define FAST_FADE 4;
@ -34,6 +38,7 @@ CRGB leds(0, 0, 0);
int brightness = 0; int brightness = 0;
int fadeDirection = 1; int fadeDirection = 1;
int fadeAmount = 0; int fadeAmount = 0;
#endif // USE_LED
extern monitor_data mMonitor; extern monitor_data mMonitor;
@ -74,8 +79,10 @@ extern monitor_data mMonitor;
void dongleDisplay_Init(void) void dongleDisplay_Init(void)
{ {
#ifdef USE_LED
FastLED.addLeds<APA102, LED_DI_PIN, LED_CI_PIN, BGR>(&leds, 1); FastLED.addLeds<APA102, LED_DI_PIN, LED_CI_PIN, BGR>(&leds, 1);
FastLED.show(); FastLED.show();
#endif // USE_LED
tft.init(); tft.init();
tft.setRotation(3); tft.setRotation(3);