Struct esp_idf_sys::sdmmc_host_t
source · #[repr(C)]pub struct sdmmc_host_t {Show 18 fields
pub flags: u32,
pub slot: c_int,
pub max_freq_khz: c_int,
pub io_voltage: f32,
pub init: Option<unsafe extern "C" fn() -> esp_err_t>,
pub set_bus_width: Option<unsafe extern "C" fn(slot: c_int, width: usize) -> esp_err_t>,
pub get_bus_width: Option<unsafe extern "C" fn(slot: c_int) -> usize>,
pub set_bus_ddr_mode: Option<unsafe extern "C" fn(slot: c_int, ddr_enable: bool) -> esp_err_t>,
pub set_card_clk: Option<unsafe extern "C" fn(slot: c_int, freq_khz: u32) -> esp_err_t>,
pub set_cclk_always_on: Option<unsafe extern "C" fn(slot: c_int, cclk_always_on: bool) -> esp_err_t>,
pub do_transaction: Option<unsafe extern "C" fn(slot: c_int, cmdinfo: *mut sdmmc_command_t) -> esp_err_t>,
pub __bindgen_anon_1: sdmmc_host_t__bindgen_ty_1,
pub io_int_enable: Option<unsafe extern "C" fn(slot: c_int) -> esp_err_t>,
pub io_int_wait: Option<unsafe extern "C" fn(slot: c_int, timeout_ticks: TickType_t) -> esp_err_t>,
pub command_timeout_ms: c_int,
pub get_real_freq: Option<unsafe extern "C" fn(slot: c_int, real_freq: *mut c_int) -> esp_err_t>,
pub input_delay_phase: sdmmc_delay_phase_t,
pub set_input_delay: Option<unsafe extern "C" fn(slot: c_int, delay_phase: sdmmc_delay_phase_t) -> esp_err_t>,
}
Expand description
SD/MMC Host description
This structure defines properties of SD/MMC host and functions of SD/MMC host which can be used by upper layers.
Fields§
§flags: u32
< flags defining host properties
slot: c_int
< slot number, to be passed to host functions
max_freq_khz: c_int
< max frequency supported by the host
io_voltage: f32
< I/O voltage used by the controller (voltage switching is not supported)
init: Option<unsafe extern "C" fn() -> esp_err_t>
< Host function to initialize the driver
set_bus_width: Option<unsafe extern "C" fn(slot: c_int, width: usize) -> esp_err_t>
< host function to set bus width
get_bus_width: Option<unsafe extern "C" fn(slot: c_int) -> usize>
< host function to get bus width
set_bus_ddr_mode: Option<unsafe extern "C" fn(slot: c_int, ddr_enable: bool) -> esp_err_t>
< host function to set DDR mode
set_card_clk: Option<unsafe extern "C" fn(slot: c_int, freq_khz: u32) -> esp_err_t>
< host function to set card clock frequency
set_cclk_always_on: Option<unsafe extern "C" fn(slot: c_int, cclk_always_on: bool) -> esp_err_t>
< host function to set whether the clock is always enabled
do_transaction: Option<unsafe extern "C" fn(slot: c_int, cmdinfo: *mut sdmmc_command_t) -> esp_err_t>
< host function to do a transaction
__bindgen_anon_1: sdmmc_host_t__bindgen_ty_1
§io_int_enable: Option<unsafe extern "C" fn(slot: c_int) -> esp_err_t>
< Host function to enable SDIO interrupt line
io_int_wait: Option<unsafe extern "C" fn(slot: c_int, timeout_ticks: TickType_t) -> esp_err_t>
< Host function to wait for SDIO interrupt line to be active
command_timeout_ms: c_int
< timeout, in milliseconds, of a single command. Set to 0 to use the default value.
get_real_freq: Option<unsafe extern "C" fn(slot: c_int, real_freq: *mut c_int) -> esp_err_t>
< Host function to provide real working freq, based on SDMMC controller setup
input_delay_phase: sdmmc_delay_phase_t
< input delay phase, this will only take into effect when the host works in SDMMC_FREQ_HIGHSPEED or SDMMC_FREQ_52M. Driver will print out how long the delay is
set_input_delay: Option<unsafe extern "C" fn(slot: c_int, delay_phase: sdmmc_delay_phase_t) -> esp_err_t>
< set input delay phase
Trait Implementations§
source§impl Clone for sdmmc_host_t
impl Clone for sdmmc_host_t
source§fn clone(&self) -> sdmmc_host_t
fn clone(&self) -> sdmmc_host_t
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Default for sdmmc_host_t
impl Default for sdmmc_host_t
impl Copy for sdmmc_host_t
Auto Trait Implementations§
impl Freeze for sdmmc_host_t
impl RefUnwindSafe for sdmmc_host_t
impl Send for sdmmc_host_t
impl Sync for sdmmc_host_t
impl Unpin for sdmmc_host_t
impl UnwindSafe for sdmmc_host_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: 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
)§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
)