mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-07-26 23:08:11 +00:00
Settings screen (UI_HAS_JOYSTICK_UPDOWN build variant): - Display brightness (5 levels, contrast curve tuned for SH1106 non-linearity) - Buzzer on/off (respected at startup, no more forced unmute) - TX power (2–22 dBm) - Auto-off delay (5s / 15s / 30s / 60s / never) - GPS update interval (off / 30s / 1min / 5min / 15min / 30min) - Timezone offset (UTC-12..+14) for clock screen - Low battery auto-shutdown threshold (off / 3.0–3.5V, default 3.4V) - Battery display mode (icon / % / voltage) Battery: - EMA filter (alpha=0.2) on ADC readings to smooth voltage spikes from uneven load - Battery % calculated using low_batt_mv as 0% anchor - Mute icon repositions dynamically based on battery display width Clock screen on HomeScreen showing time/date with timezone support. Build: - _settings variants added for USB and BLE companion radio builds - Automatic UF2 generation on every build via create-uf2.py post-script - UI_HAS_JOYSTICK_UPDOWN flag guards joystick_up/down to avoid breaking other boards Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
803 B
Python
33 lines
803 B
Python
#!/usr/bin/python3
|
|
|
|
# Adds PlatformIO post-processing to convert hex files to uf2 files
|
|
|
|
import os
|
|
|
|
Import("env")
|
|
|
|
firmware_hex = "${BUILD_DIR}/${PROGNAME}.hex"
|
|
uf2_file = os.environ.get("UF2_FILE_PATH", "${BUILD_DIR}/${PROGNAME}.uf2")
|
|
|
|
def create_uf2_action(source, target, env):
|
|
uf2_cmd = " ".join(
|
|
[
|
|
'"$PYTHONEXE"',
|
|
'"$PROJECT_DIR/bin/uf2conv/uf2conv.py"',
|
|
'-f', '0xADA52840',
|
|
'-c', firmware_hex,
|
|
'-o', uf2_file,
|
|
]
|
|
)
|
|
env.Execute(uf2_cmd)
|
|
|
|
env.AddPostAction(firmware_hex, create_uf2_action)
|
|
|
|
env.AddCustomTarget(
|
|
name="create_uf2",
|
|
dependencies=firmware_hex,
|
|
actions=create_uf2_action,
|
|
title="Create UF2 file",
|
|
description="Use uf2conv to convert hex binary into uf2",
|
|
always_build=True,
|
|
) |