mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-28 13:46:36 +00:00
Add support for ESP32-S3
This commit is contained in:
parent
d0ab4d7e96
commit
e28a1965e4
@ -51,10 +51,21 @@ def copy_merge_bins(source, target, env):
|
|||||||
|
|
||||||
board = env.BoardConfig()
|
board = env.BoardConfig()
|
||||||
mcu = board.get("build.mcu", "esp32")
|
mcu = board.get("build.mcu", "esp32")
|
||||||
|
flash_mode = board.get("build.flash_mode", "dio")
|
||||||
|
f_flash = board.get("build.f_flash", "40000000L")
|
||||||
|
flash_freq = '40m'
|
||||||
|
if (f_flash == '80000000L'):
|
||||||
|
flash_freq = '80m'
|
||||||
|
|
||||||
bootloader = "{}tools{}sdk{}{}{}bin{}bootloader_dio_40m.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, mcu, os.path.sep, os.path.sep, os.path.sep)
|
bootloader = "{}tools{}sdk{}{}{}bin{}bootloader_{}_{}.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, mcu, os.path.sep, os.path.sep, flash_mode, flash_freq)
|
||||||
|
# if not os.path.isfile(bootloader):
|
||||||
|
# bootloader = "{}tools{}sdk{}bin{}bootloader_dio_40m.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, os.path.sep, os.path.sep, os.path.sep)
|
||||||
if not os.path.isfile(bootloader):
|
if not os.path.isfile(bootloader):
|
||||||
bootloader = "{}tools{}sdk{}bin{}bootloader_dio_40m.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, os.path.sep, os.path.sep, os.path.sep)
|
bootloader = "{}tools{}sdk{}{}{}bin{}bootloader_{}_{}.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, mcu, os.path.sep, os.path.sep, flash_mode, flash_freq)
|
||||||
|
bootloader_location = '0x1000'
|
||||||
|
if (mcu == 'esp32s3'):
|
||||||
|
bootloader_location = '0x0000'
|
||||||
|
|
||||||
partitions = "{}{}partitions.bin".format(env.subst("$BUILD_DIR"), os.path.sep)
|
partitions = "{}{}partitions.bin".format(env.subst("$BUILD_DIR"), os.path.sep)
|
||||||
boot_app0 = "{}tools{}partitions{}boot_app0.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, os.path.sep)
|
boot_app0 = "{}tools{}partitions{}boot_app0.bin".format(FRAMEWORK_DIR, os.path.sep, os.path.sep, os.path.sep)
|
||||||
firmware_dst ="{}firmware{}{}_full_{}_{}.bin".format(OUTPUT_DIR, os.path.sep, name, flash_size, version)
|
firmware_dst ="{}firmware{}{}_full_{}_{}.bin".format(OUTPUT_DIR, os.path.sep, name, flash_size, version)
|
||||||
@ -79,8 +90,11 @@ def copy_merge_bins(source, target, env):
|
|||||||
print(firmware_src)
|
print(firmware_src)
|
||||||
print(firmware_dst)
|
print(firmware_dst)
|
||||||
print(flash_size)
|
print(flash_size)
|
||||||
|
print(flash_freq)
|
||||||
|
print(f_flash)
|
||||||
|
print(flash_mode)
|
||||||
|
|
||||||
process = subprocess.Popen(['python', 'tools/esptool_with_merge_bin.py', '--chip', mcu, 'merge_bin', '--output', firmware_dst, '--flash_mode', 'dio', '--flash_size', flash_size, '0x1000', bootloader, '0x8000', partitions, '0xe000', boot_app0, '0x10000', firmware_src],
|
process = subprocess.Popen(['python', 'tools/esptool_with_merge_bin.py', '--chip', mcu, 'merge_bin', '--output', firmware_dst, '--flash_mode', 'dio', '--flash_size', flash_size, '--flash_freq', flash_freq, bootloader_location, bootloader, '0x8000', partitions, '0xe000', boot_app0, '0x10000', firmware_src],
|
||||||
stdout=subprocess.PIPE,
|
stdout=subprocess.PIPE,
|
||||||
stderr=subprocess.PIPE)
|
stderr=subprocess.PIPE)
|
||||||
stdout, stderr = process.communicate()
|
stdout, stderr = process.communicate()
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
; -- Platform specific build flags
|
; -- Platform specific build flags
|
||||||
[esp32s3]
|
[esp32s3]
|
||||||
|
board_build.mcu = esp32s3
|
||||||
|
board_build.f_cpu = 240000000L
|
||||||
|
board_upload.flash_size = 4MB
|
||||||
|
board_upload.maximum_size = 4194304
|
||||||
|
board_build.partitions = user_setups/esp32s2/no_ota.csv
|
||||||
|
board_build.filesystem = littlefs
|
||||||
|
|
||||||
; ----- debugger
|
; ----- debugger
|
||||||
check_tool = cppcheck
|
check_tool = cppcheck
|
||||||
check_flags = --enable=all
|
check_flags = --enable=all
|
||||||
debug_tool = esp-prog
|
debug_tool = esp-prog
|
||||||
debug_init_break = tbreak setup
|
debug_init_break = tbreak setup
|
||||||
board_build.embed_files =
|
|
||||||
data/edit.htm.gz
|
board_build.embed_files = ${esp32.board_build.embed_files}
|
||||||
data/style.css.gz
|
|
||||||
data/script.js.gz
|
|
||||||
data/cert/x509_crt_bundle.bin
|
|
||||||
data/static/logo.svg.gz
|
|
||||||
data/static/ace.1.9.6.min.js.gz
|
|
||||||
data/static/petite-vue.hasp.js.gz
|
|
||||||
|
|
||||||
build_flags =
|
build_flags =
|
||||||
${env.build_flags}
|
${env.build_flags}
|
||||||
@ -86,7 +87,7 @@ extra_scripts =
|
|||||||
|
|
||||||
ps_ram =
|
ps_ram =
|
||||||
-DBOARD_HAS_PSRAM
|
-DBOARD_HAS_PSRAM
|
||||||
-mfix-esp32-psram-cache-issue ; uses 24kB
|
;-mfix-esp32-psram-cache-issue ; uses 24kB
|
||||||
-D HASP_USE_FREETYPE=1
|
-D HASP_USE_FREETYPE=1
|
||||||
-D LV_USE_FREETYPE=1
|
-D LV_USE_FREETYPE=1
|
||||||
no_ps_ram =
|
no_ps_ram =
|
||||||
@ -107,8 +108,8 @@ hspi =
|
|||||||
; -- The Arduino ESP32 v2.0.2 with 3 available flash sizes:
|
; -- The Arduino ESP32 v2.0.2 with 3 available flash sizes:
|
||||||
[arduino_esp32s3_v2]
|
[arduino_esp32s3_v2]
|
||||||
framework = arduino
|
framework = arduino
|
||||||
;platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.5/platform-espressif32-2.0.5.zip
|
platform = https://github.com/tasmota/platform-espressif32/releases/download/v2.0.4.1/platform-espressif32-2.0.4.1.zip
|
||||||
platform = espressif32
|
;platform = espressif32
|
||||||
board_build.filesystem = littlefs
|
board_build.filesystem = littlefs
|
||||||
; ----- crash reporter
|
; ----- crash reporter
|
||||||
monitor_filters = esp32_exception_decoder
|
monitor_filters = esp32_exception_decoder
|
||||||
|
65
user_setups/esp32s3/wt01_sc01-plus.ini
Normal file
65
user_setups/esp32s3/wt01_sc01-plus.ini
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
;***************************************************;
|
||||||
|
; WT SC01 Plus with TFT 3.5" ;
|
||||||
|
; - Custom esp32-s3 board ;
|
||||||
|
; - st7796 TFT ;
|
||||||
|
; - ft6336 touch controller ;
|
||||||
|
;***************************************************;
|
||||||
|
|
||||||
|
[env:wt01_sc01-plus]
|
||||||
|
extends = esp32s3_8mb_v2
|
||||||
|
board = um_tinys3
|
||||||
|
;board = esp32s3_opi
|
||||||
|
|
||||||
|
build_flags =
|
||||||
|
${env.build_flags}
|
||||||
|
${esp32.build_flags}
|
||||||
|
${esp32.no_ps_ram}
|
||||||
|
-D HASP_MODEL="SC01 Plus"
|
||||||
|
-DARDUINO_USB_CDC_ON_BOOT
|
||||||
|
-DUSE_USB_CDC_CONSOLE
|
||||||
|
|
||||||
|
;region -- LovyanGFX build options ------------------------
|
||||||
|
-D LGFX_USE_V1=1
|
||||||
|
-D WTSC01PLUS=1
|
||||||
|
-D ST7796_DRIVER=1
|
||||||
|
-D TOUCH_DRIVER=0x6336
|
||||||
|
-D HASP_USE_LGFX_TOUCH=1
|
||||||
|
-D TFT_WIDTH=320
|
||||||
|
-D TFT_HEIGHT=480
|
||||||
|
-D SPI_FREQUENCY=20000000
|
||||||
|
-D INVERT_COLORS=1
|
||||||
|
-D TFT_RD=-1
|
||||||
|
-D TFT_WR=47
|
||||||
|
-D TFT_RS=0
|
||||||
|
-DESP32_PARALLEL
|
||||||
|
-D TFT_D0=9
|
||||||
|
-D TFT_D1=46
|
||||||
|
-D TFT_D2=3
|
||||||
|
-D TFT_D3=8
|
||||||
|
-D TFT_D4=18
|
||||||
|
-D TFT_D5=17
|
||||||
|
-D TFT_D6=16
|
||||||
|
-D TFT_D7=15
|
||||||
|
-D TFT_CS=-1
|
||||||
|
-D TFT_RST=4
|
||||||
|
-D TFT_BUSY=-1
|
||||||
|
-D TFT_BL=-1
|
||||||
|
-D I2C_TOUCH_FREQUENCY=400000
|
||||||
|
-D I2C_TOUCH_ADDRESS=0x38
|
||||||
|
-D I2C_TOUCH_PORT=1
|
||||||
|
-D TOUCH_SDA=6
|
||||||
|
-D TOUCH_SCL=5
|
||||||
|
;endregion
|
||||||
|
|
||||||
|
;region -- Library options -------------------------------
|
||||||
|
lib_deps =
|
||||||
|
${env.lib_deps}
|
||||||
|
${esp32.lib_deps}
|
||||||
|
${arduino_esp32_v2.lib_deps}
|
||||||
|
${lovyangfx.lib_deps}
|
||||||
|
|
||||||
|
lib_ignore =
|
||||||
|
${env.lib_ignore}
|
||||||
|
${esp32.lib_ignore}
|
||||||
|
${arduino_esp32_v2.lib_ignore}
|
||||||
|
;endregion
|
Loading…
x
Reference in New Issue
Block a user