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>
* Renamed all files from grovewater to water
* Replaced all instances of grovewater with water
* Updated all CMake files
Signed-off-by: Sisinty Sasmita Patra <sisinty.s.patra@intel.com>
* Renamed all files from groverrotary to rotary
* Replaced all instances of groverrotary with rotary
* Updated all CMake files
Signed-off-by: Sisinty Sasmita Patra <sisinty.s.patra@intel.com>
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>
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>
* 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>
Added C source for rotary angle sensor
* Renamed all files from groverrotary to rotary
* Replaced all instances of groverrotary with rotary
* Added C source for rotary angle sensor
* Updated all CMake files
Signed-off-by: Sisinty Sasmita Patra <sisinty.s.patra@intel.com>
Added the C source for the flex sensor with necessary changes to cmake,
examples, and docs.
* Renamed all files with groveslide to slide
* Replaced all instances of groveslide with slide
* Added C source for slide sensor
* Updated all cmake files
* Added C example for slide sensor
* Split out slide sensor from grove library
Signed-off-by: Noel Eck <noel.eck@intel.com>
Added the C source for the light sensor with necessary changes to cmake,
examples, docs.
* Renamed all files with grovelight to light
* Replaced all instances of grovelight with light
* Added C source for light sensor
* Updated all cmake files
* Added C example for light sensor
* Split out light sensor from grove library
Signed-off-by: Noel Eck <noel.eck@intel.com>
Added the C source for the gsr sensor with necessary changes to cmake,
examples, docs.
* Renamed all files with grovegsr to gsr
* Replaced all instances of grovegsr with gsr
* Added C source for gsr sensor
* Updated all cmake files
* Added C example for gsr sensor
* Fixed C++ threshold method from throwing on a successfull aio read
Signed-off-by: Noel Eck <noel.eck@intel.com>
Added the C source for the emg sensor with necessary changes to cmake,
examples, docs.
* Renamed all files with groveemg to emg
* Replaced all instances of groveemg with emg
* Added C source for emg sensor
* Updated all cmake files
* Added C example for emg sensor
Signed-off-by: Noel Eck <noel.eck@intel.com>
Added the C source for the O2 sensor with necessary changes to cmake,
examples, docs.
* Renamed all files with groveo2 to o2
* Replaced all instances of groveo2 with o2
* Added C source for o2 sensor
* Updated all cmake files
* Added C example for o2 sensor
Signed-off-by: Noel Eck <noel.eck@intel.com>
* Removed unessesary spaces.
* Changed INFO to STATUS since INFO is not a cmake message
keyword.
* Changed a few messages from status/info to warning.
* Fixed trailing carriage return on yuidoc execute_process.
* Removed my debug messages for CXX vs C.
Signed-off-by: Noel Eck <noel.eck@intel.com>
Multiple changes related to building the vdiv c source w/c example.
* Renamed GroveVdiv to vdiv (all cases) throughout source, examples,
directory names, and documentation.
* Added C source.
* Tested C sensor code on edison
* Updated CMakeLists.txt for examples-c to build from
<sensorname>-c. This was a small change to get c examples to build
for sensors in which the C++ does NOT wrap the C.
* Added C example for vdiv.
Signed-off-by: Noel Eck <noel.eck@intel.com>
This module implements support for the DFRobot Analog ORP
(Oxidation/Reduction Potential) Meter.
It requires 5.0 volts, but the more accurate the voltage specified (to
the constructor), the more accurate the meter (paraphrased from the
wiki).
Signed-off-by: Jon Trulson <jtrulson@ics.com>
This module implements support for the DFRobot Laser PM2.5 Sensor. It
connects to a UART at 9600 baud. This is the only baud rate
supported. It optionally supports Reset and Set/Sleep gpios as well.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
These changes allow NMEA data to be read via I2C on UBLOX compliant
devices that support this capability, such as the LEA-6H based GPS
shield from DFRobot.
It adds a new init() function to the C code, and a new constructor to
the C++ code. It also adds 5 new examples for C, C++, Javascript,
Python, and Java.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
This driver will serve as a generic module for grabbing NMEA data from
various GPS devices via a serial interface. ublox6 will also be
removed in favor of using this driver going forward.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
This driver was developed with the DFRobot Light Sensor based on the
BH1750. It has a sensitivity of .5 to 65535 Lux. It supports
voltages from 3-5vdc and is connected via I2C.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
This driver implements support for the DFRobot MMA7361 analog
accelerometer. It supports 3 axes with a selectable 1.5G and 6G
sensitivity. It is not really meant for navigation, but rather for
uses such as orientation and freefall detection.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
This module provides support for the VK2828U7 (ublox based) GPS module
from DFRobot. It is connected via a UART, and emits NMEA data.
Ideally this data could be fed to an external library like TinyGPS to
parse the NMEA data and provide an easier method of extracting GPS
information.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Test commit for building C UPM modules.
* Added C include directory
* Added C utilities directory
* Rename C++ upm.h -> upm.hpp to make room for C upm.h
* Added upm_mixed_module_init function to src/CMakeLists.txt. This
function takes filesnames similar to upm_module_init and does a
bit of processing before calling upm_module_init.
* Added c example directory. Changed c++ example names.
* Added dfrph implemention for testing (C++ wraps C). Added mraa
to .pc requires for dfrph. Tested against stand-alone project.
Added dfrph c example.
* Update implemention of pkg-config file generation.
* Added two cmake cache variables: BUILDCPP and BUILDFTI
* Removed src from swig_add_module calls, added libname to
swig_link_libraries calls. Shrinks swig'ed binaries by ~13%.
* Added install target in upm/CMakeLists.txt to install C header,
directory. Is this where we want this?
* C FTI header directory is include/fti
Signed-off-by: Noel Eck <noel.eck@intel.com>
There are some issues using this device on the 101 with Firmata:
1. You cannot use any other ADC resolution than 1024. By default the
driver would try to set 12b resolution for improved accuracy. Doing
this on the 101 yielded nonsensical readings causing the driver to
fail. Using 10b resolution will yield less accuracy, but at least the
driver will function.
2. After the first ADC read, and for some time period after, the MRAA
aio_read() calls will always return 0. This would cause an exception
to be thrown by the driver since this is an invalid reading. Now, we
do an analog read on each channel and sleep for .5 seconds in the ctor
to get around this problem. It is a hack and should be properly fixed
somewhere else (firmata? MRAA?).
Some code was reworked/renamed to make it more clear what is actually
going on. In addition a setDebug() method was added to enable some
debugging output.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
The existing driver only supported IIO. This change adds support for
controlling the device via an I2C connection. In addition, there is a
new C++ example for it (l3gd20-i2c.cxx).
Note: Only basic functionality is supported, though a full register
map and access functions are available to fill in any desired
functionality.
Note, that some methods are only usable with specific connection
types. See the documentation.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Changes in library:
- enableProximity() function is to enable or disable proximity sensor
- enableIlluminance() function is to enable or disable illuminance sensor
- run clang-format
Changes in example:
- proximity and illuminance kernel IIO-based driver init state is power off,
require enable before read out sensor data. Sleep time is needed after
enable, the sleep time may vary on different platform.
- run clang-format
Signed-off-by: Lay, Kuan Loon <kuan.loon.lay@intel.com>
Signed-off-by: Mihai Tudor Panu <mihai.tudor.panu@intel.com>