280 Commits

Author SHA1 Message Date
Jon Trulson
76f7abb112 mpu9250: Initial implementation
This driver was implemented using a Grove IMU 9DOF V2.0 (mpu9250).

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: sisinty sasmita patra <sisinty.s.patra@intel.com>
2015-09-04 19:37:34 -07:00
Mihai Tudor Panu
fb86dc5cec Revert "grovegprs: Initial implementation"
This reverts commit 98f400e326b65a4b351ccdbf2e0c59453ad349c0.

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-03 16:10:27 -07:00
Jon Trulson
98f400e326 grovegprs: Initial implementation
This driver provides support for the Grove GPRS shield, V2:

http://www.seeedstudio.com/wiki/GPRS_Shield_V2.0

It provides a simple interface whereby a user can send and receive
commands and data from the device.  It is controlled by a standardized
set of "AT" commands.  A full description of these commands is
available here:

http://www.seeedstudio.com/wiki/images/7/72/AT_Commands_v1.11.pdf

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-03 13:36:54 -07:00
Jon Trulson
b0625e11f1 wheelencoder: Initial implementation
This driver was developed for the DFRobot Wheel Encoder, though it
could be used for any counting time-based task using a digital i/o pin
to generate interrupts.

http://www.dfrobot.com/index.php?route=product/product&product_id=98

If you want to use more than one encoder, simply create a class
instance for each one.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: sisinty sasmita patra <sisinty.s.patra@intel.com>
2015-08-31 11:58:49 -07:00
Jon Trulson
60cfe88e37 mg811: Initial implementation
This driver was developed on a DFRobot CO2 sensor based on the MG811:
http://www.dfrobot.com/index.php?route=product/product&product_id=1023

It seems to *require* very precise calibration at 400ppm and 1000ppm
to be accurate.  It also gets pretty hot (due to the heater) and
consumes significant current.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: sisinty sasmita patra <sisinty.s.patra@intel.com>
2015-08-27 10:21:37 -07:00
Jon Trulson
ad1cc81c0d hyld9767: Initial implementation
This driver was developed using the DFRobot Loudness sensor

http://www.dfrobot.com/index.php?route=product/product&product_id=83

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Sisinty Sasmita Patra<sisinty.s.patra@intel.com>
2015-08-24 17:31:25 -07:00
Jon Trulson
55e8076988 eboled: Initial implementation
This driver supports the Sparkfun 64x48 pixel OLED Edison block:

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

It is based on an ssd1306, but with some modifications (custom COM pin
mapping and a custom column offset).  It uses SPI to communicate, and
since it is an Edison Block, you don't really have any options for
different bus and pin assignments.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-08-12 11:20:14 -07:00
Jon Trulson
36b0e1dce0 lsm9ds0: Initial implementation
This module implements support for the LSM9DS0 accelerometer,
magnetometer, and gyroscope.

It was developed on the Sparkfun 9DOF sensor block for Intel Edison.

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

Commonly used capabilities are supported, and methods/register
definitions exist to easily implement any desired functionality that
is missing.  Interrupt support has also been added.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-08-04 15:56:25 -07:00
Jon Trulson
03e72e02f8 mpu9150: rewrite from scratch
This driver has been rewritten from scratch.  It is implemented as 3
seperate drivers now (but all included as part of the mpu9150 UPM
library):

AK8975 (Magnetometer)
MPU60X0 (Accelerometer, Gyroscope, and Temperature sensor)
MPU9150 (composed of AK8975 and MPU60X0)

Each driver can be used independently and includes examples in
C++/JS/Python.

Commonly used capabilities are supported, and methods/register
definitions exist to easily implement any desired functionality that
is missing.  Interrupt support has also been added.

Scaling support has also been properly implemented for both the
Accelerometer and Gyroscope.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-07-29 13:25:05 -07:00
Jon Trulson
ef173ebeaf sainsmartks: Initial Implementation
This driver was developed with a Sainsmart LCD Keypad Shield.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-07-21 17:38:52 -07:00
Jon Trulson
c586cd5177 pn532: initial implementation
This driver was written using an Adafruit PN532 board:

http://www.adafruit.com/products/364

It is based heavily on their arduino code, with significant
modifications.

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-07-21 16:29:58 -07:00
Jon Trulson
f4a5c9a391 hp20x: Initial implementation
This module implements support for the hp20x family of high accuracy
barometers.  It was developed on the Grove Barometer (High Accuracy)
based on the HP206C.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-07-06 15:19:18 -07:00
Jon Trulson
231a1f1b43 rgbringcoder: Initial implementation.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-06-29 10:28:13 -07:00
Jon Trulson
c313e3ae69 grovecircularled: Initial import/implementation
This code is based off ofthe my9221 driver.  This modification was
done by Jun Kato, but abandoned.

This driver will not work correctly on Galileo.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-06-29 10:02:53 -07:00
Jon Trulson
5733918a2f m24lr64e: Initial Implementation
This module was developed and tested on the Grove NFC Tag.  It is an
8KB EEPROM accessable (with various protection capabilites) via I2C
and NFC capable devices.

The code was based on the Seeed Studio example code with some help
from the datasheet.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-06-03 09:58:55 -07:00
Jon Trulson
fcf2b9c6aa grovescam: Initial implementation
This module was developed on the Grove Serial Camera.  It connects to
the UART and runs at 115200 baud.  It was developed based on the Seeed
Studio Arduino sketch, as there appears to be no protocol
documentation available.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-29 16:23: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
Takahiro Poly Horikawa
3d63b80c97 st7735: fix the JS implementation of ST7735 class not having its parent class's methods: e.g. GFX::fillScreen(uint16_t color)
Signed-off-by: Takahiro Poly Horikawa <horikawa.takahiro@gmail.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-05-19 10:19:27 -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
Mihai Tudor Panu
c7ed54d037 gas: moved node and py examples to parent folder for autodoc
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-29 17:30:53 -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
Zion Orent
a2864d3559 ta12200: python example and JS modification for ta12200 electricity sensor
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:49:40 -07:00
Zion Orent
4ab6873a42 adc121c021: python example and JS modification for adc121c021 analog/digital converter
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:49:02 -07:00
Zion Orent
4f4bd2937a ina132: python example for ina132 differential amplifier
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:47:24 -07:00
Zion Orent
8c55b54969 groveehr: python example and js modification for groveehr heart-rate sensor
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:46:50 -07:00
Zion Orent
94fe1174c6 lsm303: python example and js modification for lsm303 accelerometer/compass
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:45:46 -07:00
Zion Orent
2ceee8bf26 grovevdiv: python example and js modification for grovevdiv voltage divider
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:42:21 -07:00
Zion Orent
6c93816a77 cjq4435: python example and js modification for cjq4435 MOSFET sensor
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:41:44 -07:00
Zion Orent
c95af93490 adxl335: python example (and JS example modification) for adxl335 analog accelerometer
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:40:38 -07:00
Zion Orent
78482791c1 grovecollision: python example and updated JS example for grove collision sensor
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:38:25 -07:00
Zion Orent
ff897e84eb wt5001: new python example and update to JS example for wt5001 mp3 player
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:37:07 -07:00
Zion Orent
99c59361a7 ssd1308: JavaScript, python examples for ssd1308 OLED Display 1.12"
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-04-17 11:26:00 -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
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
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
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
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