Skip to content

Commit 76ac311

Browse files
committed
Handle dma input write destination.
1 parent d0e2b01 commit 76ac311

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

ports/raspberrypi/audio_dma.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,8 @@ audio_dma_result audio_dma_setup(
343343
dma_channel_set_config(dma->input_channel[i], &c, false /* trigger */);
344344

345345
dma_channel_set_read_addr(dma->input_channel[i], (void *)input_register_address, false /* trigger */);
346+
dma_channel_set_write_addr(dma->input_channel[i], dma->input_buffer[i], false /* trigger */);
347+
dma_channel_set_trans_count(dma->input_channel[i], dma->input_buffer_length[i] / dma->output_size, false /* trigger */);
346348
}
347349
}
348350

@@ -753,6 +755,8 @@ void __not_in_flash_func(isr_dma_1)(void) {
753755
audio_dma_t *dma = MP_STATE_PORT(recording_audio)[i];
754756
// Update last recorded buffer.
755757
dma->input_index = (uint8_t)(i != dma->input_channel[0]);
758+
dma_channel_set_write_addr(i, dma->input_buffer[dma->input_index], false /* trigger */);
759+
dma_channel_set_trans_count(i, dma->input_buffer_length[dma->input_index] / dma->output_size, false /* trigger */);
756760
}
757761
if (MP_STATE_PORT(background_pio)[i] != NULL) {
758762
rp2pio_statemachine_obj_t *pio = MP_STATE_PORT(background_pio)[i];

0 commit comments

Comments
 (0)