Page 1 of 1

ESP32C3 and the RMT driver (number of symbols)

Posted: Wed Jun 15, 2022 6:36 pm
by svenssonjoel
Hello

Is it possible to use a buffer for more than 64 symbols when using the RMT driver? I saw that It has to be an even number and not too small. But I would really like to have several thousands of symbols.

Code: Select all

E (298) rmt: rmt_rx_register_to_group(143): no free rx channels                        
E (305) rmt: rmt_new_rx_channel(207): register channel failed                          
E (311) rmt: rmt_rx_register_event_callbacks(310): invalid argument                    
E (318) rmt: rmt_enable(176): invalid argument      
So setting up with 64 symbols is fine, but at 100 (or 128) I get the result above.

Code: Select all

static rmt_rx_channel_config_t rx_channel_cfg = {
			.clk_src = RMT_CLK_SRC_DEFAULT,
			.resolution_hz = SAMPLE_RES,
			.mem_block_symbols = NUM_SYMBOLS,
			.gpio_num = RX_GPIO,
			.flags.with_dma = 0,
};
Ideally I would like several thousands of symbols in the mem_block_symbols.

Is this impossible? Is there some lower-level way interface with this peripheral that would make sense in this use-case?

Thanks and have a great day!