From 26df5c4a7f54d493a09724a5f4f8f4a3a5c90f31 Mon Sep 17 00:00:00 2001 From: jacqueline Date: Mon, 12 Feb 2024 17:07:39 +1100 Subject: Remember per-device bluetooth volume --- src/drivers/include/bluetooth.hpp | 2 +- src/drivers/include/nvs.hpp | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'src/drivers/include') diff --git a/src/drivers/include/bluetooth.hpp b/src/drivers/include/bluetooth.hpp index 5fdd527c..988c7e93 100644 --- a/src/drivers/include/bluetooth.hpp +++ b/src/drivers/include/bluetooth.hpp @@ -35,7 +35,7 @@ class Bluetooth { auto IsEnabled() -> bool; auto IsConnected() -> bool; - auto ConnectedDevice() -> std::optional; + auto ConnectedDevice() -> std::optional; auto KnownDevices() -> std::vector; diff --git a/src/drivers/include/nvs.hpp b/src/drivers/include/nvs.hpp index 1184b72c..264d9784 100644 --- a/src/drivers/include/nvs.hpp +++ b/src/drivers/include/nvs.hpp @@ -15,6 +15,7 @@ #include "bluetooth_types.hpp" #include "tasks.hpp" +#include "lru_cache.hpp" namespace drivers { @@ -28,6 +29,11 @@ class NvsStorage { auto PreferredBluetoothDevice() -> std::optional; auto PreferredBluetoothDevice(std::optional) -> bool; + using BtVolumes = util::LruCache<10, bluetooth::mac_addr_t, uint8_t> ; + + auto BluetoothVolumes() -> BtVolumes; + auto BluetoothVolumes(const BtVolumes&) -> bool; + enum class Output : uint8_t { kHeadphones = 0, kBluetooth = 1, -- cgit v1.2.3