rmt_rx_done_event_data_t rx_data; static bool example_rmt_rx_done_callback(rmt_channel_handle_t channel, const rmt_rx_done_event_data_t *edata, void *user_data) { output_value++; output_value &= OUTPUT_PINS; REG_WRITE(GPIO_OUT1_REG, output_value); ...
ESP_LOGI(TAG, "register RX done callback"); TaskHandle_t cur_task = xTaskGetCurrentTaskHandle(); QueueHandle_t receive_queue = xQueueCreate(1, sizeof(rmt_rx_done_event_data_t)); assert(receive_queue); rmt_rx_event_callbacks_t cbs = {...
(rmt_new_rx_channel(&rx_chan_config, &rx_chan)); receive_queue = xQueueCreate(10, sizeof(rmt_rx_done_event_data_t)); rmt_rx_event_callbacks_t cbs = { .on_recv_done = rmt_rx_done_callback, }; ESP_ERROR_CHECK(rmt_rx_register_event_callbacks(rx_chan, &cbs, receive_queue));...
rx_idx_rst: Set true to reset memory index for receiver. Otherwise, receiver will continue receiving data to the last index in memory. esp_err_t rmt_rx_stop(rmt_channel_t channel)¶ Set RMT stop receiving data. Return ESP_ERR_INVALID_ARG Parameter error ESP_OK Success Parameters chan...
< The level to remove the carrier */ #endif } rmt_rx_config_t; /** * @brief Data struct of RMT configure parameters */ typedef struct { rmt_mode_t rmt_mode; /*!< RMT mode: transmitter or receiver */ rmt_channel_t channel; /*!< RMT channel */ gpio_num_t gpio_num; /*!<...
But the person's problem was on the RMT side with RX, not on the Ethernet side. I don't know if the RMT here is messing with the SPI emac pins ( I don't know why it would do that). I don't know either if it is interrupt - related ( I also cannot see why it would be ...