diff --git a/Makefile.dep b/Makefile.dep index 5fafcc774e..7db3606932 100644 --- a/Makefile.dep +++ b/Makefile.dep @@ -34,6 +34,10 @@ ifneq (,$(filter auto_init_gnrc_netif,$(USEMODULE))) USEMODULE += gnrc_netif_init_devs endif +ifneq (,$(filter auto_init_saul,$(USEMODULE))) + USEMODULE += saul_init_devs +endif + ifneq (,$(filter csma_sender,$(USEMODULE))) USEMODULE += random USEMODULE += xtimer diff --git a/drivers/Makefile b/drivers/Makefile index 6cd43be02c..13612d5cdb 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -1,3 +1,7 @@ DIRS += $(dir $(wildcard $(addsuffix /Makefile, $(USEMODULE)))) +ifneq (,$(filter saul_init_devs,$(USEMODULE))) + DIRS += saul/init_devs +endif + include $(RIOTBASE)/Makefile.base diff --git a/drivers/include/saul.h b/drivers/include/saul.h index d8fbda6d94..9ab199797f 100644 --- a/drivers/include/saul.h +++ b/drivers/include/saul.h @@ -279,6 +279,16 @@ typedef struct { uint8_t type; /**< device class the device belongs to */ } saul_driver_t; +/** + * @brief Initialize all available SAUL drivers. + * This function is called automatically if the auto_init_saul + * module is used. + * If only the saul_init module is used instead, you can call + * this function to manually set up all SAUL sensors at a later + * time. + */ +void saul_init_devs(void); + /** * @brief Default not supported function */ diff --git a/sys/auto_init/saul/Makefile b/drivers/saul/init_devs/Makefile similarity index 59% rename from sys/auto_init/saul/Makefile rename to drivers/saul/init_devs/Makefile index 96a5373703..fd4251dfe3 100644 --- a/sys/auto_init/saul/Makefile +++ b/drivers/saul/init_devs/Makefile @@ -1,3 +1,3 @@ -MODULE = auto_init_saul +MODULE = saul_init_devs include $(RIOTBASE)/Makefile.base diff --git a/sys/auto_init/saul/auto_init_ad7746.c b/drivers/saul/init_devs/auto_init_ad7746.c similarity index 100% rename from sys/auto_init/saul/auto_init_ad7746.c rename to drivers/saul/init_devs/auto_init_ad7746.c diff --git a/sys/auto_init/saul/auto_init_adc.c b/drivers/saul/init_devs/auto_init_adc.c similarity index 100% rename from sys/auto_init/saul/auto_init_adc.c rename to drivers/saul/init_devs/auto_init_adc.c diff --git a/sys/auto_init/saul/auto_init_adcxx1c.c b/drivers/saul/init_devs/auto_init_adcxx1c.c similarity index 100% rename from sys/auto_init/saul/auto_init_adcxx1c.c rename to drivers/saul/init_devs/auto_init_adcxx1c.c diff --git a/sys/auto_init/saul/auto_init_ads101x.c b/drivers/saul/init_devs/auto_init_ads101x.c similarity index 100% rename from sys/auto_init/saul/auto_init_ads101x.c rename to drivers/saul/init_devs/auto_init_ads101x.c diff --git a/sys/auto_init/saul/auto_init_adxl345.c b/drivers/saul/init_devs/auto_init_adxl345.c similarity index 100% rename from sys/auto_init/saul/auto_init_adxl345.c rename to drivers/saul/init_devs/auto_init_adxl345.c diff --git a/sys/auto_init/saul/auto_init_bmp180.c b/drivers/saul/init_devs/auto_init_bmp180.c similarity index 100% rename from sys/auto_init/saul/auto_init_bmp180.c rename to drivers/saul/init_devs/auto_init_bmp180.c diff --git a/sys/auto_init/saul/auto_init_bmx055.c b/drivers/saul/init_devs/auto_init_bmx055.c similarity index 100% rename from sys/auto_init/saul/auto_init_bmx055.c rename to drivers/saul/init_devs/auto_init_bmx055.c diff --git a/sys/auto_init/saul/auto_init_bmx280.c b/drivers/saul/init_devs/auto_init_bmx280.c similarity index 100% rename from sys/auto_init/saul/auto_init_bmx280.c rename to drivers/saul/init_devs/auto_init_bmx280.c diff --git a/sys/auto_init/saul/auto_init_ccs811.c b/drivers/saul/init_devs/auto_init_ccs811.c similarity index 100% rename from sys/auto_init/saul/auto_init_ccs811.c rename to drivers/saul/init_devs/auto_init_ccs811.c diff --git a/sys/auto_init/saul/auto_init_dht.c b/drivers/saul/init_devs/auto_init_dht.c similarity index 100% rename from sys/auto_init/saul/auto_init_dht.c rename to drivers/saul/init_devs/auto_init_dht.c diff --git a/sys/auto_init/saul/auto_init_ds18.c b/drivers/saul/init_devs/auto_init_ds18.c similarity index 100% rename from sys/auto_init/saul/auto_init_ds18.c rename to drivers/saul/init_devs/auto_init_ds18.c diff --git a/sys/auto_init/saul/auto_init_ds75lx.c b/drivers/saul/init_devs/auto_init_ds75lx.c similarity index 100% rename from sys/auto_init/saul/auto_init_ds75lx.c rename to drivers/saul/init_devs/auto_init_ds75lx.c diff --git a/sys/auto_init/saul/auto_init_fxos8700.c b/drivers/saul/init_devs/auto_init_fxos8700.c similarity index 100% rename from sys/auto_init/saul/auto_init_fxos8700.c rename to drivers/saul/init_devs/auto_init_fxos8700.c diff --git a/sys/auto_init/saul/auto_init_gpio.c b/drivers/saul/init_devs/auto_init_gpio.c similarity index 100% rename from sys/auto_init/saul/auto_init_gpio.c rename to drivers/saul/init_devs/auto_init_gpio.c diff --git a/sys/auto_init/saul/auto_init_grove_ledbar.c b/drivers/saul/init_devs/auto_init_grove_ledbar.c similarity index 100% rename from sys/auto_init/saul/auto_init_grove_ledbar.c rename to drivers/saul/init_devs/auto_init_grove_ledbar.c diff --git a/sys/auto_init/saul/auto_init_hdc1000.c b/drivers/saul/init_devs/auto_init_hdc1000.c similarity index 100% rename from sys/auto_init/saul/auto_init_hdc1000.c rename to drivers/saul/init_devs/auto_init_hdc1000.c diff --git a/sys/auto_init/saul/auto_init_hts221.c b/drivers/saul/init_devs/auto_init_hts221.c similarity index 100% rename from sys/auto_init/saul/auto_init_hts221.c rename to drivers/saul/init_devs/auto_init_hts221.c diff --git a/sys/auto_init/saul/auto_init_ina2xx.c b/drivers/saul/init_devs/auto_init_ina2xx.c similarity index 100% rename from sys/auto_init/saul/auto_init_ina2xx.c rename to drivers/saul/init_devs/auto_init_ina2xx.c diff --git a/sys/auto_init/saul/auto_init_ina3221.c b/drivers/saul/init_devs/auto_init_ina3221.c similarity index 100% rename from sys/auto_init/saul/auto_init_ina3221.c rename to drivers/saul/init_devs/auto_init_ina3221.c diff --git a/sys/auto_init/saul/auto_init_io1_xplained.c b/drivers/saul/init_devs/auto_init_io1_xplained.c similarity index 100% rename from sys/auto_init/saul/auto_init_io1_xplained.c rename to drivers/saul/init_devs/auto_init_io1_xplained.c diff --git a/sys/auto_init/saul/auto_init_isl29020.c b/drivers/saul/init_devs/auto_init_isl29020.c similarity index 100% rename from sys/auto_init/saul/auto_init_isl29020.c rename to drivers/saul/init_devs/auto_init_isl29020.c diff --git a/sys/auto_init/saul/auto_init_itg320x.c b/drivers/saul/init_devs/auto_init_itg320x.c similarity index 100% rename from sys/auto_init/saul/auto_init_itg320x.c rename to drivers/saul/init_devs/auto_init_itg320x.c diff --git a/sys/auto_init/saul/auto_init_jc42.c b/drivers/saul/init_devs/auto_init_jc42.c similarity index 100% rename from sys/auto_init/saul/auto_init_jc42.c rename to drivers/saul/init_devs/auto_init_jc42.c diff --git a/sys/auto_init/saul/auto_init_l3g4200d.c b/drivers/saul/init_devs/auto_init_l3g4200d.c similarity index 100% rename from sys/auto_init/saul/auto_init_l3g4200d.c rename to drivers/saul/init_devs/auto_init_l3g4200d.c diff --git a/sys/auto_init/saul/auto_init_lis2dh12.c b/drivers/saul/init_devs/auto_init_lis2dh12.c similarity index 100% rename from sys/auto_init/saul/auto_init_lis2dh12.c rename to drivers/saul/init_devs/auto_init_lis2dh12.c diff --git a/sys/auto_init/saul/auto_init_lis3dh.c b/drivers/saul/init_devs/auto_init_lis3dh.c similarity index 100% rename from sys/auto_init/saul/auto_init_lis3dh.c rename to drivers/saul/init_devs/auto_init_lis3dh.c diff --git a/sys/auto_init/saul/auto_init_lis3mdl.c b/drivers/saul/init_devs/auto_init_lis3mdl.c similarity index 100% rename from sys/auto_init/saul/auto_init_lis3mdl.c rename to drivers/saul/init_devs/auto_init_lis3mdl.c diff --git a/sys/auto_init/saul/auto_init_lpsxxx.c b/drivers/saul/init_devs/auto_init_lpsxxx.c similarity index 100% rename from sys/auto_init/saul/auto_init_lpsxxx.c rename to drivers/saul/init_devs/auto_init_lpsxxx.c diff --git a/sys/auto_init/saul/auto_init_lsm303dlhc.c b/drivers/saul/init_devs/auto_init_lsm303dlhc.c similarity index 100% rename from sys/auto_init/saul/auto_init_lsm303dlhc.c rename to drivers/saul/init_devs/auto_init_lsm303dlhc.c diff --git a/sys/auto_init/saul/auto_init_lsm6dsl.c b/drivers/saul/init_devs/auto_init_lsm6dsl.c similarity index 100% rename from sys/auto_init/saul/auto_init_lsm6dsl.c rename to drivers/saul/init_devs/auto_init_lsm6dsl.c diff --git a/sys/auto_init/saul/auto_init_ltc4150.c b/drivers/saul/init_devs/auto_init_ltc4150.c similarity index 100% rename from sys/auto_init/saul/auto_init_ltc4150.c rename to drivers/saul/init_devs/auto_init_ltc4150.c diff --git a/sys/auto_init/saul/auto_init_mag3110.c b/drivers/saul/init_devs/auto_init_mag3110.c similarity index 100% rename from sys/auto_init/saul/auto_init_mag3110.c rename to drivers/saul/init_devs/auto_init_mag3110.c diff --git a/sys/auto_init/saul/auto_init_mma7660.c b/drivers/saul/init_devs/auto_init_mma7660.c similarity index 100% rename from sys/auto_init/saul/auto_init_mma7660.c rename to drivers/saul/init_devs/auto_init_mma7660.c diff --git a/sys/auto_init/saul/auto_init_mma8x5x.c b/drivers/saul/init_devs/auto_init_mma8x5x.c similarity index 100% rename from sys/auto_init/saul/auto_init_mma8x5x.c rename to drivers/saul/init_devs/auto_init_mma8x5x.c diff --git a/sys/auto_init/saul/auto_init_mpl3115a2.c b/drivers/saul/init_devs/auto_init_mpl3115a2.c similarity index 100% rename from sys/auto_init/saul/auto_init_mpl3115a2.c rename to drivers/saul/init_devs/auto_init_mpl3115a2.c diff --git a/sys/auto_init/saul/auto_init_mpu9x50.c b/drivers/saul/init_devs/auto_init_mpu9x50.c similarity index 100% rename from sys/auto_init/saul/auto_init_mpu9x50.c rename to drivers/saul/init_devs/auto_init_mpu9x50.c diff --git a/sys/auto_init/saul/auto_init_nrf_temperature.c b/drivers/saul/init_devs/auto_init_nrf_temperature.c similarity index 100% rename from sys/auto_init/saul/auto_init_nrf_temperature.c rename to drivers/saul/init_devs/auto_init_nrf_temperature.c diff --git a/sys/auto_init/saul/auto_init_opt3001.c b/drivers/saul/init_devs/auto_init_opt3001.c similarity index 100% rename from sys/auto_init/saul/auto_init_opt3001.c rename to drivers/saul/init_devs/auto_init_opt3001.c diff --git a/sys/auto_init/saul/auto_init_pca9685.c b/drivers/saul/init_devs/auto_init_pca9685.c similarity index 100% rename from sys/auto_init/saul/auto_init_pca9685.c rename to drivers/saul/init_devs/auto_init_pca9685.c diff --git a/sys/auto_init/saul/auto_init_ph_oem.c b/drivers/saul/init_devs/auto_init_ph_oem.c similarity index 100% rename from sys/auto_init/saul/auto_init_ph_oem.c rename to drivers/saul/init_devs/auto_init_ph_oem.c diff --git a/sys/auto_init/saul/auto_init_pir.c b/drivers/saul/init_devs/auto_init_pir.c similarity index 100% rename from sys/auto_init/saul/auto_init_pir.c rename to drivers/saul/init_devs/auto_init_pir.c diff --git a/sys/auto_init/saul/auto_init_pulse_counter.c b/drivers/saul/init_devs/auto_init_pulse_counter.c similarity index 100% rename from sys/auto_init/saul/auto_init_pulse_counter.c rename to drivers/saul/init_devs/auto_init_pulse_counter.c diff --git a/sys/auto_init/saul/auto_init_qmc5883l.c b/drivers/saul/init_devs/auto_init_qmc5883l.c similarity index 100% rename from sys/auto_init/saul/auto_init_qmc5883l.c rename to drivers/saul/init_devs/auto_init_qmc5883l.c diff --git a/sys/auto_init/saul/auto_init_sds011.c b/drivers/saul/init_devs/auto_init_sds011.c similarity index 100% rename from sys/auto_init/saul/auto_init_sds011.c rename to drivers/saul/init_devs/auto_init_sds011.c diff --git a/sys/auto_init/saul/auto_init_sht1x.c b/drivers/saul/init_devs/auto_init_sht1x.c similarity index 100% rename from sys/auto_init/saul/auto_init_sht1x.c rename to drivers/saul/init_devs/auto_init_sht1x.c diff --git a/sys/auto_init/saul/auto_init_sht2x.c b/drivers/saul/init_devs/auto_init_sht2x.c similarity index 100% rename from sys/auto_init/saul/auto_init_sht2x.c rename to drivers/saul/init_devs/auto_init_sht2x.c diff --git a/sys/auto_init/saul/auto_init_sht3x.c b/drivers/saul/init_devs/auto_init_sht3x.c similarity index 100% rename from sys/auto_init/saul/auto_init_sht3x.c rename to drivers/saul/init_devs/auto_init_sht3x.c diff --git a/sys/auto_init/saul/auto_init_shtc1.c b/drivers/saul/init_devs/auto_init_shtc1.c similarity index 100% rename from sys/auto_init/saul/auto_init_shtc1.c rename to drivers/saul/init_devs/auto_init_shtc1.c diff --git a/sys/auto_init/saul/auto_init_si114x.c b/drivers/saul/init_devs/auto_init_si114x.c similarity index 100% rename from sys/auto_init/saul/auto_init_si114x.c rename to drivers/saul/init_devs/auto_init_si114x.c diff --git a/sys/auto_init/saul/auto_init_si70xx.c b/drivers/saul/init_devs/auto_init_si70xx.c similarity index 100% rename from sys/auto_init/saul/auto_init_si70xx.c rename to drivers/saul/init_devs/auto_init_si70xx.c diff --git a/sys/auto_init/saul/auto_init_sps30.c b/drivers/saul/init_devs/auto_init_sps30.c similarity index 100% rename from sys/auto_init/saul/auto_init_sps30.c rename to drivers/saul/init_devs/auto_init_sps30.c diff --git a/sys/auto_init/saul/auto_init_tcs37727.c b/drivers/saul/init_devs/auto_init_tcs37727.c similarity index 100% rename from sys/auto_init/saul/auto_init_tcs37727.c rename to drivers/saul/init_devs/auto_init_tcs37727.c diff --git a/sys/auto_init/saul/auto_init_tmp00x.c b/drivers/saul/init_devs/auto_init_tmp00x.c similarity index 100% rename from sys/auto_init/saul/auto_init_tmp00x.c rename to drivers/saul/init_devs/auto_init_tmp00x.c diff --git a/sys/auto_init/saul/auto_init_tsl2561.c b/drivers/saul/init_devs/auto_init_tsl2561.c similarity index 100% rename from sys/auto_init/saul/auto_init_tsl2561.c rename to drivers/saul/init_devs/auto_init_tsl2561.c diff --git a/sys/auto_init/saul/auto_init_tsl4531x.c b/drivers/saul/init_devs/auto_init_tsl4531x.c similarity index 100% rename from sys/auto_init/saul/auto_init_tsl4531x.c rename to drivers/saul/init_devs/auto_init_tsl4531x.c diff --git a/sys/auto_init/saul/auto_init_vcnl40x0.c b/drivers/saul/init_devs/auto_init_vcnl40x0.c similarity index 100% rename from sys/auto_init/saul/auto_init_vcnl40x0.c rename to drivers/saul/init_devs/auto_init_vcnl40x0.c diff --git a/sys/auto_init/saul/auto_init_veml6070.c b/drivers/saul/init_devs/auto_init_veml6070.c similarity index 100% rename from sys/auto_init/saul/auto_init_veml6070.c rename to drivers/saul/init_devs/auto_init_veml6070.c diff --git a/sys/auto_init/saul/doc.txt b/drivers/saul/init_devs/doc.txt similarity index 65% rename from sys/auto_init/saul/doc.txt rename to drivers/saul/init_devs/doc.txt index e4ffe25bf3..07a68c8705 100644 --- a/sys/auto_init/saul/doc.txt +++ b/drivers/saul/init_devs/doc.txt @@ -13,3 +13,11 @@ * * This module contains auto init functions for drivers that support SAUL. */ + +/** + * @defgroup drivers_saul_init_devs SAUL Device Initialisation + * @ingroup drivers_saul + * @brief Bulk initialisation of SAUL enabled drivers + * + * This module contains bulk init functions for drivers that support SAUL. + */ diff --git a/drivers/saul/init_devs/init.c b/drivers/saul/init_devs/init.c new file mode 100644 index 0000000000..87ea52213e --- /dev/null +++ b/drivers/saul/init_devs/init.c @@ -0,0 +1,254 @@ +/** + * Auto initialization for SAUL devices + * + * Copyright (C) 2020 Freie Universität Berlin + * 2020 Kaspar Schleiser + * 2013 INRIA. + * + * This file is subject to the terms and conditions of the GNU Lesser + * General Public License v2.1. See the file LICENSE in the top level + * directory for more details. + * + * @ingroup sys_auto_init + * @{ + * @file + * @brief initializes any used SAUL device that has a trivial init function + * @author Oliver Hahm + * @author Hauke Petersen + * @author Kaspar Schleiser + * @author Martine S. Lenders + * @} + */ + +#include "kernel_defines.h" + +/** + * @brief Initializes sensors and actuators for SAUL + */ +void saul_init_devs(void) +{ + if (IS_USED(MODULE_SAUL_ADC)) { + extern void auto_init_adc(void); + auto_init_adc(); + } + if (IS_USED(MODULE_SAUL_GPIO)) { + extern void auto_init_gpio(void); + auto_init_gpio(); + } + if (IS_USED(MODULE_SAUL_NRF_TEMPERATURE)) { + extern void auto_init_nrf_temperature(void); + auto_init_nrf_temperature(); + } + if (IS_USED(MODULE_AD7746)) { + extern void auto_init_ad7746(void); + auto_init_ad7746(); + } + if (IS_USED(MODULE_ADCXX1C)) { + extern void auto_init_adcxx1c(void); + auto_init_adcxx1c(); + } + if (IS_USED(MODULE_ADS101X)) { + extern void auto_init_ads101x(void); + auto_init_ads101x(); + } + if (IS_USED(MODULE_ADXL345)) { + extern void auto_init_adxl345(void); + auto_init_adxl345(); + } + if (IS_USED(MODULE_BMP180)) { + extern void auto_init_bmp180(void); + auto_init_bmp180(); + } + if (IS_USED(MODULE_BMX280)) { + extern void auto_init_bmx280(void); + auto_init_bmx280(); + } + if (IS_USED(MODULE_BMX055)) { + extern void auto_init_bmx055(void); + auto_init_bmx055(); + } + if (IS_USED(MODULE_CCS811)) { + extern void auto_init_ccs811(void); + auto_init_ccs811(); + } + if (IS_USED(MODULE_DHT)) { + extern void auto_init_dht(void); + auto_init_dht(); + } + if (IS_USED(MODULE_DS18)) { + extern void auto_init_ds18(void); + auto_init_ds18(); + } + if (IS_USED(MODULE_DS75LX)) { + extern void auto_init_ds75lx(void); + auto_init_ds75lx(); + } + if (IS_USED(MODULE_FXOS8700)) { + extern void auto_init_fxos8700(void); + auto_init_fxos8700(); + } + if (IS_USED(MODULE_GROVE_LEDBAR)) { + extern void auto_init_grove_ledbar(void); + auto_init_grove_ledbar(); + } + if (IS_USED(MODULE_HDC1000)) { + extern void auto_init_hdc1000(void); + auto_init_hdc1000(); + } + if (IS_USED(MODULE_HTS221)) { + extern void auto_init_hts221(void); + auto_init_hts221(); + } + if (IS_USED(MODULE_INA2XX)) { + extern void auto_init_ina2xx(void); + auto_init_ina2xx(); + } + if (IS_USED(MODULE_INA3221)) { + extern void auto_init_ina3221(void); + auto_init_ina3221(); + } + if (IS_USED(MODULE_IO1_XPLAINED)) { + extern void auto_init_io1_xplained(void); + auto_init_io1_xplained(); + } + if (IS_USED(MODULE_ISL29020)) { + extern void auto_init_isl29020(void); + auto_init_isl29020(); + } + if (IS_USED(MODULE_ITG320X)) { + extern void auto_init_itg320x(void); + auto_init_itg320x(); + } + if (IS_USED(MODULE_JC42)) { + extern void auto_init_jc42(void); + auto_init_jc42(); + } + if (IS_USED(MODULE_L3G4200D)) { + extern void auto_init_l3g4200d(void); + auto_init_l3g4200d(); + } + if (IS_USED(MODULE_LIS2DH12)) { + extern void auto_init_lis2dh12(void); + auto_init_lis2dh12(); + } + if (IS_USED(MODULE_LIS3DH)) { + extern void auto_init_lis3dh(void); + auto_init_lis3dh(); + } + if (IS_USED(MODULE_LIS3MDL)) { + extern void auto_init_lis3mdl(void); + auto_init_lis3mdl(); + } + if (IS_USED(MODULE_LPSXXX)) { + extern void auto_init_lpsxxx(void); + auto_init_lpsxxx(); + } + if (IS_USED(MODULE_LSM303DLHC)) { + extern void auto_init_lsm303dlhc(void); + auto_init_lsm303dlhc(); + } + if (IS_USED(MODULE_LSM6DSL)) { + extern void auto_init_lsm6dsl(void); + auto_init_lsm6dsl(); + } + if (IS_USED(MODULE_LTC4150)) { + extern void auto_init_ltc4150(void); + auto_init_ltc4150(); + } + if (IS_USED(MODULE_MAG3110)) { + extern void auto_init_mag3110(void); + auto_init_mag3110(); + } + if (IS_USED(MODULE_MMA7660)) { + extern void auto_init_mma7660(void); + auto_init_mma7660(); + } + if (IS_USED(MODULE_MMA8X5X)) { + extern void auto_init_mma8x5x(void); + auto_init_mma8x5x(); + } + if (IS_USED(MODULE_MPL3115A2)) { + extern void auto_init_mpl3115a2(void); + auto_init_mpl3115a2(); + } + if (IS_USED(MODULE_MPU9X50)) { + extern void auto_init_mpu9x50(void); + auto_init_mpu9x50(); + } + if (IS_USED(MODULE_OPT3001)) { + extern void auto_init_opt3001(void); + auto_init_opt3001(); + } + if (IS_USED(MODULE_PCA9685)) { + extern void auto_init_pca9685(void); + auto_init_pca9685(); + } + if (IS_USED(MODULE_PH_OEM)) { + extern void auto_init_ph_oem(void); + auto_init_ph_oem(); + } + if (IS_USED(MODULE_PIR)) { + extern void auto_init_pir(void); + auto_init_pir(); + } + if (IS_USED(MODULE_PULSE_COUNTER)) { + extern void auto_init_pulse_counter(void); + auto_init_pulse_counter(); + } + if (IS_USED(MODULE_QMC5883L)) { + extern void auto_init_qmc5883l(void); + auto_init_qmc5883l(); + } + if (IS_USED(MODULE_SHT2X)) { + extern void auto_init_sht2x(void); + auto_init_sht2x(); + } + if (IS_USED(MODULE_SHT3X)) { + extern void auto_init_sht3x(void); + auto_init_sht3x(); + } + if (IS_USED(MODULE_SHTC1)) { + extern void auto_init_shtc1(void); + auto_init_shtc1(); + } + if (IS_USED(MODULE_SDS011)) { + extern void auto_init_sds011(void); + auto_init_sds011(); + } + if (IS_USED(MODULE_SI114X)) { + extern void auto_init_si114x(void); + auto_init_si114x(); + } + if (IS_USED(MODULE_SI70XX)) { + extern void auto_init_si70xx(void); + auto_init_si70xx(); + } + if (IS_USED(MODULE_SPS30)) { + extern void auto_init_sps30(void); + auto_init_sps30(); + } + if (IS_USED(MODULE_TCS37727)) { + extern void auto_init_tcs37727(void); + auto_init_tcs37727(); + } + if (IS_USED(MODULE_TMP006)) { + extern void auto_init_tmp00x(void); + auto_init_tmp00x(); + } + if (IS_USED(MODULE_TSL2561)) { + extern void auto_init_tsl2561(void); + auto_init_tsl2561(); + } + if (IS_USED(MODULE_TSL4531X)) { + extern void auto_init_tsl4531x(void); + auto_init_tsl4531x(); + } + if (IS_USED(MODULE_VCNL40X0)) { + extern void auto_init_vcnl40x0(void); + auto_init_vcnl40x0(); + } + if (IS_USED(MODULE_VEML6070)) { + extern void auto_init_veml6070(void); + auto_init_veml6070(); + } +} diff --git a/makefiles/pseudomodules.inc.mk b/makefiles/pseudomodules.inc.mk index 0f66cfd87d..c3defd401a 100644 --- a/makefiles/pseudomodules.inc.mk +++ b/makefiles/pseudomodules.inc.mk @@ -210,7 +210,6 @@ PSEUDOMODULES += crypto_aes_unroll PSEUDOMODULES += auto_init_% NO_PSEUDOMODULES += auto_init_can NO_PSEUDOMODULES += auto_init_loramac -NO_PSEUDOMODULES += auto_init_saul NO_PSEUDOMODULES += auto_init_security NO_PSEUDOMODULES += auto_init_storage NO_PSEUDOMODULES += auto_init_usbus diff --git a/sys/auto_init/Makefile b/sys/auto_init/Makefile index 3736bf1e52..24b4ecf5ba 100644 --- a/sys/auto_init/Makefile +++ b/sys/auto_init/Makefile @@ -2,7 +2,7 @@ ifneq (,$(filter gnrc_netif_init,$(USEMODULE))) DIRS += netif endif -ifneq (,$(filter auto_init_saul,$(USEMODULE))) +ifneq (,$(filter saul_init,$(USEMODULE))) DIRS += saul endif diff --git a/sys/auto_init/auto_init.c b/sys/auto_init/auto_init.c index bc8dd5e571..92c865b063 100644 --- a/sys/auto_init/auto_init.c +++ b/sys/auto_init/auto_init.c @@ -26,237 +26,6 @@ #include "kernel_defines.h" #include "log.h" -/** - * @brief Initializes sensors and actuators for SAUL - */ -void _auto_init_saul(void) -{ - if (IS_USED(MODULE_SAUL_ADC)) { - extern void auto_init_adc(void); - auto_init_adc(); - } - if (IS_USED(MODULE_SAUL_GPIO)) { - extern void auto_init_gpio(void); - auto_init_gpio(); - } - if (IS_USED(MODULE_SAUL_NRF_TEMPERATURE)) { - extern void auto_init_nrf_temperature(void); - auto_init_nrf_temperature(); - } - if (IS_USED(MODULE_AD7746)) { - extern void auto_init_ad7746(void); - auto_init_ad7746(); - } - if (IS_USED(MODULE_ADCXX1C)) { - extern void auto_init_adcxx1c(void); - auto_init_adcxx1c(); - } - if (IS_USED(MODULE_ADS101X)) { - extern void auto_init_ads101x(void); - auto_init_ads101x(); - } - if (IS_USED(MODULE_ADXL345)) { - extern void auto_init_adxl345(void); - auto_init_adxl345(); - } - if (IS_USED(MODULE_BMP180)) { - extern void auto_init_bmp180(void); - auto_init_bmp180(); - } - if (IS_USED(MODULE_BMX280)) { - extern void auto_init_bmx280(void); - auto_init_bmx280(); - } - if (IS_USED(MODULE_BMX055)) { - extern void auto_init_bmx055(void); - auto_init_bmx055(); - } - if (IS_USED(MODULE_CCS811)) { - extern void auto_init_ccs811(void); - auto_init_ccs811(); - } - if (IS_USED(MODULE_DHT)) { - extern void auto_init_dht(void); - auto_init_dht(); - } - if (IS_USED(MODULE_DS18)) { - extern void auto_init_ds18(void); - auto_init_ds18(); - } - if (IS_USED(MODULE_DS75LX)) { - extern void auto_init_ds75lx(void); - auto_init_ds75lx(); - } - if (IS_USED(MODULE_FXOS8700)) { - extern void auto_init_fxos8700(void); - auto_init_fxos8700(); - } - if (IS_USED(MODULE_GROVE_LEDBAR)) { - extern void auto_init_grove_ledbar(void); - auto_init_grove_ledbar(); - } - if (IS_USED(MODULE_HDC1000)) { - extern void auto_init_hdc1000(void); - auto_init_hdc1000(); - } - if (IS_USED(MODULE_HTS221)) { - extern void auto_init_hts221(void); - auto_init_hts221(); - } - if (IS_USED(MODULE_INA2XX)) { - extern void auto_init_ina2xx(void); - auto_init_ina2xx(); - } - if (IS_USED(MODULE_INA3221)) { - extern void auto_init_ina3221(void); - auto_init_ina3221(); - } - if (IS_USED(MODULE_IO1_XPLAINED)) { - extern void auto_init_io1_xplained(void); - auto_init_io1_xplained(); - } - if (IS_USED(MODULE_ISL29020)) { - extern void auto_init_isl29020(void); - auto_init_isl29020(); - } - if (IS_USED(MODULE_ITG320X)) { - extern void auto_init_itg320x(void); - auto_init_itg320x(); - } - if (IS_USED(MODULE_JC42)) { - extern void auto_init_jc42(void); - auto_init_jc42(); - } - if (IS_USED(MODULE_L3G4200D)) { - extern void auto_init_l3g4200d(void); - auto_init_l3g4200d(); - } - if (IS_USED(MODULE_LIS2DH12)) { - extern void auto_init_lis2dh12(void); - auto_init_lis2dh12(); - } - if (IS_USED(MODULE_LIS3DH)) { - extern void auto_init_lis3dh(void); - auto_init_lis3dh(); - } - if (IS_USED(MODULE_LIS3MDL)) { - extern void auto_init_lis3mdl(void); - auto_init_lis3mdl(); - } - if (IS_USED(MODULE_LPSXXX)) { - extern void auto_init_lpsxxx(void); - auto_init_lpsxxx(); - } - if (IS_USED(MODULE_LSM303DLHC)) { - extern void auto_init_lsm303dlhc(void); - auto_init_lsm303dlhc(); - } - if (IS_USED(MODULE_LSM6DSL)) { - extern void auto_init_lsm6dsl(void); - auto_init_lsm6dsl(); - } - if (IS_USED(MODULE_LTC4150)) { - extern void auto_init_ltc4150(void); - auto_init_ltc4150(); - } - if (IS_USED(MODULE_MAG3110)) { - extern void auto_init_mag3110(void); - auto_init_mag3110(); - } - if (IS_USED(MODULE_MMA7660)) { - extern void auto_init_mma7660(void); - auto_init_mma7660(); - } - if (IS_USED(MODULE_MMA8X5X)) { - extern void auto_init_mma8x5x(void); - auto_init_mma8x5x(); - } - if (IS_USED(MODULE_MPL3115A2)) { - extern void auto_init_mpl3115a2(void); - auto_init_mpl3115a2(); - } - if (IS_USED(MODULE_MPU9X50)) { - extern void auto_init_mpu9x50(void); - auto_init_mpu9x50(); - } - if (IS_USED(MODULE_OPT3001)) { - extern void auto_init_opt3001(void); - auto_init_opt3001(); - } - if (IS_USED(MODULE_PCA9685)) { - extern void auto_init_pca9685(void); - auto_init_pca9685(); - } - if (IS_USED(MODULE_PH_OEM)) { - extern void auto_init_ph_oem(void); - auto_init_ph_oem(); - } - if (IS_USED(MODULE_PIR)) { - extern void auto_init_pir(void); - auto_init_pir(); - } - if (IS_USED(MODULE_PULSE_COUNTER)) { - extern void auto_init_pulse_counter(void); - auto_init_pulse_counter(); - } - if (IS_USED(MODULE_QMC5883L)) { - extern void auto_init_qmc5883l(void); - auto_init_qmc5883l(); - } - if (IS_USED(MODULE_SHT2X)) { - extern void auto_init_sht2x(void); - auto_init_sht2x(); - } - if (IS_USED(MODULE_SHT3X)) { - extern void auto_init_sht3x(void); - auto_init_sht3x(); - } - if (IS_USED(MODULE_SHTC1)) { - extern void auto_init_shtc1(void); - auto_init_shtc1(); - } - if (IS_USED(MODULE_SDS011)) { - extern void auto_init_sds011(void); - auto_init_sds011(); - } - if (IS_USED(MODULE_SI114X)) { - extern void auto_init_si114x(void); - auto_init_si114x(); - } - if (IS_USED(MODULE_SI70XX)) { - extern void auto_init_si70xx(void); - auto_init_si70xx(); - } - if (IS_USED(MODULE_SPS30)) { - extern void auto_init_sps30(void); - auto_init_sps30(); - } - if (IS_USED(MODULE_TCS37727)) { - extern void auto_init_tcs37727(void); - auto_init_tcs37727(); - } - if (IS_USED(MODULE_TMP006)) { - extern void auto_init_tmp00x(void); - auto_init_tmp00x(); - } - if (IS_USED(MODULE_TSL2561)) { - extern void auto_init_tsl2561(void); - auto_init_tsl2561(); - } - if (IS_USED(MODULE_TSL4531X)) { - extern void auto_init_tsl4531x(void); - auto_init_tsl4531x(); - } - if (IS_USED(MODULE_VCNL40X0)) { - extern void auto_init_vcnl40x0(void); - auto_init_vcnl40x0(); - } - if (IS_USED(MODULE_VEML6070)) { - extern void auto_init_veml6070(void); - auto_init_veml6070(); - } -} - void auto_init(void) { if (IS_USED(MODULE_AUTO_INIT_RANDOM)) { @@ -421,7 +190,8 @@ void auto_init(void) if (IS_USED(MODULE_AUTO_INIT_SAUL)) { LOG_DEBUG("Auto init SAUL.\n"); - _auto_init_saul(); + extern void saul_init_devs(void); + saul_init_devs(); } if (IS_USED(MODULE_AUTO_INIT_GNRC_RPL)) {