Updated scripts and boards

This commit is contained in:
Ken Van Hoeylandt 2025-11-12 18:08:57 +01:00
parent 7f34126224
commit 191ffc569b
42 changed files with 50 additions and 267 deletions

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=BigTreeTech vendor=BigTreeTech
name=Panda Touch,K Touch name=Panda Touch,K Touch
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -9,7 +8,6 @@ flashSize=16MB
spiRam=true spiRam=true
spiRamMode=OCT spiRamMode=OCT
spiRamSpeed=120M spiRamSpeed=120M
tinyUsb=false
esptoolFlashFreq=120M esptoolFlashFreq=120M
fixRgbDisplayGlitch=true fixRgbDisplayGlitch=true
@ -18,10 +16,5 @@ size=2.4"
shape=rectangle shape=rectangle
dpi=139 dpi=139
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,23 +1,16 @@
[general] [general]
vendor=CYD vendor=CYD
name=2432S024C name=2432S024C
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
[display] [display]
size=2.4" size=2.4"
shape=rectangle shape=rectangle
dpi=167 dpi=167
[cdn]
infoMessage=
warningMessage=There currently is a known issue with the display driver.<br/>It will likely show artifacts.
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,13 +1,11 @@
[general] [general]
vendor=CYD vendor=CYD
name=2432S028R name=2432S028R
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
[display] [display]
size=2.8" size=2.8"
@ -15,9 +13,7 @@ shape=rectangle
dpi=143 dpi=143
[cdn] [cdn]
infoMessage=
warningMessage=There are 3 hardware variants of this board. This build works on the original variant only ("v1"). warningMessage=There are 3 hardware variants of this board. This build works on the original variant only ("v1").
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,13 +1,11 @@
[general] [general]
vendor=CYD vendor=CYD
name=2432S028R v3 name=2432S028R v3
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
[display] [display]
size=2.8" size=2.8"
@ -15,9 +13,7 @@ shape=rectangle
dpi=143 dpi=143
[cdn] [cdn]
infoMessage=
warningMessage=There are 3 hardware variants of this board. This build only supports board version 3. warningMessage=There are 3 hardware variants of this board. This build only supports board version 3.
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,23 +1,16 @@
[general] [general]
vendor=CYD vendor=CYD
name=2432S032C name=2432S032C
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
[display] [display]
size=3.2" size=3.2"
shape=rectangle shape=rectangle
dpi=125 dpi=125
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=CYD vendor=CYD
name=4848S040C name=4848S040C
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -9,7 +8,6 @@ flashSize=16MB
spiRam=true spiRam=true
spiRamMode=OCT spiRamMode=OCT
spiRamSpeed=80M spiRamSpeed=80M
tinyUsb=false
fixRgbDisplayGlitch=true fixRgbDisplayGlitch=true
[display] [display]
@ -17,17 +15,5 @@ size=4"
shape=rectangle shape=rectangle
dpi=170 dpi=170
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16
# Fixes glitches in the display driver when rendering new screens/apps
[sdkconfig]
CONFIG_SPIRAM_FETCH_INSTRUCTIONS=y
CONFIG_SPIRAM_RODATA=y
CONFIG_SPIRAM_XIP_FROM_PSRAM=y
CONFIG_ESP32S3_DATA_CACHE_LINE_64B=y

View File

@ -9,7 +9,6 @@ flashSize=16MB
spiRam=true spiRam=true
spiRamMode=OCT spiRamMode=OCT
spiRamSpeed=80M spiRamSpeed=80M
tinyUsb=false
fixRgbDisplayGlitch=true fixRgbDisplayGlitch=true
esptoolFlashFreq=80M esptoolFlashFreq=80M

View File

