| dest_left = &(left->data[offset]); | dest_left = &(left->data[offset]); | ||||
| dest_right = &(right->data[offset]); | dest_right = &(right->data[offset]); | ||||
| AudioInputI2S::block_offset = offset + AUDIO_BLOCK_SAMPLES/2; | AudioInputI2S::block_offset = offset + AUDIO_BLOCK_SAMPLES/2; | ||||
| #if IMXRT_CACHE_ENABLED >=1 | |||||
| arm_dcache_delete(src, sizeof(i2s_rx_buffer) / 2); | arm_dcache_delete(src, sizeof(i2s_rx_buffer) / 2); | ||||
| #endif | |||||
| do { | do { | ||||
| *dest_left++ = *src++; | *dest_left++ = *src++; | ||||
| *dest_right++ = *src++; | *dest_right++ = *src++; |
| dest_left = &(left->data[offset]); | dest_left = &(left->data[offset]); | ||||
| dest_right = &(right->data[offset]); | dest_right = &(right->data[offset]); | ||||
| AudioInputI2S2::block_offset = offset + AUDIO_BLOCK_SAMPLES/2; | AudioInputI2S2::block_offset = offset + AUDIO_BLOCK_SAMPLES/2; | ||||
| #if IMXRT_CACHE_ENABLED >=1 | |||||
| arm_dcache_delete(src, sizeof(i2s_rx_buffer) / 2); | arm_dcache_delete(src, sizeof(i2s_rx_buffer) / 2); | ||||
| #endif | |||||
| do { | do { | ||||
| *dest_left++ = *src++; | *dest_left++ = *src++; | ||||
| *dest_right++ = *src++; | *dest_right++ = *src++; |
| extern const struct _pwm_pin_info_struct pwm_pin_info[]; | extern const struct _pwm_pin_info_struct pwm_pin_info[]; | ||||
| audio_block_t * AudioOutputPWM::block = NULL; | audio_block_t * AudioOutputPWM::block = NULL; | ||||
| DMAMEM __attribute__((aligned(32))) static uint16_t pwm_tx_buffer[2][AUDIO_BLOCK_SAMPLES * 2]; | DMAMEM __attribute__((aligned(32))) static uint16_t pwm_tx_buffer[2][AUDIO_BLOCK_SAMPLES * 2]; | ||||
| DMAChannel AudioOutputPWM::dma[2](false); | |||||
| DMAChannel AudioOutputPWM::dma[2]; | |||||
| _audio_info_flexpwm AudioOutputPWM::apins[2]; | _audio_info_flexpwm AudioOutputPWM::apins[2]; | ||||
| FLASHMEM | FLASHMEM |