Struct esp_idf_sys::rmt_encoder_t
source · #[repr(C)]pub struct rmt_encoder_t {
pub encode: Option<unsafe extern "C" fn(encoder: *mut rmt_encoder_t, tx_channel: rmt_channel_handle_t, primary_data: *const c_void, data_size: usize, ret_state: *mut rmt_encode_state_t) -> usize>,
pub reset: Option<unsafe extern "C" fn(encoder: *mut rmt_encoder_t) -> esp_err_t>,
pub del: Option<unsafe extern "C" fn(encoder: *mut rmt_encoder_t) -> esp_err_t>,
}
Expand description
@brief Interface of RMT encoder
Fields§
§encode: Option<unsafe extern "C" fn(encoder: *mut rmt_encoder_t, tx_channel: rmt_channel_handle_t, primary_data: *const c_void, data_size: usize, ret_state: *mut rmt_encode_state_t) -> usize>
@brief Encode the user data into RMT symbols and write into RMT memory
@note The encoding function will also be called from an ISR context, thus the function must not call any blocking API. @note It’s recommended to put this function implementation in the IRAM, to achieve a high performance and less interrupt latency.
@param[in] encoder Encoder handle
@param[in] tx_channel RMT TX channel handle, returned from rmt_new_tx_channel()
@param[in] primary_data App data to be encoded into RMT symbols
@param[in] data_size Size of primary_data, in bytes
@param[out] ret_state Returned current encoder’s state
@return Number of RMT symbols that the primary data has been encoded into
reset: Option<unsafe extern "C" fn(encoder: *mut rmt_encoder_t) -> esp_err_t>
@brief Reset encoding state
@param[in] encoder Encoder handle @return - ESP_OK: reset encoder successfully - ESP_FAIL: reset encoder failed
del: Option<unsafe extern "C" fn(encoder: *mut rmt_encoder_t) -> esp_err_t>
@brief Delete encoder object
@param[in] encoder Encoder handle @return - ESP_OK: delete encoder successfully - ESP_FAIL: delete encoder failed
Trait Implementations§
source§impl Clone for rmt_encoder_t
impl Clone for rmt_encoder_t
source§fn clone(&self) -> rmt_encoder_t
fn clone(&self) -> rmt_encoder_t
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for rmt_encoder_t
impl Debug for rmt_encoder_t
source§impl Default for rmt_encoder_t
impl Default for rmt_encoder_t
source§fn default() -> rmt_encoder_t
fn default() -> rmt_encoder_t
impl Copy for rmt_encoder_t
Auto Trait Implementations§
impl Freeze for rmt_encoder_t
impl RefUnwindSafe for rmt_encoder_t
impl Send for rmt_encoder_t
impl Sync for rmt_encoder_t
impl Unpin for rmt_encoder_t
impl UnwindSafe for rmt_encoder_t
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)