From 7fbb2162ee448b8d8a1744f9a3e31db86149da21 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Tue, 6 Feb 2024 09:01:12 +1100 Subject: Start keeping lock switch polarity in nvs i will use this to do a sneaky trick; in-place upgrading brendan, hailey, and erin's devices --- src/drivers/nvs.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/drivers/nvs.cpp') diff --git a/src/drivers/nvs.cpp b/src/drivers/nvs.cpp index c8d4d636..8c9aa361 100644 --- a/src/drivers/nvs.cpp +++ b/src/drivers/nvs.cpp @@ -33,6 +33,7 @@ static constexpr char kKeyAmpCurrentVolume[] = "hp_vol"; static constexpr char kKeyAmpLeftBias[] = "hp_bias"; static constexpr char kKeyOnboarded[] = "intro"; static constexpr char kKeyPrimaryInput[] = "in_pri"; +static constexpr char kKeyLockPolarity[] = "lockpol"; auto NvsStorage::OpenSync() -> NvsStorage* { esp_err_t err = nvs_flash_init(); @@ -85,6 +86,19 @@ auto NvsStorage::SchemaVersionSync() -> uint8_t { return ret; } +auto NvsStorage::LockPolarity() -> bool { + uint8_t res; + if (nvs_get_u8(handle_, kKeyLockPolarity, &res) != ESP_OK) { + return false; + } + return res > 0; +} + +auto NvsStorage::LockPolarity(bool p) -> bool { + nvs_set_u8(handle_, kKeyLockPolarity, p); + return nvs_commit(handle_) == ESP_OK; +} + auto NvsStorage::PreferredBluetoothDevice() -> std::optional { bluetooth::mac_addr_t out{0}; -- cgit v1.2.3