48 Commits

Author SHA1 Message Date
Jon Trulson
b633ecf97f th02: fix non-working driver
There were a few issues with this driver, corrected in this update.

1) i2c transactions were not working - I replaced the i2c
implementation with the MRAA i2c class implementation.

2) status check was inverted - fixed.

3) fixed up #defines in header file to avoid naming collisions (ADDR,
etc).

4) Added capability to supply bus and i2c address to ctor, setting
defaults of 0, and TH02_ADDR respectively.

NOTE: For proper operation on Edison using the arduino breakout
board, the voltage needs to be set to 3.3V rather than 5v.  On G2, 5v
works fine.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-26 16:39:13 -07:00
Jon Trulson
517f6c1e88 ad8232: Initial Implementation
This driver implements support for the Sparkfun Single Lead Heart Rate
Monitor, based on the AD8232 chip.

It simply outputs ADC data that needs to be sent somewhere for
plotting.  The Sparkfun page has some suggestions.

Alternatively, if you have an oscilliscope that supports a 'Roll'
mode, you can get an EKG-like display by measuring the OUT pin.

https://www.sparkfun.com/products/12650

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-21 13:52:11 -07:00
Jon Trulson
c8d0aee873 h3lis331dl: Initial implementation
The driver implements support for the Grove 3-Axis Digital
Accelerometer(±400g), using the h3lis331dl chip.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-19 11:48:46 -07:00
Jon Trulson
5547d99609 ht9170: Initial implementation
The driver implements support for the DTMF Shield based on the ht9170.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-19 11:31:15 -07:00
Jon Trulson
d776edbab2 hm11: Initial implementation
This module implements support for the Grove BLE (Bluetooth Low
Energy) device.  It is implemented as a UART device accepting an "AT"
command set.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-07 15:00:01 -07:00
Jon Trulson
4ca399845f maxsonarez: Initial implementation
The module supports the LV-MaxSonar EZ1, EZ2, EZ3 and EZ4 ultrasonic
range finders.  It was developed and tested on the EZ3 variant.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-07 14:48:44 -07:00
Jon Trulson
4759d70541 si114x: Initial implementation
This module implements support for the Adafruit UV sensor:
https://www.adafruit.com/products/1777

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-06 17:46:00 -07:00
Jon Trulson
34b28928de sx6119: Initial implementation
This was tested with the Grove FM Receiver.  Unfortunately, there is
no documentation on how to control the device using the D1 and D2 pins
that Seeed provides.  There is a switch on the device that can control
all of the elements, power, volume, and seek +/-.

The supplied example can turn the device on, and do a seek, but not
much else.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-06 17:30:08 -07:00
Wouter van Verre
31c4f470fe i2clcd: use the mraa C++ API instead of the C API
Rewrite the i2c module to be based around the MRAA C++ API,
since this makes resource management easier inside of the UPM
C++ classes.

i2clcd.{h,cxx}: remove the close() function. This now automatically gets
called when the object goes out of scope, inside the destructor.

examples/i2clcd: fix C++/Python/Javascript examples that explicitly called the close function.
The I2c context now gets called by the destructor of the sensor class. This
happens when the object goes out of scope or when it gets deleted, if the
object was created using the new keyword, as is the case here.

Signed-off-by: Wouter van Verre <wouter.van.verre@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-23 17:34:27 -07:00
Jon Trulson
47eaf93e4d isd1820: Initial implementation
This driver implements support for the Grove Recorder.  It records up
to about 10 seconds of audio, and can play it back on command.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-14 16:36:18 -07:00
Jon Trulson
ce1e2fd606 grovewfs: Initial implementation
This driver implements support for the Grove Water Flow sensor.  It
uses an integrated hall effect sensor, connected to a GPIO configured
as an interrupt, to compute water flow in LPM (Liters Per Minute).

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-14 16:36:10 -07:00
Jon Trulson
2a3485cf98 uln200xa: Initial implementation
This driver was tested on a Grove Geared Stepper with Driver, the
uln2003a paired with a 28BYJ-48 unipolar stepper motor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-14 16:35:56 -07:00
Jon Trulson
8bf92be1ab zfm20: Initial implementation
This driver implements support for the ZFM20 fingerprint module.  It
was tested on a Grove Fingerprint Sensor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-14 16:35:38 -07:00
Jon Trulson
77be6adf6d gp2y0a: renamed from gp2y0a21yk to indicate support for the gp2y0a family
Additionally, add some error checking in the constructor, and determine
the ADC resolution and use that in the voltage calculation rather than
a hardcoded 1024.0.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-09 13:18:59 -07:00
Mihai Tudor Panu
828d3b928e tm1637: brand new working implementation
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-08 16:19:33 -07:00
John Van Drasek
1d0284abaf CMakeLists.txt: removed duplicate entries
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-01 10:33:38 -07:00
Zion Orent
8f2238835e waterlevel: initial implementation
The library implements support for the grove water level switch.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-01 10:10:24 -07:00
Zion Orent
ca506f9fab apds9002: initial implementation
This library implements support for the apds9002 luminance sensor.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-01 10:10:07 -07:00
Jon Trulson
56a01322b5 mhz16: Initial implementation
This library implements support for the MHZ16 CO2 sensor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-01 10:03:58 -07:00
Jon Trulson
4bb077e70b a110x: Add interrupt support and a suitable example
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-01 10:02:37 -07:00
Zion Orent
317ad35180 flex: initial implementation
Implements the flex analog sensor.  See
http://bildr.org/2012/11/flex-sensor-arduino/
for wiring instructions.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-04-01 10:02:20 -07:00
John Van Drasek
4a80a216c7 tm1637: Removing from upm due to possible derivation from lgpl code.
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-26 10:42:36 -07:00
Rafael Neri
df302ff5db hx711: Initial implementation HX711 24bit ADC module
Signed-off-by: Rafael Neri <rafael.neri@gmail.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-25 15:14:27 -07:00
Jon Trulson
5fac6e9811 adafruitms1438: Initial implementation
The library implements support for the Adafruit MotorShield 1438:
http://www.adafruit.com/products/1438

