Home | History | Annotate | Download | only in src
      1 /*
      2  * Author: Brendan Le Foll <brendan.le.foll (at) intel.com>
      3  * Contributions: Mihai Tudor Panu <mihai.tudor.panu (at) 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