diff --git a/radio/src/audio_arm.cpp b/radio/src/audio_arm.cpp index 5022e1819..e90ab3c16 100644 --- a/radio/src/audio_arm.cpp +++ b/radio/src/audio_arm.cpp @@ -808,7 +808,7 @@ void AudioQueue::wakeup() // push the buffer if needed if (size > 0) { - __disable_irq(); + audioDisableIrq(); // TRACE("pushing buffer %d\n", bufferWIdx); bufferWIdx = nextBufferIdx(bufferWIdx); buffer->size = size; @@ -819,7 +819,7 @@ void AudioQueue::wakeup() } #endif audioPushBuffer(buffer); - __enable_irq(); + audioEnableIrq(); } } } diff --git a/radio/src/targets/horus/board.h b/radio/src/targets/horus/board.h index 68e50c003..e02d14fad 100644 --- a/radio/src/targets/horus/board.h +++ b/radio/src/targets/horus/board.h @@ -377,6 +377,8 @@ void usbSerialPutc(uint8_t c); // Audio driver void audioInit(void); void audioConsumeCurrentBuffer(void); +#define audioDisableIrq() // interrupts must stay enabled on Horus +#define audioEnableIrq() // interrupts must stay enabled on Horus #define setSampleRate(freq) void setScaledVolume(uint8_t volume); void setVolume(uint8_t volume); diff --git a/radio/src/targets/sky9x/audio_driver.h b/radio/src/targets/sky9x/audio_driver.h index 9ce67e6eb..23ac494f9 100644 --- a/radio/src/targets/sky9x/audio_driver.h +++ b/radio/src/targets/sky9x/audio_driver.h @@ -24,6 +24,8 @@ void audioInit( void ) ; void audioEnd( void ) ; #define audioConsumeCurrentBuffer() +#define audioDisableIrq() __disable_irq() +#define audioEnableIrq() __enable_irq() void setSampleRate( uint32_t frequency ) ; diff --git a/radio/src/targets/taranis/board.h b/radio/src/targets/taranis/board.h index f8a7d8d5a..a5ace6f17 100644 --- a/radio/src/targets/taranis/board.h +++ b/radio/src/targets/taranis/board.h @@ -458,6 +458,8 @@ void setScaledVolume(uint8_t volume); void setVolume(uint8_t volume); int32_t getVolume(void); #define audioConsumeCurrentBuffer() +#define audioDisableIrq() __disable_irq() +#define audioEnableIrq() __enable_irq() // Haptic driver void hapticInit(void);