1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-24 00:35:18 +03:00

Volume Leveling so wav files and system beeps are similar in end volume!

This commit is contained in:
rob@marotori.com 2012-07-03 15:35:23 +00:00
parent d762b150b0
commit 6b9ee4ec76
2 changed files with 17 additions and 0 deletions

View file

@ -189,6 +189,7 @@ void audioTask(void* pdata)
bufdata[i] = 0x8000; bufdata[i] = 0x8000;
DACC->DACC_TNCR = read/4; DACC->DACC_TNCR = read/4;
toneStop(); toneStop();
volumeInit(0);
toneWavFile[0] = '\0'; toneWavFile[0] = '\0';
toneWavFile[1] = 0; toneWavFile[1] = 0;
f_close(&wavFile); f_close(&wavFile);
@ -206,6 +207,7 @@ void audioTask(void* pdata)
dacptr->DACC_TNPR = CONVERT_PTR(wavSamplesBuffer); dacptr->DACC_TNPR = CONVERT_PTR(wavSamplesBuffer);
dacptr->DACC_TCR = WAV_BUFFER_SIZE/2; dacptr->DACC_TCR = WAV_BUFFER_SIZE/2;
dacptr->DACC_TNCR = WAV_BUFFER_SIZE/2; dacptr->DACC_TNCR = WAV_BUFFER_SIZE/2;
volumeInit(1);
toneStart(); toneStart();
} }
} }
@ -225,6 +227,7 @@ void audioTask(void* pdata)
CoSetTmrCnt(audioTimer, toneTimeLeft*5, 0); CoSetTmrCnt(audioTimer, toneTimeLeft*5, 0);
toneTimeLeft = 0; toneTimeLeft = 0;
} }
volumeInit(0);
toneStart(); toneStart();
CoStartTmr(audioTimer); CoStartTmr(audioTimer);
} }
@ -248,6 +251,7 @@ void audioTask(void* pdata)
CoSetTmrCnt(audioTimer, tone2TimeLeft*5, 0); CoSetTmrCnt(audioTimer, tone2TimeLeft*5, 0);
tone2TimeLeft = 0; tone2TimeLeft = 0;
setFrequency(tone2Freq * 6100 / 2); setFrequency(tone2Freq * 6100 / 2);
volumeInit(0);
toneStart(); toneStart();
CoStartTmr(audioTimer); CoStartTmr(audioTimer);
} }
@ -321,6 +325,18 @@ void play(uint8_t tFreq, uint8_t tLen, uint8_t tPause,
} }
} }
void volumeInit(uint8_t boost){
if(boost == 0){
setVolume(g_eeGeneral.speakerVolume); //then raise it
} else {
setVolume(g_eeGeneral.speakerVolume + 10);
/* raise it by factor of 5 higher so wav and beep similar volume!
this value of 10 could potentially be a secondary menu config option in
system setup as may be different per user? */
}
}
void playFile(const char *filename) void playFile(const char *filename)
{ {
strcpy(toneWavFile, filename); strcpy(toneWavFile, filename);

View file

@ -70,6 +70,7 @@ extern "C" void retrieveAvailableAudioFiles();
void play(uint8_t tFreq, uint8_t tLen, uint8_t tPause, uint8_t tFlags=0, int8_t tFreqIncr=0); void play(uint8_t tFreq, uint8_t tLen, uint8_t tPause, uint8_t tFlags=0, int8_t tFreqIncr=0);
void playFile(const char *filename); void playFile(const char *filename);
void pause(uint8_t tLen); void pause(uint8_t tLen);
void volumeInit(uint8_t boost);
inline bool audioBusy() inline bool audioBusy()
{ {