Struct esp_idf_sys::esp_lcd_panel_io_t
source · #[repr(C)]pub struct esp_lcd_panel_io_t {
pub rx_param: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t, lcd_cmd: c_int, param: *mut c_void, param_size: usize) -> esp_err_t>,
pub tx_param: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t, lcd_cmd: c_int, param: *const c_void, param_size: usize) -> esp_err_t>,
pub tx_color: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t, lcd_cmd: c_int, color: *const c_void, color_size: usize) -> esp_err_t>,
pub del: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t) -> esp_err_t>,
pub register_event_callbacks: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t, cbs: *const esp_lcd_panel_io_callbacks_t, user_ctx: *mut c_void) -> esp_err_t>,
}
Expand description
@brief LCD panel IO interface
Fields§
§rx_param: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t, lcd_cmd: c_int, param: *mut c_void, param_size: usize) -> esp_err_t>
@brief Transmit LCD command and receive corresponding parameters
@note This is the panel-specific interface called by function esp_lcd_panel_io_rx_param()
.
@param[in] io LCD panel IO handle, which is created by other factory API like esp_lcd_new_panel_io_spi()
@param[in] lcd_cmd The specific LCD command, set to -1 if no command needed
@param[out] param Buffer for the command data
@param[in] param_size Size of param
buffer
@return
- ESP_ERR_INVALID_ARG if parameter is invalid
- ESP_ERR_NOT_SUPPORTED if read is not supported by transport
- ESP_OK on success
tx_param: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t, lcd_cmd: c_int, param: *const c_void, param_size: usize) -> esp_err_t>
@brief Transmit LCD command and corresponding parameters
@note This is the panel-specific interface called by function esp_lcd_panel_io_tx_param()
.
@param[in] io LCD panel IO handle, which is created by other factory API like esp_lcd_new_panel_io_spi()
@param[in] lcd_cmd The specific LCD command
@param[in] param Buffer that holds the command specific parameters, set to NULL if no parameter is needed for the command
@param[in] param_size Size of param
in memory, in bytes, set to zero if no parameter is needed for the command
@return
- ESP_ERR_INVALID_ARG if parameter is invalid
- ESP_OK on success
tx_color: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t, lcd_cmd: c_int, color: *const c_void, color_size: usize) -> esp_err_t>
@brief Transmit LCD RGB data
@note This is the panel-specific interface called by function esp_lcd_panel_io_tx_color()
.
@param[in] io LCD panel IO handle, which is created by other factory API like esp_lcd_new_panel_io_spi()
@param[in] lcd_cmd The specific LCD command
@param[in] color Buffer that holds the RGB color data
@param[in] color_size Size of color
in memory, in bytes
@return
- ESP_ERR_INVALID_ARG if parameter is invalid
- ESP_OK on success
del: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t) -> esp_err_t>
@brief Destory LCD panel IO handle (deinitialize all and free resource)
@param[in] io LCD panel IO handle, which is created by other factory API like esp_lcd_new_panel_io_spi()
@return
- ESP_ERR_INVALID_ARG if parameter is invalid
- ESP_OK on success
register_event_callbacks: Option<unsafe extern "C" fn(io: *mut esp_lcd_panel_io_t, cbs: *const esp_lcd_panel_io_callbacks_t, user_ctx: *mut c_void) -> esp_err_t>
@brief Register LCD panel IO callbacks
@param[in] io LCD panel IO handle, which is created by factory API like esp_lcd_new_panel_io_spi()
@param[in] cbs structure with all LCD panel IO callbacks
@param[in] user_ctx User private data, passed directly to callback’s user_ctx
@return
- ESP_ERR_INVALID_ARG if parameter is invalid
- ESP_OK on success
Trait Implementations§
source§impl Clone for esp_lcd_panel_io_t
impl Clone for esp_lcd_panel_io_t
source§fn clone(&self) -> esp_lcd_panel_io_t
fn clone(&self) -> esp_lcd_panel_io_t
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for esp_lcd_panel_io_t
impl Debug for esp_lcd_panel_io_t
source§impl Default for esp_lcd_panel_io_t
impl Default for esp_lcd_panel_io_t
source§fn default() -> esp_lcd_panel_io_t
fn default() -> esp_lcd_panel_io_t
impl Copy for esp_lcd_panel_io_t
Auto Trait Implementations§
impl Freeze for esp_lcd_panel_io_t
impl RefUnwindSafe for esp_lcd_panel_io_t
impl Send for esp_lcd_panel_io_t
impl Sync for esp_lcd_panel_io_t
impl Unpin for esp_lcd_panel_io_t
impl UnwindSafe for esp_lcd_panel_io_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
)