Repository navigation
Repeater and room server: build again with the one-palette display API - #61
Merged
Merged
Conversation
The repeater and room-server envs with a display stopped compiling at the 1.17 merge: meshcomod's extended UIs still used DisplayDriver::LIGHT/GREEN/ RED/... after upstream replaced that enum with UIColor roles (b8504e5). - Port both UIs to the roles the companion OLED UI uses for the same pages: titles corp_blue, content primary_txt, problems warning_txt, the alert overlay popup_bkg/popup_txt, the OTA bar background window_bkg. - repeater_tcp: pass the board to UITask, whose constructor gained it upstream in 2efb3af (poweroff on long press). - esp32_base also compiles SdNvsPrefs.cpp. It compiled WifiRuntimeStore.cpp for every ESP32 env, but that store has used SdNvsPrefs since beta_17, so envs without helpers/esp32/*.cpp (repeater_tcp) failed to link. build_as_lib.py already drops it for wadamesh's vendored build. - Room server UITask::begin: drop the version-string block the 1.17 merge appended after ours. It redeclared `version` on boards without a user button and overwrote the multitransport version string elsewhere. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The repeater and room-server envs with a display stopped compiling at the 1.17 merge. meshcomod's extended UIs for them still used
DisplayDriver::LIGHT/GREEN/RED/..., but upstream replaced that enum withUIColorroles in b8504e5. The companion was ported at the time; these two UIs were not. meshcomod only releases companion firmware, so nothing noticed.Changes
corp_blue, contentprimary_txt, problems and waiting stateswarning_txt, the alert overlaypopup_bkg/popup_txt, and the OTA bar backgroundwindow_bkg. On the mono OLEDs every role except the backgrounds is "on", so they look as before. On TFT and e-ink they pick up the shared theme.repeater_tcppasses the board toUITask. Its constructor gained that parameter upstream in 2efb3af (poweroff on long press), and this main was never updated.esp32_basealso compilesSdNvsPrefs.cpp. It already compiledWifiRuntimeStore.cppfor every ESP32 env, but that store has usedSdNvsPrefssince beta_17. Envs that don't pull inhelpers/esp32/*.cpp(repeater_tcp) failed to link.build_as_lib.pyalready drops the file for wadamesh's vendored build. It costs 414 bytes on a C3 repeater.UITask::begin. Drops the version-string block the 1.17 merge appended after ours. On boards without a user button it redeclaredversion(Xiao S3 WIO did not compile). On multitransport builds it overwrote the version string the splash expects.Verification
Built and passing:
heltec_v4_repeater,heltec_v4_repeater_tcp,heltec_v4_tft_repeater_tcpHeltec_v3_repeater,Heltec_v3_repeater_tcpheltec_v4_room_server_multitransport,heltec_v4_tft_room_server_multitransport,Heltec_v3_room_server_multitransport,Heltec_Wireless_Paper_room_server_multitransport,Xiao_S3_WIO_room_server_multitransportheltec_v4_companion_radio_usb_tcpandThinkNode_M7_companion_radio_bleAlso test-merged with #60 (MeshCore v1.18): there are no conflicts, and
heltec_v4_repeater_tcp,heltec_v4_room_server_multitransportandHeltec_v3_repeaterbuild on the merged tree. The two PRs can land in either order.Not tested on hardware. I don't have a repeater or room server running here.
Still broken, not from this change
These are upstream boards meshcomod doesn't ship:
🤖 Generated with Claude Code