If you get the following error during a rmt_transmit() call:
rmt: rmt_transmit(476): channel not in enable state
call
ESP_ERROR_CHECK(rmt_enable(channel));
after calling rmt_new_tx_channel()
.
Full initialization example
rmt_channel_handle_t channel; rmt_tx_channel_config_t tx_chan_config = { .gpio_num = GPIO_NUM_19, // GPIO number .clk_src = RMT_CLK_SRC_DEFAULT, // select source clock .resolution_hz = 1 * 1000 * 1000, // 1 MHz resolution .mem_block_symbols = 64, // memory block size, 64 * 4 = 256 Bytes .trans_queue_depth = 1, // set the number of transactions that can pend in the background }; ESP_ERROR_CHECK(rmt_new_tx_channel(&tx_chan_config, &channel)); ESP_ERROR_CHECK(rmt_enable(channel));