PIO_CHIP_T

Type Alias PIO_CHIP_T 

Source
pub type PIO_CHIP_T = pio_chip;

Aliased Type§

#[repr(C)]
pub struct PIO_CHIP_T {
Show 98 fields pub name: *const i8, pub compatible: *const i8, pub instr_count: u16, pub sm_count: u16, pub fifo_depth: u16, pub hw_state: *mut c_void, pub create_instance: Option<unsafe extern "C" fn(*const pio_chip, u32) -> *mut pio_instance>, pub open_instance: Option<unsafe extern "C" fn(*mut pio_instance) -> i32>, pub close_instance: Option<unsafe extern "C" fn(*mut pio_instance)>, pub pio_sm_config_xfer: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32, u32) -> i32>, pub pio_sm_xfer_data: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32, *mut c_void) -> i32>, pub pio_can_add_program_at_offset: Option<unsafe extern "C" fn(*mut pio_instance, *const pio_program, u32) -> bool>, pub pio_add_program_at_offset: Option<unsafe extern "C" fn(*mut pio_instance, *const pio_program, u32) -> u32>, pub pio_remove_program: Option<unsafe extern "C" fn(*mut pio_instance, *const pio_program, u32) -> bool>, pub pio_clear_instruction_memory: Option<unsafe extern "C" fn(*mut pio_instance) -> bool>, pub pio_encode_delay: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_encode_sideset: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>, pub pio_encode_sideset_opt: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>, pub pio_encode_jmp: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_encode_jmp_not_x: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_encode_jmp_x_dec: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_encode_jmp_not_y: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_encode_jmp_y_dec: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_encode_jmp_x_ne_y: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_encode_jmp_pin: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_encode_jmp_not_osre: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_encode_wait_gpio: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>, pub pio_encode_wait_pin: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>, pub pio_encode_wait_irq: Option<unsafe extern "C" fn(*mut pio_instance, bool, bool, u32) -> u32>, pub pio_encode_in: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>, pub pio_encode_out: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>, pub pio_encode_push: Option<unsafe extern "C" fn(*mut pio_instance, bool, bool) -> u32>, pub pio_encode_pull: Option<unsafe extern "C" fn(*mut pio_instance, bool, bool) -> u32>, pub pio_encode_mov: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>, pub pio_encode_mov_not: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>, pub pio_encode_mov_reverse: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>, pub pio_encode_irq_set: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>, pub pio_encode_irq_wait: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>, pub pio_encode_irq_clear: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>, pub pio_encode_set: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>, pub pio_encode_nop: Option<unsafe extern "C" fn(*mut pio_instance) -> u32>, pub pio_sm_claim: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>, pub pio_sm_claim_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>, pub pio_sm_claim_unused: Option<unsafe extern "C" fn(*mut pio_instance, bool) -> i32>, pub pio_sm_unclaim: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>, pub pio_sm_is_claimed: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>, pub pio_sm_init: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, *const pio_sm_config)>, pub pio_sm_set_config: Option<unsafe extern "C" fn(*mut pio_instance, u32, *const pio_sm_config)>, pub pio_sm_exec: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, bool)>, pub pio_sm_clear_fifos: Option<unsafe extern "C" fn(*mut pio_instance, u32)>, pub pio_sm_set_clkdiv_int_frac: Option<unsafe extern "C" fn(*mut pio_instance, u32, u16, u8)>, pub pio_sm_set_clkdiv: Option<unsafe extern "C" fn(*mut pio_instance, u32, f32)>, pub pio_sm_set_pins: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>, pub pio_sm_set_pins_with_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32)>, pub pio_sm_set_pindirs_with_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32)>, pub pio_sm_set_consecutive_pindirs: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32, bool)>, pub pio_sm_set_enabled: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool)>, pub pio_sm_set_enabled_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool)>, pub pio_sm_restart: Option<unsafe extern "C" fn(*mut pio_instance, u32)>, pub pio_sm_restart_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32)>, pub pio_sm_clkdiv_restart: Option<unsafe extern "C" fn(*mut pio_instance, u32)>, pub pio_sm_clkdiv_restart_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32)>, pub pio_sm_enable_sync: Option<unsafe extern "C" fn(*mut pio_instance, u32)>, pub pio_sm_put: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, bool)>, pub pio_sm_get: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool) -> u32>, pub pio_sm_set_dmactrl: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool, u32)>, pub pio_sm_is_rx_fifo_empty: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>, pub pio_sm_is_rx_fifo_full: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>, pub pio_sm_get_rx_fifo_level: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_sm_is_tx_fifo_empty: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>, pub pio_sm_is_tx_fifo_full: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>, pub pio_sm_get_tx_fifo_level: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_sm_drain_tx_fifo: Option<unsafe extern "C" fn(*mut pio_instance, u32)>, pub pio_get_default_sm_config: Option<unsafe extern "C" fn(*mut pio_instance) -> pio_sm_config>, pub smc_set_out_pins: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, u32)>, pub smc_set_set_pins: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, u32)>, pub smc_set_in_pins: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32)>, pub smc_set_sideset_pins: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32)>, pub smc_set_sideset: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, bool, bool)>, pub smc_set_clkdiv_int_frac: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u16, u8)>, pub smc_set_clkdiv: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, f32)>, pub smc_set_wrap: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, u32)>, pub smc_set_jmp_pin: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32)>, pub smc_set_in_shift: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, bool, bool, u32)>, pub smc_set_out_shift: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, bool, bool, u32)>, pub smc_set_fifo_join: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32)>, pub smc_set_out_special: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, bool, bool, u32)>, pub smc_set_mov_status: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, u32)>, pub clock_get_hz: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>, pub pio_gpio_init: Option<unsafe extern "C" fn(*mut pio_instance, u32)>, pub gpio_init: Option<unsafe extern "C" fn(*mut pio_instance, u32)>, pub gpio_set_function: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>, pub gpio_set_pulls: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool, bool)>, pub gpio_set_outover: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>, pub gpio_set_inover: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>, pub gpio_set_oeover: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>, pub gpio_set_input_enabled: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool)>, pub gpio_set_drive_strength: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>,
}

Fields§

§name: *const i8§compatible: *const i8§instr_count: u16§sm_count: u16§fifo_depth: u16§hw_state: *mut c_void§create_instance: Option<unsafe extern "C" fn(*const pio_chip, u32) -> *mut pio_instance>§open_instance: Option<unsafe extern "C" fn(*mut pio_instance) -> i32>§close_instance: Option<unsafe extern "C" fn(*mut pio_instance)>§pio_sm_config_xfer: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32, u32) -> i32>§pio_sm_xfer_data: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32, *mut c_void) -> i32>§pio_can_add_program_at_offset: Option<unsafe extern "C" fn(*mut pio_instance, *const pio_program, u32) -> bool>§pio_add_program_at_offset: Option<unsafe extern "C" fn(*mut pio_instance, *const pio_program, u32) -> u32>§pio_remove_program: Option<unsafe extern "C" fn(*mut pio_instance, *const pio_program, u32) -> bool>§pio_clear_instruction_memory: Option<unsafe extern "C" fn(*mut pio_instance) -> bool>§pio_encode_delay: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_encode_sideset: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>§pio_encode_sideset_opt: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>§pio_encode_jmp: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_encode_jmp_not_x: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_encode_jmp_x_dec: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_encode_jmp_not_y: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_encode_jmp_y_dec: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_encode_jmp_x_ne_y: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_encode_jmp_pin: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_encode_jmp_not_osre: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_encode_wait_gpio: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>§pio_encode_wait_pin: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>§pio_encode_wait_irq: Option<unsafe extern "C" fn(*mut pio_instance, bool, bool, u32) -> u32>§pio_encode_in: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>§pio_encode_out: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>§pio_encode_push: Option<unsafe extern "C" fn(*mut pio_instance, bool, bool) -> u32>§pio_encode_pull: Option<unsafe extern "C" fn(*mut pio_instance, bool, bool) -> u32>§pio_encode_mov: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>§pio_encode_mov_not: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>§pio_encode_mov_reverse: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>§pio_encode_irq_set: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>§pio_encode_irq_wait: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>§pio_encode_irq_clear: Option<unsafe extern "C" fn(*mut pio_instance, bool, u32) -> u32>§pio_encode_set: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32) -> u32>§pio_encode_nop: Option<unsafe extern "C" fn(*mut pio_instance) -> u32>§pio_sm_claim: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>§pio_sm_claim_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>§pio_sm_claim_unused: Option<unsafe extern "C" fn(*mut pio_instance, bool) -> i32>§pio_sm_unclaim: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>§pio_sm_is_claimed: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>§pio_sm_init: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, *const pio_sm_config)>§pio_sm_set_config: Option<unsafe extern "C" fn(*mut pio_instance, u32, *const pio_sm_config)>§pio_sm_exec: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, bool)>§pio_sm_clear_fifos: Option<unsafe extern "C" fn(*mut pio_instance, u32)>§pio_sm_set_clkdiv_int_frac: Option<unsafe extern "C" fn(*mut pio_instance, u32, u16, u8)>§pio_sm_set_clkdiv: Option<unsafe extern "C" fn(*mut pio_instance, u32, f32)>§pio_sm_set_pins: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>§pio_sm_set_pins_with_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32)>§pio_sm_set_pindirs_with_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32)>§pio_sm_set_consecutive_pindirs: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, u32, bool)>§pio_sm_set_enabled: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool)>§pio_sm_set_enabled_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool)>§pio_sm_restart: Option<unsafe extern "C" fn(*mut pio_instance, u32)>§pio_sm_restart_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32)>§pio_sm_clkdiv_restart: Option<unsafe extern "C" fn(*mut pio_instance, u32)>§pio_sm_clkdiv_restart_mask: Option<unsafe extern "C" fn(*mut pio_instance, u32)>§pio_sm_enable_sync: Option<unsafe extern "C" fn(*mut pio_instance, u32)>§pio_sm_put: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32, bool)>§pio_sm_get: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool) -> u32>§pio_sm_set_dmactrl: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool, u32)>§pio_sm_is_rx_fifo_empty: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>§pio_sm_is_rx_fifo_full: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>§pio_sm_get_rx_fifo_level: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_sm_is_tx_fifo_empty: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>§pio_sm_is_tx_fifo_full: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> bool>§pio_sm_get_tx_fifo_level: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_sm_drain_tx_fifo: Option<unsafe extern "C" fn(*mut pio_instance, u32)>§pio_get_default_sm_config: Option<unsafe extern "C" fn(*mut pio_instance) -> pio_sm_config>§smc_set_out_pins: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, u32)>§smc_set_set_pins: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, u32)>§smc_set_in_pins: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32)>§smc_set_sideset_pins: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32)>§smc_set_sideset: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, bool, bool)>§smc_set_clkdiv_int_frac: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u16, u8)>§smc_set_clkdiv: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, f32)>§smc_set_wrap: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, u32)>§smc_set_jmp_pin: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32)>§smc_set_in_shift: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, bool, bool, u32)>§smc_set_out_shift: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, bool, bool, u32)>§smc_set_fifo_join: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32)>§smc_set_out_special: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, bool, bool, u32)>§smc_set_mov_status: Option<unsafe extern "C" fn(*mut pio_instance, *mut pio_sm_config, u32, u32)>§clock_get_hz: Option<unsafe extern "C" fn(*mut pio_instance, u32) -> u32>§pio_gpio_init: Option<unsafe extern "C" fn(*mut pio_instance, u32)>§gpio_init: Option<unsafe extern "C" fn(*mut pio_instance, u32)>§gpio_set_function: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>§gpio_set_pulls: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool, bool)>§gpio_set_outover: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>§gpio_set_inover: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>§gpio_set_oeover: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>§gpio_set_input_enabled: Option<unsafe extern "C" fn(*mut pio_instance, u32, bool)>§gpio_set_drive_strength: Option<unsafe extern "C" fn(*mut pio_instance, u32, u32)>