1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/drivers/Makefile.dep
iosabi ce76125a22 drivers/si1133: New SI1133 UV/IR/Ambient light driver
The SI1133 from Silicon Labs is a UV Index Sensor and Ambient Light
Sensor in a small 2x2 mm DFN package. The sensor can measure
independently ultra violet (UV) light, infra red (IR) light and
ambient light, however the ambient light is also influenced by the
IR light requiring compensation from the IR readings.

The SI1133 is quite different from other Silicon Labs chips in RIOT OS
and therefore needs its own driver. In particular, the SI1133 has 7
different photodiode configurations to read but only 6 channels to
read them in parallel so only some channels can be read each time.

This patch implements a new driver allowing to read the data directly
and a saul interface for the three kinds of light source. There are
many configuration options including interrupts and continous modes
that are left out of this initial driver.
2020-12-14 03:13:23 +00:00

198 lines
4.0 KiB
Makefile

# driver pseudo-modules dependencies (in alphabetical order)
ifneq (,$(filter adc%1c,$(USEMODULE)))
USEMODULE += adcxx1c
endif
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
endif
ifneq (,$(filter bme680_%,$(USEMODULE)))
USEMODULE += bme680
endif
ifneq (,$(filter bm%280_i2c,$(USEMODULE)))
USEMODULE += bmx280
endif
ifneq (,$(filter bm%280_spi,$(USEMODULE)))
USEMODULE += bmx280
endif
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 mcp2515,$(USEMODULE)))
USEMODULE += xtimer
FEATURES_REQUIRED += periph_gpio periph_spi periph_gpio_irq
endif
ifneq (,$(filter mhz19_%,$(USEMODULE)))
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 periph_ptp_timer periph_ptp_speed_adjustment,$(FEATURES_USED)))
FEATURES_REQUIRED += periph_ptp
endif
ifneq (,$(filter qmc5883l_%,$(USEMODULE)))
USEMODULE += qmc5883l
endif
ifneq (,$(filter rn2%3,$(USEMODULE)))
USEMODULE += rn2xx3
endif
ifneq (,$(filter sdp3x_%,$(USEMODULE)))
USEMODULE += sdp3x
endif
ifneq (,$(filter sht1%,$(USEMODULE)))
USEMODULE += sht1x
endif
ifneq (,$(filter si1133,$(USEMODULE)))
USEMODULE += si1133
endif
ifneq (,$(filter si114%,$(USEMODULE)))
USEMODULE += si114x
endif
ifneq (,$(filter si70%,$(USEMODULE)))
USEMODULE += si70xx
endif
ifneq (,$(filter slipdev_%,$(USEMODULE)))
USEMODULE += slipdev
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
ifneq (,$(filter saul_adc,$(USEMODULE)))
FEATURES_REQUIRED += periph_adc
endif
ifneq (,$(filter saul_gpio,$(USEMODULE)))
FEATURES_REQUIRED += periph_gpio
endif
ifneq (,$(filter saul_pwm,$(USEMODULE)))
FEATURES_REQUIRED += periph_pwm
endif
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
ifneq (,$(filter netdev_%,$(USEMODULE)))
USEMODULE += netdev
# Don't register netdevs if there is only a single one of them
ifeq (,$(filter gnrc_netif_single,$(USEMODULE)))
USEMODULE += netdev_register
endif
endif