You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
task: split Button and buzzer into Node Settings and Message Settings (#975) #978
Corrected 2026-10-24. The first version said a buzzer-only radio gets "a dead button section or nothing" from today's screen. That was wrong: device_ui_view.dart:41-42 already shows each half from its own bit, and only the entry tile is gated on the OR. It also used the T1000-E as the buzzer-only example; that board has both. The firmware question it waited on is answered, below. This is a placement change, not a gating fix.
Split the Button and buzzer screen into two independently placed panes.
Today one entry tile, "Button and buzzer" (settings_screen.dart:465-489, body DeviceUiView), lives under Node Settings and is shown when either supportsButtonMatrix || supportsNotifyScope. Inside it each half already follows its own bit. The problem is that the buzzer has nothing to do with the node's identity, and a buzzer-only radio shows an entry titled for a button it does not have.
Build
Button actions stays under Node Settings, shown only when caps byte 2 0x02 (OFFBAND_CAP2_BUTTON_MATRIX) is set.
Buzzer and tones moves into Message Settings beside Notifications, shown only when caps byte 2 0x01 (OFFBAND_CAP2_NOTIFY_SCOPE) is set. Message Settings already advertises "Notifications and message handling" in its subtitle.
Both halves keep their current behavior and wire writes; only placement and the entry gates change.
Firmware facts (answered, verified on firmware-base)
The two bits are set independently: NOTIFY_SCOPE where PIN_BUZZER is defined, BUTTON_MATRIX where PIN_USER_BTN is (MyMesh.cpp:3012, :3018). Real buzzer-only boards, confirmed by AmberForge 2026-10-24: m5stack_unit_c6l, thinknode_m9, wio-tracker-l1-eink. Nothing is needed from firmware.
Sequenced after #969 because both edit settings_screen.dart (file-convergence rule).
Done when
All four combinations render correctly: button only, buzzer only, both, neither. A radio without a capability shows no row for it and emits no command for it.
Activity
diffwireauto commentedon Oct 24, 2026
Agent: MistyLynx (session 6c0d5797)