73 Commits

Author SHA1 Message Date
dac31a0347 speaker: Add pwm functionality and 5 new examples to demonstrate
These changes add the ability to intialize a speaker instance to use a
PWM pin instead of a standard GPIO pin in order to emit sounds.

The current GPIO functionality is fairly constrained by the
implementation -- it only permits playing cerain hardcoded "notes".

The PWM support allows one to emit specific frequencies (currently
between 50-32Khz) using a PWM pin.  Of course, you may still be
constrained by the limits of your PWM hardware in the end.

There are a few new functions provided to support this PWM mode.  To
use the PWM mode of speaker, use the speaker_init_pwm() initialization
routine instead of speaker_init() (for C). For C++ and the SWIG
languages, pass "true" as the second argument to the constructor to
enable PWM mode.  The default is "false", to match current default
behavior (GPIO).

Functions that are not related to a given mode (GPIO vs. PWM) will do
nothing if not usable in that mode.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-02-01 17:08:05 -07:00
0749f130e1 nunchuck: C port; FTI; C++ wraps C
Some API changes were made as well, see docs/apichanges.md.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-01-31 13:08:20 -07:00
1bbb9386b7 enc03r: C port; FTI; C++ wraps C
The API for this driver has changed.  See docs/apichanges.md.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-01-30 12:06:32 -07:00
849711c47d wfs: C port; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-01-26 15:13:01 -07:00
0a91eb0b46 hmc5883l: C port; FTI; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-01-25 17:42:38 -07:00
e8151640a1 uartat, le910: initial implementation.
uartat is the underlying UART driver, specifically for use with
AT-style command driven devices like modems.

The le910 support is provided in the form of examples that make use
of the uartat driver to interact with the device.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-01-24 14:02:03 -07:00
123e611f45 cjq4435: C port, C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-01-20 12:02:30 -07:00
ab96e8f3a3 speaker: C port, C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-01-19 13:54:47 -07:00
d3b864362d ds18b20: rewrite C++ to wrap C, add FTI, update examples
Previously, the C++ and C versions of this driver were separate.  Now
the C++ implementation wraps the C implementation.

In addition, the C++ init() function has been deprecated.  It
currently does nothing, and examples have been modified to remove it's
calls.  This function will be removed in a separate release.

The examples have been further modified to update all detected devices
and print their respective temperatures, instead of only reporting the
on the first device detected.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2017-01-18 13:33:44 -07:00
bd47b9ed45 max30100: Initial commit - MAX30100 pulse oximeter
* c/c++ source
    * java/js/python/c/c++ examples
    * Doc image (png)
    * Tested on Intel Edison
    * TODO: Tuning for SpO2 reading

Signed-off-by: Noel Eck <noel.eck@intel.com>
2017-01-10 11:29:30 -08:00
fcb4d9d36d mcp2515: Initial implementation; C; C++
The mcp2515 is a CAN bus controller.  It was developed using the Seeed
CAN bus shield.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-12-20 12:17:14 -07:00
6667646d32 mb704x: Initial implementation; C; FTI; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-12-02 16:44:43 -07:00
91652a2da5 button: fix so that button intr C example is built
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-11-29 12:02:26 -07:00
ad275e1d41 ecezo: initial implementation; C, C++; FTI + examples
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-11-28 17:45:23 -07:00
971cb4ab51 ims: Initial turnin of I2C Moisture Sensor
* Added C library
    * Added CXX library
    * Added C/CXX/java/js/python examples

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-11-21 14:57:15 -08:00
803f9a9838 ms5803: initial implementation; C, C++; FTI + examples
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-11-14 17:26:42 -07:00
54771e63c1 my9221: C implementation; C example; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-11-08 17:13:22 -07:00
fde727b601 Button: Adding C sources and C examples
This commit adds C sources and examples for the button sensor.

Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-11-08 13:38:52 -08:00
1630ebfca4 otp538u: C implementation; FTI; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-11-07 13:53:43 -07:00
3eb3a0b825 guvas12d: C implementation; FTI; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-11-04 12:52:33 -06:00
1f954a8cbf ppd42ns: C implementation; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-11-02 17:51:05 -06:00
7b9fbd8738 buzzer: C implementation; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-28 16:48:53 -06:00
f623414c04 jhd1313m1: Added while loop to LCD example c/cxx
Make these just a bit more interesting - continuously change color
and keep updating the lcd.  Also, echo the write via printf.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-10-28 10:37:25 -07:00
c09ab37a59 mma7660: C implementation; FTI; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-27 15:13:20 -06:00
58dfa9d95a uln200xa: C implementation and examples
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-24 16:05:39 -06:00
f101db2af1 linefinder: C implementation; FTI; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-21 14:22:54 -06:00
8ac8be9e0a md: C implementation; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-18 17:04:50 -06:00
770e43c627 rpr220: add C driver and examples; FTI; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-14 13:53:34 -06:00
07d0168a96 rotaryencoder: add C driver and example; FTI; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-13 16:00:04 -06:00
8624a07b77 lm35: add C driver and example; FTI; C++ wraps C
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-12 16:37:59 -06:00
64b142ecf3 jhd1313m1: Initial C implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-07 15:42:16 -06:00
7fe6f856a1 lcm1602: Initial C implementation
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-10-07 15:42:12 -06:00
0086626173 bmi160: add C driver and example. Add SPI support, other improvments.
This adds SPI support to the BMI160, as well as a C driver and a C
example.  In addition, some changes were made to more properly detect
and handle errors.

