100 Commits

Author SHA1 Message Date
Noel Eck
0223cd2b85 C++ Core: Add base class per sensor/actuator type
Adding base classes for UPM sensors and actuators.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-04-02 11:01:18 -07:00
Noel Eck
3cfea676e2 lcd: Renamed 'i2clcd' library to 'lcd'
All other upm library directories match their corresponding library
name, the i2clcd was an outlier which caused problems for CMake and
testing.

    * Replaced usage of i2clcd with lcd
    * Renamed source files and examples
    * Updated examples to use correct class
    * Updated documentation where necessary (left changelog sections)

Signed-off-by: Noel Eck <noel.eck@intel.com>
2018-01-24 13:00:53 -08:00
Noel Eck
ac89a4a130 examples: Add install component for all examples
Provide the functionality to install all UPM examples to
DATADIR/upm/examples.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-11-16 12:07:00 -08:00
Noel Eck
5cefe7f5f3 examples: Remove heap allocation from C++ examples
Cleanup of UPM C++ examples.  Switched from heap allocation to
stack allocation when possible.  This simplifies the samples since it
removes the need for explicit memory management.  A script was used to
identify and replace pointer use.  To simplify the replace script, I
re-formatted the C++ examples using the UPM .clang-format file.
Unfortuantely this changes the look of the UPM C++ examples to a large
degree.  However, examples will now have a standard look/feel and
uniform formatting.

    * Ran clang-format w/provided UPM .clang-format file
    * Removed new's/delete's whenever possible (left those in interface
      examples)
    * Added IIO sensor library implementation of callback void* arg
    * Converted all sleeps to upm defined delays (added header when
      necessary)
    * Scrubbed CXX example includes

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-09-19 12:41:58 -07:00
Noel Eck
0bd68e4e2b ANDROID: CMake/src changes to build on android-24
* Updated pom file generation: Generate pom files after all sensor
      library targets have been created - allows for dependencies
    * Changes for compiling on Android
    * Check for mraa build options: Look at symbols in mraa library to
      determine UPM build options (example: mraa_iio_init, mraa_firmata_init)
    * Add per target summary for C/C++/java/nodejs/python
    * Added hierarchy to fti include directory...
        old: #include "upm_voltage.h"
        new: #include "fti/upm_voltage.h"
    * Removed unimplemented methods from mpu9150 library and java example
    * Add utilities-c target for all c examples.  Most of the C examples
      rely on the upm_delay methods.  Add a dependency on the utilities-c
      target for all c examples.
    * Updated the examples/CMakeLists.txt to add dependencies passed via
      TARGETS to the target name parsed from the example name.  Also updated
      the interface example names to start with 'interfaces'.
    * Updated src/examples/CMakeLists.txt to ALWAYS remove examples from the
      example_src_list (moved this from end of function to beginning).

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-04-24 10:27:35 -07:00
Noel Eck
39df7fd10f examples: Handle additional example dependencies
Dependencies added via 'TARGETS' in add_example are 'in addition to' the
dependency provided by the example filename.

    * Small change to examples/CMakeLists.txt to handle additional
      dependencies
    * Prefix 'interfaces-' onto the interfaces examples

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-04-06 14:16:55 -07:00
Noel Eck
048f1ac08e examples: C/C++ examples use transitive dependencies
Updated the examples to comprehend transitive dependencies.  This means
that each example target will no longer have a giant list of -I includes
(the examples at the end of the list had includes for all previous
examples, upwards of 200 -I's on the command line).

    * Created a CMakeLists.txt in the upm/examples directory, moved
      common functionality to this level.
    * C/C++ examples now look to the filename for their dependency
      target name, ie; gas-mq2.cxx adds a dependency to the 'gas' target
    * Updated a handful of C/C++ example names to reflect this
    * Example CMake flow - glob the list of files, add targets for any
      special case examples, then att targets for all the rest

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-04-05 15:16:20 -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
Jon Trulson
f13216752e otp538u: Initial implementation
This module was tested on the Grove non-contact IR Temperature
Sensor.  The tables included are only valid for a distance of 9cm.

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-02-25 09:29:39 -08:00
Jon Trulson
1f3d074261 nunchuck: Initial implementation
This was tested with the Grove Nunchuck adapter.

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-02-25 09:21:43 -08:00
John Van Drasek
fab4c26238 hmtrp: Initial implementation
This was tested on the Grove Serial RF Pro.

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-02-25 09:11:54 -08:00
Jon Trulson
b03676222c adxl335: Initial implementation
The was tested with the Grove 3-Axis Analog Gyro.

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-02-24 19:21:54 -08:00
Jon Trulson
6a0a7b6159 cjq4435: Initial implementation
This module was tested on the Grove MOSFET.

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-02-24 19:00:01 -08:00
Jon Trulson
12c290de70 mma7660: Initial implementation
This was tested on the Grove I2C 3-axis digital accelerometer.

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-02-24 17:58:45 -08:00
Jon Trulson
ae7b2ad04f rpr220: Initial implementation
The module implements the RPR220 IR Reflective Sensor.  It was tested
with the Grove IR Reflective Sensor.

It includes 2 examples: rpr220.cxx, demonstrating the simple use case
of querying the current status.

rpr220-intr.cxx demonstrates the use of this class to register an
Interrupt Service Routine (ISR) to count transitions, which might be
more appropriate for some use cases, such as measuring RPM's.

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-01-29 16:57:09 -08:00
Mihai Tudor Panu
a4e590ae3a adxl345: Grove 3-Axis Accelerometer
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>
2015-01-23 17:58:29 -08:00
Jon Trulson
d307376abc rotaryencoder: Initial implementation
This module implements supoort for the Grove Rotary Encoder, though it
should function with any Rotary Encoder utilizing two GPIOs.

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-01-19 15:08:38 -08:00
Jon Trulson
6135e932e4 grove_mcfled: Add C++ and JS examples, utilizing existing GroveLed driver.
The module adds examples that utilize the existing GroveLed driver for
the Grove Multi Color Flash LED.

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-01-19 14:41:23 -08:00
Jon Trulson
a853733f61 my9221: Add C++ and JS examples
These were tested on the Grove LED Bar.

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-01-19 14:05:39 -08:00
Zion Orent
5448e72975 Initial implementation of Grove PIR motion sensor with BISS0001 chip
jrvandr: removed unnecessary mraa_init()

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-01-19 13:19:12 -08:00
Jon Trulson
6642ee9eef rfr359f: Initial implementation
This was tested on the Grove IR Distance Interrupter.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-19 10:05:18 -08:00
Zion Orent
db1ca3d08a grovespeaker: Initial implementation of Grove Speaker
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-18 00:26:31 -08:00
Jon Trulson
509cc3a6d3 mq303a: Initial implementation of the mq303a alcohol sensor
The module implements support for the mq303a alcohol sensor.  It was
tested on the Grove Alcohol Sensor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-16 17:29:44 -08:00
Zion Orent
7d40425391 ppd42ns: Initial implementation of the Grove dust sensor
jrvandr: removed unnecessary mraa_init()

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-01-16 17:19:39 -08:00
Jon Trulson
df390358f2 wt5001: Initial implementation
The module implements support for the WT5001 serial mp3 player.  It was
tested on the Grove Serial MP3 Player.

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-01-16 16:50:16 -08:00
Jon Trulson
40e0595892 yg1006: Initial implementation
This module implements support for the yg1006 flame sensor.  It was
tested with the Grove Flame Sensor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-16 16:00:41 -08:00
Jon Trulson
f53fab80fd ublox6: Initial implementation
jrvandr: removed unnecessary mraa_init() and mraa_deinit()

The module implements support for the ublox-6 GPS sensor.  It was
tested on a Grove GPS device.

This module simply allows data to be retrieved from the device in the
form of NMEA sentences, and provides a method to write commands to the
device for configuration purposes.

It does not attempt to parse NMEA data -- that is a project in itself.
There are libraries available on the Internet, such as tinyGPS++ that
can handle that for you.

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-01-16 14:06:56 -08:00
Jon Trulson
0c63500b36 mpr121: Initial implementation
This module implements support for the Grove I2C touch sensor
(mpr121).

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-01-16 13:19:02 -08:00
Jon Trulson
2eb0047643 groveloudness: Initial implementation
This module implements support for the Grove Loudness sensor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-16 12:43:49 -08:00
Jon Trulson
38a14eb068 guvas12d: Initial implementation
jrvandr: removing unnecessary mraa_init()

This module implements support for the Grove UV sensor (guvas12d).

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-01-16 12:27:39 -08:00
Jon Trulson
9784f6e6ab grovewater: Initial implementation
jrvandr: removing unecessary mraa_init()

This module implements support for the Grove Water 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-01-16 12:14:58 -08:00
Jon Trulson
8d3e29a695 grovevdiv: Initial implementation
This module implements support for the Grove Voltage Divider.
jrvandr: Removed unecessary mraa_init() from grovevdiv.cxx

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-01-16 11:50:54 -08:00
Jon Trulson
fb2fbbd95e grovelinefinder: Initial implementation
This module adds support for the Grove Line Finder sensor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-16 11:00:27 -08:00
Jon Trulson
4333869b7b ta12200: Initial implementation; Grove Electricity uses this sensor
[renamed from] groveelectricity: Initial implementation

This module adds support for the Grove Electricity sensor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-15 13:11:25 -08:00
Jon Trulson
ed15b1042d groveehr: Initial implementation
This module implements support for the Grove Ear-clip heart rate
sensor.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-14 17:24:42 -08:00
Jon Trulson
0ef81a3b1c grovemoisture: Initial UPM implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-13 16:30:21 -08:00
Jon Trulson
2d1ff0e318 gp2y0a21yk: Initial implementation of the gp2y0a21yk 80cm IR proximity sensor
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-13 15:20:51 -08:00
Jon Trulson
0b7547231f a110x: Initial implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-13 13:29:08 -08:00
Jon Trulson
02156d11c8 ds1307: initial implementation of the ds1307 RTC
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-13 13:01:29 -08:00
Jon Trulson
878ca55385 adc121c021: Initial implementation
Tested on the Grove I2C ADC.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-12 17:18:00 -08:00
Alexandru Radovici
eca9ed95c8 grove: added GroveRelay class for Grove Relay
Signed-off-by: Alexandru Radovici <alexandru.radovici@wyliodrin.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-09 18:17:58 -08:00
Jon Trulson
a1620271f2 enc03r: Initial implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Zion Orent <zorent@ics.com>
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-09 16:42:01 -08:00
sknepper
df4706e3b1 ttp223: Grove touch sensor and examples
Added support for the TTP223 touch detector-based sensors
(like the Grove touch sensor) with corresponding examples
in C++, JavaScript, and Python.

Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-08 14:57:38 -08:00
sknepper
c170b01fc2 grove: add missing light sensor example to examples/CMakeLists.txt
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
2015-01-07 15:56:31 -08:00
Mihai Tudor Panu
be8336d0e8 itg3200: Grove 3-axis Gyroscope
Signed-off-by: Mihai Tudor Panu <mihai.t.panu@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2015-01-06 18:37:24 +00:00
William Penner
03cca53d2a am2315: Sensor added
Signed-off-by: William Penner <william.penner@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-12-19 22:33:20 +00:00
Mihai Tudor Panu
7bb5fd8ec7 tp401: grove air quality sensor and examples
Signed-off-by: Mihai Tudor Panu <mihai.t.panu@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-26 17:37:23 +00:00
sknepper
801209678b grove: add grove button support and examples
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-26 17:01:10 +00:00
sknepper
c5369315e9 ldt0028: Added support for LDT0-028 PZT film-based sensors
Signed-off-by: Sarah Knepper <sarah.knepper@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-25 20:42:13 +00:00
William Penner
c34939cfb4 mpl3115a2: sensor added
Signed-off-by: William Penner <william.penner@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
2014-11-25 20:37:14 +00:00