Merge branch 'master' into 240317-port_m5stack_han
This commit is contained in:
commit
d8e18cadd8
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
|
.idea/
|
||||||
.pio
|
.pio
|
||||||
.vscode
|
.vscode
|
||||||
.vs
|
.vs
|
||||||
|
BIN
3d_files/NerdMinerv2_SecurePins.stl
Normal file
BIN
3d_files/NerdMinerv2_SecurePins.stl
Normal file
Binary file not shown.
@ -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-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 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 ([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))
|
- 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-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)
|
- 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)
|
- 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
|
\*Affiliate links
|
||||||
|
|
||||||
|
BIN
bin/bin ESP32-C3-devKitmv1/0x10000_firmware.bin
Normal file
BIN
bin/bin ESP32-C3-devKitmv1/0x10000_firmware.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-C3-devKitmv1/0x1000_bootloader.bin
Normal file
BIN
bin/bin ESP32-C3-devKitmv1/0x1000_bootloader.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-C3-devKitmv1/0x8000_partitions.bin
Normal file
BIN
bin/bin ESP32-C3-devKitmv1/0x8000_partitions.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-C3-devKitmv1/0xe000_boot_app0.bin
Normal file
BIN
bin/bin ESP32-C3-devKitmv1/0xe000_boot_app0.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-C3-super-mini/0x10000_firmware.bin
Normal file
BIN
bin/bin ESP32-C3-super-mini/0x10000_firmware.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-C3-super-mini/0x1000_bootloader.bin
Normal file
BIN
bin/bin ESP32-C3-super-mini/0x1000_bootloader.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-C3-super-mini/0x8000_partitions.bin
Normal file
BIN
bin/bin ESP32-C3-super-mini/0x8000_partitions.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-C3-super-mini/0xe000_boot_app0.bin
Normal file
BIN
bin/bin ESP32-C3-super-mini/0xe000_boot_app0.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-D0WD-V3-weact/0x10000_firmware.bin
Normal file
BIN
bin/bin ESP32-D0WD-V3-weact/0x10000_firmware.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-D0WD-V3-weact/0x1000_bootloader.bin
Normal file
BIN
bin/bin ESP32-D0WD-V3-weact/0x1000_bootloader.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-D0WD-V3-weact/0x8000_partitions.bin
Normal file
BIN
bin/bin ESP32-D0WD-V3-weact/0x8000_partitions.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-D0WD-V3-weact/0xe000_boot_app0.bin
Normal file
BIN
bin/bin ESP32-D0WD-V3-weact/0xe000_boot_app0.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S2-mini-wemos/0x10000_firmware.bin
Normal file
BIN
bin/bin ESP32-S2-mini-wemos/0x10000_firmware.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S2-mini-wemos/0x1000_bootloader.bin
Normal file
BIN
bin/bin ESP32-S2-mini-wemos/0x1000_bootloader.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S2-mini-wemos/0x8000_partitions.bin
Normal file
BIN
bin/bin ESP32-S2-mini-wemos/0x8000_partitions.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S2-mini-wemos/0xe000_boot_app0.bin
Normal file
BIN
bin/bin ESP32-S2-mini-wemos/0xe000_boot_app0.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-devKitv1/0x10000_firmware.bin
Normal file
BIN
bin/bin ESP32-S3-devKitv1/0x10000_firmware.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-devKitv1/0x1000_bootloader.bin
Normal file
BIN
bin/bin ESP32-S3-devKitv1/0x1000_bootloader.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-devKitv1/0x8000_partitions.bin
Normal file
BIN
bin/bin ESP32-S3-devKitv1/0x8000_partitions.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-devKitv1/0xe000_boot_app0.bin
Normal file
BIN
bin/bin ESP32-S3-devKitv1/0xe000_boot_app0.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-mini-weact/0x10000_firmware.bin
Normal file
BIN
bin/bin ESP32-S3-mini-weact/0x10000_firmware.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-mini-weact/0x1000_bootloader.bin
Normal file
BIN
bin/bin ESP32-S3-mini-weact/0x1000_bootloader.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-mini-weact/0x8000_partitions.bin
Normal file
BIN
bin/bin ESP32-S3-mini-weact/0x8000_partitions.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-mini-weact/0xe000_boot_app0.bin
Normal file
BIN
bin/bin ESP32-S3-mini-weact/0xe000_boot_app0.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-mini-wemos/0x10000_firmware.bin
Normal file
BIN
bin/bin ESP32-S3-mini-wemos/0x10000_firmware.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-mini-wemos/0x1000_bootloader.bin
Normal file
BIN
bin/bin ESP32-S3-mini-wemos/0x1000_bootloader.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-mini-wemos/0x8000_partitions.bin
Normal file
BIN
bin/bin ESP32-S3-mini-wemos/0x8000_partitions.bin
Normal file
Binary file not shown.
BIN
bin/bin ESP32-S3-mini-wemos/0xe000_boot_app0.bin
Normal file
BIN
bin/bin ESP32-S3-mini-wemos/0xe000_boot_app0.bin
Normal file
Binary file not shown.
BIN
bin/bin LILYGO TDisplay-AMOLED-TOUCH/0x0000_bootloader.bin
Normal file
BIN
bin/bin LILYGO TDisplay-AMOLED-TOUCH/0x0000_bootloader.bin
Normal file
Binary file not shown.
BIN
bin/bin LILYGO TDisplay-AMOLED-TOUCH/0x10000_firmware.bin
Normal file
BIN
bin/bin LILYGO TDisplay-AMOLED-TOUCH/0x10000_firmware.bin
Normal file
Binary file not shown.
BIN
bin/bin LILYGO TDisplay-AMOLED-TOUCH/0x8000_partitions.bin
Normal file
BIN
bin/bin LILYGO TDisplay-AMOLED-TOUCH/0x8000_partitions.bin
Normal file
Binary file not shown.
BIN
bin/bin LILYGO TDisplay-AMOLED-TOUCH/0xe000_boot_app0.bin
Normal file
BIN
bin/bin LILYGO TDisplay-AMOLED-TOUCH/0xe000_boot_app0.bin
Normal file
Binary file not shown.
BIN
bin/bin Waveshare S3 Geek/0x0000_bootloader.bin
Normal file
BIN
bin/bin Waveshare S3 Geek/0x0000_bootloader.bin
Normal file
Binary file not shown.
BIN
bin/bin Waveshare S3 Geek/0x10000_firmware.bin
Normal file
BIN
bin/bin Waveshare S3 Geek/0x10000_firmware.bin
Normal file
Binary file not shown.
BIN
bin/bin Waveshare S3 Geek/0x8000_partitions.bin
Normal file
BIN
bin/bin Waveshare S3 Geek/0x8000_partitions.bin
Normal file
Binary file not shown.
BIN
bin/bin Waveshare S3 Geek/0xe000_boot_app0.bin
Normal file
BIN
bin/bin Waveshare S3 Geek/0xe000_boot_app0.bin
Normal file
Binary file not shown.
@ -154,6 +154,9 @@
|
|||||||
#ifdef ESP32_CAM
|
#ifdef ESP32_CAM
|
||||||
#include <User_Setups/Setup212_ESP32Cam_DongleDisplay.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
|
#include <User_Setups/Setup212_ESP32Cam_DongleDisplay.h> // For the LilyGo T-Dongle S3 based ESP32 with ST7735 80 x 160 TFT
|
||||||
#endif
|
#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/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
|
||||||
|
41
lib/TFT_eSPI/User_Setups/Setup303_WaveShare ESP32S3_GEEK.h
Normal file
41
lib/TFT_eSPI/User_Setups/Setup303_WaveShare ESP32S3_GEEK.h
Normal 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
|
106
platformio.ini
106
platformio.ini
@ -11,7 +11,7 @@
|
|||||||
[platformio]
|
[platformio]
|
||||||
globallib_dir = lib
|
globallib_dir = lib
|
||||||
|
|
||||||
default_envs = wt32-sc01, wt32-sc01-plus, han_m5stack, M5Stick-C, esp32cam, ESP32-2432S028R, NerminerV2, 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
|
default_envs = wt32-sc01, wt32-sc01-plus, han_m5stack, 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]
|
[env:M5Stick-C]
|
||||||
platform = espressif32
|
platform = espressif32
|
||||||
@ -170,6 +170,35 @@ lib_ignore =
|
|||||||
TFT_eSPI
|
TFT_eSPI
|
||||||
HANSOLOminerv2
|
HANSOLOminerv2
|
||||||
|
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------
|
||||||
|
|
||||||
|
[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]
|
[env:ESP32-S3-mini-weact]
|
||||||
@ -202,6 +231,37 @@ lib_ignore =
|
|||||||
TFT_eSPI
|
TFT_eSPI
|
||||||
HANSOLOminerv2
|
HANSOLOminerv2
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
;--------------------------------------------------------------------
|
||||||
|
|
||||||
|
[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]
|
[env:ESP32-C3-super-mini]
|
||||||
@ -216,7 +276,6 @@ monitor_speed = 115200
|
|||||||
upload_speed = 115200
|
upload_speed = 115200
|
||||||
board_build.partitions = huge_app.csv
|
board_build.partitions = huge_app.csv
|
||||||
build_flags =
|
build_flags =
|
||||||
-D BOARD_HAS_PSRAM
|
|
||||||
-D ARDUINO_USB_MODE=1
|
-D ARDUINO_USB_MODE=1
|
||||||
-D ARDUINO_USB_CDC_ON_BOOT=1
|
-D ARDUINO_USB_CDC_ON_BOOT=1
|
||||||
-D DEVKITV1=1
|
-D DEVKITV1=1
|
||||||
@ -247,7 +306,6 @@ monitor_speed = 115200
|
|||||||
upload_speed = 115200
|
upload_speed = 115200
|
||||||
board_build.partitions = huge_app.csv
|
board_build.partitions = huge_app.csv
|
||||||
build_flags =
|
build_flags =
|
||||||
-D BOARD_HAS_PSRAM
|
|
||||||
-D ARDUINO_USB_MODE=1
|
-D ARDUINO_USB_MODE=1
|
||||||
-D ARDUINO_USB_CDC_ON_BOOT=1
|
-D ARDUINO_USB_CDC_ON_BOOT=1
|
||||||
-D ESP32RGB=1
|
-D ESP32RGB=1
|
||||||
@ -431,6 +489,27 @@ framework = arduino
|
|||||||
board_build.partitions = huge_app.csv
|
board_build.partitions = huge_app.csv
|
||||||
build_flags =
|
build_flags =
|
||||||
-DNERMINER_S3_AMOLED
|
-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
|
-DBOARD_HAS_PSRAM
|
||||||
-DARDUINO_USB_CDC_ON_BOOT
|
-DARDUINO_USB_CDC_ON_BOOT
|
||||||
lib_deps =
|
lib_deps =
|
||||||
@ -469,6 +548,27 @@ lib_ignore =
|
|||||||
|
|
||||||
;--------------------------------------------------------------------
|
;--------------------------------------------------------------------
|
||||||
|
|
||||||
|
[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]
|
[env:esp32cam]
|
||||||
platform = espressif32 ;(ESP32-D0WD-V3)
|
platform = espressif32 ;(ESP32-D0WD-V3)
|
||||||
board = esp32cam
|
board = esp32cam
|
||||||
|
@ -13,6 +13,7 @@
|
|||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "drivers/displays/display.h"
|
#include "drivers/displays/display.h"
|
||||||
#include "drivers/storage/SDCard.h"
|
#include "drivers/storage/SDCard.h"
|
||||||
|
#include "timeconst.h"
|
||||||
|
|
||||||
//3 seconds WDT
|
//3 seconds WDT
|
||||||
#define WDT_TIMEOUT 3
|
#define WDT_TIMEOUT 3
|
||||||
@ -54,7 +55,7 @@ void setup()
|
|||||||
#endif //MONITOR_SPEED
|
#endif //MONITOR_SPEED
|
||||||
|
|
||||||
Serial.setTimeout(0);
|
Serial.setTimeout(0);
|
||||||
delay(100);
|
delay(SECOND_MS/10);
|
||||||
|
|
||||||
esp_task_wdt_init(WDT_MINER_TIMEOUT, true);
|
esp_task_wdt_init(WDT_MINER_TIMEOUT, true);
|
||||||
// Idle task that would reset WDT never runs, because core 0 gets fully utilized
|
// Idle task that would reset WDT never runs, because core 0 gets fully utilized
|
||||||
@ -63,7 +64,7 @@ void setup()
|
|||||||
|
|
||||||
// Setup the buttons
|
// Setup the buttons
|
||||||
#if defined(PIN_BUTTON_1) && !defined(PIN_BUTTON_2) //One button device
|
#if defined(PIN_BUTTON_1) && !defined(PIN_BUTTON_2) //One button device
|
||||||
button1.setPressTicks(5000);
|
button1.setPressMs(5*SECOND_MS);
|
||||||
button1.attachClick(switchToNextScreen);
|
button1.attachClick(switchToNextScreen);
|
||||||
button1.attachDoubleClick(alternateScreenRotation);
|
button1.attachDoubleClick(alternateScreenRotation);
|
||||||
button1.attachLongPressStart(reset_configuration);
|
button1.attachLongPressStart(reset_configuration);
|
||||||
@ -71,13 +72,13 @@ void setup()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PIN_BUTTON_1) && defined(PIN_BUTTON_2) //Button 1 of two button device
|
#if defined(PIN_BUTTON_1) && defined(PIN_BUTTON_2) //Button 1 of two button device
|
||||||
button1.setPressTicks(5000);
|
button1.setPressMs(5*SECOND_MS);
|
||||||
button1.attachClick(alternateScreenState);
|
button1.attachClick(alternateScreenState);
|
||||||
button1.attachDoubleClick(alternateScreenRotation);
|
button1.attachDoubleClick(alternateScreenRotation);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(PIN_BUTTON_2) //Button 2 of two button device
|
#if defined(PIN_BUTTON_2) //Button 2 of two button device
|
||||||
button2.setPressTicks(5000);
|
button2.setPressMs(5*SECOND_MS);
|
||||||
button2.attachClick(switchToNextScreen);
|
button2.attachClick(switchToNextScreen);
|
||||||
button2.attachLongPressStart(reset_configuration);
|
button2.attachLongPressStart(reset_configuration);
|
||||||
#endif
|
#endif
|
||||||
@ -90,7 +91,7 @@ void setup()
|
|||||||
|
|
||||||
/******** PRINT INIT SCREEN *****/
|
/******** PRINT INIT SCREEN *****/
|
||||||
drawLoadingScreen();
|
drawLoadingScreen();
|
||||||
delay(2000);
|
delay(2*SECOND_MS);
|
||||||
|
|
||||||
/******** SHOW LED INIT STATUS (devices without screen) *****/
|
/******** SHOW LED INIT STATUS (devices without screen) *****/
|
||||||
mMonitor.NerdStatus = NM_waitingConfig;
|
mMonitor.NerdStatus = NM_waitingConfig;
|
||||||
|
@ -39,6 +39,9 @@
|
|||||||
#include "m5stack.h"
|
#include "m5stack.h"
|
||||||
#elif defined(WT32_BOARD)
|
#elif defined(WT32_BOARD)
|
||||||
#include "wt32.h"
|
#include "wt32.h"
|
||||||
|
#elif defined(NERMINER_S3_GEEK)
|
||||||
|
#include "waveshareS3Geek.h"
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error "No device defined"
|
#error "No device defined"
|
||||||
#endif
|
#endif
|
||||||
|
@ -7,4 +7,16 @@
|
|||||||
#define LED_PIN 4 // Red pin
|
#define LED_PIN 4 // Red pin
|
||||||
#define LED_PIN_G 17 // Green pin
|
#define LED_PIN_G 17 // Green pin
|
||||||
|
|
||||||
|
// Pin defines for the SD card interface
|
||||||
|
// This is working for both, ESP32 2432S028R and ESP 2432S028_2USB boards
|
||||||
|
// --------------------------------------
|
||||||
|
// use SPI interface
|
||||||
|
// (default SPI unit provided by <SPI.h>)
|
||||||
|
// setup SPI pins.
|
||||||
|
|
||||||
|
#define SDSPI_CS 5
|
||||||
|
#define SDSPI_CLK 18
|
||||||
|
#define SDSPI_MOSI 23
|
||||||
|
#define SDSPI_MISO 19
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
@ -4,6 +4,9 @@
|
|||||||
#define PIN_BUTTON_1 0
|
#define PIN_BUTTON_1 0
|
||||||
#define LED_PIN 33
|
#define LED_PIN 33
|
||||||
|
|
||||||
|
#define ACTIVE_LED HIGH
|
||||||
|
#define INACTIVE_LED LOW
|
||||||
|
|
||||||
#define NO_DISPLAY
|
#define NO_DISPLAY
|
||||||
|
|
||||||
// example how to configure SD card.
|
// example how to configure SD card.
|
||||||
|
@ -5,6 +5,14 @@
|
|||||||
#define PIN_BUTTON_1 0
|
#define PIN_BUTTON_1 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef ACTIVE_LED
|
||||||
|
#define ACTIVE_LED HIGH
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef INACTIVE_LED
|
||||||
|
#define INACTIVE_LED LOW
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifndef LED_PIN
|
#ifndef LED_PIN
|
||||||
#define LED_PIN 2
|
#define LED_PIN 2
|
||||||
#endif
|
#endif
|
||||||
|
7
src/drivers/devices/waveshareS3Geek.h
Normal file
7
src/drivers/devices/waveshareS3Geek.h
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
#ifndef _WAVESHARE_S3_GEEK_H
|
||||||
|
#define _WAVESHARE_S3_GEEK_H
|
||||||
|
|
||||||
|
#define PIN_BUTTON_1 0
|
||||||
|
#define V1_DISPLAY
|
||||||
|
|
||||||
|
#endif
|
@ -1,5 +1,6 @@
|
|||||||
#include "displayDriver.h"
|
#include "displayDriver.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef AMOLED_DISPLAY
|
#ifdef AMOLED_DISPLAY
|
||||||
|
|
||||||
#include <rm67162.h>
|
#include <rm67162.h>
|
||||||
@ -10,6 +11,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 536
|
#define WIDTH 536
|
||||||
#define HEIGHT 240
|
#define HEIGHT 240
|
||||||
@ -29,8 +31,12 @@ TFT_eSprite background = TFT_eSprite(&tft);
|
|||||||
|
|
||||||
void amoledDisplay_Init(void)
|
void amoledDisplay_Init(void)
|
||||||
{
|
{
|
||||||
|
#if TOUCH
|
||||||
|
pinMode(38, OUTPUT);
|
||||||
|
digitalWrite(38, OUTPUT);
|
||||||
|
#endif
|
||||||
rm67162_init();
|
rm67162_init();
|
||||||
lcd_setRotation(1);
|
lcd_setRotation(LANDSCAPE);
|
||||||
|
|
||||||
background.createSprite(WIDTH, HEIGHT);
|
background.createSprite(WIDTH, HEIGHT);
|
||||||
background.setSwapBytes(true);
|
background.setSwapBytes(true);
|
||||||
@ -51,11 +57,11 @@ void amoledDisplay_AlternateScreenState(void)
|
|||||||
screen_state ^= 1;
|
screen_state ^= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
int screen_rotation = 1;
|
int screen_rotation = LANDSCAPE;
|
||||||
void amoledDisplay_AlternateRotation(void)
|
void amoledDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
screen_rotation == 1 ? lcd_setRotation(3) : lcd_setRotation(1);
|
screen_rotation = flipRotation(screen_rotation);
|
||||||
screen_rotation ^= 1;
|
screen_rotation ^= 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void amoledDisplay_MinerScreen(unsigned long mElapsed)
|
void amoledDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#ifdef USE_LED
|
#ifdef USE_LED
|
||||||
#include <FastLED.h>
|
#include <FastLED.h>
|
||||||
@ -85,7 +86,7 @@ void dongleDisplay_Init(void)
|
|||||||
#endif // USE_LED
|
#endif // USE_LED
|
||||||
|
|
||||||
tft.init();
|
tft.init();
|
||||||
tft.setRotation(3);
|
tft.setRotation(LANDSCAPE_INVERTED);
|
||||||
tft.setSwapBytes(true);
|
tft.setSwapBytes(true);
|
||||||
background.createSprite(BUFFER_WIDTH, BUFFER_HEIGHT);
|
background.createSprite(BUFFER_WIDTH, BUFFER_HEIGHT);
|
||||||
background.setSwapBytes(true);
|
background.setSwapBytes(true);
|
||||||
@ -110,7 +111,7 @@ void dongleDisplay_AlternateScreenState(void)
|
|||||||
|
|
||||||
void dongleDisplay_AlternateRotation(void)
|
void dongleDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
tft.setRotation( flipRotation(tft.getRotation()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void dongleDisplay_MinerScreen(unsigned long mElapsed)
|
void dongleDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -12,6 +12,7 @@
|
|||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
#include <SPI.h>
|
#include <SPI.h>
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 130 //320
|
#define WIDTH 130 //320
|
||||||
#define HEIGHT 170
|
#define HEIGHT 170
|
||||||
@ -31,7 +32,7 @@ bool hasChangedScreen = true;
|
|||||||
void esp32_2432S028R_Init(void)
|
void esp32_2432S028R_Init(void)
|
||||||
{
|
{
|
||||||
tft.init();
|
tft.init();
|
||||||
tft.setRotation(1);
|
tft.setRotation(ROTATION_90);
|
||||||
#ifdef ESP32_2432S028_2USB
|
#ifdef ESP32_2432S028_2USB
|
||||||
/*
|
/*
|
||||||
In addition to TFT_INVERSION this adjusts the gamma curve to have better
|
In addition to TFT_INVERSION this adjusts the gamma curve to have better
|
||||||
@ -79,7 +80,7 @@ void esp32_2432S028R_AlternateScreenState(void)
|
|||||||
|
|
||||||
void esp32_2432S028R_AlternateRotation(void)
|
void esp32_2432S028R_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
tft.setRotation( flipRotation(tft.getRotation()) );
|
||||||
hasChangedScreen = true;
|
hasChangedScreen = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "media/Free_Fonts.h"
|
#include "media/Free_Fonts.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 80
|
#define WIDTH 80
|
||||||
#define HEIGHT 160
|
#define HEIGHT 160
|
||||||
@ -21,7 +22,7 @@ int screen_state = 1;
|
|||||||
void m5stickCDriver_Init(void)
|
void m5stickCDriver_Init(void)
|
||||||
{
|
{
|
||||||
M5.begin();
|
M5.begin();
|
||||||
M5.Lcd.setRotation(1);
|
M5.Lcd.setRotation(LANDSCAPE);
|
||||||
M5.Lcd.setTextSize(1);
|
M5.Lcd.setTextSize(1);
|
||||||
M5.Lcd.fillScreen(BLACK);
|
M5.Lcd.fillScreen(BLACK);
|
||||||
M5.Axp.ScreenBreath(10); //screen brightness 7-15
|
M5.Axp.ScreenBreath(10); //screen brightness 7-15
|
||||||
@ -42,8 +43,7 @@ void m5stickCDriver_AlternateScreenState(void)
|
|||||||
|
|
||||||
void m5stickCDriver_AlternateRotation(void)
|
void m5stickCDriver_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
if (M5.Lcd.getRotation() == 3) M5.Lcd.setRotation(1);
|
M5.Lcd.setRotation( flipRotation(M5.Lcd.getRotation()) );
|
||||||
else M5.Lcd.setRotation(3);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void m5stickCDriver_MinerScreen(unsigned long mElapsed)
|
void m5stickCDriver_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -7,6 +7,7 @@
|
|||||||
#include "wManager.h"
|
#include "wManager.h"
|
||||||
|
|
||||||
extern monitor_data mMonitor;
|
extern monitor_data mMonitor;
|
||||||
|
bool ledOn = false;
|
||||||
|
|
||||||
void noDisplay_Init(void)
|
void noDisplay_Init(void)
|
||||||
{
|
{
|
||||||
@ -16,6 +17,8 @@ void noDisplay_Init(void)
|
|||||||
|
|
||||||
void noDisplay_AlternateScreenState(void)
|
void noDisplay_AlternateScreenState(void)
|
||||||
{
|
{
|
||||||
|
Serial.println("Switching display state");
|
||||||
|
ledOn = !ledOn;
|
||||||
}
|
}
|
||||||
|
|
||||||
void noDisplay_AlternateRotation(void)
|
void noDisplay_AlternateRotation(void)
|
||||||
@ -56,11 +59,17 @@ void noDisplay_DoLedStuff(unsigned long frame)
|
|||||||
{
|
{
|
||||||
unsigned long currentMillis = millis();
|
unsigned long currentMillis = millis();
|
||||||
|
|
||||||
|
if (!ledOn)
|
||||||
|
{
|
||||||
|
digitalWrite(LED_PIN, INACTIVE_LED);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
switch (mMonitor.NerdStatus)
|
switch (mMonitor.NerdStatus)
|
||||||
{
|
{
|
||||||
|
|
||||||
case NM_waitingConfig:
|
case NM_waitingConfig:
|
||||||
digitalWrite(LED_PIN, HIGH); // LED encendido de forma continua
|
digitalWrite(LED_PIN, ACTIVE_LED); // LED encendido de forma continua
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case NM_Connecting:
|
case NM_Connecting:
|
||||||
|
42
src/drivers/displays/rotation.h
Normal file
42
src/drivers/displays/rotation.h
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
//
|
||||||
|
// Rotation can be 0, 90, 180 or 270 degrees, but TFT_eSPI cryptically
|
||||||
|
// identifies these as 0, 1, 2, and 3. ?!?!?!?!?!?
|
||||||
|
//
|
||||||
|
// Created by dwight on 3/14/24.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef NERDMINER_V2_ROTATION_H
|
||||||
|
|
||||||
|
// Rotation value 0 sets the display to a portrait (tall) mode, with the USB jack at the top right.
|
||||||
|
#define ROTATION_0 0
|
||||||
|
#define PORTRAIT ROTATION_0
|
||||||
|
|
||||||
|
// Rotation 1 is landscape (wide) mode, with the USB jack at the bottom right.
|
||||||
|
#define ROTATION_90 1
|
||||||
|
#define LANDSCAPE ROTATION_90
|
||||||
|
|
||||||
|
// Rotation value 2 is also a portrait mode, with the USB jack at the bottom left.
|
||||||
|
#define ROTATION_180 2
|
||||||
|
#define PORTRAIT_INVERTED ROTATION_180
|
||||||
|
|
||||||
|
// Rotation 3 is also landscape, but with the USB jack at the top left.
|
||||||
|
#define ROTATION_270 3
|
||||||
|
#define LANDSCAPE_INVERTED ROTATION_270
|
||||||
|
|
||||||
|
// Helper function to rotate display left (-90 deg)
|
||||||
|
int rotationLeft(int d) {
|
||||||
|
return (d-ROTATION_90) % 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper function to rotate display right (90 deg)
|
||||||
|
int rotationRight(int d) {
|
||||||
|
return (d+ROTATION_90) % 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Helper function to rotate display 180 deg
|
||||||
|
int flipRotation(int d) {
|
||||||
|
return (d+ROTATION_180) % 4;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define NERDMINER_V2_ROTATION_H
|
||||||
|
#endif //NERDMINER_V2_ROTATION_H
|
@ -9,6 +9,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 340
|
#define WIDTH 340
|
||||||
#define HEIGHT 170
|
#define HEIGHT 170
|
||||||
@ -21,9 +22,9 @@ void tDisplay_Init(void)
|
|||||||
{
|
{
|
||||||
tft.init();
|
tft.init();
|
||||||
#ifdef LILYGO_S3_T_EMBED
|
#ifdef LILYGO_S3_T_EMBED
|
||||||
tft.setRotation(3);
|
tft.setRotation(ROTATION_270);
|
||||||
#else
|
#else
|
||||||
tft.setRotation(1);
|
tft.setRotation(ROTATION_90);
|
||||||
#endif
|
#endif
|
||||||
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
||||||
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
||||||
@ -49,7 +50,7 @@ void tDisplay_AlternateScreenState(void)
|
|||||||
|
|
||||||
void tDisplay_AlternateRotation(void)
|
void tDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
tft.setRotation( flipRotation(tft.getRotation()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void tDisplay_MinerScreen(unsigned long mElapsed)
|
void tDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 240
|
#define WIDTH 240
|
||||||
#define HEIGHT 135
|
#define HEIGHT 135
|
||||||
@ -20,7 +21,7 @@ TFT_eSprite background = TFT_eSprite(&tft); // Invoke library sprite
|
|||||||
void tDisplay_Init(void)
|
void tDisplay_Init(void)
|
||||||
{
|
{
|
||||||
tft.init();
|
tft.init();
|
||||||
tft.setRotation(1);
|
tft.setRotation(ROTATION_90);
|
||||||
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
||||||
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
||||||
background.setSwapBytes(true);
|
background.setSwapBytes(true);
|
||||||
@ -45,7 +46,7 @@ void tDisplay_AlternateScreenState(void)
|
|||||||
|
|
||||||
void tDisplay_AlternateRotation(void)
|
void tDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.getRotation() == 1 ? tft.setRotation(3) : tft.setRotation(1);
|
tft.setRotation( flipRotation(tft.getRotation()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void tDisplay_MinerScreen(unsigned long mElapsed)
|
void tDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -9,6 +9,7 @@
|
|||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
#include "OpenFontRender.h"
|
#include "OpenFontRender.h"
|
||||||
|
#include "rotation.h"
|
||||||
|
|
||||||
#define WIDTH 128
|
#define WIDTH 128
|
||||||
#define HEIGHT 128
|
#define HEIGHT 128
|
||||||
@ -20,7 +21,7 @@ TFT_eSprite background = TFT_eSprite(&tft); // Invoke library sprite
|
|||||||
void t_qtDisplay_Init(void)
|
void t_qtDisplay_Init(void)
|
||||||
{
|
{
|
||||||
tft.init();
|
tft.init();
|
||||||
tft.setRotation(1);
|
tft.setRotation(LANDSCAPE);
|
||||||
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
tft.setSwapBytes(true); // Swap the colour byte order when rendering
|
||||||
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
background.createSprite(WIDTH, HEIGHT); // Background Sprite
|
||||||
background.setSwapBytes(true);
|
background.setSwapBytes(true);
|
||||||
@ -45,7 +46,7 @@ void t_qtDisplay_AlternateScreenState(void)
|
|||||||
|
|
||||||
void t_qtDisplay_AlternateRotation(void)
|
void t_qtDisplay_AlternateRotation(void)
|
||||||
{
|
{
|
||||||
tft.setRotation((tft.getRotation()+1) % 4);
|
tft.setRotation( rotationRight(tft.getRotation()) );
|
||||||
}
|
}
|
||||||
|
|
||||||
void t_qtDisplay_MinerScreen(unsigned long mElapsed)
|
void t_qtDisplay_MinerScreen(unsigned long mElapsed)
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#include "mining.h"
|
#include "mining.h"
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "monitor.h"
|
#include "monitor.h"
|
||||||
|
#include "timeconst.h"
|
||||||
#include "drivers/displays/display.h"
|
#include "drivers/displays/display.h"
|
||||||
#include "drivers/storage/storage.h"
|
#include "drivers/storage/storage.h"
|
||||||
|
|
||||||
@ -43,7 +44,7 @@ monitor_data mMonitor;
|
|||||||
bool isMinerSuscribed = false;
|
bool isMinerSuscribed = false;
|
||||||
unsigned long mLastTXtoPool = millis();
|
unsigned long mLastTXtoPool = millis();
|
||||||
|
|
||||||
int saveIntervals[7] = {5 * 60, 15 * 60, 30 * 60, 1 * 360, 3 * 360, 6 * 360, 12 * 360};
|
int saveIntervals[7] = {5 * 60, 15 * 60, 30 * 60, 1 * 3600, 3 * 3600, 6 * 3600, 12 * 3600};
|
||||||
int saveIntervalsSize = sizeof(saveIntervals)/sizeof(saveIntervals[0]);
|
int saveIntervalsSize = sizeof(saveIntervals)/sizeof(saveIntervals[0]);
|
||||||
int currentIntervalIndex = 0;
|
int currentIntervalIndex = 0;
|
||||||
|
|
||||||
|
17
src/timeconst.h
Normal file
17
src/timeconst.h
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
//
|
||||||
|
// Created by dwight on 3/14/24.
|
||||||
|
//
|
||||||
|
|
||||||
|
#ifndef NERDMINER_V2_TIMECONST_H
|
||||||
|
#define NERDMINER_V2_TIMECONST_H
|
||||||
|
|
||||||
|
#define SECOND_MS 1000
|
||||||
|
#define SECOND 1
|
||||||
|
#define MINUTE 60*SECOND // 60 Seconds
|
||||||
|
#define HOUR 60*MINUTE // 3,600 Seconds
|
||||||
|
#define DAY 24*HOUR // 86,400 Seconds
|
||||||
|
#define WEEK 7*DAY // 604,800 Seconds
|
||||||
|
#define MONTH 30*DAY // 2,592,000 Seconds
|
||||||
|
#define YEAR 365*DAY // 31,536,000 Seconds
|
||||||
|
|
||||||
|
#endif //NERDMINER_V2_TIMECONST_H
|
@ -13,6 +13,7 @@
|
|||||||
#include "drivers/storage/SDCard.h"
|
#include "drivers/storage/SDCard.h"
|
||||||
#include "drivers/storage/nvMemory.h"
|
#include "drivers/storage/nvMemory.h"
|
||||||
#include "drivers/storage/storage.h"
|
#include "drivers/storage/storage.h"
|
||||||
|
#include "timeconst.h"
|
||||||
|
|
||||||
|
|
||||||
// Flag for saving data
|
// Flag for saving data
|
||||||
@ -134,6 +135,9 @@ void init_WifiManager()
|
|||||||
// Text box (Number) - 7 characters maximum
|
// Text box (Number) - 7 characters maximum
|
||||||
WiFiManagerParameter port_text_box_num("Poolport", "Pool port", convertedValue, 7);
|
WiFiManagerParameter port_text_box_num("Poolport", "Pool port", convertedValue, 7);
|
||||||
|
|
||||||
|
// Text box (String) - 80 characters maximum
|
||||||
|
WiFiManagerParameter password_text_box("Poolpassword", "Pool password (Optional)", Settings.PoolPassword, 80);
|
||||||
|
|
||||||
// Text box (String) - 80 characters maximum
|
// Text box (String) - 80 characters maximum
|
||||||
WiFiManagerParameter addr_text_box("btcAddress", "Your BTC address", Settings.BtcWallet, 80);
|
WiFiManagerParameter addr_text_box("btcAddress", "Your BTC address", Settings.BtcWallet, 80);
|
||||||
|
|
||||||
@ -150,8 +154,6 @@ void init_WifiManager()
|
|||||||
strcat(checkboxParams, " checked");
|
strcat(checkboxParams, " checked");
|
||||||
}
|
}
|
||||||
WiFiManagerParameter save_stats_to_nvs("SaveStatsToNVS", "Track Uptime, Best Diff, Total Hashes in device Flash memory. (Experimental)", "T", 2, checkboxParams, WFM_LABEL_AFTER);
|
WiFiManagerParameter save_stats_to_nvs("SaveStatsToNVS", "Track Uptime, Best Diff, Total Hashes in device Flash memory. (Experimental)", "T", 2, checkboxParams, WFM_LABEL_AFTER);
|
||||||
// Text box (String) - 80 characters maximum
|
|
||||||
WiFiManagerParameter password_text_box("Poolpassword - Optionl", "Pool password", Settings.PoolPassword, 80);
|
|
||||||
|
|
||||||
// Add all defined parameters
|
// Add all defined parameters
|
||||||
wm.addParameter(&pool_text_box);
|
wm.addParameter(&pool_text_box);
|
||||||
@ -183,10 +185,10 @@ void init_WifiManager()
|
|||||||
Settings.saveStats = (strncmp(save_stats_to_nvs.getValue(), "T", 1) == 0);
|
Settings.saveStats = (strncmp(save_stats_to_nvs.getValue(), "T", 1) == 0);
|
||||||
|
|
||||||
nvMem.saveConfig(&Settings);
|
nvMem.saveConfig(&Settings);
|
||||||
delay(3000);
|
delay(3*SECOND_MS);
|
||||||
//reset and try again, or maybe put it to deep sleep
|
//reset and try again, or maybe put it to deep sleep
|
||||||
ESP.restart();
|
ESP.restart();
|
||||||
delay(5000);
|
delay(5*SECOND_MS);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user