5 #ifndef __QM_SS_GPIO_H__
6 #define __QM_SS_GPIO_H__
9 #include "qm_sensor_regs.h"
39 #if HAS_SS_GPIO_INTERRUPT_BOTHEDGE
51 void (*callback)(
void *data, uint32_t int_status);
qm_ss_gpio_state_t
GPIO SS pin states.
uint32_t int_type
Interrupt type, 0b: level; 1b: edge.
qm_ss_gpio_t
Sensor Subsystem GPIO.
uint32_t int_polarity
Interrupt polarity, 0b: low, 1b: high.
uint32_t int_en
Interrupt enable.
int qm_ss_gpio_save_context(const qm_ss_gpio_t gpio, qm_ss_gpio_context_t *const ctx)
Save SS GPIO context.
int qm_ss_gpio_set_pin(const qm_ss_gpio_t gpio, const uint8_t pin)
Set a single pin on a given SS GPIO port.
uint32_t int_bothedge
Interrupt on rising and falling edges.
int qm_ss_gpio_clear_pin(const qm_ss_gpio_t gpio, const uint8_t pin)
Clear a single pin on a given SS GPIO port.
SS GPIO port configuration type.
int qm_ss_gpio_set_pin_state(const qm_ss_gpio_t gpio, const uint8_t pin, const qm_ss_gpio_state_t state)
Set or clear a single SS GPIO pin using a state variable.
int qm_ss_gpio_write_port(const qm_ss_gpio_t gpio, const uint32_t val)
Get SS GPIO port values.
int qm_ss_gpio_read_port(const qm_ss_gpio_t gpio, uint32_t *const port)
Get SS GPIO port values.
int qm_ss_gpio_set_config(const qm_ss_gpio_t gpio, const qm_ss_gpio_port_config_t *const cfg)
Set SS GPIO port configuration.
int qm_ss_gpio_read_pin(const qm_ss_gpio_t gpio, const uint8_t pin, qm_ss_gpio_state_t *const state)
Read the current value of a single pin on a given SS GPIO port.
int qm_ss_gpio_restore_context(const qm_ss_gpio_t gpio, const qm_ss_gpio_context_t *const ctx)
Restore SS GPIO context.
uint32_t direction
SS GPIO direction, 0b: input, 1b: output.
uint32_t int_debounce
Debounce on/off.
void * callback_data
Callback user data.