README.md: add list of supported sensors that link to classes
[contrib/upm.git] / README.md
1 UPM - Sensor/Actuator repository for Mraa
2 ==============
3
4 UPM is a high level repository for sensors that use mraa. Each sensor links to
5 libmraa and are not meant to be interlinked although some groups of sensors may
6 be. Each sensor contains a header which allows to interface with it. Typically
7 a sensor is represented as a class and instanciated.
8
9 The constructor is expected to initialise the sensor and paramters may be used
10 to provide identification/pin location on the board.
11
12 Typically an update() function will be called in order to get new data from the
13 sensor in order to reduce load when doing multiple reads to sensor data.
14
15 ### Example
16
17 A sensor/acturo is expected to work as such (here is the servo ES08A api):
18 @snippet es08a.cxx Interesting
19
20 However implementation and API design is compeltely up to the developer, some
21 enumerable sensors for example may provide much clever instanciation. Displays
22 may also create more complex structures in order to interface with them.
23
24 ### Supported Sensors
25
26 Temperature Sensors:
27   * upm::MAX31723
28   * upm::TH02
29
30 Compass/Gyro/Magnometer Sensors:
31   * upm::Hmc5883l
32   * upm::MPU9150
33
34 Atmospheric Pressure Sensors:
35   * upm::GY65
36
37 Proximity Sensors:
38   * upm::MAXDS3231M
39   * upm::MAX44000
40   * upm::HCSR04
41
42 Gas Sensors:
43   * upm::MQ2
44   * upm::MQ3
45   * upm::MQ5
46   * upm::MQ9
47
48 Displays:
49   * upm::Jhd1313m1
50   * upm::Lcm1602
51   * upm::ST7735
52   * upm::SSD1308
53   * upm::SSD1327
54   * upm::TM1637
55
56 RFID:
57   * upm::SM130
58
59 Wireless Communication:
60   * upm::NRF24l01
61
62 Servo
63   * upm::ES08A
64
65 Digital potentiometer
66   * upm::MAX5487
67
68 ### Building UPM
69
70 See @ref building
71
72 ### Making your own UPM module
73
74 @ref porting has more information on making new UPM modules
75