Skip to content

Commit

Permalink
Fix PT8211 on Teensy 4.x
Browse files Browse the repository at this point in the history
  • Loading branch information
PaulStoffregen committed Jun 27, 2020
1 parent 4d2ffa3 commit d012b95
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 2 deletions.
5 changes: 4 additions & 1 deletion output_pt8211.cpp
Expand Up @@ -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;

Expand All @@ -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;
Expand Down Expand Up @@ -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 {
Expand Down
5 changes: 4 additions & 1 deletion output_pt8211_2.cpp
Expand Up @@ -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;

Expand All @@ -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;
Expand Down Expand Up @@ -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 {
Expand Down

0 comments on commit d012b95

Please sign in to comment.