Compilation and NV14 audio fix

This commit is contained in:
3djc
2020-03-03 19:15:46 +01:00
parent 1dd2892f13
commit 181e57c325
6 changed files with 20 additions and 15 deletions
+3 -13
View File
@@ -518,29 +518,19 @@ AudioQueue::AudioQueue()
#if !defined(SIMU)
void audioTask(void * pdata)
{
audioWaitReady();
while (!audioQueue.started()) {
RTOS_WAIT_TICKS(1);
}
setSampleRate(AUDIO_SAMPLE_RATE);
#if defined(PCBX12S)
// The audio amp needs ~2s to start
RTOS_WAIT_MS(1000); // 1s
#endif
if (!globalData.unexpectedShutdown) {
AUDIO_HELLO();
}
while (1) {
#if defined(PCBNV14)
if(!isAudioReady()) {
audioChipReset();
RTOS_WAIT_MS(100);
continue;
}
#endif
while (true) {
DEBUG_TIMER_SAMPLE(debugTimerAudioIterval);
DEBUG_TIMER_START(debugTimerAudioDuration);
audioQueue.wakeup();
+6
View File
@@ -564,8 +564,14 @@ void audioConsumeCurrentBuffer();
#define audioEnableIrq() // interrupts must stay enabled on Horus
#if defined(PCBX12S)
#define setSampleRate(freq)
inline void audioWaitReady()
{
// The audio amp needs ~2s to start
RTOS_WAIT_MS(2000); // 2s
}
#else
void setSampleRate(uint32_t frequency);
#define audioWaitReady()
#endif
void setScaledVolume(uint8_t volume);
void setVolume(uint8_t volume);
+7
View File
@@ -464,6 +464,13 @@ void audioOn();
void audioOff();
bool isAudioReady();
bool audioChipReset();
inline void audioWaitReady()
{
while (!isAudioReady()) {
audioChipReset();
RTOS_WAIT_MS(1000);
}
}
#define SPI_SPEED_2 0
#define SPI_SPEED_4 1
+2
View File
@@ -34,4 +34,6 @@ void setSampleRate( uint32_t frequency ) ;
void setScaledVolume(uint8_t volume);
#define audioWaitReady()
#endif // _AUDIO_DRIVER_H_
+1 -1
View File
@@ -27,7 +27,6 @@
#include "board_common.h"
#include "hal.h"
#if defined(ROTARY_ENCODER_NAVIGATION)
// Rotary Encoder driver
void rotaryEncoderInit();
@@ -734,6 +733,7 @@ void audioEnd() ;
void dacStart();
void dacStop();
void setSampleRate(uint32_t frequency);
#define audioWaitReady()
#define VOLUME_LEVEL_MAX 23
#define VOLUME_LEVEL_DEF 12
#if !defined(SOFTWARE_VOLUME)
+1 -1
View File
@@ -126,7 +126,7 @@ MultiModuleSyncStatus& getMultiSyncStatus(uint8_t)
return multiSyncStatus;
}
uint8_t getMultiBindStatus(uint8_t moduleIdx)
uint8_t getMultiBindStatus(uint8_t)
{
#if defined(INTERNAL_MODULE) && !defined(INTERNAL_MODULE_MULTI)
if (moduleIdx == INTERNAL_MODULE)