#[repr(C)]pub struct i2s_chan_info_t {
pub id: i2s_port_t,
pub role: i2s_role_t,
pub dir: i2s_dir_t,
pub mode: i2s_comm_mode_t,
pub is_enabled: bool,
pub pair_chan: i2s_chan_handle_t,
pub total_dma_buf_size: u32,
pub clk_src: i2s_clock_src_t,
pub sclk_hz: u32,
pub mclk_hz: u32,
pub bclk_hz: u32,
pub mode_cfg: *const c_void,
}Expand description
@brief I2S channel information
Fields§
§id: i2s_port_t< I2S port id
role: i2s_role_t< I2S role, I2S_ROLE_MASTER or I2S_ROLE_SLAVE
dir: i2s_dir_t< I2S channel direction
mode: i2s_comm_mode_t< I2S channel communication mode
is_enabled: bool< I2S channel is enabled or not
pair_chan: i2s_chan_handle_t< I2S pair channel handle in duplex mode, always NULL in simplex mode
total_dma_buf_size: u32< Total size of all the allocated DMA buffers
- 0 if the channel has not been initialized
- non-zero if the channel has been initialized
clk_src: i2s_clock_src_t< Clock source of I2S
sclk_hz: u32< Source clock frequency
mclk_hz: u32< MCLK frequency
bclk_hz: u32< BCLK frequency
mode_cfg: *const c_void< Mode configuration, it need to be casted to the corresponding type according to the communication mode
- I2S_COMM_MODE_STD: i2s_std_config_t*
- I2S_COMM_MODE_TDM: i2s_tdm_config_t*
- I2S_COMM_MODE_PDM + I2S_DIR_RX: i2s_pdm_rx_config_t*
- I2S_COMM_MODE_PDM + I2S_DIR_TX: i2s_pdm_tx_config_t*
Trait Implementations§
Source§impl Clone for i2s_chan_info_t
impl Clone for i2s_chan_info_t
Source§fn clone(&self) -> i2s_chan_info_t
fn clone(&self) -> i2s_chan_info_t
Returns a duplicate of the value. Read more
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for i2s_chan_info_t
impl Debug for i2s_chan_info_t
Source§impl Default for i2s_chan_info_t
impl Default for i2s_chan_info_t
impl Copy for i2s_chan_info_t
Auto Trait Implementations§
impl Freeze for i2s_chan_info_t
impl RefUnwindSafe for i2s_chan_info_t
impl !Send for i2s_chan_info_t
impl !Sync for i2s_chan_info_t
impl Unpin for i2s_chan_info_t
impl UnsafeUnpin for i2s_chan_info_t
impl UnwindSafe for i2s_chan_info_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
Mutably borrows from an owned value. Read more
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
🔬This is a nightly-only experimental API. (
clone_to_uninit)