Functions supplied by the bosch_bmi160 driver source code is also
exported and made available to callers who want more than what the
basic driver support.  Bus access methods (I2C and SPI) are also now
exposed to both C and C++.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-29 15:41:18 -06:00
e7c80217c2 C examples: move mraa_init() calls out of C examples and into C drivers.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-28 17:34:42 -06:00
b8061943aa biss0001: add C driver and example, C++ wraps C driver
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-23 14:18:08 -06:00
22c7310428 yg1006: add C driver and example, C++ wraps C driver
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-23 12:20:05 -06:00
c9ed65f22d water: C example, fix bad error message
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-23 12:20:05 -06:00
dff782a477 water: add C driver and example. C++ wraps C driver.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-22 16:43:48 -06:00
06547dcd07 server: Replaced servo.c w/servo.h in C sample header
Possible copy/paste error - example source included sensor
library source.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-09-19 17:11:37 -07:00
5a763ea5f5 mvs06068: Removed example file
This has be implemented in collision.c.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-09-19 15:50:37 -07:00
324af8fc92 examples: Cleaned up C examples.
This commit cleans up multiple items with the UPM C example source.

    * Switch from usleep and sleep to upm_delay* methods
    * Include a mraa_init and check return value prior to using sensor
    * All example mains now return
    * Added include for mraa.h and upm_utilites.h to all examples
    * Reformatted/removed tabs
    * Updated author line for the examples I wrote

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-09-19 15:45:22 -07:00
239ab49d6b sht1x: Initial implementation
This driver was developed with a DFRobot SHT10 Temperature and Humidity
sensor.  This driver should work on all SHT1X devices.

It requires a 10K pull-up resistor connected to the data pin.
The sensor can be run at differing voltages from 2.5v to 5v.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-16 16:52:49 -06:00
6a6a572069 dfrec: Initial implementation
This module implements support for the DFRobot EC (Electrical
Conductivity) meter.  It relies on the use of the DS18B20 UPM C module
for temperature gathering.

It has a pretty complicated calibration procedure which is somewhat
documented on the DFRobot wiki.  Functions have been added to support
changing the various coefficients as desired.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-14 14:09:15 -07:00
6d437c8007 ds18b20: Add a C implementation and inprove documentation
This commit adds a C implementation for the DS18B20.  The C++
implementation was untouched (ie: it does not wrap the C
implementation).  This can be done in the future if desired.

In addition, add an ascii-schematic to both the .h and .hpp files to
better illustrate how to wire up the DS 1-wire interface for the UART.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-14 14:09:15 -07:00
5088ee99e6 examples/c/CMakeLists.txt: make sure C examples link only with C libs
Previously, C examples were being linked with the C++ libs.  This
worked, since currently (until ds18b20) all C++ libraries with C
components simply wrapped the C componenets.

Now we make sure that only the C libs are ever linked with the C
examples.

Signed-off-by: Jon Trulson <jtrulson@ics.com>
2016-09-14 14:09:14 -07:00
f9a36314fb LED: Added C Src and Example
Changed from Grove LED to LED.

Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-09-14 14:09:13 -07:00
1caf805d2b Moisture: Add C Src and Example
Changed from GroveMoisture.

Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-09-14 14:09:12 -07:00
0f7bb5573c Collision: Added C Src and Example
This module was initially known as GroveCollision. It has been
now changed to Collision. C source and examples added.

Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-09-14 14:09:12 -07:00
1b9b142b2e grove: Small changes to build grove library
* Removed relay and rotary from grove library
    * Removed relay and rotary from grove SWIG interfaces
    * Fixed warning for o2 printf %
    * Fixed return value warning for _get_normalized method used by
      my analog sensors.

Signed-off-by: Noel Eck <noel.eck@intel.com>
2016-09-14 14:09:10 -07:00
af417d3ae1 Fixing Build errors
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
2016-09-14 14:09:08 -07:00