doc: improve & complete documentation on many sensors
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
12
README.md
@ -25,7 +25,9 @@ may also create more complex structures in order to interface with them.
|
||||
|
||||
Temperature Sensors:
|
||||
* upm::MAX31723
|
||||
* upm::MAX31855
|
||||
* upm::TH02
|
||||
* upm::GroveTemp
|
||||
|
||||
Compass/Gyro/Magnometer Sensors:
|
||||
* upm::Hmc5883l
|
||||
@ -34,10 +36,11 @@ Compass/Gyro/Magnometer Sensors:
|
||||
Atmospheric Pressure Sensors:
|
||||
* upm::GY65
|
||||
|
||||
Proximity Sensors:
|
||||
Light/Proximity Sensors:
|
||||
* upm::MAXDS3231M
|
||||
* upm::MAX44000
|
||||
* upm::HCSR04
|
||||
* upm::GroveLight
|
||||
|
||||
Gas Sensors:
|
||||
* upm::MQ2
|
||||
@ -51,16 +54,21 @@ Displays:
|
||||
* upm::ST7735
|
||||
* upm::SSD1308
|
||||
* upm::SSD1327
|
||||
|
||||
LED controllers/segment displays:
|
||||
* upm::TM1637
|
||||
* upm::MY9221
|
||||
|
||||
RFID:
|
||||
* upm::SM130
|
||||
|
||||
Wireless Communication:
|
||||
* upm::NRF24l01
|
||||
* upm::NRF8001
|
||||
|
||||
Servo
|
||||
Servo/motors:
|
||||
* upm::ES08A
|
||||
* upm::stepmotor
|
||||
|
||||
Digital potentiometer
|
||||
* upm::MAX5487
|
||||
|
27
TODO
Normal file
@ -0,0 +1,27 @@
|
||||
Easy:
|
||||
MAX7221 - SPI 8 digit LED
|
||||
- https://mbed.org/components/MAX7221/
|
||||
-
|
||||
SCA61T - inclinometer SPI
|
||||
- https://mbed.org/components/SCA61T-Inclinometer/
|
||||
DS1721 - i2c temperature/thermostat
|
||||
- https://mbed.org/components/DS1721/
|
||||
MPL3115A2 - i2c altimeter
|
||||
- https://mbed.org/components/MPL3115A2/
|
||||
- http://www.ebay.co.uk/itm/Barometric-Pressure-Altitude-Temperature-Sensor-I2C-MPL3115A2-/221499210102?pt=UK_BOI_Electrical_Test_Measurement_Equipment_ET&hash=item339261b976
|
||||
TEMT6200 - Ambient light sensor
|
||||
- https://mbed.org/components/TEMT6200/
|
||||
CMPS03 - i2c digital compass
|
||||
- https://mbed.org/components/CMPS03-Digital-Compass/
|
||||
- http://www.ebay.co.uk/itm/Magnetic-Compass-CMPS03-/221437925374?pt=UK_BOI_Electrical_Test_Measurement_Equipment_ET&hash=item338eba97fe
|
||||
- http://www.robot-italy.com/it/cmps03-robot-compass-module.html
|
||||
|
||||
Medium
|
||||
E-ink sharp 1.3" LCD
|
||||
- https://mbed.org/components/13-SHARP-Memory-LCD/
|
||||
LCD-S401
|
||||
- https://mbed.org/components/Lumex-LCD-S401/
|
||||
|
||||
Hard:
|
||||
RA8875 - 480x272 SPI 4 wire
|
||||
- https://mbed.org/components/RA8875-Based-Display/
|
BIN
docs/images/grovegas.jpeg
Normal file
After Width: | Height: | Size: 131 KiB |
BIN
docs/images/grovergblcd.jpeg
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
docs/images/lcm1602.jpeg
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
docs/images/lpd8806.jpeg
Normal file
After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 18 KiB |
BIN
docs/images/max31855.jpeg
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
docs/images/max44000.jpeg
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
docs/images/mq9.jpeg
Normal file
After Width: | Height: | Size: 9.7 KiB |
BIN
docs/images/ssd1308.jpeg
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
docs/images/ssd1327.jpeg
Normal file
After Width: | Height: | Size: 62 KiB |
@ -1,4 +1,4 @@
|
||||
Grove - Gas Sensor(MQ-2):Combustible Gas、Smoke [middle sensitivity]
|
||||
Grove - Gas Sensor(MQ-2):Combustible Gas Smoke [middle sensitivity]
|
||||
Grove - Gas Sensor(MQ-3):Alcohol and Benzine [HIGH sensitivity] Long warmup
|
||||
Grove - Gas Sensor(MQ-5):LPG, Natural Gas, Town Gas [high sensitivity]
|
||||
Grove - Gas Sensor(MQ-9):LPG, CO, CH4 [low sensitivity]
|
||||
|
@ -38,7 +38,7 @@ namespace upm {
|
||||
/**
|
||||
* @brief C++ API for Gas sensors
|
||||
*
|
||||
* This file defines the Gas Analog sensors
|
||||
* This file defines the Gas Analog sensors virtual functions
|
||||
*/
|
||||
class Gas {
|
||||
public:
|
||||
|
@ -31,7 +31,13 @@ namespace upm {
|
||||
/**
|
||||
* @brief C++ API for MQ2 gas sensor
|
||||
*
|
||||
* The Grove - Gas Sensor (MQ2) module is useful for gas leakage detecting
|
||||
* (in home and industry). It can detect LPG, i-butane, methane, alcohol,
|
||||
* Hydrogen, smoke and other combustible gases. It's a medium sensitivity
|
||||
* sensor with a detect concentration of 300-10000ppm.
|
||||
*
|
||||
* @snippet mq2-example.cxx Interesting
|
||||
* @image html grovegas.jpeg
|
||||
*/
|
||||
class MQ2 : public Gas {
|
||||
public:
|
||||
|
@ -31,7 +31,13 @@ namespace upm {
|
||||
/**
|
||||
* @brief C++ API for MQ3 gas sensor
|
||||
*
|
||||
* The Grove MQ3 Gas Sensor module is useful for gas leakage detecting (in
|
||||
* home and industry). It can detect Alcohol Vapour and Benzine. It's
|
||||
* highly sensitive but has a long warmup time of about 1minute. It's
|
||||
* detect rate is of 0.04-4mg/L Alcohol.
|
||||
*
|
||||
* @snippet mq3-example.cxx Interesting
|
||||
* @image html grovegas.jpeg
|
||||
*/
|
||||
class MQ3 : public Gas {
|
||||
public:
|
||||
|
@ -31,7 +31,13 @@ namespace upm {
|
||||
/**
|
||||
* @brief C++ API for MQ5 gas sensor
|
||||
*
|
||||
* The Grove - Gas Sensor (MQ5) module is useful for gas leakage detecting
|
||||
* (in home and industry). It can detect LPG, natural gas, town gas and so
|
||||
* on. It is highly sensitive and has a detection concentration of
|
||||
* 300-10000ppm.
|
||||
*
|
||||
* @snippet mq5-example.cxx Interesting
|
||||
* @image html grovegas.jpeg
|
||||
*/
|
||||
class MQ5 : public Gas {
|
||||
public:
|
||||
|
@ -31,7 +31,12 @@ namespace upm {
|
||||
/**
|
||||
* @brief C++ API for MQ9 gas sensor
|
||||
*
|
||||
* The Grove MQ9 Gas Sensor module is useful for gas leakage detecting (in
|
||||
* home and industry). It can detect Carbon Monoxide, Coal Gas and
|
||||
* Liquefied Gas. It's sensitivty is 10-1000ppmCO 100-10000PPm Gas.
|
||||
*
|
||||
* @snippet mq9-example.cxx Interesting
|
||||
* @image html mq9.jpeg
|
||||
*/
|
||||
class MQ9 : public Gas {
|
||||
public:
|
||||
|
@ -32,7 +32,14 @@ namespace upm {
|
||||
* @brief C++ API for Jhd1313m1 i2c controller for HD44780 based displays with
|
||||
* an RGB backlight such as the Grove RGB i2c LCD display
|
||||
*
|
||||
* The Jhd1313m1 has two i2c addreses, one belongs to a controller very similar
|
||||
* to the upm::Lcm1602 LCD driver which controls the HD44780 based display and the
|
||||
* other controls solely the backlight. This module was tested with the Seed
|
||||
* [Grove LCD RGB Backlight v2.0 display]
|
||||
* (http://www.seeedstudio.com/depot/Grove-LCD-RGB-Backlight-p-1643.html?cPath=34_36)
|
||||
*
|
||||
* @snippet rgb-lcd.cxx Interesting
|
||||
* @image html grovergblcd.jpeg
|
||||
*/
|
||||
class Jhd1313m1 : public I2CLcd {
|
||||
public:
|
||||
|
@ -37,9 +37,13 @@ namespace upm {
|
||||
*
|
||||
* This supports all sizes of HD44780 displays from 16x2 to 4x20, the
|
||||
* controller has no idea of the actual display hardware so will let you write
|
||||
* further than you can see
|
||||
* further than you can see. These displays with such controllers are available
|
||||
* from various manufacturers with different i2c addresses. The adafruit
|
||||
* [TC1602A-01T](https://www.adafruit.com/datasheets/TC1602A-01T.pdf) seems to
|
||||
* the best documented example.
|
||||
*
|
||||
* @snippet lcm-lcd.cxx Interesting
|
||||
* @image html lcm1602.jpeg
|
||||
*/
|
||||
class Lcm1602 : public I2CLcd {
|
||||
public:
|
||||
|
@ -148,7 +148,15 @@ typedef enum {
|
||||
/**
|
||||
* @brief C++ API for SSD1308 i2c controlled OLED displays
|
||||
*
|
||||
* @snippet lcm-lcd.cxx Interesting
|
||||
* The [SSD1308](http://garden.seeedstudio.com/images/4/46/SSD1308_1.0.pdf) is
|
||||
* a 128x64 Dot matrix OLED/PLED segment driver with controller. This
|
||||
* implementation was tested using the
|
||||
* [Grove LED 128×64 Display module]
|
||||
* (http://www.seeedstudio.com/wiki/Grove_-_OLED_Display_0.96%22)
|
||||
* which is an OLED monochrome display
|
||||
*
|
||||
* @snippet oled-1308.cxx Interesting
|
||||
* @image html ssd1308.jpeg
|
||||
*/
|
||||
class SSD1308 : public I2CLcd {
|
||||
public:
|
||||
|
@ -145,10 +145,23 @@ typedef enum {
|
||||
PAGE = 2
|
||||
} displayAddressingMode;
|
||||
|
||||
/**
|
||||
* @brief C++ API for SSD1327 i2c controlled OLED displays
|
||||
*
|
||||
* The [SSD1327](http://garden.seeedstudio.com/images/8/82/SSD1327_datasheet.pdf)
|
||||
* is a 96x96 Dot matrix OLED/PLED segment driver with controller. This
|
||||
* implementation was tested using the
|
||||
* [Grove LED 96×96 Display module]
|
||||
* (http://www.seeedstudio.com/wiki/Grove_-_OLED_Display_1.12%22)
|
||||
* which is an OLED monochrome display
|
||||
*
|
||||
* @snippet oled-1327.cxx Interesting
|
||||
* @image html ssd1327.jpeg
|
||||
*/
|
||||
class SSD1327 : public I2CLcd {
|
||||
public:
|
||||
/**
|
||||
* SSD1308 Constructor, calls libmraa initialisation functions
|
||||
* SSD1327 Constructor, calls libmraa initialisation functions
|
||||
*
|
||||
* @param bus i2c bus to use
|
||||
* @param address the slave address the lcd is registered on
|
||||
|
@ -36,8 +36,10 @@ namespace upm {
|
||||
/**
|
||||
* @brief C++ API for LPD8806
|
||||
*
|
||||
* This file defines the LPD8806 C++ interface for liblpd8806
|
||||
* The FastPixel lpd8806 is an RGB led strip controller.
|
||||
*
|
||||
* @snippet lpd8806-example.cxx Interesting
|
||||
* @image html lpd8806.jpeg
|
||||
*/
|
||||
class LPD8806 {
|
||||
public:
|
||||
|
@ -43,8 +43,8 @@ namespace upm {
|
||||
* module](http://datasheets.maximintegrated.com/en/ds/MAX31723PMB1.pdf) from
|
||||
* the analog PMOD kit.
|
||||
*
|
||||
* @snippet max31723.cxx Interesting
|
||||
* @image html max31723.jpeg
|
||||
*
|
||||
*/
|
||||
class MAX31723 {
|
||||
public:
|
||||
|
@ -32,12 +32,17 @@ namespace upm {
|
||||
/**
|
||||
* @brief C++ API for MAX31855
|
||||
*
|
||||
* This file defines the max31855 SPI sensor
|
||||
*
|
||||
* @snippet examples/max31855.cxx Interesting
|
||||
* The Maxim Integrated
|
||||
* [MAX31855](http://datasheets.maximintegrated.com/en/ds/MAX31855.pdf)
|
||||
* is a Cold-Junction Compensated Thermocouple-to-Digital Converter. This
|
||||
* module was * tested on the Maxim Integrated
|
||||
* [MAX31855PMB1 PMOD module]
|
||||
* (http://datasheets.maximintegrated.com/en/ds/MAX31855PMB1.pdf) from the
|
||||
* analog PMOD kit.
|
||||
*
|
||||
* @snippet max31855.cxx Interesting
|
||||
* @image html max31855.jpeg
|
||||
*/
|
||||
//! [Interesting]
|
||||
class MAX31855 {
|
||||
public:
|
||||
/**
|
||||
@ -64,6 +69,5 @@ class MAX31855 {
|
||||
mraa_spi_context m_sensor;
|
||||
mraa_gpio_context m_gpio;
|
||||
};
|
||||
//! [Interesting]
|
||||
|
||||
}
|
||||
|
@ -55,20 +55,16 @@ namespace upm {
|
||||
/**
|
||||
* @brief C++ API for MAX44000 chip (Ambient and Infrared Proximity Sensor)
|
||||
*
|
||||
* This file defines the MAX44000 C++ interface for libmax44000
|
||||
*
|
||||
* @snippet proximity.cxx Interesting
|
||||
*
|
||||
* PMOD pins for MAX44000PMB1 board
|
||||
*
|
||||
* ( -= J1 =- )
|
||||
* (1) - NUL
|
||||
* (2) - IRQ
|
||||
* (3) - SCL
|
||||
* (4) - SDA
|
||||
* (5) - GND
|
||||
* (6) - VCC
|
||||
* The Maxim Integrated
|
||||
* [MAX44000](http://datasheets.maximintegrated.com/en/ds/MAX44000.pdf)
|
||||
* is Ambient and Infrared Proximity Sensor. This module was tested on the
|
||||
* Maxim Integrated
|
||||
* [MAX44000PMB1 PMOD module]
|
||||
* (http://datasheets.maximintegrated.com/en/ds/MAX44000PMB1.pdf) from the
|
||||
* analog PMOD kit.
|
||||
*
|
||||
* @snippet max44000.cxx Interesting
|
||||
* @image html max44000.jpeg
|
||||
*/
|
||||
class MAX44000 {
|
||||
public:
|
||||
|
@ -44,7 +44,6 @@ namespace upm {
|
||||
* @brief C++ API for SM130 RFID reader module
|
||||
*
|
||||
* This file defines the SM130 C++ interface for libsm130
|
||||
*
|
||||
*/
|
||||
class SM130 {
|
||||
|
||||
|