summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorTess Eisenberger <github@teisen.be>2025-02-01 16:15:17 -0800
committerteisenbe <teisenbe@noreply.codeberg.org>2025-02-02 04:48:42 +0000
commit1d485c97b0c03577a40b34fb762c76e98f417fa4 (patch)
tree38e42bdf95e99d26f39a3a30499ae96d6f07c877 /src/drivers
parente8eaf3df10a896cb28e91cfc416b19303926a00a (diff)
downloadtangara-fw-1d485c97b0c03577a40b34fb762c76e98f417fa4.tar.gz
Add optional support for changing volume while locked
This adds a new Controls setting for adjusting the behavior when locked, and an option for allowing volume control.
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/include/drivers/nvs.hpp1
-rw-r--r--src/drivers/nvs.cpp4
2 files changed, 4 insertions, 1 deletions
diff --git a/src/drivers/include/drivers/nvs.hpp b/src/drivers/include/drivers/nvs.hpp
index b6192ab5..18bc5de6 100644
--- a/src/drivers/include/drivers/nvs.hpp
+++ b/src/drivers/include/drivers/nvs.hpp
@@ -140,6 +140,7 @@ class NvsStorage {
enum class LockedInputModes : uint8_t {
kDisabled = 0,
+ kVolumeOnly = 1,
};
auto LockedInput() -> LockedInputModes;
diff --git a/src/drivers/nvs.cpp b/src/drivers/nvs.cpp
index a9f30042..f46049ad 100644
--- a/src/drivers/nvs.cpp
+++ b/src/drivers/nvs.cpp
@@ -574,9 +574,11 @@ auto NvsStorage::PrimaryInput(InputModes mode) -> void {
auto NvsStorage::LockedInput() -> LockedInputModes {
std::lock_guard<std::mutex> lock{mutex_};
- switch (input_mode_.get().value_or(static_cast<uint8_t>(LockedInputModes::kDisabled))) {
+ switch (locked_input_mode_.get().value_or(static_cast<uint8_t>(LockedInputModes::kDisabled))) {
case static_cast<uint8_t>(LockedInputModes::kDisabled):
return LockedInputModes::kDisabled;
+ case static_cast<uint8_t>(LockedInputModes::kVolumeOnly):
+ return LockedInputModes::kVolumeOnly;
default:
return LockedInputModes::kDisabled;
}