Updated sensitivity nvs store

custom
ailurux 1 year ago
parent 15f3da0f8c
commit bbbe3a3d55
  1. 3
      src/drivers/include/nvs.hpp
  2. 13
      src/drivers/nvs.cpp

@ -88,7 +88,7 @@ class NvsStorage {
auto ScreenBrightness(uint_fast8_t) -> void;
auto ScrollSensitivity() -> uint_fast8_t;
auto ScrollSensitivity(uint_fast8_t) -> bool;
auto ScrollSensitivity(uint_fast8_t) -> void;
auto AmpMaxVolume() -> uint16_t;
auto AmpMaxVolume(uint16_t) -> void;
@ -121,6 +121,7 @@ class NvsStorage {
Setting<uint8_t> lock_polarity_;
Setting<uint8_t> brightness_;
Setting<uint8_t> sensitivity_;
Setting<uint16_t> amp_max_vol_;
Setting<uint16_t> amp_cur_vol_;
Setting<int8_t> amp_left_bias_;

@ -162,6 +162,7 @@ NvsStorage::NvsStorage(nvs_handle_t handle)
: handle_(handle),
lock_polarity_(kKeyLockPolarity),
brightness_(kKeyBrightness),
sensitivity_(kKeyScrollSensitivity),
amp_max_vol_(kKeyAmpMaxVolume),
amp_cur_vol_(kKeyAmpCurrentVolume),
amp_left_bias_(kKeyAmpLeftBias),
@ -180,6 +181,7 @@ auto NvsStorage::Read() -> void {
std::lock_guard<std::mutex> lock{mutex_};
lock_polarity_.read(handle_);
brightness_.read(handle_);
sensitivity_.read(handle_);
amp_max_vol_.read(handle_);
amp_cur_vol_.read(handle_);
amp_left_bias_.read(handle_);
@ -286,14 +288,13 @@ auto NvsStorage::ScreenBrightness(uint_fast8_t val) -> void {
}
auto NvsStorage::ScrollSensitivity() -> uint_fast8_t {
uint8_t out = 10;
nvs_get_u8(handle_, kKeyScrollSensitivity, &out);
return out;
std::lock_guard<std::mutex> lock{mutex_};
return std::clamp<uint8_t>(sensitivity_.get().value_or(128), 0, 100);
}
auto NvsStorage::ScrollSensitivity(uint_fast8_t val) -> bool {
nvs_set_u8(handle_, kKeyScrollSensitivity, val);
return nvs_commit(handle_) == ESP_OK;
auto NvsStorage::ScrollSensitivity(uint_fast8_t val) -> void {
std::lock_guard<std::mutex> lock{mutex_};
sensitivity_.set(val);
}
auto NvsStorage::AmpMaxVolume() -> uint16_t {

Loading…
Cancel
Save