diff --git a/DoxygenLayout.xml b/DoxygenLayout.xml index 1014e2a7..5ade7ff1 100644 --- a/DoxygenLayout.xml +++ b/DoxygenLayout.xml @@ -4,8 +4,11 @@ - - + diff --git a/src/buzzer/buzzer.h b/src/buzzer/buzzer.h index 7ff04688..3b8ea4b4 100644 --- a/src/buzzer/buzzer.h +++ b/src/buzzer/buzzer.h @@ -36,13 +36,18 @@ namespace upm { +/** + * @brief Buzzer library + * @defgroup buzzer libupm-buzzer + */ + /** * @brief C++ API for Buzzer component * * This file defines the Buzzer C++ interface for libbuzzer * + * @ingroup buzzer * @snippet buzzer-sound.cxx Interesting - * */ class Buzzer { public: diff --git a/src/ecs1030/ecs1030.h b/src/ecs1030/ecs1030.h index aa450a03..0884e9b5 100644 --- a/src/ecs1030/ecs1030.h +++ b/src/ecs1030/ecs1030.h @@ -41,9 +41,15 @@ namespace upm { #define TRUE HIGH #define FALSE LOW +/** + * @brief ECS1030 electricity sensor library + * @defgroup ecs1030 libupm-ecs1030 + */ + /** * @brief C++ API for ECS1030 (electricity sensor) * + * @ingroup ecs1030 * @snippet ecs1030.cxx Interesting */ diff --git a/src/gas/gas.h b/src/gas/gas.h index efb12b11..d94c44f0 100644 --- a/src/gas/gas.h +++ b/src/gas/gas.h @@ -36,9 +36,8 @@ struct thresholdContext { namespace upm { /** - * @brief C++ API for Gas sensors - * - * This file defines the Gas Analog sensors virtual functions + * @brief gas sensor library + * @defgroup gas libupm-gas */ class Gas { public: diff --git a/src/gas/mq2.h b/src/gas/mq2.h index fb2046ad..d0625a9d 100644 --- a/src/gas/mq2.h +++ b/src/gas/mq2.h @@ -36,6 +36,7 @@ namespace upm { * Hydrogen, smoke and other combustible gases. It's a medium sensitivity * sensor with a detect concentration of 300-10000ppm. * + * @ingroup gas * @snippet mq2-example.cxx Interesting * @image html grovegas.jpeg */ diff --git a/src/gas/mq3.h b/src/gas/mq3.h index c4f9ada9..3eeb688c 100644 --- a/src/gas/mq3.h +++ b/src/gas/mq3.h @@ -36,6 +36,7 @@ namespace upm { * highly sensitive but has a long warmup time of about 1minute. It's * detect rate is of 0.04-4mg/L Alcohol. * + * @ingroup gas * @snippet mq3-example.cxx Interesting * @image html grovegas.jpeg */ diff --git a/src/gas/mq5.h b/src/gas/mq5.h index fc931dbb..f9dcf352 100644 --- a/src/gas/mq5.h +++ b/src/gas/mq5.h @@ -36,6 +36,7 @@ namespace upm { * on. It is highly sensitive and has a detection concentration of * 300-10000ppm. * + * @ingroup gas * @snippet mq5-example.cxx Interesting * @image html grovegas.jpeg */ diff --git a/src/gas/mq9.h b/src/gas/mq9.h index 67ede9e2..b507dda6 100644 --- a/src/gas/mq9.h +++ b/src/gas/mq9.h @@ -35,6 +35,7 @@ namespace upm { * home and industry). It can detect Carbon Monoxide, Coal Gas and * Liquefied Gas. It's sensitivty is 10-1000ppmCO 100-10000PPm Gas. * + * @ingroup gas * @snippet mq9-example.cxx Interesting * @image html mq9.jpeg */ diff --git a/src/grove/grove.h b/src/grove/grove.h index 3d05a7fe..c8bc1434 100644 --- a/src/grove/grove.h +++ b/src/grove/grove.h @@ -29,6 +29,10 @@ namespace upm { +/** + * @brief library for basic grove sensors + * @defgroup grove libupm-grove + */ class Grove { public: virtual ~Grove() {} @@ -45,6 +49,7 @@ class Grove { * * Very basic UPM module for grove LED, or any LED for that matter * + * @ingroup grove * @snippet groveled.cxx Interesting */ class GroveLed: public Grove { @@ -63,6 +68,7 @@ class GroveLed: public Grove { * * Very basic UPM module for grove temperature sensor on analog * + * @ingroup grove * @snippet grovetemp.cxx Interesting */ class GroveTemp: public Grove { @@ -90,6 +96,7 @@ class GroveTemp: public Grove { * * Very basic UPM module for grove Light sensor on analog * + * @ingroup grove * @snippet grovelight.cxx Interesting */ class GroveLight: public Grove { diff --git a/src/gy65/gy65.h b/src/gy65/gy65.h index 59e4eb60..c709c9e7 100644 --- a/src/gy65/gy65.h +++ b/src/gy65/gy65.h @@ -60,6 +60,11 @@ namespace upm { +/** + * @brief GY65 & BPM085 atmospheric pressure sensor library + * @defgroup gy65 libupm-gy65 + */ + /** * @brief C++ API for GY65/BMP085 chip (Atmospheric Pressure Sensor) * @@ -68,6 +73,7 @@ namespace upm { * is a high precision, ultra-low power consumption pressure sensor. It has a * range of between 30,000 and 110,000 Pa. * + * @ingroup gy65 * @snippet gy65.cxx Interesting * @image html bmp085.jpeg */ diff --git a/src/gy65/pyupm_gy65.i b/src/gy65/pyupm_gy65.i index 3086cd4f..1e3e2df1 100644 --- a/src/gy65/pyupm_gy65.i +++ b/src/gy65/pyupm_gy65.i @@ -3,9 +3,8 @@ %include "stdint.i" -%feature("autodoc", "3"); - %include "gy65.h" %{ #include "gy65.h" %} + diff --git a/src/hcsr04/hcsr04.h b/src/hcsr04/hcsr04.h index 0ab83335..eaf32b33 100644 --- a/src/hcsr04/hcsr04.h +++ b/src/hcsr04/hcsr04.h @@ -1,4 +1,4 @@ -/* + /* * Author: Yevgeniy Kiveisha * Copyright (c) 2014 Intel Corporation. * @@ -37,13 +37,18 @@ namespace upm { +/** + * @brief HCSR04 ultrasonic sensor library + * @defgroup hcsr04 libupm-hcsr04 + */ + /** * @brief C++ API for HCSR04 (ultrasonic ranging module) component * * This file defines the HCSR04 C++ interface for libhcsr04 * + * @ingroup hcsr04 * @snippet hcsr04.cxx Interesting - * */ class HCSR04 { public: diff --git a/src/hmc5883l/hmc5883l.h b/src/hmc5883l/hmc5883l.h index 08295b74..c4a0cef0 100644 --- a/src/hmc5883l/hmc5883l.h +++ b/src/hmc5883l/hmc5883l.h @@ -29,6 +29,11 @@ namespace upm { +/** + * @brief HMC5883l magnometer library + * @defgroup hmc5883l libupm-hmc5883l + */ + /** * @brief C++ API for HMC5883l (3-axis digital compass) * @@ -38,10 +43,10 @@ namespace upm { * all done through an I2C interface. Different breakout boards are available, * typically a 3V supply is all that is needed to power the sensor. * + * @ingroup hmc5883l * @snippet hmc5883l.cxx Interesting * @image html hmc5883l.jpeg */ - class Hmc5883l { public: /** diff --git a/src/joystick12/joystick12.h b/src/joystick12/joystick12.h index 21e920dd..3a67680e 100644 --- a/src/joystick12/joystick12.h +++ b/src/joystick12/joystick12.h @@ -29,6 +29,11 @@ namespace upm { +/** + * @brief Analog Joystick library + * @defgroup joystick libupm-joystick + */ + /** * @brief C++ API for Elecfreaks Joystick v 1.2-1.4 breakout * @@ -36,8 +41,8 @@ namespace upm { * button could be treated as normal GPIO, this enables easier * interrupt support * + * @ingroup joystick * @snippet joystick12-example.cxx Interesting - * */ class Joystick12 { public: diff --git a/src/lcd/i2clcd.h b/src/lcd/i2clcd.h index 48530ced..57588864 100644 --- a/src/lcd/i2clcd.h +++ b/src/lcd/i2clcd.h @@ -72,6 +72,10 @@ namespace upm { #define LCD_RW 0x02 // Read/Write bit #define LCD_RS 0x01 // Register select bit +/** + * @brief i2c LCD display library + * @defgroup i2clcd libupm-i2clcd + */ class I2CLcd { public: I2CLcd (int bus, int lcdAddress); diff --git a/src/lcd/jhd1313m1.h b/src/lcd/jhd1313m1.h index aafffe9c..6c2489fe 100644 --- a/src/lcd/jhd1313m1.h +++ b/src/lcd/jhd1313m1.h @@ -38,6 +38,7 @@ namespace upm { * [Grove LCD RGB Backlight v2.0 display] * (http://www.seeedstudio.com/depot/Grove-LCD-RGB-Backlight-p-1643.html?cPath=34_36) * + * @ingroup i2clcd * @snippet rgb-lcd.cxx Interesting * @image html grovergblcd.jpeg */ diff --git a/src/lcd/lcm1602.h b/src/lcd/lcm1602.h index 0dfdd032..5c3026fa 100644 --- a/src/lcd/lcm1602.h +++ b/src/lcd/lcm1602.h @@ -42,6 +42,7 @@ namespace upm { * [TC1602A-01T](https://www.adafruit.com/datasheets/TC1602A-01T.pdf) seems to * the best documented example. * + * @ingroup i2clcd * @snippet lcm-lcd.cxx Interesting * @image html lcm1602.jpeg */ diff --git a/src/lcd/ssd1308.h b/src/lcd/ssd1308.h index abc51c09..9bb7b98e 100644 --- a/src/lcd/ssd1308.h +++ b/src/lcd/ssd1308.h @@ -155,6 +155,7 @@ typedef enum { * (http://www.seeedstudio.com/wiki/Grove_-_OLED_Display_0.96%22) * which is an OLED monochrome display * + * @ingroup i2clcd * @snippet oled-1308.cxx Interesting * @image html ssd1308.jpeg */ diff --git a/src/lcd/ssd1327.h b/src/lcd/ssd1327.h index f5bc1327..743c3002 100644 --- a/src/lcd/ssd1327.h +++ b/src/lcd/ssd1327.h @@ -155,6 +155,7 @@ typedef enum { * (http://www.seeedstudio.com/wiki/Grove_-_OLED_Display_1.12%22) * which is an OLED monochrome display * + * @ingroup i2clcd * @snippet oled-1327.cxx Interesting * @image html ssd1327.jpeg */ diff --git a/src/lol/lol.h b/src/lol/lol.h index b1f1fb8e..ba82e263 100644 --- a/src/lol/lol.h +++ b/src/lol/lol.h @@ -32,14 +32,19 @@ namespace upm { #define LOL_X 14 #define LOL_Y 9 + +/** + * @brief Olimex LoL array library + * @defgroup lol libupm-lol + */ + /** * @brief C++ API for Olimex LoL array * - * This file defines the LoL API and implemntation for - * a simple framebuffer + * This file defines the LoL API and implemntation for a simple framebuffer * + * @ingroup lol * @snippet lol-example.cxx Interesting - * */ class LoL { public: diff --git a/src/lpd8806/lpd8806.h b/src/lpd8806/lpd8806.h index 6e48002a..8413a447 100644 --- a/src/lpd8806/lpd8806.h +++ b/src/lpd8806/lpd8806.h @@ -33,11 +33,17 @@ namespace upm { +/** + * @brief FastPixel lpd8806 library + * @defgroup lpd8806 libupm-lpd8806 + */ + /** * @brief C++ API for LPD8806 * * The FastPixel lpd8806 is an RGB led strip controller. * + * @ingroup lpd8806 * @snippet lpd8806-example.cxx Interesting * @image html lpd8806.jpeg */ diff --git a/src/lsm303/lsm303.h b/src/lsm303/lsm303.h index 1bd21d29..748db734 100644 --- a/src/lsm303/lsm303.h +++ b/src/lsm303/lsm303.h @@ -60,6 +60,11 @@ namespace upm { #define Z 1 #define Y 2 +/** + * @brief LSM303 accelerometer/compass library + * @defgroup lsm303 libupm-lsm303 + */ + /** * @brief C++ API for LSM303 * @@ -69,6 +74,7 @@ namespace upm { * module that is used over i2c. The magnometer and acceleromter are accessed * at two seperate i2c addresses. * + * @ingroup lsm303 * @snippet lsm303.cxx Interesting * @image html lsm303.jpeg */ diff --git a/src/max31723/max31723.h b/src/max31723/max31723.h index 27214bde..e78c1f89 100644 --- a/src/max31723/max31723.h +++ b/src/max31723/max31723.h @@ -33,6 +33,11 @@ namespace upm { +/** + * @brief max31723 temperature sensor library + * @defgroup max31723 libupm-max31723 + */ + /** * @brief C++ API for MAX31723 chip (Temperature sensor) * @@ -43,6 +48,7 @@ namespace upm { * module](http://datasheets.maximintegrated.com/en/ds/MAX31723PMB1.pdf) from * the analog PMOD kit. * + * @ingroup max31723 * @snippet max31723.cxx Interesting * @image html max31723.jpeg */ diff --git a/src/max31855/max31855.h b/src/max31855/max31855.h index 0c60166d..74dd0272 100644 --- a/src/max31855/max31855.h +++ b/src/max31855/max31855.h @@ -29,6 +29,11 @@ namespace upm { +/** + * @brief max31855 thermocouple library + * @defgroup max31855 libupm-max31855 + */ + /** * @brief C++ API for MAX31855 * @@ -40,6 +45,7 @@ namespace upm { * (http://datasheets.maximintegrated.com/en/ds/MAX31855PMB1.pdf) from the * analog PMOD kit. * + * @ingroup max31855 * @snippet max31855.cxx Interesting * @image html max31855.jpeg */ diff --git a/src/max44000/max44000.h b/src/max44000/max44000.h index 2e0bbb2d..31e70f80 100644 --- a/src/max44000/max44000.h +++ b/src/max44000/max44000.h @@ -52,6 +52,11 @@ namespace upm { +/** + * @brief max44000 proxmity sensor library + * @defgroup max44000 libupm-max44000 + */ + /** * @brief C++ API for MAX44000 chip (Ambient and Infrared Proximity Sensor) * diff --git a/src/max5487/max5487.h b/src/max5487/max5487.h index 9462009a..24a61ad0 100644 --- a/src/max5487/max5487.h +++ b/src/max5487/max5487.h @@ -33,6 +33,11 @@ namespace upm { +/** + * @brief max5847 digital potentiometer library + * @defgroup max5847 libupm-max5847 + */ + /** * @brief C++ API for MAX5487 chip (SPI digital potentionmeter) * @@ -43,6 +48,7 @@ namespace upm { * PMOD module](http://datasheets.maximintegrated.com/en/ds/MAX5487PMB1.pdf) * from the analog PMOD kit. * + * @ingroup max5847 * @snippet max5487.cxx Interesting * @image html max5487.jpeg */ diff --git a/src/maxds3231m/maxds3231m.h b/src/maxds3231m/maxds3231m.h index f02d4506..87ab1441 100644 --- a/src/maxds3231m/maxds3231m.h +++ b/src/maxds3231m/maxds3231m.h @@ -62,11 +62,15 @@ struct Time3231 { uint8_t weekDay; }; +/** + * @brief maxds3231m proximity sensor library + * @defgroup maxds3231m libupm-maxds3231m + */ + /** * @brief C++ API for MAXDS3231M chip (Ambient and Infrared Proximity Sensor) * - * This file defines the MAXDS3231M C++ interface for libmax44000 - * + * @ingroup maxds3231m */ class MAXDS3231M { public: diff --git a/src/mic/mic.h b/src/mic/mic.h index f7fafa0c..ac0adf8a 100644 --- a/src/mic/mic.h +++ b/src/mic/mic.h @@ -35,13 +35,18 @@ struct thresholdContext { namespace upm { +/** + * @brief analog microphone library + * @defgroup mic libupm-mic + */ + /** * @brief C++ API for Microphone * * This file defines the Microphone Analog sensor * + * @ingroup mic * @snippet mic-example.cxx Interesting - * */ class Microphone { public: diff --git a/src/mlx90614/mlx90614.h b/src/mlx90614/mlx90614.h index 403e209b..da52bf5b 100644 --- a/src/mlx90614/mlx90614.h +++ b/src/mlx90614/mlx90614.h @@ -53,10 +53,17 @@ namespace upm { /** - * @brief C++ API for MLX90614 + * @brief mlx90614 temperature sensor library + * @defgroup mlx90614 libupm-mlx90614 + */ + +/** + * @brief C++ API for MLX90614 * * This file defines the MLX90614 C++ interface for libmlx90614 * + * @ingroup mlx90641 + * @snippet mlx90641.cxx Interesting */ class MLX90614 { public: diff --git a/src/mma7455/mma7455.h b/src/mma7455/mma7455.h index 10f8f68e..e8fc9f5f 100644 --- a/src/mma7455/mma7455.h +++ b/src/mma7455/mma7455.h @@ -149,13 +149,18 @@ union accelData { #define BIT(n) (1< * Copyright (c) 2014 Intel Corporation. - * + * * Based on SM130 library developed by Marc Boon * * Permission is hereby granted, free of charge, to any person obtaining @@ -40,13 +40,20 @@ namespace upm { +/** + * @brief sm130 rfid module library + * @defgroup sm130 libupm-sm130 + */ + /** * @brief C++ API for SM130 RFID reader module * * This file defines the SM130 C++ interface for libsm130 + * + * @ingroup sm130 */ class SM130 { - + uint8_t m_Data[SIZE_PACKET]; //!< packet data char m_Version[8]; //!< version string uint8_t m_TagNumber[7]; //!< tag number as uint8_t array @@ -56,7 +63,7 @@ class SM130 { char errorCode; //!< error code from some commands uint8_t antennaPower; //!< antenna power level uint8_t m_LastCMD; //!< last sent command - + public: static const uint8_t MIFARE_ULTRALIGHT = 1; static const uint8_t MIFARE_1K = 2; @@ -81,7 +88,7 @@ class SM130 { static const uint8_t CMD_HALT_TAG = 0x93; static const uint8_t CMD_SET_BAUD = 0x94; static const uint8_t CMD_SLEEP = 0x96; - + /** * Instanciates a SM130 object * @@ -94,12 +101,12 @@ class SM130 { * SM130 object destructor */ ~SM130 (); - + /** * Get the firmware version string. */ const char* getFirmwareVersion (); - + /** * Checks for availability of a valid response packet. * @@ -109,12 +116,12 @@ class SM130 { * @returns true if a valid response packet is available */ uint8_t available (); - + /** * Returns the packet length, excluding checksum */ uint8_t getPacketLength () { return this->m_Data[0]; }; - + /** * Returns the last executed command */ @@ -131,14 +138,14 @@ class SM130 { std::string m_name; mraa_gpio_context m_resetPinCtx; mraa_gpio_context m_dataReadyPinCtx; - + int m_i2cAddr; int m_bus; mraa_i2c_context m_i2Ctx; - + void arrayToHex (char *s, uint8_t array[], uint8_t len); char toHex (uint8_t b); - + uint16_t i2cRecievePacket (uint32_t len); mraa_result_t i2cTransmitPacket (uint32_t len); mraa_result_t sendCommand (uint8_t cmd); diff --git a/src/st7735/st7735.h b/src/st7735/st7735.h index f1d50eb2..bc342b82 100644 --- a/src/st7735/st7735.h +++ b/src/st7735/st7735.h @@ -493,11 +493,17 @@ const unsigned char font[] = { 0x00, 0x00, 0x00, 0x00, 0x00 }; +/** + * @brief st7735 lcd display library + * @defgroup st7735 libupm-st7735 + */ + /** * @brief C++ API for ST7735 SPI LCD module * * This file defines the ST7735 C++ interface for libst7735 * + * @ingroup st7735 * @snippet st7735.cxx Interesting */ class ST7735 : public GFX { diff --git a/src/stepmotor/stepmotor.h b/src/stepmotor/stepmotor.h index 61af2144..418dfe41 100644 --- a/src/stepmotor/stepmotor.h +++ b/src/stepmotor/stepmotor.h @@ -41,11 +41,17 @@ namespace upm { +/** + * @brief Stepper motor library + * @defgroup stepper libupm-stepper + */ + /** * @brief C++ API for StepMotor Drivers * * This file defines the stepmotor C++ interface for libstepmotor * + * @ingroup stepmotor * @snippet stepmotor.cxx Interesting */ class StepMotor { diff --git a/src/tcs3414cs/tcs3414cs.h b/src/tcs3414cs/tcs3414cs.h index 933a9ffc..b627490f 100644 --- a/src/tcs3414cs/tcs3414cs.h +++ b/src/tcs3414cs/tcs3414cs.h @@ -104,11 +104,17 @@ typedef struct { uint16_t clr; } tcs3414sc_rgb_t; +/** + * @brief tcs3414cs color sensor library + * @defgroup tcs3414cs libupm-tcs3414cs + */ + /** * @brief C++ API for TCS3414CS chip (Color sensor) * * This file defines the TCS3414CS C++ interface for libtcs3414cs * + * @snippet tcs3414cs-example.cxx Interesting */ class TCS3414CS { public: diff --git a/src/th02/th02.h b/src/th02/th02.h index 0bb9fec1..68532576 100644 --- a/src/th02/th02.h +++ b/src/th02/th02.h @@ -49,13 +49,18 @@ namespace upm { +/** + * @brief th02 temperature & humidity sensor library + * @defgroup th02 libupm-th02 + */ + /** * @brief C++ API for TH02 chip (Temperature and Humidity Sensor Pro) * * This file defines the TH02 C++ interface for libth02 * + * @ingroup th02 * @snippet th02-example.cxx Interesting - * */ class TH02 { public: diff --git a/src/tm1637/tm1637.h b/src/tm1637/tm1637.h index 7e52582c..d60a30f7 100644 --- a/src/tm1637/tm1637.h +++ b/src/tm1637/tm1637.h @@ -46,11 +46,17 @@ namespace upm { +/** + * @brief tm1637 7-segment screen library + * @defgroup tm1637 libupm-tm1637 + */ + /** * @brief C++ API for Seven segments screen * * This file defines the TM1637 C++ interface for lib4digitdisplay * + * @ingroup tm1637 * @snippet 4digitdisplay.cxx Interesting * * A