The main purpose of the Industrial I/O subsystem (IIO) is to provide support for devices that in some sense perform either analog-to-digital conversion (ADC) or digital-to-analog conversion (DAC) or both. Devices that fall into this category include: ADCs, DACs, accelerometers, gyroscopes, color and light sensors, pressure sensors, magnetometers, VOC sensors, etc.
The goal of this project is to write a driver for Bosch BME680 temperature, barometric, pressure and VOC gas sensor using the IIO interface. The project is split in the following subtasks:
Desired knowledge:
The accepted student will work on writing the driver for the proposed sensor. In the application form please let me know your plan on how to test your code.
Hints:
Code license: GPL
The project is considered successful if the code is accepted into Linux kernel IIO maintainer's tree.
Have a look at the https://kernelnewbies.org/IIO_tasks page. The IIO tasks are part of your application process, try to solve as many as you can.
IRC: #linux-iio, on irc.oftc.net server.
Mentor: Daniel Baluta <daniel.baluta at nxp dot com>