docs: final batch of header files reviewed

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
This commit is contained in:
VadimPopov 2015-08-10 18:53:31 +03:00 committed by Mihai Tudor Panu
parent 04edb9be04
commit 1fe9b9eb1d
53 changed files with 1182 additions and 1191 deletions

View File

@ -89,7 +89,7 @@ class AM2315 {
AM2315 (int bus, int devAddr=AM2315_I2C_ADDRESS);
/**
* AM2315 object destructor; basicaly, it closes the I2C connection.
* AM2315 object destructor; basically, it closes the I2C connection.
*/
~AM2315 ();

View File

@ -86,7 +86,7 @@ class ECS1030 {
ECS1030 (uint8_t pinNumber);
/**
* ECS1030 object destructor; basicaly, it closes the GPIO.
* ECS1030 object destructor; basically, it closes the GPIO.
*/
~ECS1030 ();

View File

@ -337,7 +337,7 @@ namespace upm {
bool setPowerMode(PM_BITS_T pm);
/**
* Enables one or more of the 3 axes. The arguement is a bitmask
* Enables one or more of the 3 axes. The argument is a bitmask
* composed of REG1_XEN, REG1_YEN, and/or REG1_ZEN corresponding to
* the axes you want enabled.
*

View File

@ -56,21 +56,21 @@ namespace upm {
* @web http://www.seeedstudio.com/wiki/Grove_-_NFC_Tag
* @con i2c
*
* @brief C++ API for the M24LR64E based Grove NFC Tag
* @brief C++ API for the M24LR64E-based Grove NFC Tag
*
* The Grove NFC tag is, in essence, an 8KB EEPROM that can be written
* to or read from using I2C and NFC equipped devices.
* Grove NFC tag is an 8KB electrically erasable programmable read-only memory (EEPROM)
* that can be written to or read from using I2C and NFC-equipped devices.
*
* The USER mode (default) allows read and write access to all 8KB
* The user mode (default) allows read and write access to all 8KB
* of space, provided the sector security status (SSS) allows it.
* The ROOT mode allows modification of the SSS data and other
* The root mode allows modification of the SSS data and other
* information, provided the proper password is submitted. The
* default password for a new tag is 0x00000000. See the datasheet
* for much more detailed information.
* for more details.
*
* The Seeed Studio wiki page for this device includes a link to an
* Android application that can be used to also read and write the
* device via NFC, as well as set the NFC passwords, which cannot be
* The Seeed Studio* wiki page for this device includes a link to an
* Android* application that can be used to also read and write the
* device via NFC, as well as set NFC passwords, which cannot be
* done via I2C.
*
* @image html m24lr64e.jpg
@ -92,12 +92,12 @@ namespace upm {
static const unsigned int I2C_WRITE_TIME = 5; // 5ms
/**
* M24LR64E addresses, accessable only in root mode
* M24LR64E addresses, accessible only in the root mode
*/
typedef enum {
I2C_PASSWORD_ADDR = 2304,
RF_PASSWORD_1_ADDR = 2308, // RF pwds not available in
RF_PASSWORD_2_ADDR = 2312, // i2c access modes
RF_PASSWORD_2_ADDR = 2312, // I2C access modes
RF_PASSWORD_3_ADDR = 2316,
DSFID_ADDR = 2320, // 1 byte
AFI_ADDR = 2321, // 1 byte
@ -110,8 +110,8 @@ namespace upm {
} M24LR64E_ADDR_T;
enum AccessMode {
USER_MODE = 0x0, // offer simple read/write access right
ROOT_MODE = 0x1 // offer password change access right
USER_MODE = 0x0, // offers simple read/write access right
ROOT_MODE = 0x1 // offers password change access right
};
enum SectorAccessRight {
@ -141,39 +141,39 @@ namespace upm {
};
/**
* m24lr64e constructor
* M24LR64E constructor
*
* @param bus i2c bus to use
* @param mode the access mode (user or root) to use
* @param bus I2C bus to use
* @param mode Access mode (user or root) to use
*/
M24LR64E(int bus, AccessMode mode = USER_MODE);
/**
* M24LR64E Destructor
* M24LR64E destructor
*/
~M24LR64E();
/**
* submit an i2c access password
* Submits an I2C access password
*
* @param passwd the 4-byte access password
* @param passwd 4-byte access password
*/
bool submitPasswd(uint32_t passwd);
/**
* write a new i2c password
* Writes a new I2C password
*
* @param passwd the 4-byte access password
* @param passwd 4-byte access password
*/
bool writePasswd(uint32_t passwd);
/**
* Set the protection bit for a sector. Must be in ROOT mode
* Sets a protection bit for a sector. Must be in the root mode
*
* @param sectorNumber the sector whose protection you are modifying
* @param protectEnable true if you are enabling protection
* @param accessRight the access rights to set
* @param passwd the password number to enable, if any
* @param sectorNumber Sector whose protection you are modifying
* @param protectEnable True if you are enabling protection
* @param accessRight Access rights to set
* @param passwd Password number to enable, if any
*/
void sectorProtectConfig(unsigned int sectorNumber,
bool protectEnable,
@ -181,88 +181,88 @@ namespace upm {
SectorSelectPassWd passwd);
/**
* Clear the sector protection bits. Must be in ROOT mode.
* Clears sector protection bits. Must be in the root mode.
*/
void clearSectorProtect(void);
/**
* Set or clear the Sector Security Status Lock bit for a sector.
* Must be in ROOT mode.
* Sets or clears a sector security status lock bit for a sector.
* Must be in the root mode.
*
* @param sectorNumber the sector who's SSS you want to modify
* @param sockEnable true r false to set or clear the bit
* @param sectorNumber Sector whose SSS you want to modify
* @param sockEnable True to set the bit, false to clear it
*/
void sectorWriteLockBit(unsigned int sectorNumber,
bool sockEnable);
/**
* return the Data Storage Familiy Identifier
* Must be in ROOT mode.
* Returns a data storage family identifier (DSFID)
* Must be in the root mode.
*
* @return the DSFID
* @return DSFID
*/
uint8_t getDSFID();
/**
* return the Application Family Identifier
* Must be in ROOT mode.
* Returns an application family identifier (AFI)
* Must be in the root mode.
*
* @return the AFI
* @return AFI
*/
uint8_t getAFI();
/**
* return the Unique ID.
* Must be in ROOT mode.
* Returns a unique ID.
* Must be in the root mode.
*
* @param buf buffer to hold returned UID. Must be UID_LENGTH bytes.
* @param buf Buffer to hold the returned UID. Must be UID_LENGTH bytes.
*/
void getUID(uint8_t* buf);
/**
* return the memory size
* Must be in ROOT mode.
* Returns the memory size
* Must be in the root mode.
*
* @return the amount of memory present
* @return Amount of memory present
*/
uint32_t getMemorySize();
/**
* set all memory to 0, if permissions allow
* Sets all memory to 0, if permissions allow
*/
void clearMemory();
/**
* write a byte to EEPROM
* Writes a byte to the EEPROM
*
* @param address address to write to
* @param data data to write
* @param address Address to write to
* @param data Data to write
*/
void writeByte(unsigned int address, uint8_t data);
/**
* write bytes to EEPROM
* Writes bytes to the EEPROM
*
* @param address address to write to
* @param data data to write
* @param data length of data buffer
* @param address Address to write to
* @param data Data to write
* @param data Length of the data buffer
*/
void writeBytes(unsigned int address, uint8_t* buf, unsigned int len);
/**
* read a byte from EEPROM
* Reads a byte from the EEPROM
*
* @param address address to read from
* @return data value read
* @param address Address to read from
* @return data Value read
*/
uint8_t readByte(unsigned int address);
/**
* read multiple bytes from EEPROM
* Reads multiple bytes from the EEPROM
*
* @param address address to read from
* @param buffer buffer to store data
* @param len number of bytes to read
* @param address Address to read from
* @param buffer Buffer to store data
* @param len Number of bytes to read
*/
void readBytes(unsigned int address, uint8_t* buf, unsigned int len);

View File

@ -34,7 +34,7 @@
namespace upm {
/**
* @brief MAX31723 temperature sensor library
* @brief MAX31723 Temperature Sensor library
* @defgroup max31723 libupm-max31723
* @ingroup maxim spi temperature
*/
@ -46,11 +46,11 @@ namespace upm {
* @man maxim
* @con spi
*
* @brief API for MAX31723 chip (Temperature Sensor)
* @brief API for the MAX31723 Temperature Sensor
*
* The Maxim Integrated
* Maxim Integrated*
* [MAX31723](http://datasheets.maximintegrated.com/en/ds/MAX31722-MAX31723.pdf)
* is a Low-Voltage 3-Wire/SPI Temperature Sensor controller. This module was
* is a low-voltage 3-wire/SPI temperature sensor controller. This module was
* tested on the Maxim Integrated [MAX31732PMB1 PMOD
* module](http://datasheets.maximintegrated.com/en/ds/MAX31723PMB1.pdf) from
* the analog PMOD kit.
@ -67,25 +67,25 @@ class MAX31723 {
static const uint8_t B_CONT_READING = 0x00;
/**
* Instanciates a MAX31723 object
* Instantiates an MAX31723 object
*
* @param bus number of used bus
* @param devAddr addres of used i2c device
* @param bus Number of the used bus
* @param devAddr Address of the used I2C device
*/
MAX31723 (int csn);
/**
* MAXDS3231M object destructor, basicaly it close i2c connection.
* MAXDS3231M object destructor; basically, it closes the I2C connection.
*/
~MAX31723 ();
/**
* Get on board temperature.
* Gets the on-board temperature.
*/
short getTemperature ();
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{
@ -100,12 +100,12 @@ class MAX31723 {
void writeRegister (uint8_t reg, uint8_t data);
/**
* Set chip select pin LOW
* Sets the chip select pin to LOW
*/
mraa_result_t CSOn ();
/**
* Set chip select pin HIGH
* Sets the chip select pin to HIGH
*/
mraa_result_t CSOff ();
};

View File

@ -30,7 +30,7 @@
namespace upm {
/**
* @brief MAX31855 thermocouple library
* @brief MAX31855 Thermocouple library
* @defgroup max31855 libupm-max31855
* @ingroup maxim adafruit spi other
*/
@ -42,12 +42,12 @@ namespace upm {
* @man maxim adafruit
* @con spi
*
* @brief API for MAX31855 Thermocouple Amplifier
* @brief API for the MAX31855 Thermocouple Amplifier
*
* The Maxim Integrated
* 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
* 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.
@ -58,10 +58,10 @@ namespace upm {
class MAX31855 {
public:
/**
* Instanciates a MAX31855 object
* Instantiates an MAX31855 object
*
* @param bus The spi bus to use
* @param cs The chip select pin
* @param bus SPI bus to use
* @param cs Chip select pin
*/
MAX31855(int bus, int cs);
@ -71,9 +71,9 @@ class MAX31855 {
~MAX31855();
/**
* Get the distance from the sensor
* Gets the distance from the sensor
*
* @return value in degrees celcius
* @return Value in Celsius
*/
//! [Interesting]
double getTemp();

View File

@ -38,7 +38,7 @@
#define PRXDATA 0x15 // proximity sensor data
#define ALS_UP_THRESH_HIGH 0x06 // ALS Interrupt Threshold Registers High
#define ALS_UP_THRESH_LOW 0x07 // ALS Interrupt Threshold Registers LOW
#define ALS_UP_THRESH_LOW 0x07 // ALS Interrupt Threshold Registers Low
#define ALS_LO_THRESH_HIGH 0x08 // ALS Interrupt Threshold Registers High
#define ALS_LO_THRESH_LOW 0x09 // ALS Interrupt Threshold Registers Low
#define TPTR 0x0A // ALS/PROX Threshold Persist Timer Register
@ -53,7 +53,7 @@
namespace upm {
/**
* @brief MAX44000 proximity sensor library
* @brief MAX44000 Proximity Sensor library
* @defgroup max44000 libupm-max44000
* @ingroup maxim i2c light
*/
@ -65,11 +65,11 @@ namespace upm {
* @man maxim
* @con i2c
*
* @brief API for MAX44000 chip (Ambient and Infrared Proximity Sensor)
* @brief API for the MAX44000 Ambient and Infrared Proximity Sensor
*
* The Maxim Integrated
* Maxim Integrated*
* [MAX44000](http://datasheets.maximintegrated.com/en/ds/MAX44000.pdf)
* is Ambient and Infrared Proximity Sensor. This module was tested on the
* is an 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
@ -80,29 +80,29 @@ namespace upm {
class MAX44000 {
public:
/**
* Instanciates a MAX44000 object
* Instantiates an MAX44000 object
*
* @param bus number of used bus
* @param devAddr addres of used i2c device
* @param bus Number of the used bus
* @param devAddr Address of the used I2C device
*/
MAX44000 (int bus, int devAddr);
/**
* MAX44000 object destructor, basicaly it close i2c connection.
* MAX44000 object destructor; basically, it closes the I2C connection.
*/
~MAX44000 ();
/**
* Read the proximity value from the chip (based on ambient data).
* Reads the proximity value from the sensor (based on ambient data).
*/
uint16_t getProximity ();
/**
* Read the ambient value from the chip (based on ambient data).
* Reads the ambient value from the sensor (based on ambient data).
*/
uint16_t getAmbient ();
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{
@ -110,24 +110,24 @@ class MAX44000 {
}
/**
* Read one byte register
* Reads a one-byte register
*
* @param reg address of a register
* @param reg Address of the register
*/
uint8_t i2cReadReg_8 (int reg);
/**
* Read two bytes register
* Reads a two-byte register
*
* @param reg address of a register
* @param reg Address of the register
*/
uint16_t i2cReadReg_16 (int reg);
/**
* Write to one byte register
* Writes to a one-byte register
*
* @param reg address of a register
* @param value byte to be written
* @param reg Address of the register
* @param value Byte to be written
*/
mraa_result_t i2cWriteReg (uint8_t reg, uint8_t value);

View File

@ -34,7 +34,7 @@
namespace upm {
/**
* @brief MAX5487 digital potentiometer library
* @brief MAX5487 Digital Potentiometer library
* @defgroup max5487 libupm-max5487
* @ingroup maxim spi digipot
*/
@ -46,12 +46,12 @@ namespace upm {
* @man maxim
* @con spi
*
* @brief API for MAX5487 chip (SPI digital potentiometer)
* @brief API for the MAX5487 SPI Digital Potentiometer
*
* The Maxim Integrated
* Maxim Integrated*
* [MAX5487](http://datasheets.maximintegrated.com/en/ds/MAX5487-MAX5489.pdf)
* is a Dual, 256-Tap, Nonvolatile, SPI-Interface, Linear-Taper Digital
* Potentiometer. This module was tested on the Maxim Integrated [MAX5487PMB1
* is a dual, 256-tap, nonvolatile, SPI, linear-taper digital
* potentiometer. This module was tested on the Maxim Integrated [MAX5487PMB1
* PMOD module](http://datasheets.maximintegrated.com/en/ds/MAX5487PMB1.pdf)
* from the analog PMOD kit.
*
@ -63,9 +63,9 @@ class MAX5487 {
static const uint8_t R_WR_WIPER_B = 0x02;
/**
* Instanciates a MAX5487 object
* Instantiates an MAX5487 object
*
* @param csn to use if any, by default will use ICSP CS (-1)
* @param csn CSN to use, if any; by default, ICSP CS (-1) is used
*/
MAX5487 (int csn = -1);
@ -75,17 +75,17 @@ class MAX5487 {
~MAX5487 ();
/**
* Set wiper for port A.
* Sets a wiper for port A.
*/
void setWiperA (uint8_t wiper);
/**
* Set wiper for port B.
* Sets a wiper for port B.
*/
void setWiperB (uint8_t wiper);
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{
@ -97,12 +97,12 @@ class MAX5487 {
mraa_gpio_context m_csnPinCtx;
/**
* Set chip select pin LOW
* Sets the chip select pin to LOW
*/
mraa_result_t CSOn ();
/**
* Set chip select pin HIGH
* Sets the chip select pin to HIGH
*/
mraa_result_t CSOff ();
};

View File

@ -63,7 +63,7 @@ struct Time3231 {
};
/**
* @brief MAXDS3231M proximity sensor library
* @brief MAXDS3231M Proximity Sensor library
* @defgroup maxds3231m libupm-maxds3231m
* @ingroup maxim i2c light
*/
@ -75,48 +75,48 @@ struct Time3231 {
* @man maxim
* @con i2c
*
* @brief API for MAXDS3231M chip (I2C Real-Time Clock)
* @brief API for the MAXDS3231M I2C Real-Time Clock
*
* This file defines the API for maxds3231m
* This file defines the API for MAXDS3231M
*
* @snippet maxds3231m.cxx Interesting
*/
class MAXDS3231M {
public:
/**
* Instanciates a MAXDS3231M object
* Instantiates an MAXDS3231M object
*
* @param bus number of used bus
* @param devAddr addres of used i2c device
* @param bus Number of the used bus
* @param devAddr Address of the used I2C device
*/
MAXDS3231M (int bus=0, int devAddr=0x68);
/**
* MAXDS3231M object destructor, basicaly it close i2c connection.
* MAXDS3231M object destructor; basically, it closes the I2C connection.
*/
~MAXDS3231M ();
/**
* Set date and time on the chip.
* Sets the date and time on the chip.
*
* @param time staracture
* @param time Time structure
*/
void setDate (Time3231 &time);
/**
* Get date and time located on the chip.
* Gets the date and time from the chip.
*
* @param time staracture
* @param time Time structure
*/
bool getDate (Time3231 &time);
/**
* Get on board temperature.
* Gets the on-board temperature.
*/
uint16_t getTemperature ();
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{

View File

@ -32,7 +32,7 @@
namespace upm {
/**
* @brief MaxSonar-EZ family of ultrasonic rangers library
* @brief MaxSonar-EZ Family of Ultrasonic Rangers library
* @defgroup maxsonarez libupm-maxsonarez
* @ingroup seeed analog sound
*/
@ -47,20 +47,20 @@ namespace upm {
* @web https://www.sparkfun.com/products/8502
* @con analog
*
* @brief API for the LV-MaxSonar-EZ family of ultrasonic rangers
* @brief API for the LV-MaxSonar-EZ Family of Ultrasonic Rangers
*
* This sensor family returns an analog voltage corresponding to the
* distance of an object from the sensor in inches. It has a
* resolution of about 9.7 millivolts per inch with a 5.0 AREF. The
* differences between the various versions (EZ1, EZ2, etc) are
* Sensors of this family return an analog voltage corresponding to the
* distance of an object from the sensor in inches. They have a
* resolution of about 9.7 millivolts per inch with an analog reference voltage of 5.0 V. The
* differences between various versions (EZ1, EZ2, etc.) are
* related to the narrowness of the beam angle.
*
* This class supports these sensors with an analog input only.
*
* This driver was developed using an LV-MaxSonar-EZ3.
* This driver was developed using an LV-MaxSonar-EZ3 ultrasonic ranger.
*
* @image html maxsonarez.jpg
* <br><em>LV-MaxSonar-EZ Ultrasonic Ranger image provided by SparkFun under
* <br><em>LV-MaxSonar-EZ Ultrasonic Ranger image provided by SparkFun* under
* <a href=https://creativecommons.org/licenses/by-nc-sa/3.0/>
* CC BY-NC-SA-3.0</a>.</em>
*
@ -71,22 +71,22 @@ namespace upm {
public:
/**
* MAXSONAREZ sensor constructor
* MAXSONAREZ constructor
*
* @param pin analog pin to use
* @param aref the analog reference voltage, default: 5.0
* @param pin Analog pin to use
* @param aref Analog reference voltage; default is 5.0 V
*/
MAXSONAREZ(int pin, float aref=5.0);
/**
* MAXSONAREZ Destructor
* MAXSONAREZ destructor
*/
~MAXSONAREZ();
/**
* get the distance to the object in inches
* Gets the distance to the object in inches
*
* @return the distance to the object in inches
* @return Distance to the object in inches
*/
int inches();
@ -95,7 +95,7 @@ namespace upm {
float m_aref;
// ADC resolution
int m_aRes;
// computed Volts per Inch
// computed volts per inch
float m_vI;
};
}

View File

@ -48,7 +48,7 @@ const uint8_t MHZ16_END = 0x7e;
namespace upm {
/**
* @brief MHZ16 Serial CO2 sensor library
* @brief MHZ16 Serial CO2 Sensor library
* @defgroup mhz16 libupm-mhz16
* @ingroup seeed uart gaseous
*/
@ -66,8 +66,8 @@ namespace upm {
*
* This class implements support for the Grove CO2 sensor.
*
* It's CO2 detection ranges from 0PPM to 2000PPM. It requires a
* 2-3 minute warm up time before reporting valid data.
* Its CO2 detection range is 0-2,000 ppm. It requires a
* 2-3 minute warm-up time before reporting valid data.
*
* @image html mhz16.jpg
* @snippet mhz16.cxx Interesting
@ -77,75 +77,75 @@ namespace upm {
/**
* MHZ16 module constructor
* MHZ16 constructor
*
* @param uart default uart to use (0 or 1)
* @param uart Default UART to use (0 or 1)
*/
MHZ16(int uart);
/**
* MHZ16 module Destructor
* MHZ16 destructor
*/
~MHZ16();
/**
* Check to see if there is data available for reading
* Checks to see if there is data available for reading
*
* @param millis number of milliseconds to wait, 0 means no wait.
* @return true if there is data available to be read
* @param millis Number of milliseconds to wait; 0 means no waiting.
* @return True if there is data available for reading
*/
bool dataAvailable(unsigned int millis);
/**
* read any available data into a user-supplied buffer. Note, the
* call will block until data is available to be read. Use
* Reads any available data in a user-supplied buffer. Note: the
* call blocks until data is available to be read. Use
* dataAvailable() to determine whether there is data available
* beforehand, to avoid blocking.
*
* @param buffer the buffer to hold the data read
* @param len the length of the buffer
* @return the number of bytes read
* @param buffer Buffer to hold the data read
* @param len Length of the buffer
* @return Number of bytes read
*/
int readData(char *buffer, size_t len);
/**
* write the data in buffer to the device
* Writes the data in the buffer to the device
*
* @param buffer the buffer to hold the data read
* @param len the length of the buffer
* @return the number of bytes written
* @param buffer Buffer to hold the data read
* @param len Length of the buffer
* @return Number of bytes written
*/
int writeData(char *buffer, size_t len);
/**
* setup the proper tty i/o modes and the baudrate. The default
* baud rate is 9600 (B9600).
* Sets up proper tty I/O modes and the baud rate. The default
* baud rate is 9,600 (B9600).
*
* @param baud the desired baud rate.
* @return true if successful
* @param baud Desired baud rate.
* @return True if successful
*/
bool setupTty(speed_t baud=B9600);
/**
* verify the packet header and indicate it's validity
* Verifies the packet header and indicates its validity
*
* @param pkt the packet to check
* @return true if valid checksum, false otherwise
* @param pkt Packet to check
* @return True if the checksum is valid, false otherwise
*/
bool verifyPacket(unsigned char *pkt);
/**
* Query the sensor and return gas (CO2) concentration and
* Queries the sensor and returns gas (CO2) concentration and
* temperature data.
*
* @param gas the returned gas concentration
* @param temp the returned temperature in celsius
* @return true if successful
* @param gas Returned gas concentration
* @param temp Returned temperature in Celsius
* @return True if successful
*/
bool getData(int *gas, int *temp);
/**
* Set the zero point of the sensor
* Sets the zero point of the sensor
*
*/
void calibrateZeroPoint();

View File

@ -36,7 +36,7 @@ struct thresholdContext {
namespace upm {
/**
* @brief Analog microphone library
* @brief Analog Microphone library
* @defgroup mic libupm-mic
* @ingroup seeed pwm sound gsk
*/
@ -51,9 +51,9 @@ namespace upm {
* @con pwm
* @kit gsk
*
* @brief API for Microphone
* @brief API for the Analog Microphone
*
* This file defines the Microphone Analog sensor
* This file defines the Analog Microphone sensor
*
* @image html mic.jpg
* @snippet mic.cxx Interesting
@ -61,43 +61,43 @@ namespace upm {
class Microphone {
public:
/**
* Instanciates a Microphone object
* Instantiates a Microphone object
*
* @param micPin pin where microphone is connected
* @param micPin Pin where the microphone is connected
*/
Microphone(int micPin);
/**
* MAX31723 object destructor
* Microphone object destructor
*/
~Microphone();
/**
* Get samples from microphone according to provided window and
* Gets samples from the microphone according to the provided window and
* number of samples
*
* @param freqMS time between each sample (in microseconds)
* @param numberOfSamples number of sample to sample for this window
* @param buffer bufer with sampled data
* @param freqMS Time between each sample (in microseconds)
* @param numberOfSamples Number of sample to sample for this window
* @param buffer Buffer with sampled data
*/
int getSampledWindow (unsigned int freqMS, unsigned int numberOfSamples, uint16_t * buffer);
/**
* Given sampled buffer this method will return TRUE/FALSE if threshold
* was reached
* Given the sampled buffer, this method returns TRUE/FALSE if threshold
* is reached
*
* @param ctx threshold context
* @param threshold sample threshold
* @param buffer buffer with samples
* @param len bufer len
* @param ctx Threshold context
* @param threshold Sample threshold
* @param buffer Buffer with samples
* @param len Buffer length
*/
int findThreshold (thresholdContext* ctx, unsigned int threshold, uint16_t * buffer, unsigned int len);
/**
*
* Print running average of threshold context
* Prints a running average of the threshold context
*
* @param ctx threshold context
* @param ctx Threshold context
*/
void printGraph (thresholdContext* ctx);

View File

@ -53,7 +53,7 @@
namespace upm {
/**
* @brief MLX90614 temperature sensor library
* @brief MLX90614 Temperature Sensor library
* @defgroup mlx90614 libupm-mlx90614
* @ingroup generic i2c temperature
*/
@ -65,7 +65,7 @@ namespace upm {
* @man generic
* @con i2c
*
* @brief API for MLX90614
* @brief API for the MLX90614 Temperature Sensor
*
* This file defines the MLX90614 interface for libmlx90614
*
@ -76,39 +76,39 @@ class MLX90614 {
public:
/**
* Instanciates a MLX90614 object
* Instantiates an MLX90614 object
*
* @param bus number of used bus
* @param devAddr addres of used i2c device
* @param bus Number of the used bus
* @param devAddr Address of the used I2C device
*/
MLX90614 (int bus=0, int devAddr=0x5A);
/**
* MLX90614 object destructor, basicaly it close i2c connection.
* MLX90614 object destructor; basically, it closes the I2C connection.
*/
~MLX90614 ();
/**
* Read object temperature in Fahrenheit
* Reads the object temperature in Fahrenheit
*/
float readObjectTempF(void);
/**
* Read ambient temperature in Fahrenheit
* Reads the ambient temperature in Fahrenheit
*/
float readAmbientTempF(void);
/**
* Read object temperature in Celsius
* Reads the object temperature in Celsius
*/
float readObjectTempC(void);
/**
* Read ambient temperature in Celsius
* Reads the ambient temperature in Celsius
*/
float readAmbientTempC(void);
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{

View File

@ -64,9 +64,9 @@
#define MMA7455_TW 0x1E // Read/Write, Time Window for Second Pulse Value
#define MMA7455_RESERVED2 0x1F // Reserved
// Defines for the bits, to be able to change
// between bit number and binary definition.
// By using the bit number, programming the MMA7455
// Defines for the bits to be able to change
// between the bit number and the binary definition.
// By using the bit number, programming MMA7455
// is like programming an AVR microcontroller.
// But instead of using "(1<<X)", or "_BV(X)",
// the Arduino "bit(X)" is used.
@ -150,7 +150,7 @@ union accelData {
#define BIT(n) (1<<n)
/**
* @brief MMA7455 accelerometer library
* @brief MMA7455 Accelerometer library
* @defgroup mma7455 libupm-mma7455
* @ingroup generic i2c accelerometer
*/
@ -162,7 +162,7 @@ union accelData {
* @man generic
* @con i2c
*
* @brief API for MMA7455 chip (accelerometer)
* @brief API for the MMA7455 Accelerometer
*
* This file defines the MMA7455 interface for libmma7455
*
@ -172,20 +172,20 @@ union accelData {
class MMA7455 {
public:
/**
* Instanciates a MMA7455 object
* Instantiates an MMA7455 object
*
* @param bus number of used bus
* @param devAddr addres of used i2c device
* @param bus Number of the used bus
* @param devAddr Address of the used I2C device
*/
MMA7455 (int bus=0, int devAddr=0x1D);
/**
* MMA7455 object destructor, basicaly it close i2c connection.
* MMA7455 object destructor; basically, it closes the I2C connection.
*/
~MMA7455 ();
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{
@ -193,34 +193,34 @@ class MMA7455 {
}
/**
* Calibrate the sensor
* Calibrates the sensor
*/
mraa_result_t calibrate ();
/**
* Read X, Y and Z acceleration data
* Reads X-axis, Y-axis, and Z-axis acceleration data
*
* @param ptrX X axis
* @param ptrY Y axis
* @param ptrZ Z axis
* @param ptrX X-axis
* @param ptrY Y-axis
* @param ptrZ Z-axis
*/
mraa_result_t readData (short * ptrX, short * ptrY, short * ptrZ);
/**
*
*
* @param reg register address
* @param buf register data buffer
* @param size buffer size
* @param reg Register address
* @param buf Register data buffer
* @param size Buffer size
*/
int ic2ReadReg (unsigned char reg, unsigned char * buf, unsigned char size);
/**
*
*
* @param reg register address
* @param buf register data buffer
* @param size buffer size
* @param reg Register address
* @param buf Register data buffer
* @param size Buffer size
*/
mraa_result_t ic2WriteReg (unsigned char reg, unsigned char * buf, unsigned char size);

View File

@ -33,7 +33,7 @@
namespace upm {
/**
* @brief MMA7660 I2C 3-axis digital accelerometer library
* @brief MMA7660 I2C 3-Axis Digital Accelerometer library
* @defgroup mma7660 libupm-mma7660
* @ingroup seeed i2c gpio accelerometer
*/
@ -46,12 +46,12 @@ namespace upm {
* @man seeed
* @con i2c gpio
*
* @brief API for the MMA7660 I2C 3-axis digital accelerometer
* @brief API for the MMA7660 I2C 3-Axis Digital Accelerometer
*
* UPM module for the MMA7660 I2C 3-axis digital accelerometer.
* This device supports a variety of capabilities, including the
* generation of interrupts for various conditions, tilt and basic
* gesture detection, and of course X/Y/Z measurements of g-forces
* gesture detection, and X/Y/Z-axis measurements of g-forces
* being applied (up to 1.5g)
*
* This module was tested with the Grove 3-Axis Digital
@ -72,7 +72,7 @@ namespace upm {
REG_SPCNT = 0x05, // sleep count
REG_INTSU = 0x06, // Interrupt setup
REG_MODE = 0x07, // operating mode
REG_SR = 0x08, // auto wake/sleep, SPS and debounce
REG_SR = 0x08, // auto-wake/sleep, SPS, and debounce
REG_PDET = 0x09, // tap detection
REG_PD = 0x0a // tap debounce count
// 0x0b-0x1f reserved
@ -83,7 +83,7 @@ namespace upm {
INTR_FBINT = 0x01, // front/back
INTR_PLINT = 0x02, // up/down/right/left
INTR_PDINT = 0x04, // tap detection
INTR_ASINT = 0x08, // exit autosleep
INTR_ASINT = 0x08, // exit auto-sleep
INTR_GINT = 0x10, // measurement intr
INTR_SHINTZ = 0x20, // shake on Z
INTR_SHINTY = 0x40, // shake on Y
@ -96,7 +96,7 @@ namespace upm {
MODE_TON = 0x04, // determines mode with MODE_MODE
MODE_AWE = 0x08, // auto-wake
MODE_ASE = 0x10, // auto-sleep
MODE_SCPS = 0x20, // sleep count pre-scale
MODE_SCPS = 0x20, // sleep count prescale
MODE_IPP = 0x40, // intr out push-pull/open drain
MODE_IAH = 0x80 // intr active low/high
} MMA7660_MODE_T;
@ -115,7 +115,7 @@ namespace upm {
LP_VERT_UP = 0x06
} MMA7660_TILT_LP_T;
// sample rate (auto sleep) values
// sample rate (auto-sleep) values
typedef enum { AUTOSLEEP_120 = 0x00,
AUTOSLEEP_64 = 0x01,
AUTOSLEEP_32 = 0x02,
@ -127,151 +127,151 @@ namespace upm {
} MMA7660_AUTOSLEEP_T;
/**
* mma7660 constructor
* MMA7660 constructor
*
* @param bus i2c bus to use
* @param address the address for this sensor; default is 0x55
* @param bus I2C bus to use
* @param address Address for this sensor; default is 0x55
*/
MMA7660(int bus, uint8_t address = MMA7660_DEFAULT_I2C_ADDR);
/**
* MMA7660 Destructor
* MMA7660 destructor
*/
~MMA7660();
/**
* Write byte value into register
* Writes a byte value into a register
*
* @param reg register location to write into
* @param byte byte to write
* @return true if successful
* @param reg Register location to write into
* @param byte Byte to write
* @return True if successful
*/
bool writeByte(uint8_t reg, uint8_t byte);
/**
* Read byte value from register
* Reads a byte value from a register
*
* @param reg register location to read from
* @return value at specified register
* @param reg Register location to read from
* @return Value in a specified register
*/
uint8_t readByte(uint8_t reg);
/**
* Read current value of conversion
* Reads the current value of conversion
*
* @param x returned x value
* @param y returned y value
* @param z returned z value
* @param x Returned x value
* @param y Returned y value
* @param z Returned z value
*/
void getRawValues(int *x, int *y, int *z);
/**
* Get the computed acceleration
* Gets the computed acceleration
*
* @param ax returned computed acceleration of X axis
* @param ay returned computed acceleration of Y axis
* @param az returned computed acceleration of Z axis
* @param ax Returned computed acceleration of the X-axis
* @param ay Returned computed acceleration of the Y-axis
* @param az Returned computed acceleration of the Z-axis
*/
void getAcceleration(float *ax, float *ay, float *az);
/**
* Read an axis, verifying it's validity. The value passed must
* Reads an axis, verifying its validity. The value passed must
* be one of REG_XOUT, REG_YOUT, or REG_ZOUT.
*
* @param axis axis to read
* @return axis value
* @param axis Axis to read
* @return Axis value
*/
int getVerifiedAxis(MMA7660_REG_T axis);
/**
* Read the tilt register, verifying it's validity.
* Reads the tilt register, verifying its validity
*
* @return tilt value
* @return Tilt value
*/
uint8_t getVerifiedTilt();
/**
* Put the device into active mode. In active mode, register
* write are not allowed. Place the device in Standby mode before
* Puts the device in the active mode. In this mode, register
* writes are not allowed. Place the device in the standby mode before
* attempting to write registers.
*
*/
void setModeActive();
/**
* Put the device into Standby (power saving) mode. Note, when in
* standby mode, there will be no valid data in the registers. In
* addition, the only way to write a register is to place the
* device in standby mode.
* Puts the device in the standby (power saving) mode. Note: when in
* the standby mode, there is no valid data in the registers. In
* addition, the only way to write a register is to put the
* device in the standby mode.
*
*/
void setModeStandby();
/**
* Read tilt BackFront bits
* Reads tiltBackFront bits
*
* The value returned will be one of the MMA7660_TILT_BF_T values
* The value returned is one of the MMA7660_TILT_BF_T values
*
* @return the bits corresponding to the BackFront tilt status
* @return Bits corresponding to the BackFront tilt status
*/
uint8_t tiltBackFront();
/**
* Read tilt LandscapePortrait bits
* Reads tiltLandscapePortrait bits
*
* The value returned will be one of the MMA7660_TILT_LP_T values
* The value returned is one of the MMA7660_TILT_LP_T values
*
* @return the bits corresponding to the LandscapePortrait tilt status
* @return Bits corresponding to the LandscapePortrait tilt status
*/
uint8_t tiltLandscapePortrait();
/**
* read the tilt Tap status
* Reads the tiltTap status
*
* @return true if a tap was detected
* @return True if a tap is detected
*/
bool tiltTap();
/**
* read the tilt Shake status
* Reads the tiltShake status
*
* @return true if a Shake was detected
* @return True if a shake is detected
*/
bool tiltShake();
/**
* Install an Interrupt Service Routine (ISR) to be called when
* Installs an interrupt service routine (ISR) to be called when
* an interrupt occurs
*
* @param pin gpio pin to use as interrupt pin
* @param fptr function pointer to function to be called on interrupt
* @param arg pointer to an object that will be supplied as an
* @param pin GPIO pin to use as the interrupt pin
* @param fptr Pointer to a function to be called on interrupt
* @param arg Pointer to an object to be supplied as an
* argument to the ISR.
*/
void installISR(int pin, void (*isr)(void *), void *arg);
/**
* Uninstall the previously installed Interrupt Service Routine (ISR)
* Uninstalls the previously installed ISR
*
*/
void uninstallISR();
/**
* Enable interrupt generation based on the passed interrupt bits.
* Enables interrupt generation based on passed interrupt bits.
* The bits are a bitmask of the requested MMA7660_INTR_T values.
* Note: The device must be in standby mode to set this register.
* Note: the device must be in the standby mode to set this register.
*
* @param ibits set the requested interrupt bits
* @return true if successful
* @param ibits Sets the requested interrupt bits
* @return True if successful
*/
bool setInterruptBits(uint8_t ibits);
/**
* Set the sampling rate of the sensor. The value supplied must
* Sets the sampling rate of the sensor. The value supplied must
* be one of the MMA7660_AUTOSLEEP_T values.
*
* @param sr one of the MMA7660_AUTOSLEEP_T values
* @return true if successful
* @param sr One of the MMA7660_AUTOSLEEP_T values
* @return True if successful
*/
bool setSampleRate(MMA7660_AUTOSLEEP_T sr);

View File

@ -56,7 +56,7 @@
namespace upm {
/**
* @brief MPL3115A2 atmospheric pressure library
* @brief MPL3115A2 Atmospheric Pressure Sensor library
* @defgroup mpl3115a2 libupm-mpl3115a2
* @ingroup freescale i2c pressure
*/
@ -69,12 +69,12 @@ namespace upm {
* @web http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MPL3115A2
* @con i2c
*
* @brief API for MPL3115A2 chip (Atmospheric Pressure Sensor)
* @brief API for the MPL3115A2 Atmospheric Pressure Sensor
*
* Freescale [MPL3115A2]
* Freescale Semiconductor* [MPL3115A2]
* (http://cache.freescale.com/files/sensors/doc/data_sheet/MPL3115A2.pdf)
* is a high precision, ultra-low power consumption pressure sensor. It has a
* range of between 50 and 110 kPa.
* is a high-precision, ultra-low power consumption pressure sensor. Its operating
* range is 50-110 kPa.
*
* @image html mpl3115a2.jpg
* @snippet mpl3115a2.cxx Interesting
@ -84,92 +84,92 @@ class MPL3115A2 {
/**
* Instantiates an MPL3115A2 object
*
* @param bus number of used bus
* @param devAddr address of used i2c device
* @param bus Number of the used bus
* @param devAddr Address of the used I2C device
* @param mode MPL3115A2 oversampling (6 = 64x)
*/
MPL3115A2(int bus, int devAddr=MPL3115A2_I2C_ADDRESS, uint8_t mode=6);
/**
* MPL3115A2 object destructor, basicaly it close i2c connection.
* MPL3115A2 object destructor; basically, it closes the I2C connection.
*/
~MPL3115A2();
/**
* Test the sensor and try to determine if operating by looking
* Tests the sensor and tries to determine if the sensor is operating by looking
* for small variations in the value
*/
int testSensor(void);
/**
* Perform a soft RESET of the MPL3115A2 device to ensure
* Performs a soft reset of the MPL3115A2 device to ensure
* it is in a known state. This function can be used to reset
* the min/max temperature and pressure values.
*/
int resetSensor(void);
/**
* Dump out the i2c register block to stdout
* Dumps out the I2C register block to stdout
*/
void dumpSensor(void);
/**
* Initiate a temp/pressure mesasurement and wait for function
* to complete. The temp and pressure registers can be read
* Initiates a temperature/pressure mesasurement and waits for the function
* to complete. Temperature and pressure registers can be read
* after this call.
*/
int sampleData(void);
/**
* Read a pressure value from the mpl3115a2 [Pa * 100]
* Reads the pressure value from MPL3115A2 [Pa * 100]
*
* @param reg base address of pressure register
* @param reg Base address of the pressure register
*/
int32_t getPressureReg(int reg);
/**
* Read a temperature value from the mpl3115a2 [degC * 1000]
* Reads the temperature value from MPL3115A2 [degC * 1000]
*
* @param reg base address of temperature register
* @param reg Base address of the temperature register
*/
int32_t getTempReg(int reg);
/**
* Read the current pressure value from the mpl3115a2 [Pa]
* Reads the current pressure value from MPL3115A2 [Pa]
*
* @param bSampleData Set non-zero to sample reading
* @param bSampleData Sets non-zero to a sample reading
*/
float getPressure(int bSampleData = true);
/**
* Read the current temperature value from the mpl3115a2 [degC]
* Reads the current temperature value from MPL3115A2 [degC]
*
* @param bSampleData Set non-zero to sample reading
* @param bSampleData Sets non-zero to a sample reading
*/
float getTemperature(int bSampleData = true);
/**
* Read the current pressure and using a known altitude calculate
* Reads the current pressure and, using a known altitude, calculates
* the sea level pressure value [Pa]
* This function should be preceeded by the sampleData() call
* This function should be preceded by the sampleData() call
*
* @param altitudeMeters Altitude in meters
*/
float getSealevelPressure(float altitudeMeters = 0.0);
/**
* Read the current pressure and using a known sea level pressure
* calculate the altitude value [m]
* This function should be preceeded by the sampleData() call
* Reads the current pressure and, using a known sea level pressure,
* calculates the altitude value [m]
* This function should be preceded by the sampleData() call
*
* @param sealevelPressure Current sea level pressure
*/
float getAltitude (float sealevelPressure = 101325.0);
/**
* Set the oversampling setting (ranges from 0 to 7). The
* Defines the oversampling setting (ranges from 0 to 7). The
* value represents 2^n samples (ranging from 1 to 128). The
* time to calculate the sample is approximately (2^n * 4 + 2) mS
* time to calculate a sample is approximately (2^n * 4 + 2) ms
*
* @param oversampling New oversampling value
*/
@ -181,60 +181,60 @@ class MPL3115A2 {
uint8_t getOversampling(void);
/**
* Read the maximum measured temperature [degC]
* Reads the maximum measured temperature [degC]
*/
float getTemperatureMax(void);
/**
* Read the minimum measured temperature [degC]
* Reads the minimum measured temperature [degC]
*/
float getTemperatureMin(void);
/**
* Read the maximum measured pressure [Pa]
* Reads the maximum measured pressure [Pa]
*/
float getPressureMax (void);
/**
* Read the minimum measured pressure [Pa]
* Reads the minimum measured pressure [Pa]
*/
float getPressureMin (void);
/**
* Convert temperature from degC*1000 to degF*1000
* Converts temperature from degC*1000 to degF*1000
*
* @param iTemp Temperature in degC
*/
float convertTempCtoF(float fTemp);
/**
* Convert pressure from Pa*100 to inHg*10000
* Converts pressure from Pa*100 to inHg*10000
* This is set for 15degC (Pa = 0.0002961 in Hg)
* TODO: Change function to add temp calibration
* TODO: Change the function to add temperature calibration
*
* @param iPressure Pressure in Pa
*/
float convertPaToinHg(float fPressure);
/**
* Write to one byte to i2c register
* Writes one byte to an I2C register
*
* @param reg address of a register
* @param value byte to be written
* @param reg Address of the register
* @param value Byte to be written
*/
mraa_result_t i2cWriteReg (uint8_t reg, uint8_t value);
/**
* Read two bytes from i2c registers
* Reads two bytes from an I2C register
*
* @param reg address of a register
* @param reg Address of the register
*/
uint16_t i2cReadReg_16 (int reg);
/**
* Read one byte register
* Reads a one-byte register
*
* @param reg address of a register
* @param reg Address of the register
*/
uint8_t i2cReadReg_8 (int reg);

View File

@ -31,7 +31,7 @@
namespace upm {
/**
* @brief MPR121 touch sensor library
* @brief MPR121 Touch Sensor library
* @defgroup mpr121 libupm-mpr121
* @ingroup seeed i2c touch tsk
*/
@ -46,7 +46,7 @@ namespace upm {
* @con i2c
* @kit tsk
*
* @brief API for the MPR121 I2C touch sensor
* @brief API for the MPR121 I2C Touch Sensor
*
* UPM module for the MPR121 touch sensor
*
@ -56,60 +56,60 @@ namespace upm {
class MPR121 {
public:
/**
* mpr121 touch sensor constructor
* MPR121 constructor
*
* @param bus i2c bus to use
* @param bus I2C bus to use
*/
MPR121(int bus, uint8_t address = MPR121_DEFAULT_I2C_ADDR);
/**
* MPR121 Destructor
* MPR121 destructor
*/
~MPR121();
/**
* Setup a default configuration, based on Application Note 3944
* Sets up a default configuration, based on Application Note 3944
* (AN3944):
* http://cache.freescale.com/files/sensors/doc/app_note/AN3944.pdf
*
* After configuration, the sensor will be left in the Run State.
* After configuration, the sensor is left in the run state.
*
* @return True if configuration succeeded
* @return True if configuration is successful
*/
bool configAN3944();
/**
* Read the button states into the m_buttonStates member variable. Also
* set the m_overCurrentFault variable if an over current is detected.
* Reads button states in the m_buttonStates member variable. Also,
* sets the m_overCurrentFault variable if overcurrent is detected.
*/
void readButtons();
/**
* Write value(s) into registers
* Writes value(s) into registers
*
* @param reg register location to start writing into
* @param buffer buffer for data storage
* @param len number of bytes to write
* @param reg Register location to start writing into
* @param buffer Buffer for data storage
* @param len Number of bytes to write
* @return mraa_result_t
*/
mraa_result_t writeBytes(uint8_t reg, uint8_t *buffer, unsigned int len);
/**
* Read value(s) from registers
* Reads value(s) from registers
*
* @param reg register location to start reading from
* @param buffer buffer for data storage
* @param len number of bytes to read
* @param reg Register location to start reading from
* @param buffer Buffer for data storage
* @param len Number of bytes to read
*/
void readBytes(uint8_t reg, uint8_t *buffer, unsigned int len);
/**
* button states
* Button states
*/
uint16_t m_buttonStates;
/**
* Over current fault detected
* Overcurrent detected
*/
bool m_overCurrentFault;

View File

@ -63,27 +63,27 @@ namespace upm {
/**
* MPU9150 constructor
*
* @param bus i2c bus to use
* @param address the address for this device
* @param magAddress the address of the connected magnetometer
* @param bus I2C bus to use
* @param address The address for this device
* @param magAddress The address of the connected magnetometer
*/
MPU9150 (int bus=MPU9150_I2C_BUS, int address=MPU9150_DEFAULT_I2C_ADDR,
int magAddress=AK8975_DEFAULT_I2C_ADDR);
/**
* MPU9150 Destructor
* MPU9150 destructor
*/
~MPU9150 ();
/**
* set up initial values and start operation
* Set up initial values and start operation
*
* @return true if successful
*/
bool init();
/**
* take a measurement and store the current sensor values
* Take a measurement and store the current sensor values
* internally. Note, these user facing registers are only updated
* from the internal device sensor values when the i2c serial
* traffic is 'idle'. So, if you are reading the values too fast,
@ -97,12 +97,12 @@ namespace upm {
void update();
/**
* return the compensated values for the x, y, and z axes. The
* Return the compensated values for the x, y, and z axes. The
* unit of measurement is in micro-teslas (uT).
*
* @param x pointer to returned X axis value
* @param y pointer to returned Y axis value
* @param z pointer to returned Z axis value
* @param x Pointer to returned X axis value
* @param y Pointer to returned Y axis value
* @param z Pointer to returned Z axis value
*/
void getMagnetometer(float *x, float *y, float *z);

View File

@ -29,7 +29,7 @@
namespace upm {
/**
* @brief MQ303A alcohol sensor library
* @brief MQ303A Alcohol Sensor library
* @defgroup mq303a libupm-mq303a
* @ingroup seeed analog gpio gaseous tsk
*/
@ -46,10 +46,10 @@ namespace upm {
*
* @brief API for the MQ303A Alcohol Sensor
*
* UPM module for the MQ303A Alcohol Sensor.
* UPM module for the MQ303A alcohol sensor.
* This sensor needs to be warmed up before stable results are
* obtained. The higher the value returned from value(),
* the higher the amount of alcohol that was detected.
* the higher the amount of alcohol detected.
*
* @image html mq303a.jpg
* @snippet mq303a.cxx Interesting
@ -57,31 +57,31 @@ namespace upm {
class MQ303A {
public:
/**
* MQ303A sensor constructor
* MQ303A constructor
*
* @param pin analog pin to use
* @param heaterPin digital pin mapped to analog pin to use
* @param pin Analog pin to use
* @param heaterPin Digital pin mapped to the analog pin to use
*/
MQ303A(int pin, int heaterPin);
/**
* MQ303A Destructor
* MQ303A destructor
*/
~MQ303A();
/**
* Get the alcohol detected from the sensor.
* Gets the alcohol reading from the sensor.
* The value read from the analog pin is inverted.
* A higher returned value means a higher amount of alcohol was detected.
* A higher returned value means a higher amount of alcohol detected.
*
* @return the alcohol reading
* @return Alcohol reading
*/
int value();
/**
* Enable the heater.
* Enables the heater
*
* @param enable if true, enable the heater else disable
* @param enable Enables the heater if true; otherwise, disables it
*/
void heaterEnable(bool enable);

View File

@ -38,7 +38,7 @@
namespace upm {
/**
* @brief MY9221 led bar library
* @brief MY9221 LED Bar library
* @defgroup my9221 libupm-my9221
* @ingroup seeed display gpio eak
*/
@ -53,7 +53,7 @@ namespace upm {
* @con gpio
* @kit eak
*
* @brief API for MY9221 based LED bars
* @brief API for MY9221-based LED Bars
*
* This file defines the MY9221 interface for libmy9221
*
@ -64,10 +64,10 @@ namespace upm {
class MY9221 {
public:
/**
* Instanciates a MY9221 object
* Instantiates an MY9221 object
*
* @param di data pin
* @param dcki clock pin
* @param di Data pin
* @param dcki Clock pin
*/
MY9221 (uint8_t di, uint8_t dcki);
@ -77,15 +77,15 @@ class MY9221 {
~MY9221 ();
/**
* Set the level bar
* Sets the bar level
*
* @param level selected level for the bar (1 - 10)
* @param direction up or down, true is up and is the default
* @param level Selected level for the bar (1 - 10)
* @param direction Up or down; up is true and default
*/
mraa_result_t setBarLevel (uint8_t level, bool direction=true);
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{

View File

@ -151,7 +151,7 @@ typedef enum {
} power_t;
/**
* @brief NRF24L01 transceiver library
* @brief NRF24L01 Transceiver library
* @defgroup nrf24l01 libupm-nrf24l01
* @ingroup seeed sparkfun spi wifi
*/
@ -164,9 +164,9 @@ typedef enum {
* @web http://www.seeedstudio.com/depot/nRF24L01Module-p-1394.html
* @con spi
*
* @brief API for NRF24L01 transceiver module
* @brief API for the NRF24L01 Transceiver Module
*
* This file defines the NRF24l01 interface for libnrf24l01
* This file defines the NRF24L01 interface for libnrf24l01
*
* @image html nrf24l01.jpg
* @snippet nrf24l01-receiver.cxx Interesting
@ -176,9 +176,9 @@ typedef enum {
class NRF24L01 {
public:
/**
* Instanciates a NRF24l01 object
* Instantiates an NRF24l01 object
*
* @param cs chip select pin
* @param cs Chip select pin
*/
NRF24L01 (uint8_t cs, uint8_t ce);
@ -188,7 +188,7 @@ class NRF24L01 {
~NRF24L01 ();
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{
@ -196,104 +196,104 @@ class NRF24L01 {
}
/**
* Initialize needed Gpio pins and SPI interface
* Initializes needed GPIO pins and SPI
*
* @param chipSelect setting up the chip select pin
* @param chipEnable setting up the chip enable pin
* @param chipSelect Sets up the chip select pin
* @param chipEnable Sets up the chip enable pin
*/
void init (uint8_t chipSelect, uint8_t chipEnable);
/**
* Configure NRF24l01 chip
* Configures the NRF24L01 transceiver
*/
void configure ();
/**
* Send the buffer data
* Sends the buffer data
*
* @param *value pointer to the buffer
* @param *value Pointer to the buffer
*/
void send (uint8_t * value);
/**
* Send the data located in inner bufer, user must fill the
* Sends the data located in an inner bufer; the user must fill the
* m_txBuffer buffer
*/
void send ();
/**
* Set recieving address of the device
* Sets a receiving address of the device
*
* @param addr 5 bytes addres
* @param addr 5-byte address
*/
void setSourceAddress (uint8_t * addr);
/**
* Set recipient address. nrfSend method will send the data buffer
* Sets a recipient address. The nrfSend method sends the data buffer
* to this address
*
* @param addr 5 bytes addres
* @param addr 5-byte address
*/
void setDestinationAddress (uint8_t * addr);
/**
* Set broadcasting address.
* Sets a broadcasting address
*
* @param addr 5 bytes addres
* @param addr 5-byte address
*/
void setBroadcastAddress (uint8_t * addr);
/**
* Set payload size.
* Sets the payload size
*
* @param load size of the payload (MAX 32)
* @param load Size of the payload (MAX 32)
*/
void setPayload (uint8_t load);
/**
* Check if data arrived
* Checks if the data has arrived
*/
bool dataReady ();
/**
* Check if chip in sending mode
* Checks if the transceiver is in the sending mode
*/
bool dataSending ();
/**
* Sink all arrived data into the provided buffer
* Sinks all the arrived data into a provided buffer
*
* @param load size of the payload (MAX 32)
* @param load Size of the payload (MAX 32)
*/
void getData (uint8_t * data);
/**
* Check the chip state
* Checks the transceiver state
*/
uint8_t getStatus ();
/**
* Check if recieving stack is empty
* Checks if the receive stack is empty
*/
bool rxFifoEmpty ();
/**
* Power up reciever
* Powers the receiver up
*/
void rxPowerUp ();
/**
* Flush reciver stack
* Flushes the receive stack
*/
void rxFlushBuffer ();
/**
* Power up transmitter
* Powers the transmitter up
*/
void txPowerUp ();
/**
* Power down all
* Powers everything down
*/
void powerDown ();
@ -304,77 +304,77 @@ class NRF24L01 {
uint8_t setSpeedRate (speed_rate_t rate);
/**
* Flush transmit stack
* Flushes the transmit stack
*/
void txFlushBuffer ();
/**
* Pulling method which listenning for arrived data, if data
* arrived dataRecievedHandler will be triggered
* Pulling the method listening for the arrived data,
* dataRecievedHandler is triggered if data arrives
*/
void pollListener ();
/**
* Set chip enable pin HIGH
* Sets the chip enable pin to HIGH
*/
mraa_result_t ceHigh ();
/**
* Set chip enable LOW
* Sets the chip enable pin to LOW
*/
mraa_result_t ceLow ();
/**
* Set chip select pin LOW
* Sets the chip select pin to LOW
*/
mraa_result_t csOn ();
/**
* Set chip select pin HIGH
* Sets the chip select pin to HIGH
*/
mraa_result_t csOff ();
/**
* Configure nRF24l01 module to behave as BLE
* Configures the NRF24L01 transceiver to behave as a BLE
* (Bluetooth Low Energy) beaconing devcie.
*/
void setBeaconingMode ();
/**
* Beaconing the provided message to BLE scanners.
* Beacons the provided message to BLE scanners.
*
* @param msg beacon the provated message (max length is 16 bytes)
* @param msg Beacons the provided message (max length is 16 bytes)
*/
void sendBeaconingMsg (uint8_t * msg);
uint8_t m_rxBuffer[MAX_BUFFER]; /**< Reciver buffer */
uint8_t m_rxBuffer[MAX_BUFFER]; /**< Receive buffer */
uint8_t m_txBuffer[MAX_BUFFER]; /**< Transmit buffer */
uint8_t m_bleBuffer [32]; /**< BLE buffer */
funcPtrVoidVoid dataRecievedHandler; /**< Data arrived handler */
private:
/**
* Write bytes to the SPI device.
* Writes bytes to an SPI device
*/
void writeBytes (uint8_t * dataout, uint8_t * datain, uint8_t len);
/**
* Set register value on SPI device. [one byte]
* Sets the register value on an SPI device [one byte]
*/
void setRegister (uint8_t reg, uint8_t value);
/**
* Get register value from SPI device. [one byte]
* Gets the register value from an SPI device [one byte]
*/
uint8_t getRegister (uint8_t reg);
/**
* Reads an array of bytes from the given start position in the nrf24l01 registers.
* Reads an array of bytes from the given starting position in NRF24L01 registers
*/
void readRegister (uint8_t reg, uint8_t * value, uint8_t len);
/**
* Writes an array of bytes into inte the nrf24l01 registers.
* Writes an array of bytes into NRF24L01 registers
*/
void writeRegister (uint8_t reg, uint8_t * value, uint8_t len);
/**
* Send command to the nrf24l01.
* Sends a command to NRF24L01
*/
void sendCommand (uint8_t cmd);

View File

@ -23,7 +23,7 @@
*/
/**
* @brief NRF8001 bluetooth low energy library
* @brief NRF8001 Bluetooth Low Energy library
* @defgroup nrf8001 libupm-nrf8001
* @ingroup adafruit wifi analog gpio spi
*/
@ -36,12 +36,12 @@
* @web https://learn.adafruit.com/getting-started-with-the-nrf8001-bluefruit-le-breakout/introduction
* @con spi gpio analog
*
* @brief nrf8001 Bluetooth Low Energy library
* @brief NRF8001 Bluetooth Low Energy library
*
* These files define the NRF8001 interface for lib-nrf8001. Interaction
* with this device is done through the ACI routines included with the library.
* You can use the nRF UART app in the Apple iOS app store and Google Play for
* Android 4.3 for Samsung Galaxy S4 to interact with a microcontroller running
* You can use the nRF UART app in Apple* App Store and Google* Play* on
* Samsung* Galaxy S*4 running Android* 4.3 to interact with a microcontroller running
* the 'hello world' example.
*
* @image html nrf8001.jpg

View File

@ -31,33 +31,33 @@
namespace upm {
/**
* @brief Wii Nunchuck library
* @brief Wii Nunchuk library
* @defgroup nunchuck libupm-nunchuck
* @ingroup generic i2c accelerometer robok
*/
/**
* @library nunchuck
* @sensor nunchuck
* @comname Wii Nunchuck
* @comname Wii Nunchuk
* @type accelerometer
* @man generic
* @web http://wiibrew.org/wiki/Wiimote/Extension_Controllers
* @con i2c
* @kit robok
*
* @brief API for the Wii Nunchuck
* @brief API for the Wii* Nunchuk controller
*
* UPM module for the Wii Nunchuck. This module was tested with the
* Wii Nunchuck connected to I2C via a Grove Wii Nunchuck adapter.
* UPM module for the Wii Nunchuk controller. This module was tested with
* Wii Nunchuk connected to I2C via a Grove Wii Nunchuk adapter.
*
* See http://wiibrew.org/wiki/Wiimote/Extension_Controllers and
* http://wiibrew.org/wiki/Wiimote/Extension_Controllers/Nunchuck
* for more detailed information on the controller and it's protocol.
* for more details on the controller and its protocol.
*
* A warning for the Grove nunchuck adapter: It has 2 traces on one
* A warning for the Grove Wii Nunchuk adapter: it has 2 traces on one
* side, and 3 traces on the other. Do not match these up with the
* nunchuck connector's traces. The nunchuck connector 'groove'
* should be on the same side as the grove interface socket on the
* Nunchuk connector's traces. The connector's 'Grove'
* should be on the same side as the Grove interface socket on the
* adapter.
*
* @image html nunchuck.jpg
@ -68,8 +68,8 @@ namespace upm {
/**
* NUNCHUCK constructor
*
* @param bus i2c bus to use
* @param addr i2c address to use
* @param bus I2C bus to use
* @param addr I2C address to use
*/
NUNCHUCK(int bus, uint8_t addr=NUNCHUCK_I2C_ADDR);
@ -79,34 +79,34 @@ namespace upm {
~NUNCHUCK();
/**
* Write value(s) into registers
* Writes value(s) into registers
*
* @param reg register location to start writing into
* @param byte byte to write
* @return true if successful
* @param reg Register location to start writing into
* @param byte Byte to write
* @return True if successful
*/
bool writeByte(uint8_t reg, uint8_t byte);
/**
* Read value(s) from registers
* Reads value(s) from registers
*
* @param reg register location to start reading from
* @param buffer buffer for data storage
* @param len number of bytes to read
* @return number of bytes read
* @param reg Register location to start reading from
* @param buffer Buffer for data storage
* @param len Number of bytes to read
* @return Number of bytes read
*/
uint8_t readBytes(uint8_t reg, uint8_t *buffer, unsigned int len);
/**
* Initialize the controller. Here, we disable encryption after
* Initializes the controller. Here, we disable encryption after
* delaying for a time to ensure the controller is ready.
*
* @return true if initialized successfully
* @return True if initialization is successful
*/
bool init();
/**
* Read and update the current state of the controller.
* Reads and updates the current state of the controller.
*
*/
void update();

View File

@ -45,22 +45,22 @@ namespace upm {
*
* @brief API for the OTP538U IR Temperature Sensor
*
* UPM module for the OTP538U IR Temperature Sensor
* UPM module for the OTP538U IR temperature sensor
*
* This module was tested with the Grove IR non-contact temperature
* sensor.
*
* The sensor provides 2 analog outputs - one for the thermistor
* that measures ambient temperature, and another for the thermopile
* that measures object temperature.
* The sensor provides 2 analog outputs: one for the thermistor
* that measures the ambient temperature, and the other for the thermopile
* that measures the object temperature.
*
* Much of the code depends on analyzing the SeeedStudio examples
* and circuit design. As a result, there are several 'magic'
* numbers that were derived from their circuit design. By default,
* these values will be used.
* Much of the code depends on analyzing Seeed Studio* examples
* and the circuit design. As a result, there are several 'magic'
* numbers derived from their circuit design. These values are used
* by default.
*
* The tables used came from the datasheets "538U VT
* Table__20_200(v1.3).pdf" and "538RT_table.pdf".
* The tables used came from the "538U VT
* Table__20_200(v1.3).pdf" and "538RT_table.pdf" datasheets.
*
* These tables assume the object to be measured is 9 cm (3.54
* inches) from the sensor.
@ -71,71 +71,71 @@ namespace upm {
class OTP538U {
public:
/**
* OTP538U sensor constructor
* OTP538U constructor
*
* @param pinA analog pin to use for Ambient temperature
* @param pinO analog pin to use for Object temperature
* @param aref analog reference voltage, default 5.0
* @param pinA Analog pin to use for the ambient temperature
* @param pinO Analog pin to use for the object temperature
* @param aref Analog reference voltage; default is 5.0 V
*/
OTP538U(int pinA, int pinO, float aref = 5.0);
/**
* OTP538U Destructor
* OTP538U destructor
*/
~OTP538U();
/**
* Get the ambient temperature in C
* Gets the ambient temperature in Celsius
*
* @return the ambient temperature
* @return Ambient temperature
*/
float ambientTemperature();
/**
* Get the object temperature in C
* Gets the object temperature in Celsius
*
* @return the object's temperature
* @return Object temperature
*/
float objectTemperature();
/**
* Set the offset voltage
* Sets the offset voltage
*
* The Seeedstudio wiki gives an example on calibrating the sensor
* The Seeed Studio wiki gives an example of calibrating the sensor
* and calculating the offset voltage to apply. Currently, the
* default value is set, but you can use the function to set one
* of your own.
*
* @param vOffset the desired offset voltage
* @param vOffset Desired offset voltage
*/
void setVoltageOffset(float vOffset) { m_offsetVoltage = vOffset; };
/**
* Set the output resistance value
* Sets the output resistance value
*
* The Seeedstudio wiki example uses a value, 2000000 in one of
* the equations used to calculate a voltage. The value is the
* The Seeed Studio wiki example uses a value of 2,000,000 in one of
* the equations used to calculate voltage. The value is the
* resistance of a resistor they use in the output stage of their
* SIG2 output. This was 'decoded' by looking at the eagle files
* SIG2 output. This was 'decoded' by looking at the EAGLE* files
* containing their schematics for this device.
*
* @param outResistance value of output resistor, default 2M Ohm.
* @param outResistance Value of the output resistor; default is 2M Ohm
*/
void setOutputResistence(int outResistance) {
m_vResistance = outResistance; };
/**
* Set the voltage reference of the internal seedstudio voltage
* Sets the reference voltage of the internal Seeed Studio voltage
* regulator on the sensor board.
*
* The Seeedstudio wiki example uses a value, 2.5 in one of the
* The Seeed Studio wiki example uses a value of 2.5 in one of the
* equations used to calculate the resistance of the ambient
* thermistor. The value is the voltage of an internal voltage
* regulator used in the sensor board. This was 'decoded' by
* looking at the eagle files containing their schematics for this
* regulator used on the sensor board. This was 'decoded' by
* looking at the EAGLE files containing their schematics for this
* device.
*
* @param vref internal sensor voltage reference, default 2.5
* @param vref Reference voltage of the internal sensor; default is 2.5 V
*/
void setVRef(float vref) { m_vref = vref; };

View File

@ -22,9 +22,9 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
// This table was taken from the 538RT_table.pdf datasheet. It maps
// This table was taken from the '538RT_table.pdf' datasheet. It maps
// resistance values to ambient temperatures starting at -20C and
// going to 200C in increments of 1C
// going up to 200C in increments of 1C
static const int otp538u_rt_table_max = 121;

View File

@ -22,12 +22,12 @@
* WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
// This table was taken from the 538U VT Table__20_200(v1.3).pdf
// This table was taken from the '538U VT Table__20_200(v1.3).pdf'
// datasheet, but the 25C column has been removed for consistency.
static const int otp538u_vt_table_max = 23;
// Thermister temperature (C)
// Thermistor temperature (C)
// { -20 -10 0 10 20 30 40 50 60 70 80 90 100 }
static float otp538u_vt_table[otp538u_vt_table_max][13] = {

View File

@ -39,7 +39,7 @@
namespace upm {
/**
* @brief PCA9685 PWM controller library
* @brief PCA9685 PWM Controller library
* @defgroup pca9685 libupm-pca9685
* @ingroup adafruit i2c led motor
*/
@ -52,10 +52,10 @@ namespace upm {
* @web http://www.adafruit.com/products/815
* @con i2c
*
* @brief API for the PCA9685 16 channel, 12 bit pwm LED controller
* @brief API for the PCA9685 16-channel, 12-bit PWM LED Controller
*
* This controller is also used on the Adafruit Motor Shield v2.3
* board to control up to 4 DC motors, 2 step motors and 2 servo
* This controller is also used on the Adafruit* Motor Shield v2.3
* board to control up to 4 DC motors, 2 stepper motors, and 2 servo
* motors.
*
* This module was tested with the Adafruit Motor Shield v2.3
@ -178,137 +178,136 @@ namespace upm {
} PCA9685_MODE2_T;
/**
* pca9685 constructor
* PCA9685 constructor
*
* @param bus i2c bus to use
* @param address the address for this device
* @param bus I2C bus to use
* @param address Address for this device
*/
PCA9685(int bus, uint8_t address = PCA9685_DEFAULT_I2C_ADDR);
/**
* PCA9685 Destructor
* PCA9685 destructor
*/
~PCA9685();
/**
* Write byte value into register
* Writes a byte value into a register
*
* @param reg register location to write into
* @param byte byte to write
* @return true if successful
* @param reg Register location to write into
* @param byte Byte to write
* @return True if successful
*/
bool writeByte(uint8_t reg, uint8_t byte);
/**
* Write word value at register. Note, the device must have the
* Writes a word value into a register. Note: the device must have the
* auto-increment bit set in the MODE1 register to work.
*
* @param reg register location to write into
* @param word word to write
* @return true if successful
* @param reg Register location to write into
* @param word Word to write
* @return True if successful
*/
bool writeWord(uint8_t reg, uint16_t word);
/**
* Read byte value from register
* Reads a byte value from a register
*
* @param reg register location to read from
* @return value at specified register
* @param reg Register location to read from
* @return Value in a specified register
*/
uint8_t readByte(uint8_t reg);
/**
* Read word value from register. Note, the device must have the
* Reads a word value from a register. Note: the device must have the
* auto-increment bit set in the MODE1 register to work.
*
* @param reg register location to read from
* @return value at specified register
* @param reg Register location to read from
* @return Value in a specified register
*/
uint16_t readWord(uint8_t reg);
/**
* Put the device into or out of Sleep mode. The device is always
* in sleep mode upon power up.
* Puts the device in or out of the sleep mode. The device is always
* in the sleep mode upon power-up.
*
* @param sleep true to put into sleep mode, false to take out of
* sleep mode.
* @return true if successful
* @param sleep True to put the device in the sleep mode, false to put out
* @return True if successful
*/
bool setModeSleep(bool sleep);
/**
* set or clear the FULL ON bit for a given LED
* Sets or clears the FULL ON bit for a given LED
*
* @param led led number, valid values: 0-15, PCA9685_ALL_LED
* @param val true to set the bit, false to clear it
* @return true if successful
* @param led LED number; valid values are 0-15, PCA9685_ALL_LED
* @param val True to set the bit, false to clear it
* @return True if successful
*/
bool ledFullOn(uint8_t led, bool val);
/**
* set or clear the FULL OFF bit for a given LED. If the FULL ON
* bit is also set, then FULL OFF has precendence.
* Sets or clears the FULL OFF bit for a given LED. If the FULL ON
* bit is also set, FULL OFF has precedence.
*
* @param led led number, valid values: 0-15, PCA9685_ALL_LED
* @param val true to set the bit, false to clear it
* @return true if successful
* @param led LED number; valid values are 0-15, PCA9685_ALL_LED
* @param val True to set the bit, false to clear it
* @return True if successful
*/
bool ledFullOff(uint8_t led, bool val);
/**
* set the LED on time (0-4095). See the pca9685 datasheet for details.
* Sets the 'LED on' time (0-4,095). See the PCA9685 datasheet for details.
*
* @param led led number, valid values: 0-15, PCA9685_ALL_LED
* @param time the 12 bit value at which point the LED will turn on
* @return true if successful
* @param led LED number; valid values are 0-15, PCA9685_ALL_LED
* @param time 12-bit value at which point the LED turns on
* @return True if successful
*/
bool ledOnTime(uint8_t led, uint16_t time);
/**
* set the LED off time (0-4095). See the pca9685 datasheet for details.
* Sets the 'LED off' time (0-4,095). See the PCA9685 datasheet for details.
*
* @param led led number, valid values: 0-15, PCA9685_ALL_LED
* @param time the 12 bit value at which point the LED will turn off
* @return true if successful
* @param led LED number; valid values are 0-15, PCA9685_ALL_LED
* @param time 12-bit value at which point the LED turns off
* @return True if successful
*/
bool ledOffTime(uint8_t led, uint16_t time);
/**
* set the prescale value. See the pca9685 datasheet for
* Sets the prescale value. See the PCA9685 datasheet for
* details. The prescale can only be set when the device is in
* sleep mode.
* the sleep mode.
*
* @param prescale the prescale value
* @return true if successful
* @param prescale Prescale value
* @return True if successful
*/
bool setPrescale(uint8_t prescale);
/**
* set the prescale value based on a desired frequency in hz. The
* prescale can only be set when the device is in sleep mode.
* Sets the prescale value based on a desired frequency in Hz. The
* prescale can only be set when the device is in the sleep mode.
*
* @param hz the desired frequency in hz
* @param oscFreq the oscillator frequency, defaul 25Mhz
* @return true if successful
* @param hz Desired frequency in Hz
* @param oscFreq Oscillator frequency; default is 25 MHz
* @return True if successful
*/
bool setPrescaleFromHz(float hz,
float oscFreq=PCA9685_INTERNAL_OSC);
/**
* enable or disable the RESTART capability of the controller
* Enables or disables the restart capability of the controller
*
* @param enabled true to enable restart, false to disable.
* Default is enabled.
* @param enabled True to enable, false to disable
* It is enabled by default.
*/
void enableRestart(bool enabled) { m_restartEnabled = enabled; };
private:
/**
* Enable I2C register auto-increment. This needs to be enabled
* Enables the I2C register auto-increment. This needs to be enabled
* for write/readWord() to work. The contructor enables this by
* default.
*
* @param ai true to enable auto-increment of i2c regs, false otherwise
* @param ai True to enable, false otherwise
*/
bool enableAutoIncrement(bool ai);

View File

@ -37,7 +37,7 @@ typedef struct
} dustData;
/**
* @brief PPD42NS dust sensor library
* @brief PPD42NS Dust Sensor library
* @defgroup ppd42ns libupm-ppd42ns
* @ingroup seeed gpio other eak
*/
@ -52,9 +52,9 @@ typedef struct
* @con gpio
* @kit eak
*
* @brief API for the Dust Sensor
* @brief API for the PPD42NS Dust Sensor
*
* UPM module for the Dust Sensor
* UPM module for the PPD42NS dust sensor
*
* @image html ppd42ns.jpg
* @snippet ppd42ns.cxx Interesting
@ -62,28 +62,28 @@ typedef struct
class PPD42NS {
public:
/**
* Dust Sensor Constructor
* PPD42NS constructor
*
* @param pin digital pin to use
* @param pin Digital pin to use
*/
PPD42NS(int pin);
/**
* Dust Sensor Destructor
* PPD42NS destructor
*/
~PPD42NS();
/**
* Print dust concentration
* Prints dust concentration
*
* @return struct dustData contains data from dust sensor
* @return struct dustData Contains data from the dust sensor
*/
dustData getData();
private:
mraa_gpio_context m_gpio;
/**
* Return the amount of time it takes a pin to go from HIGH to LOW or LOW to HIGH
* Returns the amount of time it takes a pin to go from HIGH to LOW or from LOW to HIGH
*
* @param highLowValue int do we measure from HIGH to LOW or LOW to HIGH. highLowValue is "from" value
* @param highLowValue int Do we measure movements from HIGH to LOW or from LOW to HIGH? highLowValue is the "from" value
*/
double pulseIn_polyfill(bool highLowValue, double endTime);
double m_timediff(timespec time1, timespec time2);

View File

@ -40,7 +40,7 @@
#define FALSE LOW
/**
* @brief pulsensor pulse sensor library
* @brief Pulsensor Pulse Sensor library
* @defgroup pulsensor libupm-pulsensor
* @ingroup seeed analog medical
*/
@ -53,9 +53,9 @@
* @web http://www.adafruit.com/products/1093
* @con analog
*
* @brief C++ API for 3-wire pulse sensor
* @brief C++ API for the 3-Wire Pulse Sensor
*
* This is a library for the 3-wire pulse sensor sold by several manufacturers.
* This is a library for a 3-wire pulse sensor sold by several manufacturers.
* Usually, you can identify the sensor based on the round breakout and the
* distinctive heart symbol.
*

View File

@ -44,11 +44,11 @@ namespace upm {
* @con gpio
* @kit robok tsk
*
* @brief API for the RFR359F based Grove Distance Interrupter.
* @brief API for the RFR359F-based Grove Distance Interrupter.
*
* UPM module for the Grove Distance Interrupter. The sensitivity
* UPM module for the Grove distance interrupter. The sensitivity
* can be adjusted with the potentiometer on the sensor module. It
* has a range of approximately 4 inches and a fast response time.
* has a range of approximately 4 inches and a quick response time.
*
* @image html rfr359f.jpg
* @snippet rfr359f.cxx Interesting
@ -56,21 +56,21 @@ namespace upm {
class RFR359F {
public:
/**
* Grove Distance Interrupter constructor
* RFR359F constructor
*
* @param pin digital pin to use
* @param pin Digital pin to use
*/
RFR359F(int pin);
/**
* RFR359F Destructor
* RFR359F destructor
*/
~RFR359F();
/**
* Get the status of the pin, true means object detected
* Gets the status of the pin; true means an object has been detected
*
* @return true if the sensor detected an object
* @return True if the sensor has detected an object
*/
bool objectDetected();

View File

@ -33,7 +33,7 @@
namespace upm {
/**
* @brief Sparkfun RGB RingCoder
* @brief SparkFun RGB RingCoder
* @defgroup rgbringcoder libupm-rgbringcoder
* @ingroup seeed gpio led
*/
@ -41,19 +41,19 @@ namespace upm {
/**
* @library rgbringcoder
* @sensor rgbringcoder
* @comname Sparkfun RGB Ringcoder
* @comname SparkFun RGB Ringcoder
* @type led
* @web https://www.sparkfun.com/products/11040
* @man sparkfun
* @con pwm gpio
*
* @brief API for the Sparkfun RGB Ringcoder
* @brief API for the SparkFun* RGB RingCoder
*
* The RGB RingCoder is a breakout board, a circular LED containing
* RGB RingCoder is a breakout board, a circular LED containing
* 16 LEDs arranged in a ring, and a rotary encoder. The encoder
* contains an RGB LED as well as a push button function.
*
* The device will require 11 pins, 3 of which must be PWM capable
* The device requires 11 pins, 3 of which must be PWM-capable
* (for the RGB LEDs).
*
* @image html rgbringcoder.jpg
@ -66,62 +66,62 @@ namespace upm {
/**
* RGBRingCoder constructor
*
* @param en enable gpio
* @param latch latch gpio
* @param clear clear gpio
* @param clk clock gpio
* @param dat data out gpio
* @param sw push button switch gpio
* @param encA encoder A gpio
* @param encB encoder B gpio
* @param red RGB red led pwm
* @param green RGB green led pwm
* @param blue RGB blue led pwm
* @param en Enables GPIO
* @param latch Latch GPIO
* @param clear Clears GPIO
* @param clk Clock GPIO
* @param dat Data out GPIO
* @param sw Push button switch GPIO
* @param encA Encoder A GPIO
* @param encB Encoder B GPIO
* @param red RGB red LED PWM
* @param green RGB green LED PWM
* @param blue RGB blue LED PWM
*/
RGBRingCoder(int en, int latch, int clear, int clk, int dat, int sw,
int encA, int encB, int red, int green, int blue);
/**
* RGBRingCoder Destructor
* RGBRingCoder destructor
*/
~RGBRingCoder();
/*
* set the state of the ring LEDs. This is a 16 bit value, where
* Sets the state of the ring LEDs. This is a 16-bit value, where
* each bit corresponds to one of the ring LEDs. A 1 bit means
* that specific LED is on, and 0 bit means that specific LED is
* that a specific LED is on, and a 0 bit means that a specific LED is
* off.
*
* @param bits the bits representing the state of each LED
* @param bits Bits representing the state of each LED
*/
void setRingLEDS(uint16_t bits);
/*
* return the state of the button
* Returns the state of the button
*
* @return true if the button is pressed, false otherwise
* @return True if the button is pressed, false otherwise
*/
bool getButtonState();
/*
* get the current rotary encoder counter value
* Gets the current rotary encoder counter value
*
* @return the current counter value
* @return Current counter value
*/
int getEncoderPosition() { return m_counter; };
/*
* set the encoder counter to 0
* Sets the encoder counter to 0
*/
void clearEncoderPosition() { m_counter = 0; };
/*
* set the intensity of the red, grenn, and blue LEDs. Values can
* Sets the intensity of the red, green, and blue LEDs. Values can
* be between 0.0 and 1.0. Lower is brighter, higher is dimmer.
*
* @param r the red value, valid values are between 0.0 and 1.0
* @param g the green value, valid values are between 0.0 and 1.0
* @param b the blue value, valid values are between 0.0 and 1.0
* @param r Red value; valid values are 0.0-1.0
* @param g Green value; valid values are 0.0-1.0
* @param b Blue value; valid values are 0.0-1.0
*/
void setRGBLED(float r, float g, float b);

View File

@ -47,11 +47,11 @@ namespace upm {
*
* @brief API for the Grove Rotary Encoder
*
* UPM module for the Grove Rotary Encoder. A Rotary Encoder
* UPM module for the Grove rotary encoder. This rotary encoder
* encodes a rotation signal into electronic pulses that can be used
* to measure rotation and direction. It is useful in cases where a
* rotary knob is required, but using a potentiometer is not
* desirable. A rotary encoder can turn a full 360 degrees+
* desirable. A rotary encoder can turn a full 360 degrees
* without a stop and does not place a resistive load on the
* circuit, as is the case with a potentiometer.
*
@ -66,32 +66,32 @@ namespace upm {
/**
* RotaryEncoder constructor
*
* @param pinA digital pin to use for signal A
* @param pinB digital pin to use for signal B
* @param pinA Digital pin to use for signal A
* @param pinB Digital pin to use for signal B
*/
RotaryEncoder(int pinA, int pinB);
/**
* RotaryEncoder Destructor
* RotaryEncoder destructor
*/
~RotaryEncoder();
/**
* Reset the position to a given number, default is 0.
* Resets the position to a given number; default is 0.
*
* @param count integer to initialize the position to
* @param count Integer to initialize the position to
*/
void initPosition(int count=0);
/**
* Get the position value
* Gets the position value
*
*/
int position();
/**
* ISR for signal A
* Interrupt service routine (ISR) for signal A
*
* @param ctx user context for the ISR (*this pointer)
* @param ctx User context for the ISR (*this pointer)
*/
static void signalAISR(void *ctx);

View File

@ -29,7 +29,7 @@
namespace upm {
/**
* @brief RPR220 IR reflective sensor library
* @brief RPR220 IR Reflective Sensor library
* @defgroup rpr220 libupm-rpr220
* @ingroup seeed gpio light tsk hak
*/
@ -44,17 +44,17 @@ namespace upm {
* @con gpio
* @kit tsk hak
*
* @brief API for the RPR220 based Grove IR Reflective Sensor
* @brief API for the RPR220-based Grove IR Reflective Sensor
*
* UPM module for the Grove IR Reflective Sensor. The sensitivity
* UPM module for the Grove IR reflective sensor. The sensitivity
* can be adjusted with the potentiometer on the sensor module. It
* has a range of approximately 15mm, and a fast response time.
* has a range of approximately 15 mm, and a quick response time.
*
* It detects high contrast dark areas on a light background.
* It detects high-contrast dark areas on a light background.
*
* This module allows the user to determine the current status
* (black detected or not). Additionally, if desired, an Interrupt
* Service Routine (ISR) can be installed that will be called when
* (black detected or not). Additionally, if desired, an interrupt
* service routine (ISR) can be installed that is called when
* black is detected. Either method can be used, depending on your
* use case.
*
@ -65,36 +65,36 @@ namespace upm {
class RPR220 {
public:
/**
* Grove IR Reflective Sensor constructor
* RPR220 constructor
*
* @param pin digital pin to use
* @param pin Digital pin to use
*/
RPR220(int pin);
/**
* RPR220 Destructor
* RPR220 destructor
*/
~RPR220();
/**
* Get the status of the pin, true means black detected
* Gets the status of the pin; true means black has been detected
*
* @return true if the sensor is detecting black
* @return True if the sensor has detected black
*/
bool blackDetected();
/**
* Install an Interrupt Service Routine (ISR) to be called when
* Installs an ISR to be called when
* black is detected
*
* @param fptr function pointer to function to be called on interrupt
* @param arg pointer to an object that will be supplied as an
* arguement to the ISR.
* @param fptr Pointer to a function to be called on interrupt
* @param arg Pointer to an object to be supplied as an
* argument to the ISR.
*/
void installISR(void (*isr)(void *), void *arg);
/**
* Uninstall the previously installed Interrupt Service Routine (ISR)
* Uninstalls the previously installed ISR
*
*/
void uninstallISR();

View File

@ -39,7 +39,7 @@ namespace upm {
* @con pwm
* @kit gsk
*
* @brief API for ES08A servo component
* @brief API for the ES08A Servo
*
* This file defines the ES08A interface for ES08A servos.
* Like other servos, the ES08A servo has a shaft that can be controlled
@ -55,12 +55,12 @@ namespace upm {
/**
* Instantiates an ES08A object
*
* @param pin servo pin number
* @param pin Servo pin number
*/
ES08A (int pin);
/**
* ES08A object destructor.
* ES08A object destructor
*/
~ES08A ();
};

View File

@ -40,7 +40,7 @@ namespace upm {
/**
* @brief Servo library
*
* The base class Servo provides routines for setting the angle of the shaft
* The base Servo class provides routines for setting the angle of the shaft
* as well as setting and getting the minimum and maximum pulse width and
* the maximum period.
*
@ -50,42 +50,42 @@ namespace upm {
class Servo {
public:
/**
* Instantiates a servo object
* Instantiates a Servo object
*
* @param pin servo pin number
* @param pin Servo pin number
*/
Servo (int pin);
/**
* Instantiates a servo object
* Instantiates a Servo object
*
* @param pin servo pin number
* @param minPulseWidth minimum pulse width, in microseconds
* @param maxPulseWidth maximum pulse width, in microseconds
* @param pin Servo pin number
* @param minPulseWidth Minimum pulse width, in microseconds
* @param maxPulseWidth Maximum pulse width, in microseconds
*/
Servo (int pin, int minPulseWidth, int maxPulseWidth);
/**
* Instantiates a servo object
* Instantiates a Servo object
*
* @param pin servo pin number
* @param minPulseWidth minimum pulse width, in microseconds
* @param maxPulseWidth maximum pulse width, in microseconds
* @param waitAndDisablePwm if 1, PWM will be enabled only during setAngle() execution
* for a period of 1 second, and then turned back off. If 0, PWM will remain on afterward.
* @param pin Servo pin number
* @param minPulseWidth Minimum pulse width, in microseconds
* @param maxPulseWidth Maximum pulse width, in microseconds
* @param waitAndDisablePwm If 1, PWM is enabled only during the setAngle() execution
* for a period of 1 second, and then turned back off. If 0, PWM remains on afterward.
*/
Servo (int pin, int minPulseWidth, int maxPulseWidth, int waitAndDisablePwm);
/**
* Servo object destructor.
* Servo object destructor
*/
~Servo();
/**
* Set the angle of the servo engine.
* Sets the angle of the servo engine.
*
* @param angle number between 0 and 180
* @return 0 on success; non-zero otherwise
* @param angle Number between 0 and 180
* @return 0 if successful, non-zero otherwise
*/
mraa_result_t setAngle (int angle);
@ -95,9 +95,9 @@ class Servo {
mraa_result_t haltPwm ();
/**
* Return name of the component
* Returns the name of the component
*
* @return name of the component
* @return Name of the component
*/
std::string name()
{
@ -105,44 +105,44 @@ class Servo {
}
/**
* Set minimum pulse width
* Sets the minimum pulse width
*
* @param width minimum HIGH signal width
* @param width Minimum HIGH signal width
*/
void setMinPulseWidth (int width);
/**
* Set maximum pulse width
* Sets the maximum pulse width
*
* @param width maximum HIGH signal width
* @param width Maximum HIGH signal width
*/
void setMaxPulseWidth (int width);
/**
* Set maximum period width
* Sets the maximum period width
*
* @param period PWM period width
*/
void setPeriod (int period);
/**
* Return minimum pulse width
* Returns the minimum pulse width
*
* @return minimum pulse width
* @return Minimum pulse width
*/
int getMinPulseWidth ();
/**
* Return maximum pulse width
* Returns the maximum pulse width
*
* @return maximum pulse width
* @return Maximum pulse width
*/
int getMaxPulseWidth ();
/**
* Return maximum PWM period width
* Returns the maximum PWM period width
*
* @return maximum PWM period width
* @return Maximum PWM period width
*/
int getPeriod ();

View File

@ -37,7 +37,7 @@
namespace upm {
/**
* @brief SI1145 UV light sensor library
* @brief SI1145 UV Light Sensor library
* @defgroup si114x libupm-si114x
* @ingroup adafruit i2c light
*/
@ -45,23 +45,23 @@ namespace upm {
/**
* @library si114x
* @sensor si114x
* @comname SI1145 UV light sensor
* @comname SI1145 UV Light Sensor
* @altname SI1146, SI1147
* @type light
* @man adafruit
* @web https://www.adafruit.com/products/1777
* @con i2c
*
* @brief API for the SI1145 UV light sensor
* @brief API for the SI1145 UV Light Sensor
*
* This module was tested with the Adafruit UV Sensor
* This module was tested with the Adafruit* UV Light Sensor
*
* This device is also capable of measuring IR and visible ambient
* This device is capable of measuring IR and visible ambient
* light as well. It also supports the ability to use externally
* attached LED's to perform proximity detection on 3 separate
* attached LEDs to perform proximity detection on 3 separate
* channels.
*
* This class currently only supports the retriving of the
* Currently, this class only supports the retrieving of the
* calculated UV index measured by the device, but enough
* infrastructure is provided to make it easy to enhance this driver
* in the future to support additional capabilities, including
@ -175,13 +175,13 @@ namespace upm {
CMD_ALS_AUTO = 0x0e,
CMD_PSALS_AUTO = 0x0f,
CMD_PARAM_QUERY = 0x80, // or'd with PARAM_T value
CMD_PARAM_SET = 0xa0 // or'd with PARAM_T value
CMD_PARAM_QUERY = 0x80, // OR'd with PARAM_T value
CMD_PARAM_SET = 0xa0 // OR'd with PARAM_T value
} SI114X_CMD_T;
/**
* Channel List enable bits
* Channel list enable bits
*/
typedef enum { CHLIST_EN_PS1 = 0x01, // proximity sense 1-3
CHLIST_EN_PS2 = 0x02,
@ -218,95 +218,95 @@ namespace upm {
} SI114X_IRQEN_BITS_T;
/**
* si114x constructor
* SI114X constructor
*
* @param bus i2c bus to use
* @param address the address for this device
* @param bus I2C bus to use
* @param address Address for this device
*/
SI114X(int bus, uint8_t address = SI114X_DEFAULT_I2C_ADDR);
/**
* SI114X Destructor
* SI114X destructor
*/
~SI114X();
/**
* Write byte value into register
* Writes a byte value into a register
*
* @param reg register location to write into
* @param byte byte to write
* @return true if successful
* @param reg Register location to write into
* @param byte Byte to write
* @return True if successful
*/
bool writeByte(uint8_t reg, uint8_t byte);
/**
* Read byte value from register
* Reads a byte value from a register
*
* @param reg register location to read from
* @return value at specified register
* @param reg Register location to read from
* @return Value in a specified register
*/
uint8_t readByte(uint8_t reg);
/**
* Read word value from register.
* Reads a word value from a register
*
* @param reg register location to read from
* @return value at specified register
* @param reg Register location to read from
* @return Value in a specified register
*/
uint16_t readWord(uint8_t reg);
/**
* disable interrupts and auto measuring, issue a device reset,
* and then set the hardware key.
* Disables interrupts and auto-measuring, issues a device reset,
* and then sets the hardware key.
*/
void reset();
/**
* set the UV calibration values. The constructor sets default
* Sets UV calibration values. The constructor sets default
* values for you, so you only need this function if you need
* different values for your device and situation. If you set new
* values here, be sure to do so before calling initialize().
*
* @param uvcoeff0 coefficient for REG_UCOEF0
* @param uvcoeff1 coefficient for REG_UCOEF1
* @param uvcoeff2 coefficient for REG_UCOEF2
* @param uvcoeff3 coefficient for REG_UCOEF3
* @param uvcoeff0 Coefficient for REG_UCOEF0
* @param uvcoeff1 Coefficient for REG_UCOEF1
* @param uvcoeff2 Coefficient for REG_UCOEF2
* @param uvcoeff3 Coefficient for REG_UCOEF3
*
*/
void setUVCalibration(uint8_t uvcoeff0, uint8_t uvcoeff1, uint8_t uvcoeff2,
uint8_t uvcoeff3);
/**
* write a value to parameter memory.
* Writes a value to the parameter memory.
*
* @param param the SI114X_PARAM_T register to write
* @param value the value to write
* @param param SI114X_PARAM_T register to write
* @param value Value to write
*/
void writeParam(SI114X_PARAM_T param, uint8_t value);
/**
* read a value from parameter memory
* Reads a value from the parameter memory
*
* @param param the SI114X_PARAM_T register to read
* @return the value
* @param param SI114X_PARAM_T register to read
* @return Value
*/
uint8_t readParam(SI114X_PARAM_T param);
/**
* Reset and initialize device, start auto sampling
* Resets and initializes the device and starts auto-sampling
*/
void initialize();
/**
* update stored values. You should call this before calling
* Updates stored values. You should call this before calling
* getUVIndex()
*/
void update();
/**
* Read the currently measured UV Index value
* Reads the currently measured UV index value
*
* @return UV Index value
* @return UV index value
*/
float getUVIndex() { return m_uvIndex; };

View File

@ -41,7 +41,7 @@
namespace upm {
/**
* @brief SM130 RFID reader module sensor library
* @brief SM130 RFID Reader Module library
* @defgroup sm130 libupm-sm130
* @ingroup sparkfun gpio rfid
*/
@ -54,12 +54,12 @@ namespace upm {
* @web https://www.sparkfun.com/products/10126
* @con gpio
*
* @brief API for SM130 RFID reader module
* @brief API for the SM130 RFID Reader Module
*
* This file defines the interface for sm130 RFID library
* This file defines the SM130 interface for the sm130 RFID library
*
* @image html sm130.jpg
* <br><em>SM130 RFID Reader image provided by SparkFun under
* <br><em>SM130 RFID Reader image provided by SparkFun* under
* <a href=https://creativecommons.org/licenses/by-nc-sa/3.0/>
* CC BY-NC-SA-3.0</a>.</em>
*
@ -103,10 +103,10 @@ class SM130 {
static const uint8_t CMD_SLEEP = 0x96;
/**
* Instanciates a SM130 object
* Instantiates an SM130 object
*
* @param di data pin
* @param dcki clock pin
* @param di Data pin
* @param dcki Clock pin
*/
SM130 (int bus, int devAddr, int rst, int dready);
@ -116,22 +116,22 @@ class SM130 {
~SM130 ();
/**
* Get the firmware version string.
* Gets the firmware version string.
*/
const char* getFirmwareVersion ();
/**
* Checks for availability of a valid response packet.
*
* This function should always be called and return true prior to using results
* This function should always be called and return true prior to using the results
* of a command.
*
* @returns true if a valid response packet is available
* @returns True if a valid response packet is available
*/
uint8_t available ();
/**
* Returns the packet length, excluding checksum
* Returns the packet length, excluding the checksum
*/
uint8_t getPacketLength () { return this->m_Data[0]; };
@ -141,7 +141,7 @@ class SM130 {
uint8_t getCommand () { return this->m_Data[1]; };
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{

View File

@ -36,17 +36,17 @@ namespace upm {
/**
* @brief GFX helper class
*
* This file used by the screen.
* This file is used by the screen.
*/
class GFX {
public:
/**
* Instanciates a GFX object
* Instantiates a GFX object
*
* @param width screen width
* @param height screen height
* @param screenBuffer pointer to screen buffer
* @param font pointer to font map
* @param width Screen width
* @param height Screen height
* @param screenBuffer Pointer to the screen buffer
* @param font Pointer to the font map
*/
GFX (int width, int height, uint8_t * screenBuffer, const unsigned char * font);
@ -56,147 +56,147 @@ class GFX {
~GFX ();
/**
* Set the window address
* Sets the window address
*
* @param x0 first coordinate
* @param y0 first coordinate
* @param x1 second coordinate
* @param y1 second coordinate
* @param x0 First coordinate
* @param y0 First coordinate
* @param x1 Second coordinate
* @param y1 Second coordinate
*/
virtual void setAddrWindow (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1) = 0;
/**
* Send pixel collor (RGB) to the chip. Must be implemented by
* Sends a pixel color (RGB) to the chip. Must be implemented by the
* inherited class.
*
* @param x axis on horizontal scale
* @param y axis on vertical scale
* @param color rgb value
* @param x Axis on the horizontal scale
* @param y Axis on the vertical scale
* @param color RGB value
*/
virtual void drawPixel (int16_t x, int16_t y, uint16_t color) = 0;
/**
* Copy the buffer to the chip via SPI interface.
* Copies the buffer to the chip via the SPI.
*/
virtual void refresh () = 0;
/**
*
*
* @param x axis on horizontal scale
* @param y axis on vertical scale
* @param data character to write
* @param color character's color
* @param bg character's background color
* @param size size of the font
* @param x Axis on the horizontal scale
* @param y Axis on the vertical scale
* @param data Character to write
* @param color Character color
* @param bg Character background color
* @param size Size of the font
*/
void drawChar (int16_t x, int16_t y, uint8_t data, uint16_t color, uint16_t bg, uint8_t size);
/**
* Print the message to the screen
* Prints a message on the screen
*
* @param msg message which will be printed
* @param msg Message to print
*/
void print (std::string msg);
/**
* Print the message to the screen
* Prints a message on the screen
*
* @param x axis on horizontal scale
* @param y axis on vertical scale
* @param color pixel's color
* @param x Axis on the horizontal scale
* @param y Axis on the vertical scale
* @param color Pixel color
*/
mraa_result_t setPixel (int x, int y, uint16_t color);
/**
* Fill screen with selected color
* Fills the screen with a selected color
*
* @param color selected's color
* @param color Selected color
*/
void fillScreen (uint16_t color);
/**
* Fill rectangle with selected color
* Fills a rectangle with a selected color
*
* @param x axis on horizontal scale (top left corner)
* @param y axis on vertical scale (top left corner)
* @param w distanse from x
* @param h distanse from y
* @param color selected color
* @param x Axis on the horizontal scale (top-left corner)
* @param y Axis on the vertical scale (top-left corner)
* @param w Distanse from x
* @param h Distanse from y
* @param color Selected color
*/
void fillRect (int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color);
/**
* Draw line in vertical scale.
* Draws a line on the vertical scale
*
* @param x axis on horizontal scale
* @param y axis on vertical scale
* @param h distanse from y
* @param color selected color
* @param x Axis on the horizontal scale
* @param y Axis on the vertical scale
* @param h Distanse from y
* @param color Selected color
*/
void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color);
/**
* Draw line from coordinate C0 to coordinate C1
* Draws a line from coordinate C0 to coordinate C1
*
* @param x0 first coordinate
* @param y0 first coordinate
* @param x1 second coordinate
* @param y1 second coordinate
* @param x0 First coordinate
* @param y0 First coordinate
* @param x1 Second coordinate
* @param y1 Second coordinate
* @param color selected color
*/
void drawLine (int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color);
/**
* Draw a triangle
* Draws a triangle
*
* @param x0 first coordinate
* @param y0 first coordinate
* @param x1 second coordinate
* @param y1 second coordinate
* @param x2 third coordinate
* @param y2 third coordinate
* @param color selected color
* @param x0 First coordinate
* @param y0 First coordinate
* @param x1 Second coordinate
* @param y1 Second coordinate
* @param x2 Third coordinate
* @param y2 Third coordinate
* @param color Selected color
*/
void drawTriangle (int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2, uint16_t color);
/**
* Draw a circle
* Draws a circle
*
* @param x center of circle on X scale
* @param y center of circle on Y scale
* @param r radius of circle
* @param color color of circle
* @param x Center of the circle on the horizontal scale
* @param y Center of the circle on the vertical scale
* @param r Radius of the circle
* @param color Color of the circle
*/
void drawCircle (int16_t x, int16_t y, int16_t r, uint16_t color);
/**
* Set cursor for text message
* Sets the cursor for a text message
*
* @param x axis on horizontal scale
* @param y axis on vertical scale
* @param x Axis on the horizontal scale
* @param y Axis on the vertical scale
*/
void setCursor (int16_t x, int16_t y);
/**
* Set text color for the message
* Sets a text color for a message
*
* @param textColor font color
* @param textBGColor background color
* @param textColor Font color
* @param textBGColor Background color
*/
void setTextColor (uint16_t textColor, uint16_t textBGColor);
/**
* Set the size of the font
* Sets the size of the font
*
* @param size font size
* @param size Font size
*/
void setTextSize (uint8_t size);
/**
* Wrap printed message.
* Wraps a printed message
*
* @param wrap true (0x1) or false (0x0)
* @param wrap True (0x1) or false (0x0)
*/
void setTextWrap (uint8_t wrap);

View File

@ -494,22 +494,22 @@ const unsigned char font[] = {
};
/**
* @brief ST7735 LCD display library
* @brief ST7735 LCD library
* @defgroup st7735 libupm-st7735
* @ingroup adafruit spi display
*/
/**
* @library st7735
* @sensor st7735
* @comname ST7735 LCD display
* @comname ST7735 LCD
* @type display
* @man adafruit
* @web http://www.adafruit.com/product/358
* @con spi
*
* @brief API for the st7735 lcd display library
* @brief API for the ST7735 LCD
*
* This file defines the interface for ST7735 display library
* This file defines the interface for the ST7735 display library
*
* @image html st7735.jpg
* @snippet st7735.cxx Interesting
@ -517,12 +517,12 @@ const unsigned char font[] = {
class ST7735 : public GFX {
public:
/**
* Instantiates a ST7735 object
* Instantiates an ST7735 object
*
* @param csLCD LCD chip select pin
* @param cSD SD card chip select pin
* @param rs data/command pin
* @param rst reset pin
* @param rs Data/command pin
* @param rst Reset pin
*/
ST7735 (uint8_t csLCD, uint8_t cSD, uint8_t rs, uint8_t rst);
@ -532,7 +532,7 @@ class ST7735 : public GFX {
~ST7735 ();
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{
@ -540,88 +540,88 @@ class ST7735 : public GFX {
}
/**
* Initialize the modules GPIOs
* Initializes the module GPIOs
*/
void initModule ();
/**
* Configure the chip via SPI interface
* Configures the chip via the SPI
*/
void configModule ();
/**
* Send command to SPI bus (rs must be LOW)
* Sends a command to an SPI bus (rs must be LOW)
*
* @param value command number
* @param value Command number
*/
void write (uint8_t value);
/**
* Send data to SPI bus (rs must be HIGH)
* Sends data to an SPI bus (rs must be HIGH)
*
* @param value command number
* @param value Command number
*/
void data (uint8_t value);
/**
* Execute set of commands and data
* Executes a set of commands and data
*
* @param addr pointer to start of the commands/data section
* @param addr Pointer to the start of the commands/data section
*/
void executeCMDList (const uint8_t *addr);
/**
* Set the window size inside the screen where the pixels data
* will be written.
* Sets the window size inside the screen where pixels data
* is written.
*
* @param x0 first coordinate
* @param y0 first coordinate
* @param x1 second coordinate
* @param y1 second coordinate
* @param x0 First coordinate
* @param y0 First coordinate
* @param x1 Second coordinate
* @param y1 Second coordinate
*/
void setAddrWindow (uint8_t x0, uint8_t y0, uint8_t x1, uint8_t y1);
/**
* Send pixel collor (RGB) to the chip.
* Sends a pixel color (RGB) to the chip.
*
* @param x axis on horizontal scale
* @param y axis on vertical scale
* @param color rgb (16bit) color (R[0-4], G[5-10], B[11-15])
* @param x Axis on the horizontal scale
* @param y Axis on the vertical scale
* @param color RGB (16-bit) color (R[0-4], G[5-10], B[11-15])
*/
void drawPixel (int16_t x, int16_t y, uint16_t color);
/**
* Copy the buffer to the chip via SPI interface.
* Copies the buffer to the chip via the SPI.
*/
void refresh ();
/**
* LCD chip select LOW.
* LCD chip select is LOW
*/
mraa_result_t lcdCSOn ();
/**
* LCD chip select HIGH.
* LCD chip select is HIGH
*/
mraa_result_t lcdCSOff ();
/**
* CD card chip select LOW.
* CD card chip select is LOW
*/
mraa_result_t sdCSOn ();
/**
* CD card select HIGH.
* CD card select is HIGH
*/
mraa_result_t sdCSOff ();
/**
* Data select HIGH.
* Data select is HIGH
*/
mraa_result_t rsHIGH ();
/**
* Data select LOW.
* Data select is LOW
*/
mraa_result_t rsLOW ();

View File

@ -41,7 +41,7 @@
namespace upm {
/**
* @brief Stepper motor library
* @brief Stepper Motor library
* @defgroup stepper libupm-stepper
* @ingroup seeed sparkfun pwm gpio motor
*/
@ -55,10 +55,10 @@ namespace upm {
* @web http://www.schmalzhaus.com/EasyDriver/index.html
* @con pwm gpio
*
* @brief API for the Stepper motor library
* @brief API for the Stepper Motor
*
* This file defines the StepMotor interface. It is compatible with Stepper
* Motor Drivers that use 2 pins to control the motor, like the EasyDriver
* This file defines the Stepper Motor interface. It is compatible with stepper
* motor drivers that use 2 pins to control the motor, like an Easy Driver
* from Brian Schmalz.
*
* @image html stepmotor.jpg
@ -69,34 +69,34 @@ class StepMotor {
/**
* Instantiates a StepMotor object
*
* @param dirPin direction GPIO pin
* @param stePin stepper pulse PWM pin
* @param dirPin Direction GPIO pin
* @param stePin Stepper pulse PWM pin
*/
StepMotor (int dirPin, int stePin);
/**
* StepMotor object destructor.
* StepMotor object destructor
*/
~StepMotor ();
/**
* Set the speed of rotation
* Sets the rotation speed
*
* @param speed rotation speed
* @param speed Rotation speed
*/
void setSpeed (int speed);
/**
* Rotate motor forward
* Rotates the motor forward
*
* @param ticks number of ticks the motor will move
* @param ticks Number of ticks the motor moves
*/
mraa_result_t stepForward (int ticks);
/**
* Rotate motor backward
* Rotates the motor backward
*
* @param ticks number of ticks the motor will move
* @param ticks Number of ticks the motor moves
*/
mraa_result_t stepBackwards (int ticks);

View File

@ -29,7 +29,7 @@
namespace upm {
/**
* @brief SX6119 based FM receiver library
* @brief SX6119-based FM Receiver library
* @defgroup sx6119 libupm-sx6119
* @ingroup seeed gpio sound
*/
@ -43,10 +43,10 @@ namespace upm {
* @man seeed
* @con gpio
*
* @brief API support for the SX6119 based Grove FM Receiver
* @brief API support for the SX6119-based Grove FM Receiver
*
* This class implements support for the FM Receiver. There are
* two digital pins, one that toggles power on/off, and one that
* This class implements support for the SX6119 FM Receiver. There are
* two digital pins: one that toggles power on/off, and the other that
* does a seek to the next station.
*
* @image html sx6119.jpg
@ -56,26 +56,26 @@ namespace upm {
public:
/**
* SX6119 module constructor
* SX6119 constructor
*
* @param powerPin the pin to use for recording
* @param seekPin the pin to use to seek to the next station
* @param powerPin Pin to use for recording
* @param seekPin Pin to use for seeking to the next station
*/
SX6119(int powerPin, int seekPin);
/**
* SX6119 module Destructor
* SX6119 destructor
*/
~SX6119();
/**
* Toggle the device power on or off
* Toggles the device power on or off
*
*/
void togglePower();
/**
* Seek to the next station
* Seeks to the next station
*
*/
void seek();

View File

@ -34,25 +34,25 @@
namespace upm {
/**
* @brief TA12-200 current transformer library
* @brief TA12-200 Current Transformer library
* @defgroup ta12200 libupm-ta12200
* @ingroup seeed analog electric
*/
/**
* @library ta12200
* @sensor ta12200
* @comname TA12-200 Current transformer
* @comname TA12-200 Current Transformer
* @altname Grove Electricity Sensor
* @type electric
* @man seeed
* @web http://www.seeedstudio.com/wiki/Grove_-_Electricity_Sensor
* @con analog
*
* @brief API for the TA12-200 current transformer
* @brief API for the TA12-200 Current Transformer
*
* UPM module for the TA12-200 current transformer, which is found,
* UPM module for the TA12-200 current transformer found,
* for instance, in the Grove Electricity Sensor.
* This module can measure AC current moving through a wire at up
* This module can measure AC moving through a wire at up
* to 5 A.
*
* @image html ta12200.jpg
@ -61,45 +61,45 @@ namespace upm {
class TA12200 {
public:
/**
* TA12200 sensor constructor
* TA12200 constructor
*
* @param pin analog pin to use
* @param pin Analog pin to use
*/
TA12200(int pin);
/**
* TA12200 Destructor
* TA12200 destructor
*/
~TA12200();
/**
* Return the number of milliseconds elapsed since initClock()
* Returns the number of milliseconds elapsed since initClock()
* was last called.
*
* @return elapsed milliseconds
* @return Elapsed milliseconds
*/
uint32_t getMillis();
/**
* Reset the Clock
* Resets the clock
*
*/
void initClock();
/**
* Get the conversion value from the sensor
* Gets the conversion value from the sensor
*
* @return the highest value obtained over 1 second of measuring
* @return Highest value obtained over 1 second of measuring
*/
unsigned int highestValue();
/**
* Compute the measured voltage
* Computes the measured voltage
*
* @param val value measured by highestValue()
* @param val Value measured by highestValue()
* @param res ADC resolution
*
* @return the measured current in milliamps
* @return Measured current in mA
*/
float milliAmps(unsigned int val, int res=TA12200_ADC_RES);

View File

@ -105,7 +105,7 @@ typedef struct {
} tcs3414sc_rgb_t;
/**
* @brief TCS3414CS color sensor library
* @brief TCS3414CS Color Sensor library
* @defgroup tcs3414cs libupm-tcs3414cs
* @ingroup seeed i2c color
*/
@ -119,7 +119,7 @@ typedef struct {
* @web http://www.seeedstudio.com/wiki/Grove_-_I2C_Color_Sensor
* @con i2c
*
* @brief API for TCS3414CS chip (Color sensor)
* @brief API for the TCS3414CS Color Sensor
*
* This file defines the TCS3414CS interface for the color sensor
*
@ -129,31 +129,31 @@ typedef struct {
class TCS3414CS {
public:
/**
* Instanciates a TCS3414CS object
* Instantiates a TCS3414CS object
*
* @param bus number of used bus
* @param bus Number of the used bus
*/
TCS3414CS ();
/**
* TCS3414CS object destructor, basicaly it close i2c connection.
* TCS3414CS object destructor; basically, it closes the I2C connection.
*/
~TCS3414CS ();
/**
* Get the RGB value from sensor.
* Gets the RGB value from the sensor.
*
* @param rgb color values
* @param rgb Color values
*/
void readRGB (tcs3414sc_rgb_t * rgb);
/**
* Clear interrupts.
* Clears interrupts.
*/
void clearInterrupt ();
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{

View File

@ -45,7 +45,7 @@
namespace upm {
/**
* @brief TH02 temperature & humidity sensor library
* @brief TH02 Temperature & Humidity Sensor library
* @defgroup th02 libupm-th02
* @ingroup seeed i2c temp
*/
@ -53,18 +53,18 @@ namespace upm {
* @library th02
* @sensor th02
* @comname TH02 Temperature & Humidity Sensor
* @altname Grove Temperature & Humidity Sensor (High Accuracy & Mini)
* @altname Grove Temperature & Humidity Sensor (High-Accuracy & Mini)
* @type temp
* @man seeed
* @web http://www.seeedstudio.com/wiki/Grove_-_Tempture%26Humidity_Sensor_(High-Accuracy_%26Mini)_v1.0
* @con i2c
*
* @brief API for th02 temperature & humidity sensor library
* @brief API for the TH02 Temperature & Humidity Sensor
*
* This file defines the TH02 interface for libth02
*
* NOTE: For use on the Edison with the Arduino breakout board, the
* Edison must be set to 3v rather than 5v.
* Note: For use on Intel(R) Edison with an Arduino* breakout board, Intel
* Edison must be set to 3 V rather than 5 V.
*
* @image html th02.jpg
* @snippet th02.cxx Interesting
@ -72,32 +72,32 @@ namespace upm {
class TH02 {
public:
/**
* Instanciates a TH02 object
* Instantiates a TH02 object
*/
TH02 (int bus=0, uint8_t addr=TH02_ADDR);
/**
* TH02 object destructor, basicaly it close i2c connection.
* TH02 object destructor; basically, it closes the I2C connection.
*/
~TH02 ();
/**
* Get the temperature value from sensor.
* Gets the temperature value from the sensor.
*/
float getTemperature ();
/**
* Get the humidity value from sensor.
* Gets the humidity value from the sensor.
*/
float getHumidity ();
/**
* Get the sensor's status.
* Gets the sensor status.
*/
bool getStatus ();
/**
* Return name of the component
* Returns the name of the component
*/
std::string name()
{

View File

@ -32,19 +32,19 @@
#include <mraa/gpio.h>
// TM1637 specific register addresses for writing all digits at a time
// TM1637-specific register addresses for writing all digits at a time
#define TM1637_ADDR 0x40
#define TM1637_REG 0xC0
#define TM1637_CMD 0x88
// Display specific values
// Display-specific values
#define M_DISPLAY_DIGITS 4
namespace upm
{
/**
* @brief TM1637 7-segment display library
* @brief TM1637 7-Segment Display library
* @defgroup tm1637 libupm-tm1637
* @ingroup seeed gpio display
*/
@ -58,13 +58,13 @@ namespace upm
* @man seeed
* @con gpio
*
* @brief API for TM1637 (7-segment display)
* @brief API for the TM1637 7-Segment Display
*
* The TM1637 is a display controller for LED based 7-segment displays.
* TM1637 is a display controller for LED-based 7-segment displays.
* It can be used to address and write data to multiple display digits. This
* driver is based on the Grove version of the TM1637 display which uses 4
* digits thus making it ideal for clock displays, timers, counters or even
* score display in a two player arcade game.
* driver is based on the Grove version of the TM1637 display that uses 4
* digits, thus making it ideal for clock displays, timers, counters, or even
* score displays in a two-player arcade game.
*
* @image html tm1637.jpeg
* @snippet tm1637.cxx Interesting
@ -74,7 +74,7 @@ namespace upm
{
public:
/**
* Enum for memory mapped GPIO
* Enum for the memory-mapped GPIO
*/
typedef enum {
NO = 0,
@ -83,10 +83,10 @@ namespace upm
/**
* TM1637 constructor
*
* @param clk_pin the clock pin the sensor is connected to
* @param dio_pin the data pin the sensor is connected to
* @param bright initial brightness from 0 to 7 dark to bright (default 3)
* @param mmio fast memory mapped gpio writes, default is yes
* @param clk_pin Clock pin the sensor is connected to
* @param dio_pin Data pin the sensor is connected to
* @param bright Initial brightness, from 0 (dark) to 7 (bright) (default is 3)
* @param mmio Fast memory-mapped GPIO writes; default is yes
*/
TM1637(int clk_pin, int dio_pin, int bright = 3, M_FAST_GPIO mmio = YES);
/**
@ -94,44 +94,44 @@ namespace upm
*/
~TM1637();
/**
* Write digits to the display in 7 segment encoding
* Writes digits to the display in a 7-segment encoding
*
* @param digits an array of digits to send to the display
* @return 0 if the write was successful, error code otherwise
* @param digits Array of digits to send to the display
* @return 0 if successful, error code otherwise
*/
mraa_result_t write(uint8_t *digits);
/**
* Write digits to the display in 7 segment encoding
* Writes digits to the display in a 7-segment encoding
*
* @param d list of multiple arguments to send to the display
* @return 0 if the write was successful, error code otherwise
* @param d List of multiple arguments to send to the display
* @return 0 if successful, error code otherwise
*/
mraa_result_t write(int d, ...);
/**
* Write a symbol (digit or letter) to the display at a specified index
* Writes a symbol (digit or letter) to the display in a specified index
*
* @param index 0-based index of the digit to change from the left
* @param symbol the digit or letter to display
* @return 0 if the write was successful, error code otherwise
* @param symbol Digit or letter to display
* @return 0 if successful, error code otherwise
*/
mraa_result_t writeAt(int index, char symbol);
/**
* Write all the digits or letters to the display as a string
* Writes all the digits or letters to the display as a string
*
* @param digits a string of symbols to display
* @return 0 if the write was successful, error code otherwise
* @param digits String of symbols to display
* @return 0 if successful, error code otherwise
*/
mraa_result_t write(std::string digits);
/**
* Toggles the colon between digits on the display
*
* @param value pass true to turn on the colon, false to turn it off
* @param value True to turn the colon on, false to turn it off
*/
void setColon(bool value);
/**
* Use to control the brightness of the display
* Controls the brightness of the display
*
* @param value between 0 and 7, darkest to brightest
* @param value Brightness, from 0 (darkest) to 7 (brightest)
*/
void setBrightness(int value);

View File

@ -92,7 +92,7 @@ namespace upm {
#define LUX_M8C (0x0000) // 0.000 * 2^LUX_SCALE
/**
* @brief TSL2561 digital light sensor library
* @brief TSL2561 Digital Light Sensor library
* @defgroup tsl2561 libupm-tsl2561
* @ingroup seeed i2c light eak
*/
@ -107,12 +107,10 @@ namespace upm {
* @con i2c
* @kit eak
*
* @brief TSL2561 Digital Light Sensor library
* @brief API for the TSL2561 Digital Light Sensor
*
* The LIGHT-TO-DIGITAL CONVERTER [TAOS-TSL2561]
* (http://www.adafruit.com/datasheets/TSL2561.pdf)
* The TSL2560 and TSL2561 are light-to-digital converters that transform
* light intensity to a digital signal output capable of direct I2C (TSL2561)
* TSL2560 and TSL2561 are light-to-digital converters that transform
* light intensity to a digital signal output capable of a direct I2C (TSL2561) interface
*
* @image html tsl2561.jpg
* @snippet tsl2561.cxx Interesting
@ -120,42 +118,42 @@ namespace upm {
class TSL2561{
public:
/**
* Instanciates a TSL2561 object
* Instantiates a TSL2561 object
*
* @param bus number of used bus
* @param devAddr address of used i2c device
* @param gain the correct gain to use
* @param integration time to use
* @param bus Number of the used bus
* @param devAddr Address of the used I2C device
* @param gain Correct gain to use
* @param integration Time to use
*/
TSL2561(int bus=0, uint8_t devAddr=TSL2561_Address, uint8_t gain=GAIN_0X, uint8_t integrationTime=INTEGRATION_TIME1_101MS);
/**
* GY65 object destructor to power down TSL2561 and close i2c connection.
* GY65 object destructor; powers down TSL2561 and closes the I2C connection.
*/
~TSL2561();
/**
* Get calculated lux reading from TSL2561
* Gets the calculated lux reading from TSL2561
*
* @return the calculated lux value from the sensor
* @return Calculated lux value from the sensor
*/
int getLux();
private:
/**
* Write to TSL2561 register
* Writes to a TSL2561 register
*
* @param reg addess to write
* @param value to write
* @param reg Addess to write
* @param Value to write
* @return mraa_result_t
*/
mraa_result_t i2cWriteReg(uint8_t reg, uint8_t value);
/**
* Read from TSL2561 register
* Reads from a TSL2561 register
*
* @param reg addess to read
* @param data byte read from the register
* @param reg Addess to read
* @param data Byte read from the register
* @return mraa_result_t
*/
mraa_result_t i2cReadReg(uint8_t reg, uint8_t &data);

View File

@ -28,13 +28,7 @@
namespace upm {
/**
* @brief TTP223 touch detector sensor library
*
* This touch sensor detects when a finger is near the metallic pad
* by a change in capacitance. It can replace a more traditional push
* button. The touch sensor can still function when placed under a
* non-metallic surface like glass or plastic.
*
* @brief TTP223 Touch Detector Sensor library
* @defgroup ttp223 libupm-ttp223
* @ingroup seeed gpio touch
*/
@ -48,10 +42,10 @@ namespace upm {
* @web http://www.seeedstudio.com/depot/Grove-Touch-Sensor-p-747.html
* @con gpio
*
* @brief TTP223 Touch Detector sensor library
* @brief API for the TTP223 Touch Sensor
*
* This touch sensor detects when a finger is near the metallic pad
* by a change in capacitance. It can replace a more traditional push
* by the change in capacitance. It can replace a more traditional push
* button. The touch sensor can still function when placed under a
* non-metallic surface like glass or plastic.
*
@ -61,9 +55,9 @@ namespace upm {
class TTP223 {
public:
/**
* TTP223 touch sensor constructor
* TTP223 constructor
*
* @param pin GPIO pin where sensor is connected
* @param pin GPIO pin where the sensor is connected
*/
TTP223(unsigned int pin);
@ -73,23 +67,23 @@ class TTP223 {
~TTP223();
/**
* Return name of this sensor
* Returns the name of this sensor
*
* @return the name of this sensor
* @return Name of this sensor
*/
std::string name();
/**
* Get value from GPIO pin
* Gets the value from the GPIO pin
*
* @return the value from the GPIO pin
* @return Value from the GPIO pin
*/
int value();
/**
* Returns whether or not the touch sensor is being touched
* Determines whether the touch sensor is being touched
*
* @return true if the touch sensor is being touched; false otherwise
* @return True if touched, false otherwise
*/
bool isPressed();

View File

@ -44,7 +44,7 @@ const int UBLOX6_DEFAULT_UART = 0;
namespace upm {
/**
* @brief UBLOX6 & SIM28 GPS module library
* @brief UBLOX6 & SIM28 GPS Module library
* @defgroup ublox6 libupm-ublox6
* @ingroup seeed uart gps tsk
*/
@ -59,10 +59,10 @@ namespace upm {
* @con uart
* @kit tsk
*
* @brief API for the U-BLOX 6 and SIM28 GPS modules
* @brief API for the U-BLOX 6 and SIM28 GPS Modules
*
* UPM support for the U-BLOX 6 GPS Module. It is also compatible with
* the SIM28 GPS Module.
* UPM support for the U-BLOX 6 GPS module. It is also compatible with
* the SIM28 GPS module.
*
* @image html ublox6.jpg
* @snippet ublox6.cxx Interesting
@ -70,51 +70,51 @@ namespace upm {
class Ublox6 {
public:
/**
* U-BLOX 6 GPS module constructor
* Ublox6 object constructor
*
* @param uart defualt uart to use (0 or 1)
* @param uart Default UART to use (0 or 1)
*/
Ublox6(int uart);
/**
* U-BLOX 6 GPS module Destructor
* Ublox6 object destructor
*/
~Ublox6();
/**
* Check to see if there is data available for reading
* Checks to see if there is data available for reading
*
* @return true if there is data available to be read
* @return True if there is data available for reading
*/
bool dataAvailable();
/**
* read any available data into a user-supplied buffer. Note, the
* call will block until data is available to be read. Use
* Reads any available data in a user-supplied buffer. Note: the
* call blocks until data is available to be read. Use
* dataAvailable() to determine whether there is data available
* beforehand, to avoid blocking.
*
* @param buffer the buffer to hold the data read
* @param len the length of the buffer
* @return the number of bytes read
* @param buffer Buffer to hold the data read
* @param len Length of the buffer
* @return the Number of bytes read
*/
int readData(char *buffer, size_t len);
/**
* write the data in buffer to the device
* Writes the data in the buffer to the device
*
* @param buffer the buffer to hold the data read
* @param len the length of the buffer
* @return the number of bytes written
* @param buffer Buffer to hold the data read
* @param len Length of the buffer
* @return Number of bytes written
*/
int writeData(char *buffer, size_t len);
/**
* setup the proper tty i/o modes and the baudrate. The default
* baud rate is 9600 (B9600).
* Sets up proper tty I/O modes and the baud rate. The default
* baud rate is 9,600 (B9600).
*
* @param baud the desired baud rate.
* @return true if successful
* @param baud Desired baud rate
* @return True if successful
*/
bool setupTty(speed_t baud=B9600);

View File

@ -32,7 +32,7 @@
namespace upm {
/**
* @brief ULN200XA stepper driver library
* @brief ULN200XA Stepper Driver library
* @defgroup uln200xa libupm-uln200xa
* @ingroup seeed gpio motor
*/
@ -47,11 +47,11 @@ namespace upm {
* @web http://www.seeedstudio.com/depot/Gear-Stepper-Motor-with-Driver-p-1685.html?cPath=39_40
* @con gpio
*
* @brief UPM module for the ULN200XA Darlington Stepper driver
* @brief UPM module for the ULN200XA Darlington Stepper Driver
*
* This module was developed on a ULBN2003A Stepper Driver. It
* should support the uln2001a, 2002a, 2003a, and 2004a devices, for
* use in driving a unipolar stepper motor, the 28BYJ-48.
* This module was developed on a ULN2003A Stepper Driver. It
* should also support the ULN2001A, ULN2002A, and ULN2004A devices, when
* using to drive the 28BYJ-48 unipolar stepper motor.
*
* @image html uln200xa.jpg
* Example driving a stepper motor
@ -73,56 +73,56 @@ namespace upm {
/**
* ULN200XA constructor
*
* @param stepsPerRev number of steps per full revolution
* @param i1 digital pin to use for stepper input 1
* @param i2 digital pin to use for stepper input 2
* @param i3 digital pin to use for stepper input 3
* @param i4 digital pin to use for stepper input 4
* @param stepsPerRev Number of steps per full revolution
* @param i1 Digital pin to use for stepper input 1
* @param i2 Digital pin to use for stepper input 2
* @param i3 Digital pin to use for stepper input 3
* @param i4 Digital pin to use for stepper input 4
*/
ULN200XA(int stepsPerRev, int i1, int i2, int i3, int i4);
/**
* ULN200XA Destructor
* ULN200XA destructor
*/
~ULN200XA();
/**
* Return the number of milliseconds elapsed since initClock()
* Returns the number of milliseconds elapsed since initClock()
* was last called.
*
* @return elapsed milliseconds
* @return Elapsed milliseconds
*/
uint32_t getMillis();
/**
* Reset the Clock
* Resets the clock
*
*/
void initClock();
/**
* set the speed of the stepper in RPM (Rotation Per Minute
* Sets the speed of the stepper motor in revolutions per minute (RPM)
*
* @param speed speed to set the motor to in RPM's
* @param speed Speed to set the motor to, in RPM
*/
void setSpeed(int speed);
/**
* set the direction of the motor, clockwise or counter clockwise
* Sets the direction of the motor, clockwise or counterclockwise
*
* @param dir direction to set the motor to
* @param dir Direction to set the motor to
*/
void setDirection(ULN200XA_DIRECTION_T dir);
/**
* step the stepper motor a specified number of steps
* Steps the stepper motor a specified number of steps
*
* @param steps number of steps to move the stepper motor
* @param steps Number of steps to move the stepper motor
*/
void stepperSteps(unsigned int steps);
/**
* release the stepper, by removing power
* Releases the stepper motor by removing power
*
*/
void release();
@ -142,13 +142,13 @@ namespace upm {
uint32_t m_stepDelay;
/**
* step the motor one tick
* Steps the stepper motor one tick
*
*/
void stepperStep();
/**
* step direction - 1 = forward, -1 = backward
* Defines the step direction: 1 = forward, -1 = backward
*
*/
int m_stepDirection;

View File

@ -27,7 +27,7 @@
namespace upm {
/**
* @brief Water Level switch library
* @brief Water Level Switch Library
* @defgroup waterlevel libupm-waterlevel
* @ingroup seeed gpio liquid
*/
@ -50,17 +50,17 @@ namespace upm {
class WaterLevel {
public:
/**
* Water Level Constructor
* WaterLevel constructor
*
* @param pin digital pin to use
* @param pin Digital pin to use
*/
WaterLevel(int pin);
/**
* Water Level Destructor
* WaterLevel destructor
*/
~WaterLevel();
/**
* @return bool returns whether liquid has gone above sensor
* @return bool Determines whether liquid has risen above the sensor
*/
bool isSubmerged();

View File

@ -63,9 +63,9 @@ namespace upm {
* @web http://www.seeedstudio.com/wiki/Grove_%E2%80%93_Serial_MP3_Player
* @con uart
*
* @brief API for the WT5001 Serial MP3 module
* @brief API for the WT5001 Serial MP3 Module
*
* UPM support for the WT5001 Serial MP3 Module. This was tested
* UPM support for the WT5001 Serial MP3 module. This was tested
* specifically with the Grove Serial MP3 module.
*
* @image html wt5001.jpg
@ -120,220 +120,220 @@ namespace upm {
} WT5001_PLAYSOURCE_T;
/**
* WT5001 Serial MP3 module constructor
* WT5001 constructor
*
* @param uart default uart to use (0 or 1)
* @param uart Default UART to use (0 or 1)
*/
WT5001(int uart);
/**
* WT5001 Serial MP3 module Destructor
* WT5001 destructor
*/
~WT5001();
/**
* Check to see if there is data available for reading
* Checks to see if there is data available for reading
*
* @param millis number of milliseconds to wait, 0 means no wait.
* @return true if there is data available to be read
* @param millis Number of milliseconds to wait; 0 means no waiting
* @return True if there is data available for reading
*/
bool dataAvailable(unsigned int millis);
/**
* read any available data into a user-supplied buffer. Note, the
* call will block until data is available to be read. Use
* Reads any available data in a user-supplied buffer. Note: the
* call blocks until data is available to be read. Use
* dataAvailable() to determine whether there is data available
* beforehand, to avoid blocking.
*
* @param buffer the buffer to hold the data read
* @param len the length of the buffer
* @return the number of bytes read
* @param buffer Buffer to hold the data read
* @param len Length of the buffer
* @return Number of bytes read
*/
int readData(char *buffer, size_t len);
/**
* write the data in buffer to the device
* Writes the data in the buffer to the device
*
* @param buffer the buffer to hold the data read
* @param len the length of the buffer
* @return the number of bytes written
* @param buffer Buffer to hold the data read
* @param len Length of the buffer
* @return Number of bytes written
*/
int writeData(char *buffer, size_t len);
/**
* setup the proper tty i/o modes and the baudrate. The default
* baud rate is 9600 (B9600).
* Sets up proper tty I/O modes and the baud rate. The default
* baud rate is 9,600 (B9600).
*
* @param baud the desired baud rate.
* @return true if successful
* @param baud Desired baud rate.
* @return True if successful
*/
bool setupTty(speed_t baud=B9600);
/**
* Get a command response and return it's validity
* Gets a command response and returns its validity
*
* @param index opcode to verify
* @return true if successful
* @param index Opcode to verify
* @return True if successful
*/
bool checkResponse(WT5001_OPCODE_T opcode);
/**
* play a file, from a source
* Plays a file from a source
*
* @param psrc the play source (SD, UDISK, SPI)
* @param index file number to play
* @return true if successful
* @param psrc Play source (SD, UDISK, SPI)
* @param index File number to play
* @return True if successful
*/
bool play(WT5001_PLAYSOURCE_T psrc, uint16_t index);
/**
* stop playing
* Stops playing
*
* @return true if successful
* @return True if successful
*/
bool stop();
/**
* pause playback, or resume playback if already paused
* Pauses the playback or resumes it if already paused
*
* @return true if successful
* @return True if successful
*/
bool pause();
/**
* go to next track
* Moves to the next track
*
* @return true if successful
* @return True if successful
*/
bool next();
/**
* go to previous track
* Moves to the previous track
*
* @return true if successful
* @return True if successful
*/
bool previous();
/**
* set the volume. Range is between 0-31. 0 means mute.
* Sets the volume. Valid range is 0-31. 0 means mute.
*
* @return true if successful
* @return True if successful
*/
bool setVolume(uint8_t vol);
/**
* queue a track to play next, when current song is finished
* Queues a track to play next, when the current song is finished
*
* @param index file number to queue
* @return true if successful
* @param index File number to queue
* @return True if successful
*/
bool queue(uint16_t index);
/**
* set the playback mode
* Sets the playback mode
*
* @param pm play mode to enable
* @return true if successful
* @param pm Play mode to enable
* @return True if successful
*/
bool setPlayMode(WT5001_PLAYMODE_T pm);
/**
* insert a track to play immediately, interrupting the current
* track. When the inserted track is finished playing, the
* interrupted track will resume where it was interrupted.
* Inserts a track to play immediately, interrupting the current
* track. When the inserted track is finished, the
* interrupted track resumes where it was interrupted.
*
* @param index file number to insert
* @return true if successful
* @param index File number to insert
* @return True if successful
*/
bool insert(uint16_t index);
/**
* set the date of the internal clock
* Sets the date of the internal clock
*
* @param year 4 digit year
* @param month the month
* @param day the day
* @return true if successful
* @param year 4-digit year
* @param month Month
* @param day Day
* @return True if successful
*/
bool setDate(uint16_t year, uint8_t month, uint8_t day);
/**
* set the time of the internal clock
* Sets the time of the internal clock
*
* @param hour hour
* @param minute minute
* @param second second
* @return true if successful
* @param hour Hour
* @param minute Minute
* @param second Second
* @return True if successful
*/
bool setTime(uint8_t hour, uint8_t minute, uint8_t second);
/**
* set the alarm
* Sets the alarm
*
* @param hour hour
* @param minute minute
* @param second second
* @return true if successful
* @param hour Hour
* @param minute Minute
* @param second Second
* @return True if successful
*/
bool setAlarm(uint8_t hour, uint8_t minute, uint8_t second);
/**
* clear any alarm that has been set
* Clears any alarm that has been set
*
* @return true if successful
* @return True if successful
*/
bool clearAlarm();
/**
* get the current volume
* Gets the current volume
*
* @param vol the returned volume
* @return true if successful
* @param vol Volume
* @return True if successful
*/
bool getVolume(uint8_t *vol);
/**
* get the current play state. 1 = playing, 2 = stopped, 3 = paused
* Gets the current play state: 1 = playing, 2 = stopped, 3 = paused
*
* @param ps the returned play state
* @return true if successful
* @param ps Play state
* @return True if successful
*/
bool getPlayState(uint8_t *ps);
/**
* get the number of files present on the source device
* Gets the number of files present on the source device
*
* @param psrc the storage source
* @param numf the returned number of files
* @return true if successful
* @param psrc Storage source
* @param numf Number of files
* @return True if successful
*/
bool getNumFiles(WT5001_PLAYSOURCE_T psrc, uint16_t *numf);
/**
* get the index of the current file
* Gets the index of the current file
*
* @param curf the index of the current file
* @return true if successful
* @param curf Index of the current file
* @return True if successful
*/
bool getCurrentFile(uint16_t *curf);
/**
* get the device date
* Gets the device date
*
* @param year returned 4 digit year
* @param month returned month
* @param day returned day
* @return true if successful
* @param year 4-digit year
* @param month Month
* @param day Day
* @return True if successful
*/
bool getDate(uint16_t *year, uint8_t *month, uint8_t *day);
/**
* get the device time
* Gets the device time
*
* @param hour returned hour
* @param minute returned minute
* @param second returned second
* @return true if successful
* @param hour Hour
* @param minute Minute
* @param second Second
* @return True if successful
*/
bool getTime(uint8_t *hour, uint8_t *minute, uint8_t *second);

View File

@ -28,7 +28,7 @@
namespace upm {
/**
* @brief YG1006 flame sensor library
* @brief YG1006 Flame Sensor library
* @defgroup yg1006 libupm-yg1006
* @ingroup seeed gpio light hak
*/
@ -43,10 +43,10 @@ namespace upm {
* @con gpio
* @kit hak
*
* @brief API for the YG1006 flame sensor
* @brief API for the YG1006 Flame Sensor
*
* UPM module for the YG1006 flame sensor. It detects flame or any
* other light in the 760nm - 1100nm wavelength range.
* UPM module for the YG1006 flame sensor. It detects a flame or any
* other light source in the 760-1,100 nm wavelength range.
*
* @image html yg1006.jpg
* @snippet yg1006.cxx Interesting
@ -54,19 +54,19 @@ namespace upm {
class YG1006 {
public:
/**
* YG1006 digital flame sensor constructor
* YG1006 constructor
*
* @param pin digital pin to use
* @param pin Digital pin to use
*/
YG1006(int pin);
/**
* YG1006 Destructor
* YG1006 destructor
*/
~YG1006();
/**
* Determine whether a flame has been detected
* Determines whether a flame has been detected
*
* @return True if a flame or other comparable light source is detected
* @return True if a flame or another comparable light source has been detected
*/
bool flameDetected();

View File

@ -59,7 +59,7 @@
namespace upm {
/**
* @brief ZFM-20 fingerprint sensor module library
* @brief ZFM-20 Fingerprint Sensor Module library
* @defgroup zfm20 libupm-zfm20
* @ingroup seeed uart touch
*/
@ -73,12 +73,12 @@ namespace upm {
* @man seeed
* @con uart
*
* @brief API for the ZFM-20 fingerprint sensor module
* @brief API for the ZFM-20 Fingerprint Sensor Module
*
* This class was tested on the Grove Fingerprint Sensor
* Module. It can store up to 163 fingerprints.
*
* It is connected via a UART at 57600 baud.
* It is connected via a UART at 57,600 baud.
*
* @image html zfm20.jpg
* This example demonstrates how to register and store a new fingerprint
@ -138,7 +138,7 @@ namespace upm {
ERR_INVALID_REG = 0x1a,
ERR_INVALID_ADDR = 0x20,
ERR_NEEDS_PWD = 0x21,
// end of module specific errors
// end of module-specific errors
ERR_INTERNAL_ERR = 0xff // API internal error
} ZFM20_ERRORS_T;
@ -150,215 +150,215 @@ namespace upm {
} ZFM20_PKTCODES_T;
/**
* ZFM20 module constructor
* ZFM20 constructor
*
* @param uart default uart to use (0 or 1)
* @param uart Default UART to use (0 or 1)
*/
ZFM20(int uart);
/**
* ZFM20 module Destructor
* ZFM20 destructor
*/
~ZFM20();
/**
* check to see if there is data available for reading
* Checks to see if there is data available for reading
*
* @param millis number of milliseconds to wait, 0 means no wait.
* @return true if there is data available to be read
* @param millis Number of milliseconds to wait; 0 means no waiting
* @return true if there is data available for reading
*/
bool dataAvailable(unsigned int millis);
/**
* read any available data into a user-supplied buffer. Note, the
* call will block until data is available to be read. Use
* Reads any available data in a user-supplied buffer. Note: the
* call blocks until data is available to be read. Use
* dataAvailable() to determine whether there is data available
* beforehand, to avoid blocking.
*
* @param buffer the buffer to hold the data read
* @param len the length of the buffer
* @return the number of bytes read
* @param buffer Buffer to hold the data read
* @param len Length of the buffer
* @return Number of bytes read
*/
int readData(char *buffer, size_t len);
/**
* write the data in buffer to the device
* Writes the data in the buffer to the device
*
* @param buffer the buffer to hold the data read
* @param len the length of the buffer
* @return the number of bytes written
* @param buffer Buffer to hold the data read
* @param len Length of the buffer
* @return Number of bytes written
*/
int writeData(char *buffer, size_t len);
/**
* setup the proper tty i/o modes and the baudrate. The default
* baud rate is 57600 (B57600) for this device.
* Sets up proper tty I/O modes and the baud rate. For this device,
* the default baud rate is 57,600 (B57600).
*
* @param baud the desired baud rate.
* @return true if successful
* @param baud Desired baud rate.
* @return True if successful
*/
bool setupTty(speed_t baud=B57600);
/**
* compose and write a command packet
* Composes and writes a command packet
*
* @param pkt the packet
* @param len length of packet
* @return the number of bytes written
* @param pkt Packet
* @param len Length of packet
* @return Number of bytes written
*/
int writeCmdPacket(unsigned char *pkt, int len);
/**
* verify the packet header and indicate it's validity
* Verifies the packet header and indicates its validity
*
* @param pkt the packet to check
* @return true if valid checksum, false otherwise
* @param pkt Packet to check
* @return True if the checksum is valid, false otherwise
*/
bool verifyPacket(unsigned char *pkt);
/**
* Return the number of milliseconds elapsed since initClock()
* was last called.
* Returns the number of milliseconds elapsed since initClock()
* was last called
*
* @return elapsed milliseconds
* @return Elapsed milliseconds
*/
uint32_t getMillis();
/**
* Reset the Clock
* Resets the clock
*
*/
void initClock();
/**
* set the address that should be used to access the module
* Sets the address that should be used to access the module
*
* @param addr the address to use
* @param addr Address to use
*/
void setAddress(uint32_t addr) { m_address = addr; };
/**
* set the password that should be used to access the module
* Sets the password that should be used to access the module
*
* @param pw password to use
* @param pw Password to use
*/
void setPassword(uint32_t pw) { m_password = pw; };
/**
* get the returned data from a request
* Gets the returned data from a request
*
* @param pkt the buffer to store the returned data into
* @param len the expected response length. pkt should be at least this
* big.
* @return true if successful
* @param pkt Buffer to store the returned data
* @param len Expected response length; pkt should be at least this
* large
* @return True if successful
*/
bool getResponse(unsigned char *pkt, int len);
/**
* verify and authenticate to the module. The password used is
* the one last set by setPassword().
* Verifies and authenticates to the module. The password used is
* the last one set by setPassword().
*
* @return true if successful
* @return True if successful
*/
bool verifyPassword();
/**
* query the module for the number of stored templates
* Queries the module for the number of stored templates
* (fingerprints).
*
* @return the number of currently stored templates
* @return Number of currently stored templates
*/
int getNumTemplates();
/**
* set a new password for the module. This passowrd will be
* stored on the module, and will be required in order to access
* Sets a new password for the module. This passowrd is
* stored in the module, and is required to access
* the module in the future.
*
* @param pwd the new password to set on the module
* @return true if successful
* @param pwd New password to set on the module
* @return True if successful
*/
bool setNewPassword(uint32_t pwd);
/**
* set a new address for the module. This address will be
* stored on the module, and will be required in order to access
* Sets a new address for the module. This address is
* stored in the module, and is required to access
* the module in the future.
*
* @param addr the new address to set on the module
* @return true if successful
* @param addr New address to set on the module
* @return True if successful
*/
bool setNewAddress(uint32_t addr);
/**
* generate a new fingerprint image (scan a fingerprint)
* Generates a new fingerprint image (scans a fingerprint)
*
* @return one of the ZFM20_ERRORS_T values
* @return One of the ZFM20_ERRORS_T values
*/
uint8_t generateImage();
/**
* convert the image in the image buffer (generated by
* generateImage()) and store it in one of the two characteristics
* Converts the image in the image buffer (generated by
* generateImage()) and stores it in one of the two characteristics
* buffers, 1 or 2
*
* @param slot the characteristics buffer to use. Must be 1 or 2.
* @return one of the ZFM20_ERRORS_T values
* @param slot Characteristics buffer to use; must be 1 or 2
* @return One of the ZFM20_ERRORS_T values
*/
uint8_t image2Tz(int slot);
/**
* based on the two characteristics bufferes (1 & 2), create a
* fingerprint model. Once a model has been successfully created,
* Based on the two characteristics buffers (1 & 2), creates a
* fingerprint model. Once a model is successfully created,
* it can be stored in the module with storeModel().
*
* @return one of the ZFM20_ERRORS_T values
* @return One of the ZFM20_ERRORS_T values
*/
uint8_t createModel();
/**
* once a fingerprint model has been created, this method can be
* Once a fingerprint model is created, this method can be
* used to store it (via one of the characteristics buffers) in a
* given location.
*
* @param slot the characteristics buffer to store (1 or 2)
* @param id the location in which to store the model
* @return one of the ZFM20_ERRORS_T values
* @param slot Characteristics buffer to store the model, 1 or 2
* @param id Location to store the model
* @return One of the ZFM20_ERRORS_T values
*/
uint8_t storeModel(int slot, uint16_t id);
/**
* delete a stored model.
* Deletes a stored model
*
* @param id the location containing the model to delete
* @return one of the ZFM20_ERRORS_T values
* @param id Location containing the model to delete
* @return One of the ZFM20_ERRORS_T values
*/
uint8_t deleteModel(uint16_t id);
/**
* delete the model database
* Deletes the model database (DB)
*
* @return one of the ZFM20_ERRORS_T values
* @return One of the ZFM20_ERRORS_T values
*/
uint8_t deleteDB();
/**
* search the fingerprint DB and return the id and score, if found
* Searches the fingerprint DB and returns an ID and score, if found
*
*
* @param slot the slot containing a converted image to search for
* @param id the returned id if found, 0 otherwise
* @param score the returned score if found, 0 otherwise
* @return one of the ZFM20_ERRORS_T values
* @param slot Slot containing a converted image to search for
* @param id ID if found, 0 otherwise
* @param score Score if found, 0 otherwise
* @return One of the ZFM20_ERRORS_T values
*/
uint8_t search(int slot, uint16_t *id, uint16_t *score);
/**
* compares the features in characteristic buffers 1 and 2 and
* Compares the features in characteristics buffers 1 and 2 and
* returns a score if they match
*
* @param score the returned score
* @return one of the ZFM20_ERRORS_T values
* @param score Score
* @return One of the ZFM20_ERRORS_T values
*/
uint8_t match(uint16_t *score);