2013-06-18 17:21:38 +02:00
|
|
|
/**
|
2013-06-22 05:11:53 +02:00
|
|
|
* Auto initialization for used modules
|
2013-06-18 17:21:38 +02:00
|
|
|
*
|
2020-02-13 11:01:01 +01:00
|
|
|
* Copyright (C) 2020 Freie Universität Berlin
|
|
|
|
* 2020 Kaspar Schleiser <kaspar@schleiser.de>
|
|
|
|
* 2013 INRIA.
|
2013-06-18 17:21:38 +02:00
|
|
|
*
|
2014-07-31 19:45:27 +02:00
|
|
|
* 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.
|
2013-06-18 17:21:38 +02:00
|
|
|
*
|
2018-06-06 10:32:32 +02:00
|
|
|
* @ingroup sys_auto_init
|
2013-06-18 17:21:38 +02:00
|
|
|
* @{
|
2015-05-22 07:34:41 +02:00
|
|
|
* @file
|
2013-06-18 17:21:38 +02:00
|
|
|
* @brief initializes any used module that has a trivial init function
|
|
|
|
* @author Oliver Hahm <oliver.hahm@inria.fr>
|
2015-04-29 21:17:07 +02:00
|
|
|
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
|
2020-02-13 11:01:01 +01:00
|
|
|
* @author Kaspar Schleiser <kaspar@schleiser.de>
|
2020-03-03 17:15:13 +01:00
|
|
|
* @author Martine S. Lenders <m.lenders@fu-berlin.de>
|
2013-06-18 17:21:38 +02:00
|
|
|
* @}
|
|
|
|
*/
|
2010-09-22 15:10:42 +02:00
|
|
|
#include <stdint.h>
|
|
|
|
#include <stdio.h>
|
2013-10-27 17:23:25 +01:00
|
|
|
|
|
|
|
#include "auto_init.h"
|
2020-02-13 11:39:16 +01:00
|
|
|
#include "log.h"
|
2013-10-27 17:23:25 +01:00
|
|
|
|
2015-08-19 12:38:38 +02:00
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_NETIF
|
2020-03-03 17:15:13 +01:00
|
|
|
/**
|
|
|
|
* @brief Initializes network devices
|
|
|
|
*/
|
|
|
|
static void _auto_init_gnrc_netif(void)
|
|
|
|
{
|
2018-12-15 02:23:37 +01:00
|
|
|
#ifdef MODULE_STM32_ETH
|
|
|
|
extern void auto_init_stm32_eth(void);
|
|
|
|
auto_init_stm32_eth();
|
|
|
|
#endif
|
|
|
|
|
2020-01-16 09:18:39 +01:00
|
|
|
#ifdef MODULE_AUTO_INIT_AT86RF2XX
|
2015-08-09 21:24:55 +02:00
|
|
|
extern void auto_init_at86rf2xx(void);
|
|
|
|
auto_init_at86rf2xx();
|
2015-05-08 15:50:35 +02:00
|
|
|
#endif
|
2015-05-08 15:51:26 +02:00
|
|
|
|
2016-12-31 12:24:28 +01:00
|
|
|
#ifdef MODULE_MRF24J40
|
|
|
|
extern void auto_init_mrf24j40(void);
|
|
|
|
auto_init_mrf24j40();
|
|
|
|
#endif
|
|
|
|
|
drivers/cc110x: Rewrite of the cc110x driver
The cc110x driver has been re-written from scratch to overcome the limitations
of the old driver. The main motivation of the rewrite was to achieve better
maintainability by a detailed documentation, reduce the complexity and the
overhead of the SPI communication with the device, and to allow to
simultaneously use transceivers with different configuration regarding the used
base band, the channel bandwidth, the modulation rate, and the channel map.
Features of this driver include:
- Support for the CC1100, CC1101, and the CC1100e sub-gigahertz transceivers.
- Detailed documentation of every aspect of this driver.
- An easy to use configuration API that allows setting the transceiver
configuration (modulation rate, channel bandwidth, base frequency) and the
channel map.
- Fast channel hopping by pre-calibration of the channels during device
configuration (so that no calibration is needed during hopping).
- Simplified SPI communication: Only during start-up the MCU has to wait
for the transceiver to be ready (for the power regulators and the crystal
to stabilize). The old driver did this for every SPI transfer, which
resulted in complex communication code. This driver will wait on start up
for the transceiver to power up and then use RIOT's SPI API like every other
driver. (Not only the data sheet states that this is fine, it also proved to
be reliable in practise.)
- Greatly reduced latency: The RTT on the old driver (@150 kbps data rate) was
about 16ms, the new driver (@250 kbps data rate) has as RTT of ~3ms
(depending on SPI clock and on CPU performance) (measured with ping6).
- Increased reliability: The preamble size and the sync word size have been
doubled compared to the old driver (preamble: 8 bytes instead of 4,
sync word: 4 byte instead of 2). The new values are the once recommended by
the data sheet for reliable communication.
- Basic diagnostic during driver initialization to detect common issues as
SPI communication issues and GDO pin configuration/wiring issues.
- TX power configuration with netdev_driver_t::set() API-integration
- Calls to netdev_driver_t::send() block until the transmission has completed
to ease the use of the API (implemented without busy waiting, so that the
MCU can enter lower power states or other threads can be executed).
2018-11-08 17:37:07 +01:00
|
|
|
#ifdef MODULE_CC110X
|
|
|
|
extern void auto_init_cc110x(void);
|
|
|
|
auto_init_cc110x();
|
|
|
|
#endif
|
|
|
|
|
2016-04-14 13:48:17 +02:00
|
|
|
#ifdef MODULE_CC2420
|
|
|
|
extern void auto_init_cc2420(void);
|
|
|
|
auto_init_cc2420();
|
|
|
|
#endif
|
|
|
|
|
2015-04-08 19:54:00 +02:00
|
|
|
#ifdef MODULE_ENCX24J600
|
|
|
|
extern void auto_init_encx24j600(void);
|
|
|
|
auto_init_encx24j600();
|
|
|
|
#endif
|
|
|
|
|
2015-11-01 12:50:55 +01:00
|
|
|
#ifdef MODULE_ENC28J60
|
|
|
|
extern void auto_init_enc28j60(void);
|
|
|
|
auto_init_enc28j60();
|
|
|
|
#endif
|
|
|
|
|
2018-10-08 12:20:49 +02:00
|
|
|
#ifdef MODULE_ESP_ETH
|
|
|
|
extern void auto_init_esp_eth(void);
|
|
|
|
auto_init_esp_eth();
|
|
|
|
#endif
|
|
|
|
|
2019-02-02 14:37:21 +01:00
|
|
|
/* don't change the order of auto_init_esp_now and auto_init_esp_wifi */
|
2018-10-08 12:20:49 +02:00
|
|
|
#ifdef MODULE_ESP_NOW
|
|
|
|
extern void auto_init_esp_now(void);
|
|
|
|
auto_init_esp_now();
|
|
|
|
#endif
|
|
|
|
|
2019-02-02 14:37:21 +01:00
|
|
|
/* don't change the order of auto_init_esp_now and auto_init_esp_wifi */
|
2018-10-08 12:20:49 +02:00
|
|
|
#ifdef MODULE_ESP_WIFI
|
|
|
|
extern void auto_init_esp_wifi(void);
|
|
|
|
auto_init_esp_wifi();
|
|
|
|
#endif
|
|
|
|
|
2016-02-05 12:52:02 +01:00
|
|
|
#ifdef MODULE_ETHOS
|
|
|
|
extern void auto_init_ethos(void);
|
|
|
|
auto_init_ethos();
|
|
|
|
#endif
|
|
|
|
|
2019-01-06 15:08:23 +01:00
|
|
|
#ifdef MODULE_DOSE
|
|
|
|
extern void auto_init_dose(void);
|
|
|
|
auto_init_dose();
|
|
|
|
#endif
|
|
|
|
|
2017-07-18 14:39:03 +02:00
|
|
|
#ifdef MODULE_SLIPDEV
|
|
|
|
extern void auto_init_slipdev(void);
|
|
|
|
auto_init_slipdev();
|
2015-06-01 16:41:03 +02:00
|
|
|
#endif
|
|
|
|
|
2016-07-08 03:33:54 +02:00
|
|
|
#ifdef MODULE_CC2538_RF
|
|
|
|
extern void auto_init_cc2538_rf(void);
|
|
|
|
auto_init_cc2538_rf();
|
|
|
|
#endif
|
|
|
|
|
2015-05-08 15:51:26 +02:00
|
|
|
#ifdef MODULE_XBEE
|
|
|
|
extern void auto_init_xbee(void);
|
|
|
|
auto_init_xbee();
|
|
|
|
#endif
|
2015-05-17 21:01:07 +02:00
|
|
|
|
2015-05-17 15:21:49 +02:00
|
|
|
#ifdef MODULE_KW2XRF
|
|
|
|
extern void auto_init_kw2xrf(void);
|
|
|
|
auto_init_kw2xrf();
|
|
|
|
#endif
|
|
|
|
|
2019-02-27 22:23:14 +01:00
|
|
|
#ifdef MODULE_USBUS_CDC_ECM
|
|
|
|
extern void auto_init_netdev_cdcecm(void);
|
|
|
|
auto_init_netdev_cdcecm();
|
|
|
|
#endif
|
|
|
|
|
2017-02-15 13:07:34 +01:00
|
|
|
#ifdef MODULE_NETDEV_TAP
|
|
|
|
extern void auto_init_netdev_tap(void);
|
|
|
|
auto_init_netdev_tap();
|
2015-05-27 21:58:38 +02:00
|
|
|
#endif
|
|
|
|
|
2016-10-28 15:21:08 +02:00
|
|
|
#ifdef MODULE_SOCKET_ZEP
|
|
|
|
extern void auto_init_socket_zep(void);
|
|
|
|
auto_init_socket_zep();
|
|
|
|
#endif
|
|
|
|
|
2016-07-09 11:25:34 +02:00
|
|
|
#ifdef MODULE_NORDIC_SOFTDEVICE_BLE
|
|
|
|
extern void gnrc_nordic_ble_6lowpan_init(void);
|
|
|
|
gnrc_nordic_ble_6lowpan_init();
|
|
|
|
#endif
|
|
|
|
|
2016-11-11 11:09:35 +01:00
|
|
|
#ifdef MODULE_NRFMIN
|
|
|
|
extern void gnrc_nrfmin_init(void);
|
|
|
|
gnrc_nrfmin_init();
|
|
|
|
#endif
|
|
|
|
|
2016-08-05 14:44:38 +02:00
|
|
|
#ifdef MODULE_W5100
|
|
|
|
extern void auto_init_w5100(void);
|
|
|
|
auto_init_w5100();
|
|
|
|
#endif
|
|
|
|
|
2019-04-16 13:42:40 +02:00
|
|
|
#if defined(MODULE_SX127X) && !defined(MODULE_SEMTECH_LORAMAC)
|
2017-11-17 10:51:00 +01:00
|
|
|
extern void auto_init_sx127x(void);
|
|
|
|
auto_init_sx127x();
|
|
|
|
#endif
|
|
|
|
|
2019-03-04 13:19:22 +01:00
|
|
|
#ifdef MODULE_NRF802154
|
|
|
|
extern void auto_init_nrf802154(void);
|
|
|
|
auto_init_nrf802154();
|
|
|
|
#endif
|
2020-03-03 17:15:13 +01:00
|
|
|
}
|
2015-08-19 12:38:38 +02:00
|
|
|
#endif /* MODULE_AUTO_INIT_GNRC_NETIF */
|
2015-05-09 16:03:18 +02:00
|
|
|
|
2015-11-18 16:13:33 +01:00
|
|
|
#ifdef MODULE_AUTO_INIT_SAUL
|
2020-03-03 17:15:13 +01:00
|
|
|
/**
|
|
|
|
* @brief Initializes sensors and actuators for SAUL
|
|
|
|
*/
|
|
|
|
void _auto_init_saul(void)
|
|
|
|
{
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_SAUL_ADC
|
|
|
|
extern void auto_init_adc(void);
|
|
|
|
auto_init_adc();
|
|
|
|
#endif
|
2015-11-18 16:13:33 +01:00
|
|
|
#ifdef MODULE_SAUL_GPIO
|
|
|
|
extern void auto_init_gpio(void);
|
|
|
|
auto_init_gpio();
|
|
|
|
#endif
|
2019-01-13 15:04:09 +01:00
|
|
|
#ifdef MODULE_SAUL_NRF_TEMPERATURE
|
|
|
|
extern void auto_init_nrf_temperature(void);
|
|
|
|
auto_init_nrf_temperature();
|
|
|
|
#endif
|
2019-02-15 13:34:57 +01:00
|
|
|
#ifdef MODULE_AD7746
|
|
|
|
extern void auto_init_ad7746(void);
|
|
|
|
auto_init_ad7746();
|
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_ADCXX1C
|
|
|
|
extern void auto_init_adcxx1c(void);
|
|
|
|
auto_init_adcxx1c();
|
2016-02-18 06:22:07 +01:00
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_ADS101X
|
|
|
|
extern void auto_init_ads101x(void);
|
|
|
|
auto_init_ads101x();
|
2015-11-18 16:13:33 +01:00
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_ADXL345
|
|
|
|
extern void auto_init_adxl345(void);
|
|
|
|
auto_init_adxl345();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_BMP180
|
|
|
|
extern void auto_init_bmp180(void);
|
|
|
|
auto_init_bmp180();
|
|
|
|
#endif
|
2018-01-10 15:03:29 +01:00
|
|
|
#ifdef MODULE_BMX280
|
2018-10-05 19:57:37 +02:00
|
|
|
extern void auto_init_bmx280(void);
|
|
|
|
auto_init_bmx280();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_BMX055
|
|
|
|
extern void auto_init_bmx055(void);
|
|
|
|
auto_init_bmx055();
|
|
|
|
#endif
|
2018-12-13 11:45:16 +01:00
|
|
|
#ifdef MODULE_CCS811
|
|
|
|
extern void auto_init_ccs811(void);
|
|
|
|
auto_init_ccs811();
|
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_DHT
|
|
|
|
extern void auto_init_dht(void);
|
|
|
|
auto_init_dht();
|
|
|
|
#endif
|
2017-01-26 21:18:55 +01:00
|
|
|
#ifdef MODULE_DS18
|
|
|
|
extern void auto_init_ds18(void);
|
|
|
|
auto_init_ds18();
|
|
|
|
#endif
|
2019-05-15 22:03:36 +02:00
|
|
|
#ifdef MODULE_DS75LX
|
|
|
|
extern void auto_init_ds75lx(void);
|
|
|
|
auto_init_ds75lx();
|
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_FXOS8700
|
|
|
|
extern void auto_init_fxos8700(void);
|
|
|
|
auto_init_fxos8700();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_GROVE_LEDBAR
|
|
|
|
extern void auto_init_grove_ledbar(void);
|
|
|
|
auto_init_grove_ledbar();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_HDC1000
|
|
|
|
extern void auto_init_hdc1000(void);
|
|
|
|
auto_init_hdc1000();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_HTS221
|
|
|
|
extern void auto_init_hts221(void);
|
|
|
|
auto_init_hts221();
|
|
|
|
#endif
|
2019-04-05 13:49:37 +02:00
|
|
|
#ifdef MODULE_INA2XX
|
|
|
|
extern void auto_init_ina2xx(void);
|
|
|
|
auto_init_ina2xx();
|
|
|
|
#endif
|
2019-11-05 12:37:41 +01:00
|
|
|
#ifdef MODULE_INA3221
|
|
|
|
extern void auto_init_ina3221(void);
|
|
|
|
auto_init_ina3221();
|
2019-04-05 13:49:37 +02:00
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_IO1_XPLAINED
|
|
|
|
extern void auto_init_io1_xplained(void);
|
|
|
|
auto_init_io1_xplained();
|
2015-11-18 16:13:33 +01:00
|
|
|
#endif
|
|
|
|
#ifdef MODULE_ISL29020
|
|
|
|
extern void auto_init_isl29020(void);
|
|
|
|
auto_init_isl29020();
|
|
|
|
#endif
|
2018-10-09 16:55:34 +02:00
|
|
|
#ifdef MODULE_ITG320X
|
|
|
|
extern void auto_init_itg320x(void);
|
|
|
|
auto_init_itg320x();
|
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_JC42
|
|
|
|
extern void auto_init_jc42(void);
|
|
|
|
auto_init_jc42();
|
|
|
|
#endif
|
2015-11-18 16:13:33 +01:00
|
|
|
#ifdef MODULE_L3G4200D
|
|
|
|
extern void auto_init_l3g4200d(void);
|
|
|
|
auto_init_l3g4200d();
|
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_LIS2DH12
|
|
|
|
extern void auto_init_lis2dh12(void);
|
|
|
|
auto_init_lis2dh12();
|
|
|
|
#endif
|
2016-02-13 09:43:31 +01:00
|
|
|
#ifdef MODULE_LIS3DH
|
|
|
|
extern void auto_init_lis3dh(void);
|
|
|
|
auto_init_lis3dh();
|
|
|
|
#endif
|
2017-11-07 15:03:18 +01:00
|
|
|
#ifdef MODULE_LIS3MDL
|
2018-10-05 19:57:37 +02:00
|
|
|
extern void auto_init_lis3mdl(void);
|
|
|
|
auto_init_lis3mdl();
|
|
|
|
#endif
|
2018-12-30 15:15:52 +01:00
|
|
|
#ifdef MODULE_LPSXXX
|
|
|
|
extern void auto_init_lpsxxx(void);
|
|
|
|
auto_init_lpsxxx();
|
2018-10-05 19:57:37 +02:00
|
|
|
#endif
|
|
|
|
#ifdef MODULE_LSM303DLHC
|
|
|
|
extern void auto_init_lsm303dlhc(void);
|
|
|
|
auto_init_lsm303dlhc();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_LSM6DSL
|
|
|
|
extern void auto_init_lsm6dsl(void);
|
|
|
|
auto_init_lsm6dsl();
|
2017-11-07 15:03:18 +01:00
|
|
|
#endif
|
2018-08-23 11:32:53 +02:00
|
|
|
#ifdef MODULE_LTC4150
|
|
|
|
extern void auto_init_ltc4150(void);
|
|
|
|
auto_init_ltc4150();
|
|
|
|
#endif
|
2017-04-11 15:07:43 +02:00
|
|
|
#ifdef MODULE_MAG3110
|
|
|
|
extern void auto_init_mag3110(void);
|
|
|
|
auto_init_mag3110();
|
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_MMA7660
|
|
|
|
extern void auto_init_mma7660(void);
|
|
|
|
auto_init_mma7660();
|
|
|
|
#endif
|
2016-11-22 10:56:55 +01:00
|
|
|
#ifdef MODULE_MMA8X5X
|
|
|
|
extern void auto_init_mma8x5x(void);
|
|
|
|
auto_init_mma8x5x();
|
2016-02-10 22:35:35 +01:00
|
|
|
#endif
|
2017-05-31 22:18:15 +02:00
|
|
|
#ifdef MODULE_MPL3115A2
|
|
|
|
extern void auto_init_mpl3115a2(void);
|
|
|
|
auto_init_mpl3115a2();
|
|
|
|
#endif
|
2019-08-23 13:06:13 +02:00
|
|
|
#ifdef MODULE_MPU9X50
|
|
|
|
extern void auto_init_mpu9x50(void);
|
|
|
|
auto_init_mpu9x50();
|
2017-06-12 22:36:02 +02:00
|
|
|
#endif
|
2019-08-28 13:21:39 +02:00
|
|
|
#ifdef MODULE_OPT3001
|
|
|
|
extern void auto_init_opt3001(void);
|
|
|
|
auto_init_opt3001();
|
|
|
|
#endif
|
2018-12-06 09:47:24 +01:00
|
|
|
#ifdef MODULE_PCA9685
|
|
|
|
extern void auto_init_pca9685(void);
|
|
|
|
auto_init_pca9685();
|
|
|
|
#endif
|
2019-02-10 23:32:19 +01:00
|
|
|
#ifdef MODULE_PH_OEM
|
|
|
|
extern void auto_init_ph_oem(void);
|
|
|
|
auto_init_ph_oem();
|
|
|
|
#endif
|
2018-06-26 22:46:37 +02:00
|
|
|
#ifdef MODULE_PIR
|
|
|
|
extern void auto_init_pir(void);
|
|
|
|
auto_init_pir();
|
|
|
|
#endif
|
2018-01-17 15:29:05 +01:00
|
|
|
#ifdef MODULE_PULSE_COUNTER
|
|
|
|
extern void auto_init_pulse_counter(void);
|
|
|
|
auto_init_pulse_counter();
|
|
|
|
#endif
|
2019-10-15 11:47:07 +02:00
|
|
|
#ifdef MODULE_QMC5883L
|
|
|
|
extern void auto_init_qmc5883l(void);
|
|
|
|
auto_init_qmc5883l();
|
|
|
|
#endif
|
2017-08-20 13:51:53 +02:00
|
|
|
#ifdef MODULE_SHT2X
|
|
|
|
extern void auto_init_sht2x(void);
|
|
|
|
auto_init_sht2x();
|
|
|
|
#endif
|
2018-12-10 12:45:27 +01:00
|
|
|
#ifdef MODULE_SHT3X
|
|
|
|
extern void auto_init_sht3x(void);
|
|
|
|
auto_init_sht3x();
|
|
|
|
#endif
|
2017-10-26 10:21:12 +02:00
|
|
|
#ifdef MODULE_SHTC1
|
|
|
|
extern void auto_init_shtc1(void);
|
|
|
|
auto_init_shtc1();
|
|
|
|
#endif
|
2018-11-22 19:17:22 +01:00
|
|
|
#ifdef MODULE_SDS011
|
|
|
|
extern void auto_init_sds011(void);
|
|
|
|
auto_init_sds011();
|
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_SI114X
|
|
|
|
extern void auto_init_si114x(void);
|
|
|
|
auto_init_si114x();
|
2018-04-18 23:44:50 +02:00
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_SI70XX
|
|
|
|
extern void auto_init_si70xx(void);
|
|
|
|
auto_init_si70xx();
|
2017-11-21 09:41:25 +01:00
|
|
|
#endif
|
2020-02-03 17:24:52 +01:00
|
|
|
#ifdef MODULE_SPS30
|
|
|
|
extern void auto_init_sps30(void);
|
|
|
|
auto_init_sps30();
|
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_TCS37727
|
|
|
|
extern void auto_init_tcs37727(void);
|
|
|
|
auto_init_tcs37727();
|
2017-01-30 16:47:26 +01:00
|
|
|
#endif
|
2017-06-09 23:03:54 +02:00
|
|
|
#ifdef MODULE_TMP006
|
2019-08-16 14:18:12 +02:00
|
|
|
extern void auto_init_tmp00x(void);
|
|
|
|
auto_init_tmp00x();
|
2017-06-09 23:03:54 +02:00
|
|
|
#endif
|
2018-10-05 19:57:37 +02:00
|
|
|
#ifdef MODULE_TSL2561
|
|
|
|
extern void auto_init_tsl2561(void);
|
|
|
|
auto_init_tsl2561();
|
2017-02-16 12:38:29 +01:00
|
|
|
#endif
|
2018-10-11 12:00:50 +02:00
|
|
|
#ifdef MODULE_TSL4531X
|
|
|
|
extern void auto_init_tsl4531x(void);
|
|
|
|
auto_init_tsl4531x();
|
|
|
|
#endif
|
2017-03-07 11:32:14 +01:00
|
|
|
#ifdef MODULE_VCNL40X0
|
|
|
|
extern void auto_init_vcnl40x0(void);
|
|
|
|
auto_init_vcnl40x0();
|
|
|
|
#endif
|
2017-02-27 21:58:52 +01:00
|
|
|
#ifdef MODULE_VEML6070
|
|
|
|
extern void auto_init_veml6070(void);
|
|
|
|
auto_init_veml6070();
|
|
|
|
#endif
|
2015-11-18 16:13:33 +01:00
|
|
|
|
2020-03-03 17:15:13 +01:00
|
|
|
}
|
|
|
|
#endif /* MODULE_AUTO_INIT_SAUL*/
|
|
|
|
|
|
|
|
void auto_init(void)
|
|
|
|
{
|
|
|
|
#ifdef MODULE_AUTO_INIT_RANDOM
|
|
|
|
LOG_DEBUG("Auto init random.\n");
|
|
|
|
extern void auto_init_random(void);
|
|
|
|
auto_init_random();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_XTIMER
|
|
|
|
LOG_DEBUG("Auto init xtimer.\n");
|
|
|
|
extern void xtimer_init(void);
|
|
|
|
xtimer_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_SCHEDSTATISTICS
|
|
|
|
LOG_DEBUG("Auto init schedstatistics.\n");
|
|
|
|
extern void init_schedstatistics(void);
|
|
|
|
init_schedstatistics();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_EVENT_THREAD
|
|
|
|
LOG_DEBUG("Auto init event threads.\n");
|
|
|
|
extern void auto_init_event_thread(void);
|
|
|
|
auto_init_event_thread();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_MCI
|
|
|
|
LOG_DEBUG("Auto init mci.\n");
|
|
|
|
extern void mci_initialize(void);
|
|
|
|
mci_initialize();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_PROFILING
|
|
|
|
LOG_DEBUG("Auto init profiling.\n");
|
|
|
|
extern void profiling_init(void);
|
|
|
|
profiling_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_PKTBUF
|
|
|
|
LOG_DEBUG("Auto init gnrc_pktbuf.\n");
|
|
|
|
extern void gnrc_pktbuf_init(void);
|
|
|
|
gnrc_pktbuf_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_PKTDUMP
|
|
|
|
LOG_DEBUG("Auto init gnrc_pktdump.\n");
|
|
|
|
extern void gnrc_pktdump_init(void);
|
|
|
|
gnrc_pktdump_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_SIXLOWPAN
|
|
|
|
LOG_DEBUG("Auto init gnrc_sixlowpan.\n");
|
|
|
|
extern void gnrc_sixlowpan_init(void);
|
|
|
|
gnrc_sixlowpan_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_IPV6
|
|
|
|
LOG_DEBUG("Auto init gnrc_ipv6.\n");
|
|
|
|
extern void gnrc_ipv6_init(void);
|
|
|
|
gnrc_ipv6_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_UDP
|
|
|
|
LOG_DEBUG("Auto init gnrc_udp.\n");
|
|
|
|
extern void gnrc_udp_init(void);
|
|
|
|
gnrc_udp_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_TCP
|
|
|
|
LOG_DEBUG("Auto init gnrc_tcp.\n");
|
|
|
|
extern void gnrc_tcp_init(void);
|
|
|
|
gnrc_tcp_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_LWIP
|
|
|
|
LOG_DEBUG("Bootstraping lwIP.\n");
|
|
|
|
extern void lwip_bootstrap(void);
|
|
|
|
lwip_bootstrap();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_OPENTHREAD
|
|
|
|
LOG_DEBUG("Bootstrapping openthread.\n");
|
|
|
|
extern void openthread_bootstrap(void);
|
|
|
|
openthread_bootstrap();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_GCOAP
|
|
|
|
if (!IS_ACTIVE(CONFIG_GCOAP_NO_AUTO_INIT)) {
|
|
|
|
LOG_DEBUG("Auto init gcoap.\n");
|
|
|
|
extern void gcoap_init(void);
|
|
|
|
gcoap_init();
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_DEVFS
|
|
|
|
LOG_DEBUG("Mounting /dev.\n");
|
|
|
|
extern void auto_init_devfs(void);
|
|
|
|
auto_init_devfs();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_IPV6_NIB
|
|
|
|
LOG_DEBUG("Auto init gnrc_ipv6_nib.\n");
|
|
|
|
extern void gnrc_ipv6_nib_init(void);
|
|
|
|
gnrc_ipv6_nib_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_SKALD
|
|
|
|
LOG_DEBUG("Auto init Skald.\n");
|
|
|
|
extern void skald_init(void);
|
|
|
|
skald_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_CORD_COMMON
|
|
|
|
LOG_DEBUG("Auto init cord_common.\n");
|
|
|
|
extern void cord_common_init(void);
|
|
|
|
cord_common_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_CORD_EP_STANDALONE
|
|
|
|
LOG_DEBUG("Auto init cord_ep_standalone.\n");
|
|
|
|
extern void cord_ep_standalone_run(void);
|
|
|
|
cord_ep_standalone_run();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_ASYMCUTE
|
|
|
|
LOG_DEBUG("Auto init Asymcute.\n");
|
|
|
|
extern void asymcute_handler_run(void);
|
|
|
|
asymcute_handler_run();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_NIMBLE
|
|
|
|
LOG_DEBUG("Auto init NimBLE.\n");
|
|
|
|
extern void nimble_riot_init(void);
|
|
|
|
nimble_riot_init();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_AUTO_INIT_LORAMAC
|
|
|
|
LOG_DEBUG("Auto init loramac.\n");
|
|
|
|
extern void auto_init_loramac(void);
|
|
|
|
auto_init_loramac();
|
|
|
|
#endif
|
|
|
|
#ifdef MODULE_SOCK_DTLS
|
|
|
|
LOG_DEBUG("Auto init sock_dtls.\n");
|
|
|
|
extern void sock_dtls_init(void);
|
|
|
|
sock_dtls_init();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* initialize USB devices */
|
|
|
|
#ifdef MODULE_AUTO_INIT_USBUS
|
|
|
|
LOG_DEBUG("Auto init USB.\n");
|
|
|
|
extern void auto_init_usb(void);
|
|
|
|
auto_init_usb();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_NETIF
|
|
|
|
LOG_DEBUG("Auto init gnrc_netif.\n");
|
|
|
|
_auto_init_gnrc_netif();
|
|
|
|
#endif /* MODULE_AUTO_INIT_GNRC_NETIF */
|
|
|
|
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_UHCPC
|
|
|
|
LOG_DEBUG("Auto init gnrc_uhcpc.\n");
|
|
|
|
extern void auto_init_gnrc_uhcpc(void);
|
|
|
|
auto_init_gnrc_uhcpc();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* initialize NDN module after the network devices are initialized */
|
|
|
|
#ifdef MODULE_NDN_RIOT
|
|
|
|
LOG_DEBUG("Auto init NDN.\n");
|
|
|
|
extern void ndn_init(void);
|
|
|
|
ndn_init();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
/* initialize sensors and actuators */
|
|
|
|
#ifdef MODULE_SHT1X
|
|
|
|
/* The sht1x module needs to be initialized regardless of SAUL being used,
|
|
|
|
* as the shell commands rely on auto-initialization. auto_init_sht1x also
|
|
|
|
* performs SAUL registration, but only if module auto_init_saul is used.
|
|
|
|
*/
|
|
|
|
LOG_DEBUG("Auto init sht1x.\n");
|
|
|
|
extern void auto_init_sht1x(void);
|
|
|
|
auto_init_sht1x();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#ifdef MODULE_AUTO_INIT_SAUL
|
|
|
|
LOG_DEBUG("Auto init SAUL.\n");
|
|
|
|
_auto_init_saul();
|
2015-11-18 16:13:33 +01:00
|
|
|
#endif /* MODULE_AUTO_INIT_SAUL */
|
2016-05-14 12:46:14 +02:00
|
|
|
|
|
|
|
#ifdef MODULE_AUTO_INIT_GNRC_RPL
|
2020-02-13 11:39:16 +01:00
|
|
|
LOG_DEBUG("Auto init gnrc_rpl.\n");
|
2016-05-14 12:46:14 +02:00
|
|
|
extern void auto_init_gnrc_rpl(void);
|
|
|
|
auto_init_gnrc_rpl();
|
|
|
|
#endif /* MODULE_AUTO_INIT_GNRC_RPL */
|
2016-10-31 14:37:28 +01:00
|
|
|
|
|
|
|
/* initialize storage devices */
|
|
|
|
#ifdef MODULE_AUTO_INIT_STORAGE
|
2020-02-13 11:45:36 +01:00
|
|
|
LOG_DEBUG("Auto init STORAGE.\n");
|
2016-10-31 14:37:28 +01:00
|
|
|
|
|
|
|
#ifdef MODULE_SDCARD_SPI
|
|
|
|
extern void auto_init_sdcard_spi(void);
|
|
|
|
auto_init_sdcard_spi();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#endif /* MODULE_AUTO_INIT_STORAGE */
|
2016-11-23 19:05:35 +01:00
|
|
|
|
|
|
|
#ifdef MODULE_AUTO_INIT_CAN
|
2020-02-13 11:45:36 +01:00
|
|
|
LOG_DEBUG("Auto init CAN.\n");
|
2016-11-23 19:05:35 +01:00
|
|
|
|
|
|
|
extern void auto_init_candev(void);
|
|
|
|
auto_init_candev();
|
|
|
|
|
|
|
|
#endif /* MODULE_AUTO_INIT_CAN */
|
2019-07-05 11:57:55 +02:00
|
|
|
|
|
|
|
#ifdef MODULE_SUIT
|
2020-02-13 11:39:16 +01:00
|
|
|
LOG_DEBUG("Auto init SUIT conditions.\n");
|
2019-07-05 11:57:55 +02:00
|
|
|
extern void suit_init_conditions(void);
|
|
|
|
suit_init_conditions();
|
|
|
|
#endif /* MODULE_SUIT */
|
2019-10-10 00:48:08 +02:00
|
|
|
|
2020-01-28 18:34:32 +01:00
|
|
|
#ifdef MODULE_AUTO_INIT_SECURITY
|
|
|
|
|
|
|
|
#ifdef MODULE_CRYPTOAUTHLIB
|
2020-02-13 11:39:16 +01:00
|
|
|
LOG_DEBUG("Auto init cryptoauthlib.\n");
|
2020-01-28 18:34:32 +01:00
|
|
|
extern void auto_init_atca(void);
|
|
|
|
auto_init_atca();
|
|
|
|
#endif /* MODULE_CRYPTOAUTHLIB */
|
|
|
|
|
|
|
|
#endif /* MODULE_AUTO_INIT_SECURITY */
|
|
|
|
|
2019-10-10 00:48:08 +02:00
|
|
|
#ifdef MODULE_TEST_UTILS_INTERACTIVE_SYNC
|
2019-11-27 23:19:48 +01:00
|
|
|
#if !defined(MODULE_SHELL_COMMANDS) || !defined(MODULE_SHELL)
|
2020-03-03 16:21:38 +01:00
|
|
|
extern void test_utils_interactive_sync(void);
|
2019-10-10 00:48:08 +02:00
|
|
|
test_utils_interactive_sync();
|
|
|
|
#endif
|
|
|
|
#endif /* MODULE_TEST_UTILS_INTERACTIVE_SYNC */
|
2018-03-17 14:43:08 +01:00
|
|
|
|
|
|
|
#ifdef MODULE_AUTO_INIT_DHCPV6_CLIENT
|
2020-02-13 11:45:36 +01:00
|
|
|
LOG_DEBUG("Auto init DHCPv6 client.\n");
|
2018-03-17 14:43:08 +01:00
|
|
|
extern void dhcpv6_client_auto_init(void);
|
|
|
|
dhcpv6_client_auto_init();
|
|
|
|
#endif /* MODULE_AUTO_INIT_DHCPV6_CLIENT */
|
2020-02-06 15:09:58 +01:00
|
|
|
|
|
|
|
#ifdef MODULE_GNRC_DHCPV6_CLIENT_6LBR
|
2020-03-03 16:25:07 +01:00
|
|
|
LOG_DEBUG("Auto init 6LoWPAN border router DHCPv6 client\n");
|
2020-02-06 15:09:58 +01:00
|
|
|
extern void gnrc_dhcpv6_client_6lbr_init(void);
|
|
|
|
gnrc_dhcpv6_client_6lbr_init();
|
|
|
|
#endif /* MODULE_GNRC_DHCPV6_CLIENT_6LBR */
|
2010-09-22 15:10:42 +02:00
|
|
|
}
|