From 61da6754a01a99d227c3d2dbaa484a17881dc0d7 Mon Sep 17 00:00:00 2001 From: ailurux Date: Thu, 20 Feb 2025 14:57:11 +1100 Subject: [PATCH] Add nvs key for left padding --- src/drivers/include/drivers/nvs.hpp | 4 ++++ src/drivers/nvs.cpp | 14 ++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/src/drivers/include/drivers/nvs.hpp b/src/drivers/include/drivers/nvs.hpp index e3a105f8..e548fcea 100644 --- a/src/drivers/include/drivers/nvs.hpp +++ b/src/drivers/include/drivers/nvs.hpp @@ -93,6 +93,9 @@ class NvsStorage { auto FastCharge() -> bool; auto FastCharge(bool) -> void; + auto DisplayLeftPadding() -> uint8_t; + auto DisplayLeftPadding(uint8_t) -> void; + auto PreferredBluetoothDevice() -> std::optional; auto PreferredBluetoothDevice(std::optional) -> void; @@ -174,6 +177,7 @@ class NvsStorage { Setting lock_polarity_; Setting display_cols_; Setting display_rows_; + Setting display_left_padding_; Setting haptic_motor_type_; Setting lra_calibration_; Setting fast_charge_; diff --git a/src/drivers/nvs.cpp b/src/drivers/nvs.cpp index 04a93fd9..a94bbbe6 100644 --- a/src/drivers/nvs.cpp +++ b/src/drivers/nvs.cpp @@ -40,6 +40,7 @@ static constexpr char kKeyScrollSensitivity[] = "scroll"; static constexpr char kKeyLockPolarity[] = "lockpol"; static constexpr char kKeyDisplayCols[] = "dispcols"; static constexpr char kKeyDisplayRows[] = "disprows"; +static constexpr char kKeyDisplayLeftPadding[] = "displeftpad"; static constexpr char kKeyHapticMotorType[] = "hapticmtype"; static constexpr char kKeyLraCalibration[] = "lra_cali"; static constexpr char kKeyDbAutoIndex[] = "dbautoindex"; @@ -265,6 +266,7 @@ NvsStorage::NvsStorage(nvs_handle_t handle) lock_polarity_(kKeyLockPolarity), display_cols_(kKeyDisplayCols), display_rows_(kKeyDisplayRows), + display_left_padding_(kKeyDisplayLeftPadding), haptic_motor_type_(kKeyHapticMotorType), lra_calibration_(kKeyLraCalibration), fast_charge_(kKeyFastCharge), @@ -295,6 +297,7 @@ auto NvsStorage::Read() -> void { lock_polarity_.read(handle_); display_cols_.read(handle_); display_rows_.read(handle_); + display_left_padding_.read(handle_); haptic_motor_type_.read(handle_); lra_calibration_.read(handle_); fast_charge_.read(handle_); @@ -320,6 +323,7 @@ auto NvsStorage::Write() -> bool { lock_polarity_.write(handle_); display_cols_.write(handle_); display_rows_.write(handle_); + display_left_padding_.write(handle_); haptic_motor_type_.write(handle_); lra_calibration_.write(handle_); fast_charge_.write(handle_); @@ -399,6 +403,16 @@ auto NvsStorage::DisplaySize( display_rows_.set(std::move(size.second)); } +auto NvsStorage::DisplayLeftPadding() -> uint8_t { + std::lock_guard lock{mutex_}; + return display_left_padding_.get().value_or(0); +} + +auto NvsStorage::DisplayLeftPadding(uint8_t val) -> void { + std::lock_guard lock{mutex_}; + display_left_padding_.set(val); +} + auto NvsStorage::PreferredBluetoothDevice() -> std::optional { std::lock_guard lock{mutex_};