2020-06-26 21:57:05 +02:00
|
|
|
# driver pseudo-modules dependencies (in alphabetical order)
|
2019-02-15 13:31:18 +01:00
|
|
|
|
2017-12-05 12:50:52 +01:00
|
|
|
ifneq (,$(filter adc%1c,$(USEMODULE)))
|
|
|
|
USEMODULE += adcxx1c
|
|
|
|
endif
|
|
|
|
|
2018-04-04 23:04:56 +02:00
|
|
|
ifneq (,$(filter ads101%,$(USEMODULE)))
|
|
|
|
USEMODULE += ads101x
|
2018-11-17 11:47:21 +01:00
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter apds99%,$(USEMODULE)))
|
|
|
|
USEMODULE += apds99xx
|
|
|
|
endif
|
|
|
|
|
2020-01-14 14:37:28 +01:00
|
|
|
ifneq (,$(filter at24c%,$(USEMODULE)))
|
|
|
|
USEMODULE += at24cxxx
|
2019-11-19 17:14:57 +01:00
|
|
|
endif
|
|
|
|
|
2019-12-13 17:47:03 +01:00
|
|
|
ifneq (,$(filter at86rf215%,$(USEMODULE)))
|
|
|
|
USEMODULE += at86rf215
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter at86rf%, $(filter-out at86rf215%, $(USEMODULE))))
|
2015-10-21 15:11:05 +02:00
|
|
|
USEMODULE += at86rf2xx
|
2020-02-10 13:38:09 +01:00
|
|
|
endif
|
|
|
|
|
2020-03-10 15:30:53 +01:00
|
|
|
ifneq (,$(filter bme680_%,$(USEMODULE)))
|
|
|
|
USEMODULE += bme680
|
2018-02-19 14:27:39 +01:00
|
|
|
endif
|
|
|
|
|
2018-01-10 15:03:29 +01:00
|
|
|
ifneq (,$(filter bm%280_i2c,$(USEMODULE)))
|
2017-09-06 13:59:07 +02:00
|
|
|
USEMODULE += bmx280
|
2016-10-14 08:32:41 +02:00
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
ifneq (,$(filter bm%280_spi,$(USEMODULE)))
|
|
|
|
USEMODULE += bmx280
|
2018-01-10 15:03:29 +01:00
|
|
|
endif
|
|
|
|
|
2020-11-25 11:32:36 +01:00
|
|
|
ifneq (,$(filter bq2429x_int,$(USEMODULE)))
|
|
|
|
USEMODULE += bq2429x
|
|
|
|
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
|
|
|
ifneq (,$(filter cc110%,$(USEMODULE)))
|
|
|
|
USEMODULE += cc110x
|
2016-04-14 13:48:00 +02:00
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
ifneq (,$(filter ccs811_%,$(USEMODULE)))
|
2018-09-28 23:48:47 +02:00
|
|
|
USEMODULE += ccs811
|
|
|
|
endif
|
|
|
|
|
2021-11-24 12:34:18 +01:00
|
|
|
ifneq (,$(filter ethos_%,$(USEMODULE)))
|
|
|
|
USEMODULE += ethos
|
|
|
|
endif
|
|
|
|
|
2021-12-27 11:24:39 +01:00
|
|
|
ifneq (,$(filter ft6% ft5% ft3%,$(USEMODULE)))
|
|
|
|
USEMODULE += ft5x06
|
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
ifneq (,$(filter hmc5883l_%,$(USEMODULE)))
|
|
|
|
USEMODULE += hmc5883l
|
2018-09-17 10:26:31 +02:00
|
|
|
endif
|
|
|
|
|
2021-12-16 15:19:44 +01:00
|
|
|
ifneq (,$(filter hm330%,$(USEMODULE)))
|
|
|
|
USEMODULE += hm330x
|
|
|
|
endif
|
|
|
|
|
2019-04-01 16:50:28 +02:00
|
|
|
ifneq (,$(filter ina2%,$(USEMODULE)))
|
|
|
|
USEMODULE += ina2xx
|
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
ifneq (,$(filter ina3221_%,$(USEMODULE)))
|
2019-11-05 12:29:42 +01:00
|
|
|
USEMODULE += ina3221
|
2018-08-26 07:39:12 +02:00
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
ifneq (,$(filter itg320x_%,$(USEMODULE)))
|
2018-10-09 16:55:15 +02:00
|
|
|
USEMODULE += itg320x
|
2020-02-25 15:37:34 +01:00
|
|
|
endif
|
|
|
|
|
2021-11-07 23:36:25 +01:00
|
|
|
ifneq (,$(filter l3gxxxx_%,$(USEMODULE)))
|
|
|
|
USEMODULE += l3gxxxx
|
|
|
|
endif
|
|
|
|
|
2018-01-12 23:24:43 +01:00
|
|
|
ifneq (,$(filter lis2dh12%,$(USEMODULE)))
|
2020-02-25 15:37:34 +01:00
|
|
|
USEMODULE += lis2dh12
|
2016-08-04 22:05:17 +02:00
|
|
|
endif
|
|
|
|
|
2021-03-11 17:28:33 +01:00
|
|
|
ifneq (,$(filter llcc68,$(USEMODULE)))
|
|
|
|
USEMODULE += sx126x
|
|
|
|
endif
|
2021-07-23 16:38:38 +02:00
|
|
|
|
|
|
|
ifneq (,$(filter tmp1075 lm75%,$(USEMODULE)))
|
|
|
|
USEMODULE += lm75
|
|
|
|
endif
|
2021-03-11 17:28:33 +01:00
|
|
|
|
2022-02-23 18:19:46 +01:00
|
|
|
ifneq (,$(filter lps331ap lps2%,$(USEMODULE)))
|
2018-12-30 12:19:56 +01:00
|
|
|
USEMODULE += lpsxxx
|
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
ifneq (,$(filter ltc4150_%,$(USEMODULE)))
|
2018-12-30 00:24:34 +01:00
|
|
|
USEMODULE += ltc4150
|
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
ifneq (,$(filter mhz19_%,$(USEMODULE)))
|
2018-02-27 10:56:44 +01:00
|
|
|
USEMODULE += mhz19
|
|
|
|
endif
|
|
|
|
|
2019-08-23 13:06:13 +02:00
|
|
|
ifneq (,$(filter mpu9%50,$(USEMODULE)))
|
|
|
|
USEMODULE += mpu9x50
|
2015-10-21 15:11:05 +02:00
|
|
|
endif
|
|
|
|
|
2019-09-28 19:30:52 +02:00
|
|
|
ifneq (,$(filter mrf24j40m%,$(USEMODULE)))
|
|
|
|
USEMODULE += mrf24j40
|
2017-12-05 12:50:52 +01:00
|
|
|
endif
|
|
|
|
|
2018-03-13 14:11:12 +01:00
|
|
|
ifneq (,$(filter mtd_%,$(USEMODULE)))
|
2017-09-06 13:59:07 +02:00
|
|
|
USEMODULE += mtd
|
2016-12-15 11:58:01 +01:00
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
# nrfmin is a concrete module but comes from cpu/nrf5x_common. Due to limitations
|
|
|
|
# in the dependency resolution mechanism it's not possible to move its
|
|
|
|
# dependency resolution at cpu level.
|
2016-11-11 11:11:41 +01:00
|
|
|
ifneq (,$(filter nrfmin,$(USEMODULE)))
|
2017-09-06 13:59:07 +02:00
|
|
|
FEATURES_REQUIRED += radio_nrfmin
|
|
|
|
FEATURES_REQUIRED += periph_cpuid
|
2016-11-11 11:11:41 +01:00
|
|
|
endif
|
|
|
|
|
2020-04-01 00:04:23 +02:00
|
|
|
ifneq (,$(filter nrf24l01p_ng_%,$(USEMODULE)))
|
|
|
|
USEMODULE += nrf24l01p_ng
|
|
|
|
endif
|
|
|
|
|
2021-12-04 14:10:18 +01:00
|
|
|
ifneq (,$(filter pcf857%,$(USEMODULE)))
|
|
|
|
USEMODULE += pcf857x
|
|
|
|
endif
|
|
|
|
|
2020-07-15 17:18:07 +02:00
|
|
|
ifneq (,$(filter periph_ptp_timer periph_ptp_speed_adjustment,$(FEATURES_USED)))
|
|
|
|
FEATURES_REQUIRED += periph_ptp
|
|
|
|
endif
|
|
|
|
|
2022-09-14 09:03:56 +02:00
|
|
|
ifneq (,$(filter periph_usbdev,$(USEMODULE)))
|
|
|
|
USEMODULE += periph_usbdev_clk
|
|
|
|
endif
|
|
|
|
|
2022-10-02 13:43:32 +02:00
|
|
|
ifneq (,$(filter periph_usbdev_hs_ulpi,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_usbdev_hs_ulpi
|
2023-03-07 11:25:08 +01:00
|
|
|
USEMODULE += periph_usbdev_hs
|
2022-10-02 13:43:32 +02:00
|
|
|
endif
|
|
|
|
|
2022-10-09 17:03:20 +02:00
|
|
|
ifneq (,$(filter periph_usbdev_hs_utmi,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_usbdev_hs_utmi
|
2023-03-07 11:25:08 +01:00
|
|
|
USEMODULE += periph_usbdev_hs
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter periph_usbdev_hs,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_usbdev_hs
|
2022-10-09 17:03:20 +02:00
|
|
|
endif
|
|
|
|
|
2021-01-04 16:55:16 +01:00
|
|
|
ifneq (,$(filter pn532_i2c,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_i2c
|
|
|
|
USEMODULE += pn532
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter pn532_spi,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_spi
|
|
|
|
USEMODULE += pn532
|
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
ifneq (,$(filter qmc5883l_%,$(USEMODULE)))
|
2019-10-14 23:40:16 +02:00
|
|
|
USEMODULE += qmc5883l
|
|
|
|
endif
|
|
|
|
|
2017-09-11 14:55:42 +02:00
|
|
|
ifneq (,$(filter rn2%3,$(USEMODULE)))
|
|
|
|
USEMODULE += rn2xx3
|
2018-06-07 11:11:39 +02:00
|
|
|
endif
|
|
|
|
|
2020-07-27 13:12:50 +02:00
|
|
|
ifneq (,$(filter sdp3x_%,$(USEMODULE)))
|
|
|
|
USEMODULE += sdp3x
|
|
|
|
endif
|
|
|
|
|
2023-04-26 15:15:53 +02:00
|
|
|
ifneq (,$(filter servo_%,$(USEMODULE)))
|
|
|
|
USEMODULE += servo
|
|
|
|
endif
|
|
|
|
|
2023-06-25 21:05:50 +02:00
|
|
|
ifneq (,$(filter shield_w5100,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += arduino_pins
|
|
|
|
FEATURES_REQUIRED += arduino_shield_isp
|
|
|
|
FEATURES_REQUIRED += arduino_shield_uno
|
|
|
|
FEATURES_REQUIRED += arduino_spi
|
|
|
|
USEMODULE += w5100
|
|
|
|
endif
|
|
|
|
|
2018-06-13 08:26:30 +02:00
|
|
|
ifneq (,$(filter sht1%,$(USEMODULE)))
|
|
|
|
USEMODULE += sht1x
|
2017-10-26 10:21:12 +02:00
|
|
|
endif
|
|
|
|
|
2022-02-25 17:17:11 +01:00
|
|
|
ifneq (,$(filter shtc%,$(USEMODULE)))
|
|
|
|
USEMODULE += shtcx
|
|
|
|
endif
|
|
|
|
|
2017-03-23 14:11:44 +01:00
|
|
|
ifneq (,$(filter si114%,$(USEMODULE)))
|
|
|
|
USEMODULE += si114x
|
|
|
|
endif
|
|
|
|
|
2017-07-03 00:00:47 +02:00
|
|
|
ifneq (,$(filter si70%,$(USEMODULE)))
|
|
|
|
USEMODULE += si70xx
|
2016-07-18 23:05:17 +02:00
|
|
|
endif
|
|
|
|
|
2020-06-26 21:57:05 +02:00
|
|
|
ifneq (,$(filter slipdev_%,$(USEMODULE)))
|
2018-11-25 18:21:36 +01:00
|
|
|
USEMODULE += slipdev
|
2018-12-15 02:23:37 +01:00
|
|
|
endif
|
|
|
|
|
2021-10-23 12:09:27 +02:00
|
|
|
ifneq (,$(filter stmpe811_%,$(USEMODULE)))
|
|
|
|
USEMODULE += stmpe811
|
|
|
|
endif
|
|
|
|
|
2023-07-14 00:14:24 +02:00
|
|
|
ifneq (,$(filter st77%,$(USEMODULE)))
|
|
|
|
USEMODULE += st77xx
|
2023-07-07 08:16:35 +02:00
|
|
|
endif
|
|
|
|
|
2021-03-11 17:28:33 +01:00
|
|
|
ifneq (,$(filter sx126%,$(USEMODULE)))
|
|
|
|
USEMODULE += sx126x
|
|
|
|
endif
|
|
|
|
|
2017-06-30 19:00:27 +02:00
|
|
|
ifneq (,$(filter sx127%,$(USEMODULE)))
|
|
|
|
USEMODULE += sx127x
|
2018-09-18 20:40:33 +02:00
|
|
|
endif
|
|
|
|
|
2019-08-16 14:18:12 +02:00
|
|
|
ifneq (,$(filter tmp00%,$(USEMODULE)))
|
|
|
|
USEMODULE += tmp00x
|
2017-12-05 12:50:52 +01:00
|
|
|
endif
|
|
|
|
|
2022-09-24 23:30:47 +02:00
|
|
|
ifneq (,$(filter usbdev_synopsys_dwc2,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_usbdev
|
2022-10-17 20:01:54 +02:00
|
|
|
USEMODULE += ztimer_msec
|
2022-09-24 23:30:47 +02:00
|
|
|
endif
|
|
|
|
|
2017-03-07 11:31:39 +01:00
|
|
|
ifneq (,$(filter vcnl40%0,$(USEMODULE)))
|
|
|
|
USEMODULE += vcnl40x0
|
2016-08-05 14:44:09 +02:00
|
|
|
endif
|
|
|
|
|
2021-11-28 12:16:22 +01:00
|
|
|
ifneq (,$(filter vl6180x_%,$(USEMODULE)))
|
|
|
|
USEMODULE += vl6180x
|
|
|
|
endif
|
|
|
|
|
2019-11-12 20:16:25 +01:00
|
|
|
ifneq (,$(filter ws281x_%,$(USEMODULE)))
|
|
|
|
USEMODULE += ws281x
|
|
|
|
endif
|
2020-03-05 18:32:17 +01:00
|
|
|
|
2020-09-25 17:33:03 +02:00
|
|
|
ifneq (,$(filter saul_adc,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_adc
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter saul_gpio,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_gpio
|
|
|
|
endif
|
|
|
|
|
2020-10-13 19:25:31 +02:00
|
|
|
ifneq (,$(filter saul_pwm,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_pwm
|
|
|
|
endif
|
|
|
|
|
2020-09-25 17:33:03 +02:00
|
|
|
ifneq (,$(filter saul,$(USEMODULE)))
|
|
|
|
USEMODULE += phydat
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter saul_nrf_temperature,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_temperature
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Enable periph_uart when periph_uart_nonblocking is enabled
|
|
|
|
ifneq (,$(filter periph_uart_nonblocking,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_uart
|
|
|
|
endif
|
|
|
|
|
|
|
|
# Enable periph_gpio when periph_gpio_irq is enabled
|
|
|
|
ifneq (,$(filter periph_gpio_irq,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_gpio
|
|
|
|
endif
|
|
|
|
|
|
|
|
ifneq (,$(filter periph_timer_periodic,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_timer
|
|
|
|
endif
|
|
|
|
|
2022-06-24 14:04:28 +02:00
|
|
|
ifneq (,$(filter periph_wdt_auto_start,$(USEMODULE)))
|
|
|
|
FEATURES_REQUIRED += periph_wdt
|
|
|
|
endif
|
|
|
|
|
2022-08-09 14:58:36 +02:00
|
|
|
ifneq (,$(filter-out netdev_default netdev_new_api netdev_legacy_api, $(filter netdev_%,$(USEMODULE))))
|
2020-03-05 18:32:17 +01:00
|
|
|
USEMODULE += netdev
|
2020-09-30 16:16:46 +02:00
|
|
|
# Don't register netdevs if there is only a single one of them
|
|
|
|
ifeq (,$(filter gnrc_netif_single,$(USEMODULE)))
|
|
|
|
USEMODULE += netdev_register
|
|
|
|
endif
|
2020-03-05 18:32:17 +01:00
|
|
|
endif
|
2022-04-22 14:24:42 +02:00
|
|
|
|
|
|
|
ifneq (,$(filter gnrc_netif_timestamp,$(USEMODULE)))
|
|
|
|
ifneq (,$(filter netdev_ieee802154,$(USEMODULE)))
|
|
|
|
USEMODULE += netdev_ieee802154_rx_timestamp
|
|
|
|
endif
|
|
|
|
endif
|