HD44780 fails to initialize unsuccessfully without the workaround.
Adding workaround based on HD77480 datasheet for initialization
and software reset.
Signed-off-by: Akira Tsukamoto <akira.tsukamoto@linaro.org>
Signed-off-by: Abhishek Malik <abhishek.malik@intel.com>
This module implements support for the Honeywell TB7300 Communicating
Fan Coil Thermostat. It may also support the TB7200, though only the
TB7300 was available for development of this driver.
The TB7200 Series PI thermostats are designed for zoning applications,
and the TB7300 Series PI thermostats are designed for fan coil
control. Both Series are communicating thermostats with models
available in BACnet® MS/TP protocol and can be easily integrated into
a WEBs-AX building automation system based on the NiagaraAX® platform.
TB7200 and TB7300 Series thermostats are compatible with the Honeywell
Occupancy Sensor Cover. Thermostats equipped with an occupancy sensor
cover provide advanced active occupancy logic, which will
automatically switch occupancy levels from Occupied to Stand-By and
Unoccupied as required by local activity being present or not. This
advanced occupancy functionality provides advantageous energy savings
during occupied hours without sacrificing occupant comfort. All
thermostats can be ordered with or without a factory installed PIR
cover.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
This module implements support for the Amphenol Telaire Ventostat
T8100 Ventilation Controller with BACnet interface. It may also
support the T8200 and T8300 models, but they have not been tested.
The Telaire Ventostat T8100 reports Temperature, Humidity and CO2
concentrations. It supports an optional relay with a settable trigger
point. The unit this driver was tested under did not support the
optional relay. The temperature range supported is 0-50C, humidity is
0-100% non-condensing, and CO2 range is appoximately 0-2000 PPM for
the T8100. Other sensors in this family support wider ranges.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
This commit removes functionality that is now present in the
bacnetutil class. This simplifies the driver considerably. The
examples were modified to reflect the renaming of some utility
functions in bacnetutil.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
There is some functionality that will always be needed for BACnet
drivers. Here we create a new bacnetutil class, built as part of the
bacnetmstp library that can handle much of the data handling and setup
a BACnet driver will need.
The idea is that any BACnet functionality needed, that is not
device-specific, should be added to this class for all drivers to use.
The intent is that all BACnet drivers will inherit from this class.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
This reworks the data handling portion of bacnetmstp. Instead of just
handling a single data element returned from a device, we can handle
more, as in the case of BACnet arrays.
Added the ability to create BACnet enum data elements. This is needed
in order to set binary value objects.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
This module (bmx055) implements support for the following core Bosch
chipsets:
bma250e - accelerometer, 3 variants (chip id's 0x03, 0xf9, and 0xfa)
bmm150 - magnetometer
bmg160 - gyroscope
The other 3 devices are combinations of the above:
bmx055 - accel/gyro/mag
bmc160 - accel/mag
bmi055 - accel/gyro
...for 6 devices total.
For the combination devices, all of the sub-devices appear as
individual independent devices on the I2C/SPI bus.
The combination drivers provide basic configuration and data output.
For more detailed control as well as interrupt support, you should use
the core device drivers (accel/gyro/mag) directly.
These devices support both I2C and SPI communications. They must be
powered at 3.3vdc.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Switch the calls from pkg_search_module to pkg_check_modules
for ozw, bacnet, and modbus. Check prints out the version when
found.
Signed-off-by: Noel Eck <noel.eck@intel.com>
Merged conflict in grove.cxx GroveTemp::value where new
scale factor was added. Changed to apply scale factor
post error-check.
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
aio: mraa_aio_read (v1.0.0) can now return -1, treat that in sensors using it
Adds alot of exceptions if the aio read goes wrong
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
L3GD20 is tri-axis gyroscope from STMicroelectronics.
This sensor can measure angular velocity in degree per second.
The library provided is libupm-l3gd20.so.0.4.0.
The example provided is l3gd20-example where it will print x,y,z axis when
trigger buffer data is ready.
This sensor requires calibration to be done for 2 seconds. Please place the
sensor on level surface.
As the sensor data is noisy, we have implemented denoise algorithm within the
sensor library.
Signed-off-by: Lay, Kuan Loon <kuan.loon.lay@intel.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
Code cleanup and proper close iio device in destructor.
KXCJK-1013 is tri-axis accelerometer from Kionix.
This sensor can measure acceleration in metre per second squared or in
G-forces.
The library provided is libupm-kxcjk1013.so.0.4.0.
The example provided is kxcjk1013-example where it will print x,y,z axis when
trigger buffer data is ready.
Signed-off-by: Lay, Kuan Loon <kuan.loon.lay@intel.com>
This driver implements support for the Bosch BNO055 Absolute
Orientation 9DOF Fusion Hub. It was implemented on the Adafruit
variant at https://www.adafruit.com/products/2472.
The BNO055 is a System in Package (SiP), integrating a triaxial 14-bit
accelerometer, a triaxial 16-bit gyroscope with a range of ±2000
degrees per second, a triaxial geomagnetic sensor and a 32-bit cortex
M0+ microcontroller running Bosch Sensortec sensor fusion software, in
a single package.
This sensor handles the hard problem of combining various sensor
information into a reliable measurement of sensor orientation (refered
to as 'sensor fusion'). The onboard MCU runs this software and can
provide fusion output in the form of Euler Angles, Quaternions, Linear
Acceleration, and Gravity Vectors in 3 axes.
The focus on this driver has been on supporting the fusion components.
Less support is available for use of this device as a generic
accelerometer, gyroscope and magnetometer, however enough
infrastructure is available to add any missing functionality.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
Previously in MRAA, the libmraa library was statically linked into the
libmraajava library. This was changed recently in MRAA, causing most
java examples to fail due to missing mraa symbols. This patch
specifically adds libmraa to the link in addition to libmraajava.
In addition, use *_LIBRARIES in the java specific swig_link_libraries
call rather than *_LDFLAGS.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
This library adds support for both the BMP280 and BME280 sesnors from
Bosch. The BME is virtually identical to the BMP280 aside from some
slight register changes and adding support for a humidity sensor.
The BMP280 is an absolute barometric pressure sensor especially
designed for mobile applications. The sensor module is housed in an
extremely compact 8-pin metal-lid LGA package with a footprint of only
2.0 × 2.5 mm2 and 0.95 mm package height. Its small dimensions and its
low power consumption of 2.7 μA @1Hz allow the implementation in
battery driven devices such as mobile phones, GPS modules or watches.
The BME280 is as combined digital humidity, pressure and temperature
sensor based on proven sensing principles. The sensor module is housed
in an extremely compact metal-lid LGA package with a footprint of only
2.5 × 2.5 mm2 with a height of 0.93 mm. Its small dimensions and its
low power consumption allow the implementation in battery driven
devices such as handsets, GPS modules or watches. The BME280 is
register and performance compatible to the Bosch Sensortec BMP280
digital pressure sensor
These drivers support both I2C and SPI operation.
When using SPI on an Edison with the arduino breakout board, you
must specify a CS of -1 to the constructor, and connect the chip's
CS pin to arduino pin 10.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
This driver, based on bosch code is being removed in favor of a new
driver to be added soon that is more fully functional and includes SPI
support.
The new driver will be included along with a BMP280 implementation in
a new bmp280 library.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
This commit removes the old bmp180 driver that was erroneously
re-added when the interface examples and headers were introduced.
It then switches the users of bmp180 to the existing bmpx8x driver,
which already supports the bmp180.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
Proper close iio device in destructor.
APDS-9930 is light and proximity sensor from Avago Technologies.
This sensor can measure ambient light in lux and proximity distance in 100mm.
The library provided is libupm-apds9930.so.0.4.0.
The example provided is apds9930-example where this app will print the value of
ambient light and proximity in every 1 second.
Signed-off-by: Lay, Kuan Loon <kuan.loon.lay@intel.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
Code cleanup and proper close iio device in destructor.
KXCJK-1013 is tri-axis accelerometer from Kionix.
This sensor can measure acceleration in metre per second squared or in
G-forces.
The library provided is libupm-kxcjk1013.so.0.4.0.
The example provided is kxcjk1013-example where it will print x,y,z axis when
trigger buffer data is ready.
Signed-off-by: Lay, Kuan Loon <kuan.loon.lay@intel.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
The env CC=clang builds were previously getting overridden for each build since
the language: cpp defaults gcc/g++ (travis-ci was not building UPM w/clang).
This commit explicitly adds the clang compiler to the build matrix.
* Specify gcc/clang in the compiler directive
* Add a node.js 0.10 entry
* Add a few debug messages
* General cleanup of .travis.yml
* Add the upm make install step for completeness
Signed-off-by: Noel Eck <noel.eck@intel.com>
This driver supports, and was tested with, a DS18B20 1-wire
Temperature Sensor using external power.
This device requires the use of a UART to provide access to a Dallas
1-wire bus, via a new facility supported by MRAA (once the relevant PR
is accepted), using the UartOW access class. It is important to
realize that the UART is only being used to access and control a
Dallas 1-wire compliant bus, it is not actually a UART device.
Multiple DS18B20 devices can be connected to this bus. This module
will identify all such devices connected, and allow you to access them
using an index starting at 0.
Parasitic power is not currently supported due to the very tight 10us
limit on switching a GPIO properly to supply power during certain
operations. For this reason, you should use external power for your
sensors.
Setting the alarm values (Tl, Th) is also not supported, since this is
only useful when doing a 1-wire device search looking for devices in
an alarm state, a capability not yet supported in MRAA. In reality,
this is trivial to handle yourself in your application.
Signed-off-by: Jon Trulson <jtrulson@ics.com>
Signed-off-by: Noel Eck <noel.eck@intel.com>
This adds initial support for the DS2413 Dual Channel Addressable
Switch. This is a Dallas Semiconductor 1-wire compliant device
providing access to 2 open-drain GPIOs.
https://learn.adafruit.com/adafruit-1-wire-gpio-breakout-ds2413/overview
This driver requires One-Wire over UART support in MRAA (PR #415)
which is not yet merged.
Signed-off-by: Jon Trulson <jtrulson@ics.com>