Merge pull request #334 from julio-matarranz/feat/esp32-d0wd-and-s2-mini

feat : adding support to lilygo s3 amoled touch 78khs & waveshare ESP32-S3-GEEK dongle 78khs  & weact ESP32-D0WD-V3 57khs  & wemos s2 mini 38khs fixes #202 and disable/enable led on no display board
This commit is contained in:
BitMaker 2024-04-09 23:39:22 +02:00 committed by GitHub
commit 1a37be7a55
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
46 changed files with 188 additions and 4 deletions

View File

@ -48,10 +48,19 @@ Every time an stratum job notification is received miner update its current work
- LILYGO T-QT pro ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DBQIr43))
- LILYGO T-Display 1.14 ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DEqGvSJ))
- LILYGO T-Display S3 AMOLED ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DmOIK6j))
- LILYGO T-Display S3 AMOLED Touch ([Board Info](https://www.lilygo.cc/products/t-display-s3-amoled?variant=43532279939253))
- LILYGO T-Dongle S3 ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DmQCPyj))
- ESP32-2432S028R 2,8" ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DdXkvLv) / Dev support: @nitroxgas / ⚡jadeddonald78@walletofsatoshi.com)
- ESP32-cam ([Board Info](https://lastminuteengineers.com/getting-started-with-esp32-cam/) / Dev support: @elmo128)
- M5-StampS3 ([Aliexpress link\*](https://s.click.aliexpress.com/e/_DevABY3) / Dev support: @gyengus)
- Wemos Lolin S3 Mini ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s3_mini.html))
- Wemos Lolin S2 Mini ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/lolin_s2_mini.html))
- Weact S3 Mini ([Board Info](https://github.com/WeActStudio/WeActStudio.ESP32S3-MINI))
- Weact ESP32-D0WD-V3 ([Board Info](https://github.com/WeActStudio/WeActStudio.ESP32CoreBoard))
- ESP32-S3 Devkit ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/esp32-s3-devkitm-1.html))
- ESP32-C3 Devkit ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/esp32-c3-devkitm-1.html))
- ESP32-C3 Super Mini ([Board Info](https://docs.platformio.org/en/latest/boards/espressif32/seeed_xiao_esp32c3.html))
- Waveshare ESP32-S3-GEEK ([Board Info](https://www.waveshare.com/wiki/ESP32-S3-GEEK))
\*Affiliate links

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -154,6 +154,9 @@
#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
#ifdef NERMINER_S3_GEEK
#include <User_Setups/Setup303_WaveShare ESP32S3_GEEK.h> // Setup file for Waveshare Setup303_WaveShare ESP32S3_GEEK with ST7789 135*240 TFT
#endif
//#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

View File

@ -0,0 +1,41 @@
// ST7789 135 x 240 display
#define USER_SETUP_ID 303
#define ST7789_DRIVER // Configure all registers
#define TFT_WIDTH 135
#define TFT_HEIGHT 240
#define CGRAM_OFFSET // Library will add offsets required
#define TFT_RGB_ORDER TFT_BGR // Colour order Blue-Green-Red
#define TFT_INVERSION_ON
// Generic ESP32 setup
//#define TFT_MISO 19
#define TFT_MOSI 11
#define TFT_SCLK 12
#define TFT_CS 10
#define TFT_DC 8
#define TFT_RST 9
#define TFT_BL 7
#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 SUPPORT_TRANSACTIONS

View File

@ -11,7 +11,7 @@
[platformio]
globallib_dir = lib
default_envs = M5Stick-C, esp32cam, ESP32-2432S028R, ESP32_2432S028_2USB, NerminerV2, Lilygo-T-Embed, ESP32-devKitv1, NerminerV2-S3-DONGLE, NerminerV2-S3-AMOLED, NerminerV2-T-QT, NerdminerV2-T-Display_V1, ESP32-2432S028R, M5-StampS3, ESP32-S3-devKitv1, ESP32-S3-mini-wemos, ESP32-S3-mini-weact, ESP32-C3-devKitmv1, ESP32-C3-super-mini
default_envs = M5Stick-C, esp32cam, ESP32-2432S028R, ESP32_2432S028_2USB, NerminerV2, Lilygo-T-Embed, ESP32-devKitv1, NerminerV2-S3-DONGLE, NerminerV2-S3-GEEK, NerminerV2-S3-AMOLED, NerminerV2-S3-AMOLED-TOUCH, NerminerV2-T-QT, NerdminerV2-T-Display_V1, ESP32-2432S028R, M5-StampS3, ESP32-S3-devKitv1, ESP32-S3-mini-wemos, ESP32-S2-mini-wemos, ESP32-S3-mini-weact, ESP32-D0WD-V3-weact, ESP32-C3-devKitmv1, ESP32-C3-super-mini
[env:M5Stick-C]
@ -73,6 +73,35 @@ lib_deps =
lib_ignore =
TFT_eSPI
;--------------------------------------------------------------------
[env:ESP32-S2-mini-wemos]
platform = espressif32
board = lolin_s2_mini
framework = arduino
monitor_filters =
esp32_exception_decoder
time
log2file
monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D BOARD_HAS_PSRAM
-D DEVKITV1=1
-D PIN_BUTTON_1=0
-D LED_PIN=15
;-D DEBUG_MINING=1
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
lib_ignore =
TFT_eSPI
;--------------------------------------------------------------------
[env:ESP32-S3-mini-weact]
@ -103,6 +132,35 @@ lib_deps =
https://github.com/FastLED/FastLED
lib_ignore =
TFT_eSPI
;--------------------------------------------------------------------
[env:ESP32-D0WD-V3-weact]
platform = espressif32
board = esp32dev
framework = arduino
monitor_filters =
esp32_exception_decoder
time
log2file
monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D DEVKITV1=1
-D PIN_BUTTON_1=0
-D LED_PIN=22
-D ACTIVE_LED=LOW
-D INACTIVE_LED=HIGH
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
lib_ignore =
TFT_eSPI
;--------------------------------------------------------------------
[env:ESP32-C3-super-mini]
@ -117,7 +175,6 @@ monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D BOARD_HAS_PSRAM
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
-D DEVKITV1=1
@ -146,7 +203,6 @@ monitor_speed = 115200
upload_speed = 115200
board_build.partitions = huge_app.csv
build_flags =
-D BOARD_HAS_PSRAM
-D ARDUINO_USB_MODE=1
-D ARDUINO_USB_CDC_ON_BOOT=1
-D ESP32RGB=1
@ -320,6 +376,27 @@ framework = arduino
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_AMOLED
-DTOUCH=0
-DBOARD_HAS_PSRAM
-DARDUINO_USB_CDC_ON_BOOT
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
https://github.com/golden-guy/Arduino_wolfssl.git#v5.5.4
;--------------------------------------------------------------------
[env:NerminerV2-S3-AMOLED-TOUCH]
platform = espressif32
board = lilygo-t-amoled
framework = arduino
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_AMOLED
-DTOUCH=1
-DBOARD_HAS_PSRAM
-DARDUINO_USB_CDC_ON_BOOT
lib_deps =
@ -354,6 +431,27 @@ lib_deps =
;--------------------------------------------------------------------
[env:NerminerV2-S3-GEEK]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
board_build.partitions = huge_app.csv
build_flags =
-DNERMINER_S3_GEEK
-DBOARD_HAS_PSRAM
-DARDUINO_USB_CDC_ON_BOOT
-DTFT_BACKLIGHT_ON=HIGH
lib_deps =
https://github.com/takkaO/OpenFontRender
bblanchon/ArduinoJson@^6.21.2
https://github.com/tzapu/WiFiManager.git#v2.0.16-rc.2
mathertel/OneButton @ ^2.0.3
arduino-libraries/NTPClient
;https://github.com/golden-guy/Arduino_wolfssl.git#v5.5.4
;--------------------------------------------------------------------
[env:esp32cam]
platform = espressif32 ;(ESP32-D0WD-V3)
board = esp32cam

View File

@ -27,6 +27,8 @@
#include "esp32CAM.h"
#elif defined(ESP32RGB)
#include "esp32RGB.h"
#elif defined(NERMINER_S3_GEEK)
#include "waveshareS3Geek.h"
#else
#error "No device defined"

View File

@ -4,6 +4,9 @@
#define PIN_BUTTON_1 0
#define LED_PIN 33
#define ACTIVE_LED HIGH
#define INACTIVE_LED LOW
#define NO_DISPLAY
// example how to configure SD card.

View File

@ -5,6 +5,14 @@
#define PIN_BUTTON_1 0
#endif
#ifndef ACTIVE_LED
#define ACTIVE_LED HIGH
#endif
#ifndef INACTIVE_LED
#define INACTIVE_LED LOW
#endif
#ifndef LED_PIN
#define LED_PIN 2
#endif

View File

@ -0,0 +1,7 @@
#ifndef _WAVESHARE_S3_GEEK_H
#define _WAVESHARE_S3_GEEK_H
#define PIN_BUTTON_1 0
#define V1_DISPLAY
#endif

View File

@ -29,6 +29,10 @@ TFT_eSprite background = TFT_eSprite(&tft);
void amoledDisplay_Init(void)
{
#if TOUCH
pinMode(38, OUTPUT);
digitalWrite(38, OUTPUT);
#endif
rm67162_init();
lcd_setRotation(1);

View File

@ -7,6 +7,7 @@
#include "wManager.h"
extern monitor_data mMonitor;
bool ledOn = false;
void noDisplay_Init(void)
{
@ -16,6 +17,8 @@ void noDisplay_Init(void)
void noDisplay_AlternateScreenState(void)
{
Serial.println("Switching display state");
ledOn = !ledOn;
}
void noDisplay_AlternateRotation(void)
@ -56,11 +59,17 @@ void noDisplay_DoLedStuff(unsigned long frame)
{
unsigned long currentMillis = millis();
if (!ledOn)
{
digitalWrite(LED_PIN, INACTIVE_LED);
return;
}
switch (mMonitor.NerdStatus)
{
case NM_waitingConfig:
digitalWrite(LED_PIN, HIGH); // LED encendido de forma continua
digitalWrite(LED_PIN, ACTIVE_LED); // LED encendido de forma continua
break;
case NM_Connecting: