247 Commits

Author SHA1 Message Date
Fathi Boudra
dc8be495a9 docs: fix spelling errors
Signed-off-by: Fathi Boudra <fathi.boudra@linaro.org>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-04-15 09:59:29 -07:00
deadprogram
a35e58c54c curieimu: Adds examples for both JS and Python that load MRAA Firmata subplatform
Signed-off-by: deadprogram <ron@hybridgroup.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-03-24 13:23:18 -07:00
deadprogram
d8fc664178 curieimu: Add WIP for Python example
Signed-off-by: deadprogram <ron@hybridgroup.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2016-03-24 13:13:34 -07:00
Jon Trulson
5a5637a431 h803x: Initial implementation
This module implements support for the Veris H8035 and H8036 Energy
Meters.

The H8036 is similar to the H8035, but provides much more data.

The Enercept H8035/H8036 is an innovative three-phase networked
(Modbus RTU) power transducer that combines electronics and high
accuracy industrial grade CTs in a single package. The need for
external electrical enclosures is eliminated, greatly reducing
installation time and cost. Color-coordination between voltage leads
and CTs makes phase matching easy. Additionally, these transducers
automatically detect and compensate for phase reversal, eliminating
the concern of CT load orientation. Up to 63 Transducers can be
daisy-chained on a single RS-485 network.

This module was developed using libmodbus 3.1.2, and the H8035.  The
H8036 has not been tested.  libmodbus 3.1.2 must be present for this
module to build.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-22 22:58:17 -07:00
Jon Trulson
e062b9b85c bmi160: Initial implementation
The Bosch BMI160 is a 3-axis Accelerometer and Gyroscope.
Additionally it supports an external Magnetometer, accessed through
the BMI160's register interface.  This driver was developed with a
BMI160 "Shuttle" board, which included a BMM150 Magnetometer.

The device is driven by either 1.8v or 3.3vdc.  This driver
incorporates the Bosch BMI160 driver code at
https://github.com/BoschSensortec/BMI160_driver .

While not all of the functionality of this device is supported
initially, the inclusion of the Bosch driver in the source code
makes it possible to support whatever features are required that
the driver bosch driver itself can support.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-22 22:52:31 -07:00
Jon Trulson
b778476597 tex00: Initial Implementation
The Veris TEX00 temperature sensor family is made up of a series of
RTD thermistors in wall mount packaging.

This driver was developed using the TED00, which utilizes a 10K Ohm
Type 2 thermistor.  However, this driver can support the other 12
variants of the TE series as well by providing the correct sensor type
to the class constructor.  These other sensor types have not been
tested.  Only the TED00 hardware was tested with this driver.

This sensor must be connected as part of a voltage divider, with the
balancing resistor ideally matched to the sensor's 25C detection
range.  For the TED00 (10kt2), a 10K Ohm (1% tolerance) resistor was
used in a circuit like the following:

GND o----|TED00(10k2)|----o----|balanceResistor(10K)|----o VCC (+5vdc)
                          |
                          |
                          |----o A0 (analog input to MCU)

A 3.3vdc voltage can be used as well if desired.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-22 17:16:21 -07:00
Jeako
9fb4be1b44 APA102: Initial implementation
Signed-off-by: Yannick Adam <yannick.adam@gmail.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-22 16:57:08 -07:00
Jon Trulson
42ff8b3a6e teams: Initial implementation
The driver adds support for the Veris TEAMS Temperature Transmitter.

It provides it's output via a 4-20ma current loop.  The supported
temperature range is 10C to 35C.

This sensor was developed with a Cooking Hacks (Libelium)
4-channel 4-20ma Arduino interface shield.  For this interface,
the receiver resistance (rResistor) was specified as 165.0
ohms.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-22 16:49:37 -07:00
Jon Trulson
a8d96bd2d9 cwlsxxa: Initial implementation
The driver was developed using the Veris CWLSHTA CO2 Gas sensor.  The
'T' variant supports a temperature sensor, and the 'H' variant
supports a humidity sensor.

All 3 signals are provided by the device as analog 0-5Vdc, 0-10Vdc, or
4-20ma loop current outputs.  For devices supporting temperature, the
valid temperature range is 10C to 50C.  The humidity ranges from 0% to
100% (non-condensing).  The CO2 sensor ranges from 0 to 2000 ppm.

