17#ifndef PCF857X_PARAMS_H
18#define PCF857X_PARAMS_H
33#ifndef PCF857X_PARAM_DEV
35#define PCF857X_PARAM_DEV I2C_DEV(0)
38#ifndef PCF857X_PARAM_ADDR
40#define PCF857X_PARAM_ADDR (0)
43#ifndef PCF857X_PARAM_EXP
45#if IS_USED(MODULE_PCF8575) || DOXYGEN
46#define PCF857X_PARAM_EXP (PCF857X_EXP_PCF8575)
47#elif IS_USED(MODULE_PCF8574)
48#define PCF857X_PARAM_EXP (PCF857X_EXP_PCF8574)
49#elif IS_USED(MODULE_PCF8574A)
50#define PCF857X_PARAM_EXP (PCF857X_EXP_PCF8574A)
54#ifndef PCF857X_PARAM_INT_PIN
56#define PCF857X_PARAM_INT_PIN (GPIO_UNDEF)
60#if IS_USED(MODULE_PCF857X_IRQ) || DOXYGEN
62#define PCF857X_PARAMS { \
63 .dev = PCF857X_PARAM_DEV, \
64 .addr = PCF857X_PARAM_ADDR, \
65 .exp = PCF857X_PARAM_EXP, \
66 .int_pin = PCF857X_PARAM_INT_PIN, \
69#define PCF857X_PARAMS { \
70 .dev = PCF857X_PARAM_DEV, \
71 .addr = PCF857X_PARAM_ADDR, \
72 .exp = PCF857X_PARAM_EXP, \
77#ifndef PCF857X_SAUL_GPIO_PARAMS
79#define PCF857X_SAUL_GPIO_PARAMS { \
82 .name = "P00 Output", \
83 .pin = PCF857X_GPIO_PIN(0, 0), \
85 .flags = SAUL_GPIO_INIT_CLEAR, \
91 .name = "P01 Input", \
92 .pin = PCF857X_GPIO_PIN(0, 1), \
108#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.