This shield supports 4 DC motors or 2 Stepper motors.

It makes use of the pca9685 UPM library, and therefore requires that
PR #123 and PR #134 are merged first:

PR 123: pkgconfig.in: allow a module to specify dependencies on
another module

PR 134: pca9685: Initial implementation

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-23 11:51:49 -07:00
Mihai Tudor Panu
02147dfe4b adis16448: updated header and example with new tags
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-20 17:08:03 -07:00
Mihai Tudor Panu
9f12002d7a examples: removed extra interesting tags from file
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-20 14:36:29 -07:00
Mihai Tudor Panu
e54d48f407 nrf8001: documentation updates and showing relation to aci lib
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-20 14:34:23 -07:00
Mihai Tudor Panu
f53d8e79cc adafruitss: renamed to adafruit pca9685 servo shield
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-20 14:29:27 -07:00
Mihai Tudor Panu
2725342c19 pca9685ss: Initial implementation
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-20 14:29:22 -07:00
Jon Trulson
e1648d7ec7 Revert "adafruitms1438: Initial implementation"
This reverts commit da0071ae7139617c3441e49557b04348d923b7d6.

Conflicts:
	examples/c++/CMakeLists.txt

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-20 12:47:03 -07:00
Zion Orent
fbbf56a49d groveeldriver: initial implementation
This module implements support for the Grove EL Driver.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-20 11:09:32 -07:00
Jon Trulson
da0071ae71 adafruitms1438: Initial implementation
The library implements support for the Adafruit MotorShield 1438:
http://www.adafruit.com/products/1438

This shield supports 4 DC motors or 2 Stepper motors.

It makes use of the pca9685 UPM library, and therefore requires that
PR #123 and PR #134 are merged first:

PR 123: pkgconfig.in: allow a module to specify dependencies on
another module

PR 134: pca9685: Initial implementation

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-19 16:46:40 -07:00
Jon Trulson
2aa24162c3 pca9685: Initial implementation
This library implements generic support for the pca9685 16 channel 12
bit PWM LED controller.  This controller is used on some Adafruit
motor shields.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-19 16:17:33 -07:00
Jon Trulson
970d6a083f grovemd: allow seperate directions for each DC motor
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-19 15:09:28 -07:00
Jon Trulson
d380658b40 grovemd: Initial implementation
This module implements support for the Grove I2C Motor Driver.

The device *requires* a 100Khz I2C bus speed.  It will not work on
anything faster.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-19 15:07:39 -07:00
Jon Trulson
de66c8de56 at42qt1070: Initial implementation
This module implementes support for the Grove QTouch sensor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-17 17:35:41 -07:00
Jon Trulson
518d80cdcd l298: Initial implementation
This was tested on the RobotBase Dual H-Bridge motor control board.

There are two examples:

l298-example: This example demonstrates using the class to contol one
of the H-Brdges to control a DC motor.

l298-stepper-example: This example demonstrates using the class to
control a 4-wire dual-phase stepper motor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-17 17:04:43 -07:00
Zion Orent
925260a234 ina132: initial implementation
This module was tested with the Grove Differential Amplifier, with a
weight sensor attached.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-17 14:34:51 -07:00
Zion Orent
276ba67583 grovegsr: initial implementation
This module implements support for the Grove GSR (Galvanic Skin
Response) sensor.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-17 14:28:27 -07:00
Zion Orent
db021fa970 groveo2: initial implementation
This implements support for the Grove O2 (oxygen) sensor.

Keeping with the current convention, as well as the current
config Doxygen uses disallowing uppercase names, this sensor
has been renamed from groveO2 to groveo2 for both files and
folders.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-17 13:08:38 -07:00
Zion Orent
2bffccf839 groveemg: initial implementation
The implements support for the Grove EMG detector.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-17 10:47:00 -07:00
Zion Orent
ce6cd0a19f groveelectromagnet: Initial implementation
This module implements support for the Grove Electromagnet.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-16 15:44:35 -07:00
Zion Orent
ae10518a0f grovecollision: initial implementation
This implements support for the Grove Collision Sensor.

Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-16 15:32:46 -07:00
juchong_Analog
5f3b88b00a adis16448: initial implementation
Signed-off-by: Juan J Chong juanjchong@gmail.com
Signed-off-by: John Van Drasek <john.r.van.drasek@intel.com>
2015-03-16 14:39:53 -07:00
Mihai Tudor Panu
e2b3cbc0f1 examples: added missing snippets and paired them with right examples
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-13 17:05:12 -07:00
Mihai Tudor Panu
dc932b61e7 examples: updated filenames and snippets to start with chipid
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-13 16:50:18 -07:00
Jon Trulson
23e47fa3b9 bmpx8x: rename gy65 to bmpx8x to more properly reflect supported chips
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-09 16:07:17 -07:00
Mihai Tudor Panu
afd560ccdc examples: moved examples to new c++ subfolder
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-03-05 12:32:34 -08:00