User Tools

Site Tools


gsoc:2019-gsoc-iio-driver

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
gsoc:2019-gsoc-iio-driver [2019/02/04 22:18]
dbogdan Update the part name
gsoc:2019-gsoc-iio-driver [2019/02/05 21:05] (current)
dbogdan 2019 Updates
Line 1: Line 1:
 +====== Google Summer of Code 2019: IIO Driver ======
  
-====== ​GSoC 2018IIO driver project ======+[[:​gsoc:​google-summer-code-2019|Main ​GSoC Linux Foundation pageHow to apply, deadlines, other workgroups, ...]]
  
-[[:​gsoc:​google-summer-code-2018|Main GSoC Linux Foundation page: How to apply, deadlines, other workgroups, ...]]+===== Industrial I/O subsystem (IIO) =====
  
-===== Proposal ===== +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. The aim is to fill the gap between the somewhat similar hwmon and input subsystems. Hwmon is directed at low sample rate sensors ​used to monitor and control the system itselflike fan speed control or temperature measurement. Input isas its name suggestsfocused on human interaction input devices (keyboardmouse, touchscreen). In some cases there is considerable overlap between these and IIO.
-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 sensorsmagnetometersVOC sensorsetc.+
  
-The goal of this project is to write a driver for [[https://www.analog.com/​en/​products/​ad7292.html | Analog DevicesInc. AD7292]] 10-Bit Monitor & Control System with ADC, DACs, Temperature Sensor ​and GPIOs using the [[https://​www.kernel.org/​doc/​html/​v4.20/​driver-api/​iio/​index.html | IIO]] interface. The project is split in the following subtasks: +Devices that fall into this category include: analog ​to digital converters (ADCs)accelerometers,​ capacitance to digital converters (CDCs)digital to analog converters (DACs)gyroscopes, inertial measurement units (IMUs), color and light sensors, magnetometers,​ pressure sensors, proximity sensors, temperature sensors, etc.
-  * get familiar with IIO subsystem and SPI API. +
-  * create skeleton driver registering an IIO device +
-  * add IIO channel for temperature +
-  * add IIO channels for ADC +
-  * add IIO channels for DAC +
-  * add support for GPIOs+
  
-Code license: GPL +Usually these sensors are connected via SPI or I2C. A common use case of the sensors devices is to have combined functionality (e.g. light plus proximity sensor).
  
-The project is considered successful if the code is accepted into Linux kernel IIO maintainer'​s tree.+===== Project Proposal =====
  
-===== Where to start? =====+Create a Linux IIO driver for [[https://​www.analog.com/​en/​products/​ad7292.html | Analog Devices, Inc. AD7292]] 10-Bit Monitor & Control System with ADC, DACs, Temperature Sensor and GPIOs using the [[https://​www.kernel.org/​doc/​html/​v4.20/​driver-api/​iio/​index.html | IIO]] interface.
  
-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.+The driver should be tested on the real hardwareThe proposed setup is Raspberry Pi 3 Model B + EVAL-AD7292SDZ. 
 + 
 +The end goal of the project is to submit the code upstream. 
 + 
 +Desired Knowledge:​ 
 +  * C programming language; 
 +  * Basic electronics knowledge. 
 + 
 +License: 
 +  * GPL-2.0
  
 ===== Contact ===== ===== Contact =====
gsoc/2019-gsoc-iio-driver.1549318722.txt.gz · Last modified: 2019/02/04 22:18 by dbogdan