Sadly GCC currently doesn't optimize as expected and the additional return
value increases the ROM a bit. As a result, the application doesn't fit
into the ROM of four additional boards.
Initializing the state variables per loop with a value where some bits are set
and some are cleared makes much more sense. E.g. previously the bitwise and
applied on the state variable initialized with zero was unlikely to detect
implementation issues, as the state value never changed. So if the bitwise
and would be incorrectly implemented as a nop, it would have passed the unit
test.
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.
The "Hello World" sample is really hard to hear on the noisy DAC / speaker
setup on my same54-xpro.
Replace it with a clearer sample from Wikimedia Commons and fix the ffmpeg
command line.
The set default is good enough for single-channel board, but whenever
DAC_DDS_CHAN is not zero (or even when a board has more), this may need
changing.
The driver and the test application had been renamed to mpu9x50 in
2df5d6048d589b26b7b015f1387fdbb8067c3a29, but
c01eae32398a07ec225c0a09a0e68a37cdb883db added a Makefile.ci for it.
The folder is no longer used, so this removes it together with the
Makefile.
This will play a raw audio (8kHz, 8 Bit) snipped from the 1961 synthesized speech demo.
(Can be disabled since the file is rather large with 17k)
It will also play sine, square and sawtooth waves with frequencies that can be set on
the command line.
I tested this with the on-board speaker (connected to P0.26) of the mcb2388 as well
as with hooking up a headphone to the ANALOG (PA02) header of the same54-xpro.