Skip to content

Conversation

@conradopoole
Copy link

@conradopoole conradopoole commented Dec 16, 2025

Some users of the VFBMS32 have expressed interest in being able to disable the beeper. This change adds support to being able to configure whether the beeper is enabled or disabled (enabled by default for backwards compatibility), packages can check for this bms parameter to not make the buzzer beep.

Introduces a new 'beeper_enabled' boolean configuration option to the VBMS32 hardware configuration. Updates all relevant structures, serialization, deserialization, XML, and default configuration to support this new setting.

Introduces a new 'beeper_enabled' boolean configuration option to the VBMS32 hardware configuration. Updates all relevant structures, serialization, deserialization, XML, and default configuration to support this new setting.
@vedderb
Copy link
Owner

vedderb commented Dec 20, 2025

What I don't like about this one is that it will break compatibility with old configs, so after updating the firmware a reconfiguration has to be done. This is sometimes ok, but here we are only adding a binary flag about whether the buzzer is enabled or not and when enabled it still only does the debug beeping that it currently does. I think that the buzzer should have a full configuration page where you can e.g. configure different alarms for different temperatures and when that is done a page could be added to the settings, which justifies breaking the config.

If you just want the ability to disable the buzzer I would prefer adding that as a checkbox or a button to the BMS Qml UI and handle that in the lisp script. That way it does not break any config and only requires updating the package. It also won't require that you get the beta vesc tool for updating the firmware.

In general I think some configuration options should be part of the QML Ui too as it makes updates so much easier.

@conradopoole
Copy link
Author

What I don't like about this one is that it will break compatibility with old configs, so after updating the firmware a reconfiguration has to be done. This is sometimes ok, but here we are only adding a binary flag about whether the buzzer is enabled or not and when enabled it still only does the debug beeping that it currently does. I think that the buzzer should have a full configuration page where you can e.g. configure different alarms for different temperatures and when that is done a page could be added to the settings, which justifies breaking the config.

If you just want the ability to disable the buzzer I would prefer adding that as a checkbox or a button to the BMS Qml UI and handle that in the lisp script. That way it does not break any config and only requires updating the package. It also won't require that you get the beta vesc tool for updating the firmware.

In general I think some configuration options should be part of the QML Ui too as it makes updates so much easier.

I opened a new PR on vesc_pkg with the package only implementation (QML + LISP). Is this more inline with what you had in mind? If so, feel free to close this PR. vedderb/vesc_pkg#75

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