RMT TX channel that created by `rmt_new_tx_channel()`
encoder
RMT encoder that created by various factory APIs like `rmt_new_bytes_encoder()`
payload
The raw data to be encoded into RMT symbols
payload_bytes
Size of the `payload` in bytes
config
Transmission specific configuration
Return value
- ESP_OK: Transmit data successfully - ESP_ERR_INVALID_ARG: Transmit data failed because of invalid argument - ESP_ERR_INVALID_STATE: Transmit data failed because channel is not enabled - ESP_ERR_NOT_SUPPORTED: Transmit data failed because some feature is not supported by hardware, e.g. unsupported loop count - ESP_FAIL: Transmit data failed because of other error
Notes
This function constructs a transaction descriptor then pushes to a queue. The transaction will not start immediately if there's another one under processing. Based on the setting of `rmt_transmit_config_t::queue_nonblocking`, if there're too many transactions pending in the queue, this function can block until it has free slot, otherwise just return quickly. The payload data to be transmitted will be encoded into RMT symbols by the specific `encoder`. You CAN'T modify the `payload` during the transmission, it should be kept valid until the transmission is finished.
Related Functions
Found 26 other functions taking a rmt_channel_t
argument: