Type Alias PIO_CHIP_T
Source pub type PIO_CHIP_T = pio_chip;
#[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)>,
}