diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index f65b5b208..24ab00b19 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -23,10 +23,6 @@ extern OS_MutexID audioMutex; -#if defined(SOFTWARE_VOLUME) -extern uint8_t currentSpeakerVolume; -#endif - const int16_t sineValues[] = { 0, 196, 392, 588, 784, 980, 1175, 1370, 1564, 1758, diff --git a/radio/src/audio_arm.h b/radio/src/audio_arm.h index 9897a066f..afd6dea09 100644 --- a/radio/src/audio_arm.h +++ b/radio/src/audio_arm.h @@ -452,6 +452,7 @@ class AudioQueue { AudioFragmentFifo fragmentsFifo; }; +extern uint8_t currentSpeakerVolume; extern AudioQueue audioQueue; enum { diff --git a/radio/src/opentx.cpp b/radio/src/opentx.cpp index e2564b959..ccb9267ee 100644 --- a/radio/src/opentx.cpp +++ b/radio/src/opentx.cpp @@ -2456,8 +2456,11 @@ void opentxInit(OPENTX_INIT_ARGS) } #endif -#if defined(VOICE) && !defined(SOFTWARE_VOLUME) - setScaledVolume(g_eeGeneral.speakerVolume+VOLUME_LEVEL_DEF); +#if defined(VOICE) + currentSpeakerVolume = g_eeGeneral.speakerVolume + VOLUME_LEVEL_DEF; + #if !defined(SOFTWARE_VOLUME) + setScaledVolume(currentSpeakerVolume); + #endif #endif #if defined(CPUARM)