32 #ifndef PCF857X_PARAM_DEV
34 #define PCF857X_PARAM_DEV I2C_DEV(0)
37 #ifndef PCF857X_PARAM_ADDR
39 #define PCF857X_PARAM_ADDR (0)
42 #ifndef PCF857X_PARAM_EXP
44 #if IS_USED(MODULE_PCF8575) || DOXYGEN
45 #define PCF857X_PARAM_EXP (PCF857X_EXP_PCF8575)
46 #elif IS_USED(MODULE_PCF8574)
47 #define PCF857X_PARAM_EXP (PCF857X_EXP_PCF8574)
48 #elif IS_USED(MODULE_PCF8574A)
49 #define PCF857X_PARAM_EXP (PCF857X_EXP_PCF8574A)
53 #ifndef PCF857X_PARAM_INT_PIN
55 #define PCF857X_PARAM_INT_PIN (GPIO_UNDEF)
58 #ifndef PCF857X_PARAMS
59 #if IS_USED(MODULE_PCF857X_IRQ) || DOXYGEN
61 #define PCF857X_PARAMS { \
62 .dev = PCF857X_PARAM_DEV, \
63 .addr = PCF857X_PARAM_ADDR, \
64 .exp = PCF857X_PARAM_EXP, \
65 .int_pin = PCF857X_PARAM_INT_PIN, \
68 #define PCF857X_PARAMS { \
69 .dev = PCF857X_PARAM_DEV, \
70 .addr = PCF857X_PARAM_ADDR, \
71 .exp = PCF857X_PARAM_EXP, \
76 #ifndef PCF857X_SAUL_GPIO_PARAMS
78 #define PCF857X_SAUL_GPIO_PARAMS { \
81 .name = "P00 Output", \
82 .pin = PCF857X_GPIO_PIN(0, 0), \
84 .flags = SAUL_GPIO_INIT_CLEAR, \
90 .name = "P01 Input", \
91 .pin = PCF857X_GPIO_PIN(0, 1), \
107 #if IS_USED(MODULE_SAUL_GPIO) || DOXYGEN
#define PCF857X_PARAMS
Default configuration parameter set.
#define PCF857X_SAUL_GPIO_PARAMS
Example for mapping expander pins to SAUL.
static const pcf857x_params_t pcf857x_params[]
Allocate some memory to store the actual configuration.
static const pcf857x_saul_gpio_params_t pcf857x_saul_gpio_params[]
Additional meta information to keep in the SAUL registry.
Parameter definitions for mapping peripherals directly to SAUL.
SAUL registry interface definition.
PCF857X device initialization parameters.
PCF857X configuration structure for mapping expander pins to SAUL.