1 /*
2  * Author: Brendan Le Foll <brendan.le.foll@intel.com>
3  * Contributions: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
4  * Copyright (c) 2014 Intel Corporation.
5  *
6  * Permission is hereby granted, free of charge, to any person obtaining
7  * a copy of this software and associated documentation files (the
8  * "Software"), to deal in the Software without restriction, including
9  * without limitation the rights to use, copy, modify, merge, publish,
10  * distribute, sublicense, and/or sell copies of the Software, and to
11  * permit persons to whom the Software is furnished to do so, subject to
12  * the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be
15  * included in all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21  * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22  * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23  * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24  */
25 #pragma once
26 
27 /// @cond DEV
28 /**
29  * This file only serves to describe sensor groups based on libmraa groups.
30  * Sensors may belong to multiple groups. This is purely a documentation header
31  * and is not meant to be installed anywhere.
32  */
33 /// @endcond DEV
34 
35 ////////////////////////////////////////////////////////////////// @cond HEA
36 /// Main group place holders.
37 ////////////////////////////////////////////////////////////////// @endcond HEA
38 
39 /**
40  * @brief Sensors grouped by category
41  * @defgroup bycat Sensor Categories
42  */
43 
44 /**
45  * @brief Sensors grouped by connection type
46  * @defgroup bycon Connection Type
47  */
48 
49 /**
50  * @brief Sensors grouped by manufacturer
51  * @defgroup byman Manufacturer
52  */
53 
54 /**
55  * @brief Sensors grouped into starter kits
56  * @defgroup bykit Starter Kits
57  */
58 
59 ////////////////////////////////////////////////////////////////// @cond CAT
60 /// Groups for the various Sensor Categories.
61 ////////////////////////////////////////////////////////////////// @endcond CAT
62 
63 /**
64  * @brief Measure acceleration & tilt or collision detection
65  * @defgroup accelerometer Accelerometer
66  * @ingroup bycat
67  */
68 
69 /**
70  * @brief Sensors with a variable voltage output
71  * @defgroup ainput Analog Inputs
72  * @ingroup bycat
73  */
74 
75 /**
76  * @brief Measure pressure and atmospheric conditions
77  * @defgroup pressure Atmospheric Pressure
78  * @ingroup bycat
79  */
80 
81 /**
82  * @brief Button, Switch or Toggle
83  * @defgroup button Button
84  * @ingroup bycat
85  */
86 
87 /**
88  * @brief Light sensors with special function: Color recognition
89  * @defgroup color Color Sensor
90  * @ingroup bycat
91  */
92 
93 /**
94  * @brief Measure magnetic field to give rotation or heading
95  * @defgroup compass Compass/Gyro/Magnometers
96  * @ingroup bycat
97  */
98 
99 /**
100  * @brief Resistive digital to analog converters (DAC)
101  * @defgroup digipot Digital Potentiometer
102  * @ingroup bycat
103  */
104 
105 /**
106  * @brief TFT, LCD, LED display elements
107  * @defgroup display Displays
108  * @ingroup bycat
109  */
110 
111 /**
112  * @brief Measure electric current and ADC converters
113  * @defgroup electric Electricity
114  * @ingroup bycat
115  */
116 
117 /**
118  * @brief Measure bending or detect vibration
119  * @defgroup flexfor Flex/Force
120  * @ingroup bycat
121  */
122 
123 /**
124  * @brief Measure substance concentrations in gases
125  * @defgroup gaseous Gas
126  * @ingroup bycat
127  */
128 
129 /**
130  * @brief Provide positioning capabilities
131  * @defgroup gps GPS
132  * @ingroup bycat
133  */
134 
135 /**
136  * @brief LEDs, LED strips, LED matrix displays & controllers
137  * @defgroup led LEDs
138  * @ingroup bycat
139  */
140 
141 /**
142  * @brief Measure light intensity or distances
143  * @defgroup light Light/Proximity/IR
144  * @ingroup bycat
145  */
146 
147 /**
148  * @brief Measure liquid flow rates or levels
149  * @defgroup liquid Liquid Flow
150  * @ingroup bycat
151  */
152 
153 /**
154  * @brief Sensors with specific medical application
155  * @defgroup medical Medical
156  * @ingroup bycat
157  */
158 
159 /**
160  * @brief Various motors & controllers to get things moving
161  * @defgroup motor Motor
162  * @ingroup bycat
163  */
164 
165 /**
166  * @brief Other types of supported sensors
167  * @defgroup other Other
168  * @ingroup bycat
169  */
170 
171 /**
172  * @brief Different low and high power relays
173  * @defgroup relay Relay
174  * @ingroup bycat
175  */
176 
177 /**
178  * @brief Wireless sensors using RFID tags
179  * @defgroup rfid RFID
180  * @ingroup bycat
181  */
182 
183 /**
184  * @brief Various servo motors & controllers
185  * @defgroup servos Servo
186  * @ingroup bycat
187  */
188 
189 /**
190  * @brief Provide sound recording or playback
191  * @defgroup sound Sound
192  * @ingroup bycat
193  */
194 
195 /**
196  * @brief Measure temperature & humidity
197  * @defgroup temp Temperature/Humidity
198  * @ingroup bycat
199  */
200 
201 /**
202  * @brief Sensors using serial communication
203  * @defgroup serial Serial
204  * @ingroup bycat
205  */
206 
207 /**
208  * @brief Real time clocks & time measurement
209  * @defgroup time Time
210  * @ingroup bycat
211  */
212 
213 /**
214  * @brief Capacitive touch sensors
215  * @defgroup touch Touch Sensor
216  * @ingroup bycat
217  */
218 
219 /**
220  * @brief Provide WiFi, Bluetooth, RF communication
221  * @defgroup wifi Wireless Communication
222  * @ingroup bycat
223  */
224 
225 ////////////////////////////////////////////////////////////////// @cond CON
226 /// Groups for the various Connection Types.
227 ////////////////////////////////////////////////////////////////// @endcond CON
228 
229 /**
230  * @brief Sensors requiring an ADC value to be read
231  * @defgroup analog AIO
232  * @ingroup bycon
233  */
234 
235 /**
236  * @brief Modules using the i2c bus
237  * @defgroup i2c I2C
238  * @ingroup bycon
239  */
240 
241 /**
242  * @brief Modules using the SPI bus
243  * @defgroup spi SPI
244  * @ingroup bycon
245  */
246 
247 /**
248  * @brief Modules using GPIOs directly
249  * @defgroup gpio GPIO
250  * @ingroup bycon
251  */
252 
253 /**
254  * @brief Modules using a PWM capable GPIO pin
255  * @defgroup pwm PWM
256  * @ingroup bycon
257  */
258 
259 /**
260  * @brief Modules using a serial connection (RX/TX)
261  * @defgroup uart UART
262  * @ingroup bycon
263  */
264 
265 ////////////////////////////////////////////////////////////////// @cond MAN
266 /// Groups for the various Manufacturers.
267 ////////////////////////////////////////////////////////////////// @endcond MAN
268 
269 /**
270  * @brief Adafruit Industries
271  * @defgroup adafruit Adafruit
272  * @ingroup byman
273  */
274 
275 /**
276  * @brief EMax
277  * @defgroup emax EMax
278  * @ingroup byman
279  */
280 
281 /**
282  * @brief DFRobot
283  * @defgroup dfrobot DFRobot
284  * @ingroup byman
285  */
286 
287 /**
288  * @brief EpicTinker
289  * @defgroup epict EpicTinker
290  * @ingroup byman
291  */
292 
293 /**
294  * @brief Freescale
295  * @defgroup freescale Freescale
296  * @ingroup byman
297  */
298 
299 /**
300  * @brief Generic Brands
301  * @defgroup generic Generic
302  * @ingroup byman
303  */
304 
305 /**
306  * @brief Honeywell
307  * @defgroup honeywell Honeywell
308  * @ingroup byman
309  */
310 
311 /**
312  * @brief Maxim Integrated
313  * @defgroup maxim Maxim Integrated
314  * @ingroup byman
315  */
316 
317 /**
318  * @brief SeeedStudio - Grove Sensors
319  * @defgroup seeed SeeedStudio
320  * @ingroup byman
321  */
322 
323 /**
324  * @brief Sparkfun
325  * @defgroup sparkfun Sparkfun
326  * @ingroup byman
327  */
328 
329 /**
330  * @brief Texas Instruments
331  * @defgroup ti Texas Instruments
332  * @ingroup byman
333  */
334 
335 ////////////////////////////////////////////////////////////////// @cond KIT
336 /// Groups for the various Starter Kits.
337 ////////////////////////////////////////////////////////////////// @endcond KIT
338 
339 /**
340  * @brief Grove Starter Kit - Contains basic sensors
341  * @defgroup gsk Grove Starter Kit
342  * @ingroup bykit
343  */
344 
345 /**
346  * @brief Home Automation Kit - For projects around the house
347  * @defgroup hak Home Automation Kit
348  * @ingroup bykit
349  */
350 
351 /**
352  * @brief Environment & Agriculture Kit - For outdoor projects
353  * @defgroup eak Environment & Agriculture Kit
354  * @ingroup bykit
355  */
356 
357 /**
358  * @brief Transportation & Safety Kit - Used mostly on vehicles
359  * @defgroup tsk Transportation & Safety Kit
360  * @ingroup bykit
361  */
362 
363 /**
364  * @brief Robotics Kit - Sensors for your robot
365  * @defgroup robok Robotics Kit
366  * @ingroup bykit
367  */
368