Temperature Sensors:
* upm::MAX31723
+ * upm::MAX31855
* upm::TH02
+ * upm::GroveTemp
Compass/Gyro/Magnometer Sensors:
* upm::Hmc5883l
Atmospheric Pressure Sensors:
* upm::GY65
-Proximity Sensors:
+Light/Proximity Sensors:
* upm::MAXDS3231M
* upm::MAX44000
* upm::HCSR04
+ * upm::GroveLight
Gas Sensors:
* upm::MQ2
* 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
--- /dev/null
+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/
-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]
/**
* @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:
/**
* @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:
/**
* @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:
/**
* @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:
/**
* @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:
* @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:
*
* 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:
/**
* @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:
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
/**
* @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:
* 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:
/**
* @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:
/**
mraa_spi_context m_sensor;
mraa_gpio_context m_gpio;
};
-//! [Interesting]
}
/**
* @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:
* @brief C++ API for SM130 RFID reader module
*
* This file defines the SM130 C++ interface for libsm130
- *
*/
class SM130 {