From a750af35aa6afda40aadca8f7cf8db75f41a43b2 Mon Sep 17 00:00:00 2001 From: ailurux Date: Tue, 2 Apr 2024 11:11:44 +1100 Subject: [PATCH] Added bluetooth db impl --- src/audio/bt_audio_output.cpp | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/src/audio/bt_audio_output.cpp b/src/audio/bt_audio_output.cpp index 6deb1f71..f431a49b 100644 --- a/src/audio/bt_audio_output.cpp +++ b/src/audio/bt_audio_output.cpp @@ -9,6 +9,7 @@ #include #include #include +#include #include #include @@ -58,19 +59,22 @@ auto BluetoothAudioOutput::GetVolumePct() -> uint_fast8_t { } auto BluetoothAudioOutput::SetVolumePct(uint_fast8_t val) -> bool { - // TODO - ESP_LOGE(kTag, "Not implemented"); - return false; + if (val < 100) { + return false; + } + SetVolume(val / 100 * 0x7f); + return true; } auto BluetoothAudioOutput::GetVolumeDb() -> int_fast16_t { - return 0; + return log(GetVolumePct()/100) * 20; } -auto BluetoothAudioOutput::SetVolumeDb(int_fast16_t) -> bool { - // TODO - ESP_LOGE(kTag, "Not implemented"); - return false; +auto BluetoothAudioOutput::SetVolumeDb(int_fast16_t val) -> bool { + auto pct = pow(2, val / 20.0) * 100; + ESP_LOGI("Audio", "Bluetooth audio pct: %d", (int)pct); + SetVolumePct(pct); + return true; } auto BluetoothAudioOutput::AdjustVolumeUp() -> bool {