diff options
Diffstat (limited to 'src/drivers/nvs.cpp')
| -rw-r--r-- | src/drivers/nvs.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/drivers/nvs.cpp b/src/drivers/nvs.cpp index 7bd1afe2..0a466b16 100644 --- a/src/drivers/nvs.cpp +++ b/src/drivers/nvs.cpp @@ -30,6 +30,7 @@ static constexpr char kKeyOutput[] = "out"; static constexpr char kKeyBrightness[] = "bright"; static constexpr char kKeyAmpMaxVolume[] = "hp_vol_max"; static constexpr char kKeyAmpCurrentVolume[] = "hp_vol"; +static constexpr char kKeyOnboarded[] = "intro"; auto NvsStorage::OpenSync() -> NvsStorage* { esp_err_t err = nvs_flash_init(); @@ -187,4 +188,19 @@ auto NvsStorage::AmpCurrentVolume(uint16_t val) -> std::future<bool> { }); } +auto NvsStorage::HasShownOnboarding() -> std::future<bool> { + return writer_->Dispatch<bool>([&]() -> bool { + uint8_t out = true; + nvs_get_u8(handle_, kKeyOnboarded, &out); + return out; + }); +} + +auto NvsStorage::HasShownOnboarding(bool val) -> std::future<bool> { + return writer_->Dispatch<bool>([&]() { + nvs_set_u8(handle_, kKeyOnboarded, val); + return nvs_commit(handle_) == ESP_OK; + }); +} + } // namespace drivers |
