1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-23 16:25:16 +03:00

[Sky9x] Remarks from @projectkk2glider taken into account

This commit is contained in:
Bertrand Songis 2016-12-03 11:15:40 +01:00
parent 35e199b579
commit 9a43a6ebb7
2 changed files with 10 additions and 8 deletions

View file

@ -86,7 +86,7 @@ template <unsigned int NUM_BITS> class BitField {
#define BEEP_KEY_UP_FREQ (BEEP_DEFAULT_FREQ+150)
#define BEEP_KEY_DOWN_FREQ (BEEP_DEFAULT_FREQ-150)
#if defined(PCBSKY9X)
#if defined(AUDIO_DUAL_BUFFER)
enum AudioBufferState
{
AUDIO_BUFFER_FREE,
@ -118,7 +118,9 @@ enum AudioBufferState
struct AudioBuffer {
audio_data_t data[AUDIO_BUFFER_SIZE];
uint16_t size;
uint8_t state;
#if defined(AUDIO_DUAL_BUFFER)
uint8_t state;
#endif
};
extern AudioBuffer audioBuffers[AUDIO_BUFFER_COUNT];
@ -317,7 +319,7 @@ class AudioBufferFifo {
// returns an empty buffer to be filled wit data and put back into FIFO with audioPushBuffer()
AudioBuffer * getEmptyBuffer() const
{
#if defined(PCBSKY9X)
#if defined(AUDIO_DUAL_BUFFER)
AudioBuffer * buffer = &audioBuffers[writeIdx];
return buffer->state == AUDIO_BUFFER_FREE ? buffer : NULL;
#else
@ -329,7 +331,7 @@ class AudioBufferFifo {
void audioPushBuffer()
{
audioDisableIrq();
#if defined(PCBSKY9X)
#if defined(AUDIO_DUAL_BUFFER)
AudioBuffer * buffer = &audioBuffers[writeIdx];
buffer->state = AUDIO_BUFFER_FILLED;
#endif
@ -341,7 +343,7 @@ class AudioBufferFifo {
// returns a pointer to the audio buffer to be played
const AudioBuffer * getNextFilledBuffer()
{
#if defined(PCBSKY9X)
#if defined(AUDIO_DUAL_BUFFER)
uint8_t idx = readIdx;
do {
AudioBuffer * buffer = &audioBuffers[idx];
@ -362,7 +364,7 @@ class AudioBufferFifo {
void freeNextFilledBuffer()
{
audioDisableIrq();
#if defined(PCBSKY9X)
#if defined(AUDIO_DUAL_BUFFER)
if (audioBuffers[readIdx].state == AUDIO_BUFFER_PLAYING) {
audioBuffers[readIdx].state = AUDIO_BUFFER_FREE;
readIdx = nextBufferIdx(readIdx);
@ -377,7 +379,7 @@ class AudioBufferFifo {
bool filledAtleast(int noBuffers) const
{
#if defined(PCBSKY9X)
#if defined(AUDIO_DUAL_BUFFER)
int count = 0;
for(int n= 0; n<AUDIO_BUFFER_COUNT; ++n) {
if (audioBuffers[n].state == AUDIO_BUFFER_FILLED) {

View file

@ -39,7 +39,7 @@ else()
endif()
endif()
add_definitions(-DPCBSKY9X -DPPM_PIN_SERIAL)
add_definitions(-DPCBSKY9X -DPPM_PIN_SERIAL -DAUDIO_DUAL_BUFFER)
add_definitions(-DAUDIO -DVOICE -DRTCLOCK -DVARIO)
add_definitions(-DEEPROM_VARIANT=0)