summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorailurux <ailuruxx@gmail.com>2025-02-20 14:57:11 +1100
committerailurux <ailuruxx@gmail.com>2025-02-20 14:57:11 +1100
commit61da6754a01a99d227c3d2dbaa484a17881dc0d7 (patch)
treef62835f7a3e7a7b054a76a7f9ed74066ee164834 /src
parent5275b5ebcba3afed4280accaf57407a68b305021 (diff)
downloadtangara-fw-61da6754a01a99d227c3d2dbaa484a17881dc0d7.tar.gz
Add nvs key for left padding
Diffstat (limited to 'src')
-rw-r--r--src/drivers/include/drivers/nvs.hpp4
-rw-r--r--src/drivers/nvs.cpp14
2 files changed, 18 insertions, 0 deletions
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<bluetooth::MacAndName>;
auto PreferredBluetoothDevice(std::optional<bluetooth::MacAndName>) -> void;
@@ -174,6 +177,7 @@ class NvsStorage {
Setting<uint8_t> lock_polarity_;
Setting<uint16_t> display_cols_;
Setting<uint16_t> display_rows_;
+ Setting<uint8_t> display_left_padding_;
Setting<uint8_t> haptic_motor_type_;
Setting<LraData> lra_calibration_;
Setting<uint8_t> 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<std::mutex> lock{mutex_};
+ return display_left_padding_.get().value_or(0);
+}
+
+auto NvsStorage::DisplayLeftPadding(uint8_t val) -> void {
+ std::lock_guard<std::mutex> lock{mutex_};
+ display_left_padding_.set(val);
+}
+
auto NvsStorage::PreferredBluetoothDevice()
-> std::optional<bluetooth::MacAndName> {
std::lock_guard<std::mutex> lock{mutex_};