Update esp32_i2s_parallel_dma.h

This commit is contained in:
mrfaptastic 2022-01-04 11:06:40 +00:00
parent 833ce513b7
commit 04b319dd86

View file

@ -45,22 +45,22 @@ typedef struct {
int desccount_b; // only used with double buffering int desccount_b; // only used with double buffering
lldesc_t * lldesc_b; // only used with double buffering lldesc_t * lldesc_b; // only used with double buffering
bool clkphase; // Clock signal phase bool clkphase; // Clock signal phase
bool int_ena_out_eof; // Do we raise an interrupt every time the DMA output loops? Don't do this unless we're doing double buffering! bool int_ena_out_eof; // Do we raise an interrupt every time the DMA output loops? Don't do this unless we're doing double buffering!
} i2s_parallel_config_t; } i2s_parallel_config_t;
static inline int i2s_parallel_get_memory_width(i2s_port_t port, i2s_parallel_cfg_bits_t width) { static inline int i2s_parallel_get_memory_width(i2s_port_t port, i2s_parallel_cfg_bits_t width) {
switch(width) { switch(width) {
case I2S_PARALLEL_WIDTH_8: case I2S_PARALLEL_WIDTH_8:
#ifdef ESP32_ORIG #ifdef ESP32_ORIG
// Only I2S1 on the legacy ESP32 WROOM MCU supports space saving single byte 8 bit parallel access // Only I2S1 on the legacy ESP32 WROOM MCU supports space saving single byte 8 bit parallel access
if(port == I2S_NUM_1) { if(port == I2S_NUM_1) {
return 1; return 1;
} else { } else {
return 2; return 2;
} }
#else #else
return 1; return 1;
#endif #endif
case I2S_PARALLEL_WIDTH_16: case I2S_PARALLEL_WIDTH_16:
@ -76,10 +76,10 @@ static inline int i2s_parallel_get_memory_width(i2s_port_t port, i2s_parallel_cf
void link_dma_desc(volatile lldesc_t *dmadesc, volatile lldesc_t *prevdmadesc, void *memory, size_t size); void link_dma_desc(volatile lldesc_t *dmadesc, volatile lldesc_t *prevdmadesc, void *memory, size_t size);
// I2S DMA Peripheral Setup Functions // I2S DMA Peripheral Setup Functions
esp_err_t i2s_parallel_driver_install(i2s_port_t port, i2s_parallel_config_t* conf); esp_err_t i2s_parallel_driver_install(i2s_port_t port, i2s_parallel_config_t* conf);
esp_err_t i2s_parallel_send_dma(i2s_port_t port, lldesc_t* dma_descriptor); esp_err_t i2s_parallel_send_dma(i2s_port_t port, lldesc_t* dma_descriptor);
esp_err_t i2s_parallel_stop_dma(i2s_port_t port); esp_err_t i2s_parallel_stop_dma(i2s_port_t port);
//i2s_dev_t* i2s_parallel_get_dev(i2s_port_t port); //i2s_dev_t* i2s_parallel_get_dev(i2s_port_t port);
// For frame buffer flipping / double buffering // For frame buffer flipping / double buffering
typedef struct { typedef struct {