Ver código fonte

Fix PT8211 on Teensy 4.x

dds
PaulStoffregen 4 anos atrás
pai
commit
d012b952e9
2 arquivos alterados com 8 adições e 2 exclusões
  1. +4
    -1
      output_pt8211.cpp
  2. +4
    -1
      output_pt8211_2.cpp

+ 4
- 1
output_pt8211.cpp Ver arquivo

@@ -109,7 +109,7 @@ void AudioOutputPT8211::begin(void)

void AudioOutputPT8211::isr(void)
{
int16_t *dest;
int16_t *dest, *dest_copy;
audio_block_t *blockL, *blockR;
uint32_t saddr, offsetL, offsetR;

@@ -129,6 +129,7 @@ void AudioOutputPT8211::isr(void)
// so we must fill the first half
dest = (int16_t *)i2s_tx_buffer;
}
dest_copy = dest;

blockL = AudioOutputPT8211::block_left_1st;
blockR = AudioOutputPT8211::block_right_1st;
@@ -343,6 +344,8 @@ void AudioOutputPT8211::isr(void)
return;
}

arm_dcache_flush_delete(dest_copy, sizeof(i2s_tx_buffer) / 2);

if (offsetL < AUDIO_BLOCK_SAMPLES) {
AudioOutputPT8211::block_left_offset = offsetL;
} else {

+ 4
- 1
output_pt8211_2.cpp Ver arquivo

@@ -80,7 +80,7 @@ void AudioOutputPT8211_2::begin(void)

void AudioOutputPT8211_2::isr(void)
{
int16_t *dest;
int16_t *dest, *dest_copy;
audio_block_t *blockL, *blockR;
uint32_t saddr, offsetL, offsetR;

@@ -100,6 +100,7 @@ void AudioOutputPT8211_2::isr(void)
// so we must fill the first half
dest = (int16_t *)i2s_tx_buffer;
}
dest_copy = dest;

blockL = AudioOutputPT8211_2::block_left_1st;
blockR = AudioOutputPT8211_2::block_right_1st;
@@ -314,6 +315,8 @@ void AudioOutputPT8211_2::isr(void)
return;
}

arm_dcache_flush_delete(dest_copy, sizeof(i2s_tx_buffer) / 2);

if (offsetL < AUDIO_BLOCK_SAMPLES) {
AudioOutputPT8211_2::block_left_offset = offsetL;
} else {

Carregando…
Cancelar
Salvar