summaryrefslogtreecommitdiff
path: root/src/ui/include/screen_settings.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-09-04 16:17:55 +1000
committerjacqueline <me@jacqueline.id.au>2023-09-04 16:17:55 +1000
commitd5d6e3993cd67238ff245446e69e2f200c3fd0e5 (patch)
tree6245939ab341694363eac8bc24ab1b91b5140c6e /src/ui/include/screen_settings.hpp
parent6d831fa7a8c50e15424814fd2be1dd3951e06a4f (diff)
downloadtangara-fw-d5d6e3993cd67238ff245446e69e2f200c3fd0e5.tar.gz
Support changing max volume, persisted to nvs
Diffstat (limited to 'src/ui/include/screen_settings.hpp')
-rw-r--r--src/ui/include/screen_settings.hpp16
1 files changed, 15 insertions, 1 deletions
diff --git a/src/ui/include/screen_settings.hpp b/src/ui/include/screen_settings.hpp
index 0ec96d26..caa23fd4 100644
--- a/src/ui/include/screen_settings.hpp
+++ b/src/ui/include/screen_settings.hpp
@@ -6,6 +6,7 @@
#pragma once
+#include <stdint.h>
#include <cstdint>
#include <memory>
#include <vector>
@@ -32,7 +33,20 @@ class Bluetooth : public MenuScreen {
class Headphones : public MenuScreen {
public:
- Headphones();
+ Headphones(drivers::NvsStorage& nvs);
+
+ auto ChangeMaxVolume(uint8_t index) -> void;
+ auto ChangeCustomVolume(int8_t diff) -> void;
+
+ private:
+ auto UpdateCustomVol(uint16_t) -> void;
+
+ drivers::NvsStorage& nvs_;
+ lv_obj_t* custom_vol_container_;
+ lv_obj_t* custom_vol_label_;
+
+ std::vector<uint16_t> index_to_level_;
+ uint16_t custom_limit_;
};
class Appearance : public MenuScreen {