1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/Makefile.dep

139 lines
2.6 KiB
Makefile
Raw Normal View History

# driver pseudo-modules dependencies (in alphabetical order)
ifneq (,$(filter adc%1c,$(USEMODULE)))
USEMODULE += adcxx1c
endif
2018-04-04 23:04:56 +02:00
ifneq (,$(filter ads101%,$(USEMODULE)))
USEMODULE += ads101x
endif
ifneq (,$(filter apds99%,$(USEMODULE)))
USEMODULE += apds99xx
endif
ifneq (,$(filter at24c%,$(USEMODULE)))
USEMODULE += at24cxxx
endif
ifneq (,$(filter at86rf215%,$(USEMODULE)))
USEMODULE += at86rf215
endif
ifneq (,$(filter at86rf%, $(filter-out at86rf215%, $(USEMODULE))))
USEMODULE += at86rf2xx
2020-02-10 13:38:09 +01:00
endif
ifneq (,$(filter bme680_%,$(USEMODULE)))
USEMODULE += bme680
2018-02-19 14:27:39 +01:00
endif
ifneq (,$(filter bm%280_i2c,$(USEMODULE)))
USEMODULE += bmx280
2016-10-14 08:32:41 +02:00
endif
ifneq (,$(filter bm%280_spi,$(USEMODULE)))
USEMODULE += bmx280
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
endif
ifneq (,$(filter ccs811_%,$(USEMODULE)))
USEMODULE += ccs811
endif
ifneq (,$(filter hmc5883l_%,$(USEMODULE)))
USEMODULE += hmc5883l
endif
ifneq (,$(filter ina2%,$(USEMODULE)))
USEMODULE += ina2xx
endif
ifneq (,$(filter ina3221_%,$(USEMODULE)))
USEMODULE += ina3221
endif
ifneq (,$(filter itg320x_%,$(USEMODULE)))
USEMODULE += itg320x
endif
ifneq (,$(filter lis2dh12%,$(USEMODULE)))
USEMODULE += lis2dh12
endif
ifneq (,$(filter lps331ap lps2%hb,$(USEMODULE)))
USEMODULE += lpsxxx
endif
ifneq (,$(filter ltc4150_%,$(USEMODULE)))
USEMODULE += ltc4150
endif
ifneq (,$(filter mhz19_%,$(USEMODULE)))
2018-02-27 10:56:44 +01:00
USEMODULE += mhz19
endif
ifneq (,$(filter mpu9%50,$(USEMODULE)))
USEMODULE += mpu9x50
endif
ifneq (,$(filter mrf24j40m%,$(USEMODULE)))
USEMODULE += mrf24j40
endif
ifneq (,$(filter mtd_%,$(USEMODULE)))
USEMODULE += mtd
endif
# 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.
ifneq (,$(filter nrfmin,$(USEMODULE)))
FEATURES_REQUIRED += radio_nrfmin
FEATURES_REQUIRED += periph_cpuid
USEMODULE += netif
endif
ifneq (,$(filter qmc5883l_%,$(USEMODULE)))
USEMODULE += qmc5883l
endif
2017-09-11 14:55:42 +02:00
ifneq (,$(filter rn2%3,$(USEMODULE)))
USEMODULE += rn2xx3
endif
ifneq (,$(filter sht1%,$(USEMODULE)))
USEMODULE += sht1x
endif
2017-03-23 14:11:44 +01:00
ifneq (,$(filter si114%,$(USEMODULE)))
USEMODULE += si114x
endif
ifneq (,$(filter si70%,$(USEMODULE)))
USEMODULE += si70xx
2016-07-18 23:05:17 +02:00
endif
ifneq (,$(filter slipdev_%,$(USEMODULE)))
USEMODULE += slipdev
stm32_eth: Multiple Improvements of the original codebase stm32eth: Move to stm32_common periph cpu/stm32_periph_eth: Rebase to current master branch - Update DMA to use new vendor headers - Update send to use iolist. It looks like the packet headers are now transfered as seperate iolist entries which results in the eth periph sending each header as own packet. To fix this a rather ugly workaround is used where the whole iolist content is first copied to a static buffer. This will be fixed soon in another commit - If MAC is set to zero use luid to generate one - Small code style fixes cpu/stm312f7: Add periph config for on-board ethernet boards/nucleo-f767zi: Add config for on board ethernet tests/stm32_eth_lwip: Remove board restriction boards/common/nucleo: Add luid module if stm32 ethernet is used tests/stm32_eth_gnrc: Add Testcase for gnrc using the stm32 eth periph stm32_eth: Rework netdev driver layour tests/stm32_eth_*: Use netdev driver header file for prototypes stm32_eth: Add auto init for stm32 eth netdev driver boards/stm32: Enable ethernet conf for nucleo boards stm32_eth_auto_init: Add dont be pendantic flag stm32_eth: Remove dma specific stuff from periph_cpu.h Looks like this was implemented in PR #9171 and 021697ae94 with the same interface. stm32_eth: Remove eth feature from stm32f4discovery boards stm32_eth: Migrate to stm32 DMA API stm32_eth: Add iolist to module deps stm32_eth: Rework send function to use iolist stm32_eth: Fix ci build warnings stm32_eth: Fix bug introduced with iolist usage stm32_eth: Remove redundant static buffer stm32_eth: Fix feature dependencies stm32_eth: Fix wrong header guard name stm32_eth: Implement correct l2 netstats interface stm32_eth: Rename public functions to stm32_eth_* stm32_eth: Fix doccheck stm32_eth: Move register DEFINE to appropriate header file stm32_eth: remove untested configuration for f446ze boards stm32_eth: Move periph configuration struct to stm32_common stm32_eth: Fix naming of eth_phy_read and eth_phy_write stm32_eth: Remove obsolete test applications
2018-12-15 02:23:37 +01:00
endif
ifneq (,$(filter sx127%,$(USEMODULE)))
USEMODULE += sx127x
endif
ifneq (,$(filter tmp00%,$(USEMODULE)))
USEMODULE += tmp00x
endif
ifneq (,$(filter vcnl40%0,$(USEMODULE)))
USEMODULE += vcnl40x0
endif
ifneq (,$(filter ws281x_%,$(USEMODULE)))
USEMODULE += ws281x
endif