mirror of
https://github.com/RIOT-OS/RIOT.git
synced 2024-12-29 04:50:03 +01:00
ce76125a22
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.
198 lines
4.0 KiB
Makefile
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
|