This driver was developed using the 5Vdc outputs and the 4-20ma
outputs.  For voltage outputs, your MCU must be configured for 5V
operation.  In addition, you must configure the sensor (via it's
configuration switches) to output 0-5VDC only.  Using any other analog
reference voltage will require the appropriate external circuitry
(such as a voltage divider) in order to interface safely with your
MCU.

In addition, the sensor can be configured for 4-20ma usage, by
specifying the correct receiver resistance (in ohms) in the
constructor.  This sensor was tested with a Cooking Hacks (Libelium)
4-channel 4-20ma Arduino interface shield.  For this interface, the
receiver resistance was specified as 165.0 ohms.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-22 16:36:10 -07:00
Jon Trulson
d112266170 my9221: python: rename example from my9221 to groveledbar
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-16 11:49:00 -08:00
Jon Trulson
94fdd86896 my9221: fixup groveledbar python example
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-16 11:48:18 -08:00
Jon Trulson
c0c99fd87a my9221: fixup grovecircularled python example
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-16 11:47:37 -08:00
Mihai Tudor Panu
d9b761469d jhd1313m1: renamed node and python examples to match class name
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-08 13:12:18 -08:00
Mihai Tudor Panu
3522e4ee8f eboled: updated python sample and function description for refresh()
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-29 16:56:07 -08:00
Shawn Hymel
d7f4b76ed0 ili9341: Initial implementation
This driver provides support for the ILI9341 LCD driver via SPI (e.g.
Adafruit 2.8" TFT LCD).

It was implemented and tested on the Edison.

Signed-off-by: Shawn Hymel
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-29 16:21:57 -08:00
Jon Trulson
e1c66c351a rhusb: Initial implementation
The driver implements support for the Omega RH-USB Humidity Probe with
Temperature sensor.  It connects via an integrated USB cable, and
appears as a serial port.

It does not currently work with Edison (as of this date) due to
missing ftdi_sio and usbserial kernel support.

It was implemented and tested on the Galileo 2.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-28 13:31:01 -08:00
Jon Trulson
a5fd4a2c10 hwxpxx: Initial implementation
This module implements support for the Veris HWXPHTX Hardware Protocol
Humidity and Temperature Sensor family.  It uses MODBUS over an RS485
interface.

This module was developed using libmodbus 3.1.2, and the Veris HWXPHTX.

This sensor supports humidity, and optionally, temperature, slider
switch, and override switch reporting.  The HWXPHTX used to develop
this driver did not include the optional slider or override switches,
however support for them is provided.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-28 13:26:05 -08:00
Jon Trulson
fc7bfc113a hdxxvxta: Initial implementation
This driver was developed using the Veris HD2NVSTA1 humidity
transmitter.  The 'T' variant supports a temperature transmitter as
well.  Both signals are provided by the device as analog 0-5Vdc or
0-10Vdc outputs.

The A1 variant supports a temperature range of -40C-50C, while the A2
variant supports a range of 0C-50C.  Humidity ranges for all devices
in this device family range from 0% to 100% (non-condensing).

Temperature measurement can be disabled by passing -1 as the
temperature analog pin to the constructor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-28 13:25:51 -08:00
Jon Trulson
bf82beaf9c t3311: Initial implementation
This module implements support for the Comet System T3311 Temperature
and Humidity transmitter.  It uses MODBUS over an RS232 serial port.

You must have libmodbus v3.1.2 (or greater) installed to compile and
use this driver.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-26 16:32:22 -08:00
Jon Trulson
d0cb2a032c nlgpio16: Initial implementation
This is a USB device from Numato Labs that is accessed via a UART.  It
provides 16 GPIO's, 7 of which can be configured as analog inputs.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-23 16:02:19 -08:00
Mihai Tudor Panu
4dc679af70 stepmotor: made some small API changes for consistency and usability
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-22 15:24:11 -08:00
Zion Orent
d04f93ffca mhz16: fixed JS/Python examples to match driver API
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-12-21 16:51:19 -08:00
Mihai Tudor Panu
5bc9353bb4 stepmotor: updated Java example, added python & node.js examples
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-21 14:57:04 -08:00
Jon Trulson
fd509c7d79 ozw: Initial implementation
This module was developed using the OpenZWave library (v1.3):

http://www.openzwave.com/

It was developed using a collection of devices (switches and a
multi-sensor) connected via an Aeon Z-Stick Gen5 USB dongle.

It can be used to query (and, where appropriate, set) Values on Nodes
connected to the ZWave network.

Checks are made in src/ozw/CMakeLists.txt to ensure that the
libopenzwave library is installed (via pkg-config).  If not present,
then neither the module, nor the example will be built.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-11-25 13:55:19 -08:00
Jon Trulson
2a1af1399a sx1276: Initial implementation
This driver was developed using an SX1276 based shield on the Galileo
G2.  It requires 3.3v of operation.  It does not work with Edison, due
to SPI issues.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2015-11-24 14:58:40 -08:00
Jon Trulson
255d6cbe86 dfrph: Initial implementation
The driver implements support for the DFRobot pH sensors.  It was
tested with both the standard and Pro versions, calibrated with
standard buffer solutions at pH 4.01 and pH 7.0.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2015-10-27 17:08:13 -07:00
Jon Trulson
db721845db bma220: Initial implementation
This driver was developed based on the DFRobot Triple Axis
accelerometer BMA220 (Tiny):

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

This device can only run at 3.3v DC.  Do not connect to 5v.

Added a private function definition for the installISR function. Done because C++
wasn't able to find the function definition for the java bindings.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2015-10-27 17:08:08 -07:00
Jon Trulson
53bc249b75 adxrs610: Initial implementation
This module was developed and tested on a ADXRS610 Gyro Beakout
board.

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

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2015-10-27 17:07:51 -07:00
Jon Trulson
639f99691b urm37: Initial implementation
This driver was tested with the DFRobot URM37 Ultrasonic Ranger, V4.
Both UART and analog access modes are supported.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2015-10-27 17:02:47 -07:00
Jon Trulson
6e095826d3 xbee: Initial implementation
This is a basic serial module that allows access to various XBee
devices via a UART port.  It was tested with the XBee S6B WiFi Module
and the XBee S1 802.14.4 module.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2015-10-27 17:02:10 -07:00
Jon Trulson
9fe9d4aec2 loudness: merge groveloudness and hyld9767 into a single driver
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-22 13:24:38 -07:00
Jon Trulson
cd7815aa07 mq6: Initial implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-22 12:34:21 -07:00
Jon Trulson
1563c71c5f mq4: Initial implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-22 12:33:39 -07:00
Jon Trulson
3b7eb9afc2 mq8: Initial implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-22 12:32:57 -07:00
Jon Trulson
d7bc084565 mq7: Initial implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-22 12:32:13 -07:00
Jon Trulson
83e62aabba grovemd: add support for 'mode1' stepping and add stepper examples
The current grovemd driver supported 'mode2' stepping, where the
driver simply passed various stepper commands to the board for it to
carry out on it's own.

This doesn't work very well (or at all if you have old/buggy firmware)
so add a new 'mode1' stepper capability.  This mode lets the driver
manually control the stepping operation without requiring special
firmware.

This is now the default and recommended mode to use for stepper motors
on this device.  It is also more flexible in terms of the maximum
number of steps you can do (mode2 was limited to 254 steps max).

This was tested using a bipolar NEMA-17 stepper motor with an
external 12v power supply.

Note: 'Mode1' and 'Mode2' are the Seeed Studio terms for these different
stepping modes.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-21 17:17:29 -07:00
Jon Trulson
7935ef1622 lm35: Initial implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-21 15:13:57 -07:00
Jon Trulson
85c602d524 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>
2015-09-08 13:39:19 -07:00
Jon Trulson
6793c892ed sm130: Complete rewrite
This is a rewrite of the existing SM130 driver which was incomplete
and non-functional.

It was implemented using a Sparkfun SM130 module:

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

... using a Sparkfun RFID Evaluation Shield:

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

It operates in UART mode only.  A port to support I2C communications
(requires a encrypted firmware reflash from SonMicro) should be
fairly trivial, if you have one of those.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: sisinty sasmita patra <sisinty.s.patra@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-09-08 13:38:42 -07:00
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