@ -1,23 +1,16 @@
[general] [general]
vendor=CYD vendor=CYD
name=E32R28T name=E32R28T
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
[display] [display]
size=2.8" size=2.8"
shape=rectangle shape=rectangle
dpi=143 dpi=143
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,23 +1,16 @@
[general] [general]
vendor=CYD vendor=CYD
name=E32R32P name=E32R32P
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
[display] [display]
size=2.8" size=2.8"
shape=rectangle shape=rectangle
dpi=125 dpi=125
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,23 +1,16 @@
[general] [general]
vendor=CYD vendor=CYD
name=JC2432W328C name=JC2432W328C
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
[display] [display]
size=2.8" size=2.8"
shape=rectangle shape=rectangle
dpi=143 dpi=143
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=CYD vendor=CYD
name=JC8048W550C name=JC8048W550C
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -9,7 +8,6 @@ flashSize=16MB
spiRam=true spiRam=true
spiRamMode=OCT spiRamMode=OCT
spiRamSpeed=80M spiRamSpeed=80M
tinyUsb=false
esptoolFlashFreq=80M esptoolFlashFreq=80M
[display] [display]
@ -17,10 +15,5 @@ size=5"
shape=rectangle shape=rectangle
dpi=187 dpi=187
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=Elecrow vendor=Elecrow
name=CrowPanel Advance 2.8" name=CrowPanel Advance 2.8"
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -17,10 +16,5 @@ size=2.8"
shape=rectangle shape=rectangle
dpi=143 dpi=143
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=Elecrow vendor=Elecrow
name=CrowPanel Advance 3.5" name=CrowPanel Advance 3.5"
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -17,10 +16,5 @@ size=3.5"
shape=rectangle shape=rectangle
dpi=165 dpi=165
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=Elecrow vendor=Elecrow
name=CrowPanel Advance 5.0" name=CrowPanel Advance 5.0"
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -17,10 +16,5 @@ size=5"
shape=rectangle shape=rectangle
dpi=187 dpi=187
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,23 +1,16 @@
[general] [general]
vendor=Elecrow vendor=Elecrow
name=CrowPanel Basic 2.8" name=CrowPanel Basic 2.8"
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
[display] [display]
size=2.8" size=2.8"
shape=rectangle shape=rectangle
dpi=143 dpi=143
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,23 +1,16 @@
[general] [general]
vendor=Elecrow vendor=Elecrow
name=CrowPanel Basic 3.5" name=CrowPanel Basic 3.5"
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
[display] [display]
size=3.5" size=3.5"
shape=rectangle shape=rectangle
dpi=165 dpi=165
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=Elecrow vendor=Elecrow
name=CrowPanel Basic 5.0" name=CrowPanel Basic 5.0"
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -17,10 +16,5 @@ size=5.0"
shape=rectangle shape=rectangle
dpi=187 dpi=187
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -17,7 +17,6 @@ dpi=149
[cdn] [cdn]
infoMessage=Due to the small size of the screen, the icons don't render properly. infoMessage=Due to the small size of the screen, the icons don't render properly.
warningMessage=
[lvgl] [lvgl]
theme=Mono theme=Mono

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=LilyGO vendor=LilyGO
name=T-Deck,T-Deck Plus name=T-Deck,T-Deck Plus
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -19,8 +18,6 @@ dpi=143
[cdn] [cdn]
infoMessage=To put the device into bootloader mode: <br/>1. Press the trackball and then the reset button at the same time,<br/>2. Let go of the reset button, then the trackball.<br/><br/>When this website reports that flashing is finished, you likely have to press the reset button. infoMessage=To put the device into bootloader mode: <br/>1. Press the trackball and then the reset button at the same time,<br/>2. Let go of the reset button, then the trackball.<br/><br/>When this website reports that flashing is finished, you likely have to press the reset button.
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=LilyGO vendor=LilyGO
name=T-Display S3 name=T-Display S3
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -17,10 +16,5 @@ size=1.9"
shape=rectangle shape=rectangle
dpi=191 dpi=191
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -7,7 +7,6 @@ incubating=true
target=ESP32 target=ESP32
flashSize=16MB flashSize=16MB
spiRam=false spiRam=false
tinyUsb=false
esptoolFlashFreq=80M esptoolFlashFreq=80M
[display] [display]
@ -15,11 +14,6 @@ size=1.14"
shape=rectangle shape=rectangle
dpi=242 dpi=242
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -15,10 +15,5 @@ size=0.96"
shape=rectangle shape=rectangle
dpi=186 dpi=186
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=LilyGO vendor=LilyGO
name=T-Lora Pager name=T-Lora Pager
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -18,10 +17,5 @@ size=2.33"
shape=rectangle shape=rectangle
dpi=227 dpi=227
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=M5Stack vendor=M5Stack
name=Cardputer Adv name=Cardputer Adv
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -16,10 +15,5 @@ shape=rectangle
# TODO: dps is actually 242, but this breaks UI (button selection becomes invisible and switch visibility is reduced) # TODO: dps is actually 242, but this breaks UI (button selection becomes invisible and switch visibility is reduced)
dpi=139 dpi=139
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=M5Stack vendor=M5Stack
name=Cardputer,Cardputer v1.1 name=Cardputer,Cardputer v1.1
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -16,10 +15,5 @@ shape=rectangle
# TODO: dps is actually 242, but this breaks UI (button selection becomes invisible and switch visibility is reduced) # TODO: dps is actually 242, but this breaks UI (button selection becomes invisible and switch visibility is reduced)
dpi=139 dpi=139
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,9 +0,0 @@
# M5Stack Core2
This board implementation concerns the original Core2 hardware and **not** the v1.1 variant.
Reference implementations:
- [ESP-BSP](https://github.com/espressif/esp-bsp/tree/master/bsp/m5stack_core_2)
Docs:
- [M5Stack.com](https://docs.m5stack.com/en/core/Core2)

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=M5Stack vendor=M5Stack
name=Core2 name=Core2
incubating=false
[hardware] [hardware]
target=ESP32 target=ESP32
@ -9,7 +8,6 @@ flashSize=16MB
spiRam=true spiRam=true
spiRamMode=QUAD spiRamMode=QUAD
spiRamSpeed=80M spiRamSpeed=80M
tinyUsb=false
esptoolFlashFreq=80M esptoolFlashFreq=80M
[display] [display]
@ -18,9 +16,7 @@ shape=rectangle
dpi=200 dpi=200
[cdn] [cdn]
infoMessage= warningMessage=This board implementation concerns the original Core2 hardware and **not** the v1.1 variant
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +0,0 @@
# M5Stack CoreS3
Reference implementations:
- [ESP-BSP](https://github.com/espressif/esp-bsp/tree/master/bsp/m5stack_core_s3)
Docs:
- [M5Stack.com](https://docs.m5stack.com/en/core/CoreS3)

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=M5Stack vendor=M5Stack
name=CoreS3 name=CoreS3
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -17,10 +16,5 @@ size=2"
shape=rectangle shape=rectangle
dpi=200 dpi=200
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,5 +0,0 @@
# M5Stack StickC Plus
Docs:
- [M5Stack.com](https://docs.m5stack.com/en/core/m5stickc_plus)

View File

@ -7,7 +7,6 @@ incubating=true
target=ESP32 target=ESP32
flashSize=4MB flashSize=4MB
spiRam=false spiRam=false
tinyUsb=false
esptoolFlashFreq=80M esptoolFlashFreq=80M
[display] [display]
@ -15,10 +14,5 @@ size=1.14"
shape=rectangle shape=rectangle
dpi=242 dpi=242
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,5 +0,0 @@
# M5Stack StickC Plus2
Docs:
- [M5Stack.com](https://docs.m5stack.com/en/core/M5StickC%20PLUS2)

View File

@ -9,7 +9,6 @@ flashSize=8MB
spiRam=true spiRam=true
spiRamMode=QUAD spiRamMode=QUAD
spiRamSpeed=80M spiRamSpeed=80M
tinyUsb=false
esptoolFlashFreq=80M esptoolFlashFreq=80M
[display] [display]
@ -17,10 +16,5 @@ size=1.14"
shape=rectangle shape=rectangle
dpi=242 dpi=242
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=unPhone vendor=unPhone
name=unPhone name=unPhone
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -9,8 +8,6 @@ flashSize=8MB
spiRam=true spiRam=true
spiRamMode=OCT spiRamMode=OCT
spiRamSpeed=80M spiRamSpeed=80M
# Disabled due to hardware design error (has extra USB chip in front of default one)
tinyUsb=false
[display] [display]
size=3.5" size=3.5"
@ -18,9 +15,7 @@ shape=rectangle
dpi=165 dpi=165
[cdn] [cdn]
infoMessage=
warningMessage=Put the device into bootloader mode by pressing the center nav button and reset for 2-3 seconds, then release reset, then release the nav button.<br/>After flashing is finished, press the reset button to reboot. warningMessage=Put the device into bootloader mode by pressing the center nav button and reset for 2-3 seconds, then release reset, then release the nav button.<br/>After flashing is finished, press the reset button to reboot.
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=24 colorDepth=24

View File

@ -17,10 +17,5 @@ size=1.3"
shape=rectangle shape=rectangle
dpi=261 dpi=261
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -17,10 +17,5 @@ size=1.28"
shape=circle shape=circle
dpi=265 dpi=265
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -17,10 +17,5 @@ size=1.47"
shape=rectangle shape=rectangle
dpi=247 dpi=247
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -1,7 +1,6 @@
[general] [general]
vendor=WaveShare vendor=WaveShare
name=S3 Touch LCD 4.3" name=S3 Touch LCD 4.3"
incubating=false
[hardware] [hardware]
target=ESP32S3 target=ESP32S3
@ -17,10 +16,5 @@ size=4.3"
shape=rectangle shape=rectangle
dpi=217 dpi=217
[cdn]
infoMessage=
warningMessage=
[lvgl] [lvgl]
theme=DefaultDark
colorDepth=16 colorDepth=16

View File

@ -5,8 +5,8 @@ from dataclasses import dataclass, asdict
import json import json
import shutil import shutil
verbose = False VERBOSE = False
devices_folder = "Boards" DEVICES_FOLDER = "Boards"
@dataclass @dataclass
class IndexEntry: class IndexEntry:
@ -73,7 +73,7 @@ def read_properties_file(path):
return config return config
def read_device_properties(device_id): def read_device_properties(device_id):
mapping_file_path = os.path.join(devices_folder, device_id, "device.properties") mapping_file_path = os.path.join(DEVICES_FOLDER, device_id, "device.properties")
if not os.path.isfile(mapping_file_path): if not os.path.isfile(mapping_file_path):
exit_with_error(f"Mapping file not found: {mapping_file_path}") exit_with_error(f"Mapping file not found: {mapping_file_path}")
return read_properties_file(mapping_file_path) return read_properties_file(mapping_file_path)
@ -85,12 +85,20 @@ def to_manifest_chip_name(name):
return "ESP32-S2" return "ESP32-S2"
elif name == "esp32s3": elif name == "esp32s3":
return "ESP32-S3" return "ESP32-S3"
elif name == "esp32c2":
return "ESP32-C2"
elif name == "esp32c3": elif name == "esp32c3":
return "ESP32-C3" return "ESP32-C3"
elif name == "esp32c5": elif name == "esp32c5":
return "ESP32-C5" return "ESP32-C5"
elif name == "esp32c6": elif name == "esp32c6":
return "ESP32-C6" return "ESP32-C6"
elif name == "esp32c61":
return "ESP32-C61"
elif name == "esp32h2":
return "ESP32-H2"
elif name == "esp32h4":
return "ESP32-H4"
elif name == "esp32p4": elif name == "esp32p4":
return "ESP32-P4" return "ESP32-P4"
else: else:
@ -126,7 +134,7 @@ def process_device(in_path: str, out_path: str, device_directory: str, device_id
in_flash_file_path = os.path.join(in_device_binaries_path, flash_file_entry) in_flash_file_path = os.path.join(in_device_binaries_path, flash_file_entry)
out_flash_file_name = f"{device_id}-{flash_file_entry_name}" out_flash_file_name = f"{device_id}-{flash_file_entry_name}"
out_flash_file_path = os.path.join(out_path, out_flash_file_name) out_flash_file_path = os.path.join(out_path, out_flash_file_name)
if verbose: if VERBOSE:
print(f"Copying {in_flash_file_path} -> {out_flash_file_path}") print(f"Copying {in_flash_file_path} -> {out_flash_file_path}")
shutil.copy(in_flash_file_path, out_flash_file_path) shutil.copy(in_flash_file_path, out_flash_file_path)
manifest.builds[0].parts.append( manifest.builds[0].parts.append(
@ -154,16 +162,17 @@ def main(in_path: str, out_path: str, version: str):
device_id = device_directory[10:] device_id = device_directory[10:]
device_properties = read_device_properties(device_id) device_properties = read_device_properties(device_id)
device_properties_general = device_properties["general"] device_properties_general = device_properties["general"]
device_properties_cdn = device_properties["cdn"]
process_device(in_path, out_path, device_directory, device_id, device_properties, version) process_device(in_path, out_path, device_directory, device_id, device_properties, version)
if "warningMessage" in device_properties_cdn.keys(): if device_properties.has_section("cdn"):
warning_message = device_properties_cdn["warningMessage"] device_properties_cdn = device_properties["cdn"]
else: if "warningMessage" in device_properties_cdn.keys():
warning_message = None warning_message = device_properties_cdn["warningMessage"]
if "infoMessage" in device_properties_cdn.keys(): else:
info_message = device_properties_cdn["infoMessage"] warning_message = None
else: if "infoMessage" in device_properties_cdn.keys():
info_message = None info_message = device_properties_cdn["infoMessage"]
else:
info_message = None
if "incubating" in device_properties_general.keys(): if "incubating" in device_properties_general.keys():
incubating = device_properties_general["incubating"].lower() == 'true' incubating = device_properties_general["incubating"].lower() == 'true'
else: else:
@ -193,6 +202,6 @@ if __name__ == "__main__":
print_help() print_help()
sys.exit() sys.exit()
if "--verbose" in sys.argv: if "--verbose" in sys.argv:
verbose = True VERBOSE = True
sys.argv.remove("--verbose") sys.argv.remove("--verbose")
main(in_path=sys.argv[1], out_path=sys.argv[2], version=sys.argv[3]) main(in_path=sys.argv[1], out_path=sys.argv[2], version=sys.argv[3])

View File

@ -2,28 +2,25 @@ import os
import sys import sys
import boto3 import boto3
verbose = False
if sys.platform == "win32": if sys.platform == "win32":
shell_color_red = "" SHELL_COLOR_RED = ""
shell_color_orange = "" SHELL_COLOR_ORANGE = ""
shell_color_reset = "" SHELL_COLOR_RESET = ""
else: else:
shell_color_red = "\033[91m" SHELL_COLOR_RED = "\033[91m"
shell_color_orange = "\033[93m" SHELL_COLOR_ORANGE = "\033[93m"
shell_color_reset = "\033[m" SHELL_COLOR_RESET = "\033[m"
def print_warning(message): def print_warning(message):
print(f"{shell_color_orange}WARNING: {message}{shell_color_reset}") print(f"{SHELL_COLOR_ORANGE}WARNING: {message}{SHELL_COLOR_RESET}")
def print_error(message): def print_error(message):
print(f"{shell_color_red}ERROR: {message}{shell_color_reset}") print(f"{SHELL_COLOR_RED}ERROR: {message}{SHELL_COLOR_RESET}")
def print_help(): def print_help():
print("Usage: python upload-files.py [path] [version] [cloudflareAccountId] [cloudflareTokenName] [cloudflareTokenValue]") print("Usage: python upload-files.py [path] [version] [cloudflareAccountId] [cloudflareTokenName] [cloudflareTokenValue]")
print("") print("")
print("Options:") print("Options:")
print(" --verbose Show extra console output")
print(" --index-only Upload only index.json") print(" --index-only Upload only index.json")
def exit_with_error(message): def exit_with_error(message):
@ -63,9 +60,6 @@ if __name__ == "__main__":
if len(sys.argv) < 6: if len(sys.argv) < 6:
print_help() print_help()
sys.exit() sys.exit()
if "--verbose" in sys.argv:
verbose = True
sys.argv.remove("--verbose")
main( main(
path=sys.argv[1], path=sys.argv[1],
version=sys.argv[2], version=sys.argv[2],

View File

@ -10,6 +10,9 @@ endif ()
function(INIT_TACTILITY_GLOBALS SDKCONFIG_FILE) function(INIT_TACTILITY_GLOBALS SDKCONFIG_FILE)
get_filename_component(SDKCONFIG_FILE_ABS ${SDKCONFIG_FILE} ABSOLUTE) get_filename_component(SDKCONFIG_FILE_ABS ${SDKCONFIG_FILE} ABSOLUTE)
# Find the board identifier in the sdkconfig file # Find the board identifier in the sdkconfig file
if (NOT EXISTS ${SDKCONFIG_FILE_ABS})
message(FATAL_ERROR "sdkconfig file not found:\nMake sure you select a device by running \"python device.py [device-id]\"\n")
endif ()
file(READ ${SDKCONFIG_FILE_ABS} sdkconfig_text) file(READ ${SDKCONFIG_FILE_ABS} sdkconfig_text)
string(REGEX MATCH "(CONFIG_TT_BOARD_ID\=\"[a-z0-9_\-]*\")" sdkconfig_board_id "${sdkconfig_text}") string(REGEX MATCH "(CONFIG_TT_BOARD_ID\=\"[a-z0-9_\-]*\")" sdkconfig_board_id "${sdkconfig_text}")
if (sdkconfig_board_id STREQUAL "") if (sdkconfig_board_id STREQUAL "")

View File

@ -4,21 +4,21 @@ import sys
from configparser import ConfigParser from configparser import ConfigParser
if sys.platform == "win32": if sys.platform == "win32":
shell_color_red = "" SHELL_COLOR_RED = ""
shell_color_orange = "" SHELL_COLOR_ORANGE = ""
shell_color_reset = "" SHELL_COLOR_RESET = ""
else: else:
shell_color_red = "\033[91m" SHELL_COLOR_RED = "\033[91m"
shell_color_orange = "\033[93m" SHELL_COLOR_ORANGE = "\033[93m"
shell_color_reset = "\033[m" SHELL_COLOR_RESET = "\033[m"
devices_directory = "Boards" DEVICES_DIRECTORY = "Boards"
def print_warning(message): def print_warning(message):
print(f"{shell_color_orange}WARNING: {message}{shell_color_reset}") print(f"{SHELL_COLOR_ORANGE}WARNING: {message}{SHELL_COLOR_RESET}")
def print_error(message): def print_error(message):
print(f"{shell_color_red}ERROR: {message}{shell_color_reset}") print(f"{SHELL_COLOR_RED}ERROR: {message}{SHELL_COLOR_RESET}")
def exit_with_error(message): def exit_with_error(message):
print_error(message) print_error(message)
@ -26,13 +26,13 @@ def exit_with_error(message):
def print_help(): def print_help():
print("Usage: python device.py [device_id] [arguments]\n\n") print("Usage: python device.py [device_id] [arguments]\n\n")
print(f"\t[device_id] the device identifier (folder name in {devices_directory}/)") print(f"\t[device_id] the device identifier (folder name in {DEVICES_DIRECTORY}/)")
print("\n") print("\n")
print("Optional arguments:\n") print("Optional arguments:\n")
print("\t--dev developer options (limit to 4MB partition table)") print("\t--dev developer options (limit to 4MB partition table)")
def get_properties_file_path(device_id: str): def get_properties_file_path(device_id: str):
return os.path.join(devices_directory, device_id, "device.properties") return os.path.join(DEVICES_DIRECTORY, device_id, "device.properties")
def read_file(path: str): def read_file(path: str):
with open(path, "r") as file: with open(path, "r") as file:
@ -169,8 +169,8 @@ def write_lvgl_variables(output_file, device_properties: ConfigParser):
color_depth = get_property_or_exit(device_properties, "lvgl", "colorDepth") color_depth = get_property_or_exit(device_properties, "lvgl", "colorDepth")
output_file.write(f"CONFIG_LV_COLOR_DEPTH={color_depth}\n") output_file.write(f"CONFIG_LV_COLOR_DEPTH={color_depth}\n")
output_file.write(f"CONFIG_LV_COLOR_DEPTH_{color_depth}=y\n") output_file.write(f"CONFIG_LV_COLOR_DEPTH_{color_depth}=y\n")
theme = get_property_or_exit(device_properties, "lvgl", "theme") theme = get_property_or_none(device_properties, "lvgl", "theme")
if theme == "DefaultDark": if theme is None or theme == "DefaultDark":
output_file.write("CONFIG_LV_THEME_DEFAULT_DARK=y\n") output_file.write("CONFIG_LV_THEME_DEFAULT_DARK=y\n")
elif theme == "DefaultLight": elif theme == "DefaultLight":
output_file.write("CONFIG_LV_THEME_DEFAULT_LIGHT=y\n") output_file.write("CONFIG_LV_THEME_DEFAULT_LIGHT=y\n")
@ -191,8 +191,8 @@ def write_iram_fix(output_file, device_properties: ConfigParser):
output_file.write("CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y\n") output_file.write("CONFIG_RINGBUF_PLACE_FUNCTIONS_INTO_FLASH=y\n")
def write_usb_variables(output_file, device_properties: ConfigParser): def write_usb_variables(output_file, device_properties: ConfigParser):
has_tiny_usb = get_property_or_exit(device_properties, "hardware", "tinyUsb") has_tiny_usb = get_boolean_property_or_false(device_properties, "hardware", "tinyUsb")
if has_tiny_usb == "true": if has_tiny_usb:
output_file.write("# TinyUSB\n") output_file.write("# TinyUSB\n")
output_file.write("CONFIG_TINYUSB_MSC_ENABLED=y\n") output_file.write("CONFIG_TINYUSB_MSC_ENABLED=y\n")
output_file.write("CONFIG_TINYUSB_MSC_MOUNT_PATH=\"/sdcard\"\n") output_file.write("CONFIG_TINYUSB_MSC_MOUNT_PATH=\"/sdcard\"\n")