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

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

Loading…
Cancel
Save