2014-06-25 10:05:27 +01:00
|
|
|
UPM - Sensor/Actuator repository for Mraa
|
2014-04-30 15:47:12 +01:00
|
|
|
==============
|
2014-04-25 14:48:43 +01:00
|
|
|
|
2014-06-25 10:05:27 +01:00
|
|
|
UPM is a high level repository for sensors that use mraa. Each sensor links to
|
|
|
|
libmraa and are not meant to be interlinked although some groups of sensors may
|
2014-04-25 15:48:27 +01:00
|
|
|
be. Each sensor contains a header which allows to interface with it. Typically
|
|
|
|
a sensor is represented as a class and instanciated.
|
|
|
|
|
|
|
|
The constructor is expected to initialise the sensor and paramters may be used
|
|
|
|
to provide identification/pin location on the board.
|
|
|
|
|
|
|
|
Typically an update() function will be called in order to get new data from the
|
|
|
|
sensor in order to reduce load when doing multiple reads to sensor data.
|
|
|
|
|
2014-06-13 11:53:51 +01:00
|
|
|
### Example
|
|
|
|
|
|
|
|
A sensor/acturo is expected to work as such (here is the servo ES08A api):
|
|
|
|
@snippet es08a.cxx Interesting
|
2014-04-25 15:48:27 +01:00
|
|
|
|
|
|
|
However implementation and API design is compeltely up to the developer, some
|
|
|
|
enumerable sensors for example may provide much clever instanciation. Displays
|
|
|
|
may also create more complex structures in order to interface with them.
|
2014-04-25 14:48:43 +01:00
|
|
|
|
2014-08-29 15:37:11 +01:00
|
|
|
### Supported Sensors
|
|
|
|
|
|
|
|
Temperature Sensors:
|
|
|
|
* upm::MAX31723
|
2014-09-01 15:31:55 +01:00
|
|
|
* upm::MAX31855
|
2014-08-29 15:37:11 +01:00
|
|
|
* upm::TH02
|
2014-09-01 15:31:55 +01:00
|
|
|
* upm::GroveTemp
|
2014-08-29 15:37:11 +01:00
|
|
|
|
|
|
|
Compass/Gyro/Magnometer Sensors:
|
|
|
|
* upm::Hmc5883l
|
|
|
|
* upm::MPU9150
|
|
|
|
|
|
|
|
Atmospheric Pressure Sensors:
|
|
|
|
* upm::GY65
|
|
|
|
|
2014-09-01 15:31:55 +01:00
|
|
|
Light/Proximity Sensors:
|
2014-08-29 15:37:11 +01:00
|
|
|
* upm::MAXDS3231M
|
|
|
|
* upm::MAX44000
|
|
|
|
* upm::HCSR04
|
2014-09-01 15:31:55 +01:00
|
|
|
* upm::GroveLight
|
2014-08-29 15:37:11 +01:00
|
|
|
|
|
|
|
Gas Sensors:
|
|
|
|
* upm::MQ2
|
|
|
|
* upm::MQ3
|
|
|
|
* upm::MQ5
|
|
|
|
* upm::MQ9
|
|
|
|
|
|
|
|
Displays:
|
|
|
|
* upm::Jhd1313m1
|
|
|
|
* upm::Lcm1602
|
|
|
|
* upm::ST7735
|
|
|
|
* upm::SSD1308
|
|
|
|
* upm::SSD1327
|
2014-09-01 15:31:55 +01:00
|
|
|
|
|
|
|
LED controllers/segment displays:
|
2014-08-29 15:37:11 +01:00
|
|
|
* upm::TM1637
|
2014-09-01 15:31:55 +01:00
|
|
|
* upm::MY9221
|
2014-08-29 15:37:11 +01:00
|
|
|
|
|
|
|
RFID:
|
|
|
|
* upm::SM130
|
|
|
|
|
|
|
|
Wireless Communication:
|
|
|
|
* upm::NRF24l01
|
2014-09-01 15:31:55 +01:00
|
|
|
* upm::NRF8001
|
2014-08-29 15:37:11 +01:00
|
|
|
|
2014-09-01 15:31:55 +01:00
|
|
|
Servo/motors:
|
2014-08-29 15:37:11 +01:00
|
|
|
* upm::ES08A
|
2014-09-01 15:31:55 +01:00
|
|
|
* upm::stepmotor
|
2014-08-29 15:37:11 +01:00
|
|
|
|
|
|
|
Digital potentiometer
|
|
|
|
* upm::MAX5487
|
|
|
|
|
2014-06-13 11:53:51 +01:00
|
|
|
### Building UPM
|
|
|
|
|
|
|
|
See @ref building
|
|
|
|
|
|
|
|
### Making your own UPM module
|
|
|
|
|
|
|
|
@ref porting has more information on making new UPM modules
|
|
|
|
|