1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/Makefile.include
Marian Buschsieweke 972367432a
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).
2019-08-20 16:32:11 +02:00

308 lines
8.1 KiB
Makefile

ifneq (,$(filter ad7746,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ad7746/include
endif
ifneq (,$(filter adcxx1c,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/adcxx1c/include
endif
ifneq (,$(filter ads101x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ads101x/include
endif
ifneq (,$(filter adxl345,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/adxl345/include
endif
ifneq (,$(filter apa102,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/apa102/include
endif
ifneq (,$(filter at86rf2xx,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/at86rf2xx/include
endif
ifneq (,$(filter ata8520e,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ata8520e/include
endif
ifneq (,$(filter bh1750fvi,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/bh1750fvi/include
endif
ifneq (,$(filter bmp180,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/bmp180/include
endif
ifneq (,$(filter bmx055,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/bmx055/include
endif
ifneq (,$(filter bmx280,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/bmx280/include
endif
ifneq (,$(filter cc110x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/cc110x/include
endif
ifneq (,$(filter cc2420,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/cc2420/include
endif
ifneq (,$(filter ccs811,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ccs811/include
endif
ifneq (,$(filter dht,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/dht/include
endif
ifneq (,$(filter sht1x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/sht1x/include
endif
ifneq (,$(filter ds1307,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ds1307/include
endif
ifneq (,$(filter ds3234,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ds3234/include
endif
ifneq (,$(filter ds75lx,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ds75lx/include
endif
ifneq (,$(filter dsp0401,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/dsp0401/include
endif
ifneq (,$(filter dynamixel,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/dynamixel/include
endif
ifneq (,$(filter enc28j60,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/enc28j60/include
endif
ifneq (,$(filter encx24j600,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/encx24j600/include
endif
ifneq (,$(filter feetech,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/feetech/include
endif
ifneq (,$(filter fxos8700,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/fxos8700/include
endif
ifneq (,$(filter grove_ledbar,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/grove_ledbar/include
endif
ifneq (,$(filter hd44780,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/hd44780/include
endif
ifneq (,$(filter hdc1000,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/hdc1000/include
endif
ifneq (,$(filter hts221,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/hts221/include
endif
ifneq (,$(filter ina220,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ina220/include
endif
ifneq (,$(filter io1_xplained,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/io1_xplained/include
endif
ifneq (,$(filter isl29020,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/isl29020/include
endif
ifneq (,$(filter isl29125,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/isl29125/include
endif
ifneq (,$(filter jc42,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/jc42/include
endif
ifneq (,$(filter kw2xrf,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/kw2xrf/include
endif
ifneq (,$(filter l3g4200d,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/l3g4200d/include
endif
ifneq (,$(filter lc709203f, $(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/lc709203f/include
endif
ifneq (,$(filter lis2dh12,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/lis2dh12/include
endif
ifneq (,$(filter lis3dh,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/lis3dh/include
endif
ifneq (,$(filter lis3mdl,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/lis3mdl/include
endif
ifneq (,$(filter lpd8808,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/lpd8808/include
endif
ifneq (,$(filter lpsxxx,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/lpsxxx/include
endif
ifneq (,$(filter lsm303dlhc,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/lsm303dlhc/include
endif
ifneq (,$(filter lsm6dsl,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/lsm6dsl/include
endif
ifneq (,$(filter ltc4150,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ltc4150/include
endif
ifneq (,$(filter mag3110,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/mag3110/include
endif
ifneq (,$(filter mma7660,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/mma7660/include
endif
ifneq (,$(filter mma8x5x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/mma8x5x/include
endif
ifneq (,$(filter mpl3115a2,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/mpl3115a2/include
endif
ifneq (,$(filter mpu9150,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/mpu9150/include
endif
ifneq (,$(filter mrf24j40,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/mrf24j40/include
endif
ifneq (,$(filter my9221,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/my9221/include
endif
ifneq (,$(filter nrf24l01p,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/nrf24l01p/include
endif
ifneq (,$(filter pcd8544,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/pcd8544/include
endif
ifneq (,$(filter pir,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/pir/include
endif
ifneq (,$(filter pulse_counter,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/pulse_counter/include
endif
ifneq (,$(filter rn2xx3,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/rn2xx3/include
endif
ifneq (,$(filter sdcard_spi,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/sdcard_spi/include
endif
ifneq (,$(filter sht2x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/sht2x/include
endif
ifneq (,$(filter sht3x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/sht3x/include
endif
ifneq (,$(filter si114x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/si114x/include
endif
ifneq (,$(filter ds18,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/ds18/include
endif
ifneq (,$(filter si70xx,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/si70xx/include
endif
ifneq (,$(filter soft_spi,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/soft_spi/include
endif
ifneq (,$(filter srf04,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/srf04/include
endif
ifneq (,$(filter sx127x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/sx127x/include
endif
ifneq (,$(filter tcs37727,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/tcs37727/include
endif
ifneq (,$(filter tmp006,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/tmp006/include
endif
ifneq (,$(filter tps6274x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/tps6274x/include
endif
ifneq (,$(filter tsl2561,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/tsl2561/include
endif
ifneq (,$(filter tsl4531x,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/tsl4531x/include
endif
ifneq (,$(filter uart_half_duplex,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/uart_half_duplex/include
endif
ifneq (,$(filter vcnl40x0,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/vcnl40x0/include
endif
ifneq (,$(filter veml6070,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/veml6070/include
endif
ifneq (,$(filter w5100,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/w5100/include
endif
ifneq (,$(filter xbee,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/xbee/include
endif
ifneq (,$(filter sds011,$(USEMODULE)))
USEMODULE_INCLUDES += $(RIOTBASE)/drivers/sds011/include
endif