diff --git a/drivers/io1_xplained/include/io1_xplained_params.h b/drivers/io1_xplained/include/io1_xplained_params.h index 1963e510fe3a0220f2d370e1a57db5d1052e6864..9a80856e6490c8b21b306c99c5738da0c7b69c23 100644 --- a/drivers/io1_xplained/include/io1_xplained_params.h +++ b/drivers/io1_xplained/include/io1_xplained_params.h @@ -65,16 +65,27 @@ saul_reg_info_t io1_xplained_saul_info[][4] = IO1_XPLAINED_SAUL_INFO }; +#ifdef MODULE_SAUL_GPIO /** * @brief Allocate and configure the extension LED gpios */ -gpio_t io1_xplained_saul_gpios[3] = +saul_gpio_params_t io1_xplained_saul_gpios[] = { - IO1_LED_PIN, - IO1_GPIO1_PIN, - IO1_GPIO2_PIN, + { + .pin = IO1_LED_PIN, + .mode = GPIO_OUT, + .flags = SAUL_GPIO_INVERTED, + }, + { + .pin = IO1_GPIO1_PIN, + .mode = GPIO_OUT, + }, + { + .pin = IO1_GPIO2_PIN, + .mode = GPIO_OUT + } }; - +#endif #ifdef __cplusplus } diff --git a/sys/auto_init/saul/auto_init_io1_xplained.c b/sys/auto_init/saul/auto_init_io1_xplained.c index c002d98b62ea18d4d3c2930678affed7422af71a..312804939e6908a2e0675fbd4949b7223ee325d8 100644 --- a/sys/auto_init/saul/auto_init_io1_xplained.c +++ b/sys/auto_init/saul/auto_init_io1_xplained.c @@ -72,11 +72,14 @@ void auto_init_io1_xplained(void) saul_reg_add(&(saul_entries[i * 4])); /* GPIOs */ - for (unsigned j = 1; j < 4; j++) { - saul_entries[i * 4 + j].dev = &(io1_xplained_saul_gpios[j]); - saul_entries[i * 4 + j].name = io1_xplained_saul_info[i][j].name; - saul_entries[i * 4 + j].driver = &gpio_out_saul_driver; - saul_reg_add(&(saul_entries[i * 4 + j])); + for (unsigned j = 0; + j < sizeof(io1_xplained_saul_gpios) / sizeof(io1_xplained_saul_gpios[0]); + j++) { + saul_reg_t *entry = &saul_entries[i * 4 + j + 1]; + entry->dev = &(io1_xplained_saul_gpios[j]); + entry->name = io1_xplained_saul_info[i][j + 1].name; + entry->driver = &gpio_out_saul_driver; + saul_reg_add(entry); } } }