PR #2393 adds NodePrefs.display_rotation (0–3) and exposes it via the text CLI. This works cleanly for companion_radio_ble builds (USB Serial is free) but has a UX gap on companion_radio_usb builds, where USB Serial is dedicated to the binary cmd_frame protocol and text CLI is only reachable via the CLI rescue mechanism (long-press USER button within 8 seconds of boot).
A new cmd_frame opcode pair (get/set display_rotation) would let the companion phone app toggle rotation from a settings UI, removing the rescue-mode workaround for USB users and giving BLE-only users a way to change it at all (they currently have no path).
The firmware-side pref and storage are already in place after #2393 merges — the missing pieces are:
- New opcode(s) in
examples/companion_radio/MyMesh.cpp handleCmdFrame
- Matching UI in the companion phone-app repo(s)
Filing this to preserve the link and give the phone-app team a concrete field to wire up.
PR #2393 adds
NodePrefs.display_rotation(0–3) and exposes it via the text CLI. This works cleanly forcompanion_radio_blebuilds (USB Serial is free) but has a UX gap oncompanion_radio_usbbuilds, where USB Serial is dedicated to the binarycmd_frameprotocol and text CLI is only reachable via the CLI rescue mechanism (long-press USER button within 8 seconds of boot).A new
cmd_frameopcode pair (get/setdisplay_rotation) would let the companion phone app toggle rotation from a settings UI, removing the rescue-mode workaround for USB users and giving BLE-only users a way to change it at all (they currently have no path).The firmware-side pref and storage are already in place after #2393 merges — the missing pieces are:
examples/companion_radio/MyMesh.cpphandleCmdFrameFiling this to preserve the link and give the phone-app team a concrete field to wire up.