141 Commits

Author SHA1 Message Date
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
Henry Bruce
2331548f25 Example: t6713 C++ example
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 16:03:43 -07:00
Henry Bruce
777f081f84 Example: si7005 C++ example
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 16:03:16 -07:00
Henry Bruce
56666872d9 Example: si1132 C++ example
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 16:02:46 -07:00
Henry Bruce
c16f80f226 Example: max44009 C++ example
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 16:02:20 -07:00
Henry Bruce
ee8433d92a Example: lp8860 C++ example
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 16:01:32 -07:00
Henry Bruce
dd3e88fa59 Example: hlg150h C++ example
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:56:41 -07:00
Henry Bruce
224fe03d98 Example: ds1808lc C++ example
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:56:26 -07:00
Henry Bruce
9e7eae070a Example: bme280 C++ example
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:55:02 -07:00
Henry Bruce
17fd502cb5 ads1x15: ads1015 module now implements IADC. Removed ads1015_iadc.
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:51:06 -07:00
Henry Bruce
4220dd25b4 examples: Updated IADC example to use updated interface
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:50:33 -07:00
Henry Bruce
389bd32f81 examples: Added c++ interface based sensor/actuator examples
Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-03-17 15:46:55 -07:00
Mihai Tudor Panu
144937995c ssd1351: Initial implementation
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-03-04 08:19:56 -08:00
Jon Trulson
84c3445412 my9221: fixup example CMakelists after upstream rebase
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-16 11:44:48 -08:00
Jon Trulson
6b2850557e my9221: remove old ledbar example
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-16 11:44:04 -08:00
Jon Trulson
f94ee6a388 my9221: rename my9221-updown example 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:43:18 -08:00
Jon Trulson
cbb289438e my9221: rewrite to include new functionality and serve as a base class
This driver has been rewritten to support some new functionality, be
more generic and fix up some old bugs.  Multiple MY9221's can now be
chained together and are supported by the MY9221 base class.

In addition, the Grove LED Bar and Grove Circular LED drivers have
been incoporated into the my9221 library, using the new MY9221 class
as their base class.  Examples have been fixed to work with the new
library, and renamed where needed.

The current grovecircularled driver has been removed as it is now a
part of the my9221 library.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-16 11:42:21 -08:00
Lay, Kuan Loon
3504dc7246 kxcjk1013: Initial implementation
Signed-off-by: Lay, Kuan Loon <kuan.loon.lay@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-01 15:12:09 -08:00
Lay, Kuan Loon
828a9ce7d8 apds9930: Initial implementation
Signed-off-by: Lay, Kuan Loon <kuan.loon.lay@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-02-01 13:33:52 -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
Mihai Tudor Panu
5e37830bb7 pulsensor: updated header to include namespace and generate proper html/xml with doxygen
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2016-01-11 16:45:57 -08:00
Marc Graham
4259aeab7b ads1x15: initial commit for ads1x15 adc
Initial commit of ADS1x15 adc converter. Support for both ADS1015 12 bit
and ADS1115 16 bit  adc.
--signoff
Signed-off-by: Marc Graham <marc@m2ag.net>

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-23 16:47:52 -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
Noel Eck
d0504bb65b cmake: Use include/lib paths from MRAA pkgconfig for cmake
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-21 16:10:02 -08:00
Mihai Tudor Panu
c8e80bf6a3 stepmotor: made significant changes to stepper driver
Fun to work on, I have maybe 3 different implementations for this one now.
Submitted version uses GPIOs only, no more PWM thus enhancing compatibility.
Fast writes and busy-wait delays ensure accuracy to a few μs when generating
the step pulses.

Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-18 16:53:27 -08:00
Stefan Andritoiu
1accafa145 hcsr04: Made ISR be used internally and not be exposed to the user. Changed access modifier to private. Removed passing ISR to constructor.
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-04 17:38:57 -08:00
Mihai Tudor Panu
e54f5e21c3 examples: synced c++ CMakeLists.txt file for examples in new format
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-04 17:01:20 -08:00
Henry Bruce
01700b0d49 c++ examples: cmake now honors MODULE_LIST
If MODULE_LIST is set, cmake will only create examples that can be built
with avaialble modules. There has been significant change to cmake file.
Comments show you how to add new examples.

Signed-off-by: Henry Bruce <henry.bruce@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-12-04 16:25:05 -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
Stefan Andritoiu
7f7fdb8441 mhz16: Split the getData(int* gas, int *temp) function into two separate functions and updated the C++ an Java examples
Signed-off-by: Stefan Andritoiu <stefan.andritoiu@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-11-24 14:35:59 -08:00
Mihai Tudor Panu
b4d4a215a2 groveultrasonic: made a few changes to code, example and documentation
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-11-23 17:49:35 -08:00
Jun Kato
2eb6ebd3bd groveultrasonic: Initial implementation
This module was developed and tested on a Grove Ultrasonic Ranger module.

http://www.seeedstudio.com/wiki/Grove_-_Ultrasonic_Ranger

Signed-off-by: Jun Kato <i@junkato.jp>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-11-23 15:47:55 -08:00
Sergey Kiselev
dc97adf578 eboled: Call refresh() to actually put the text on the display. Use
reasonable coordinates for text.

Signed-off-by: Sergey Kiselev <sergey.kiselev@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-10-29 10:33:34 -07:00
Mihai Tudor Panu
90bf469245 mcp9808: updated doxygen tags and formatted sources
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-10-29 09:57:11 -07:00
Marc Graham
85b5c8a64e mcp9808: Initial commit for MCP9808 precision temperature sensor.
Add support for MCP9808 precision temp sensor. Implements all features
except for TCrit and TUpper and TLower locking. Functionality includes
alert, interrupt, resolution and hysteresis control.

Signed-off-by: Marc Graham <marc@m2ag.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-10-29 09:38:46 -07: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
Mihai Tudor Panu
81c5962220 micsv89: made few aesthetic formatting changes and renamed update function
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-10-06 12:13:18 -07:00