Skip to content

Conversation

@nakoeppen
Copy link

@nakoeppen nakoeppen commented Jan 21, 2026

Some may have serial connections active and still want to hear notifications using the built-in buzzer on their companion node. For example, if the node is actively connected to a desktop PC that does not have speakers. This will also prevent confusion about the pre-existing buzzer toggle functionality.

The new logic makes it so that the only conditional which decides whether a buzzer notification is played or not is whether the buzzer_quiet preference in NodePrefs.h is enabled or not. This can still be toggled by clicking the user button three times, which will be retained in the event of a companion node reboot.

This has been tested successfully on both a Seeed T1000-E and a RAK WisMesh Tag.

@oltaco
Copy link
Contributor

oltaco commented Jan 21, 2026

I can see the merit to this but it also would be a change that some users will not expect.

Maybe it is better to make the buzzer prefs more granular? Always On/Always Off/On When Connected/Off When Connected ?

@nakoeppen
Copy link
Author

@oltaco I initially thought of a similar approach (via a buzzer_quietOnSerial variable in NodePrefs.h), and truthfully I really am open to implementing that way. However, there are some considerations I had which ultimately made me choose this path.

  1. There is already a lot of confusion about how/if buzzer functionality is implemented in MeshCore (I only found out the _serial->isConnected() logic and the three button presses to toggle the buzzer by looking at the source code). Parameters which are not strictly necessary could add to that confusion for less programmatically-inclined users.
  2. We would then rely on MeshCore client app settings to control such a setting, as we are pretty much maxed out on User Button preference mappings. This is an inconvenience if your companion node is on your person, but you are ultimately away from the device it normally is connected to. On the other hand, the currently proposed solution allows for a simple notification toggle on the same device that the notifications would come from, and work independently of any serial connection.

If other people wish to see another parameter added, I'd be happy to do so. However I do appreciate the granularity and simplicity that this currently-proposed solution provides. If we were to add a secondary parameter to NodePrefs.h, such as buzzer_quietOnSerial, I would strongly urge that we default that to false so as to make it at least a little bit more intuitive for the end user.

@oltaco
Copy link
Contributor

oltaco commented Jan 22, 2026

@nakoeppen You raise some good points, and I agree that it's probably not good to add another new preference since we currently don't have a good way to set it in the node UI. 👍

I must admit I do like that the buzzer is silent when I'm connected but I can see that it's a subjective thing and I don't have a strong opinion either way, so hopefully other people can give some feedback on this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants