summaryrefslogtreecommitdiff
path: root/peripheral/libupm/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'peripheral/libupm/README.md')
-rw-r--r--peripheral/libupm/README.md47
1 files changed, 32 insertions, 15 deletions
diff --git a/peripheral/libupm/README.md b/peripheral/libupm/README.md
index e7ccd02..f462d1b 100644
--- a/peripheral/libupm/README.md
+++ b/peripheral/libupm/README.md
@@ -1,16 +1,29 @@
UPM (Useful Packages & Modules) Sensor/Actuator repository for MRAA
==============
-UPM is a high level repository for sensors that use MRAA. Each sensor links
-to MRAA and are not meant to be interlinked although some groups of sensors
-may be. Each sensor contains a header which allows to interface with it.
-Typically a sensor is represented as a class and instantiated.
-
-The constructor is expected to initialise the sensor and parameters may be used
-to provide identification/pin location on the board.
-
-Typically an update() function will be called in order to get new data from the
-sensor in order to reduce load when doing multiple reads to sensor data.
+The UPM repository provides software drivers for a wide variety of commonly
+used sensors and actuators. These software drivers interact with the
+underlying hardware platform (or microcontroller), as well as with the attached
+sensors, through calls to [MRAA](https://github.com/intel-iot-devkit/mraa) APIs.
+
+Programmers can access the interfaces for each sensor by including the sensor’s
+corresponding header file and instantiating the associated sensor class. In the
+typical use case, a constructor initializes the sensor based on parameters that
+identify the sensor, the I/O protocol used and the pin location of the sensor.
+
+C++ interfaces have been defined for the following sensor/actuator types, but
+they are subject to change:
+
+* Light controller
+* Light sensor
+* Temperature sensor
+* Humidity sensor
+* Pressure sensor
+* Gas sensor
+* Analog to digital converter
+
+The developer community is encouraged to help expand the list of supported
+sensors and actuators and provide feedback on interface design.
### Example
@@ -51,10 +64,6 @@ A sensor/actuator is expected to work as such (here is the MMA7660 accelerometer
}
```
-However implementation and API design is completely up to the developer, some
-enumerable sensors for example may provide much clever instantiation. Displays
-may also create more complex structures in order to interface with them.
-
Browse through the list of all [examples](https://github.com/intel-iot-devkit/upm/tree/master/examples).
Multi-sensor samples for the starter and specialized kits can be found in the
@@ -81,7 +90,7 @@ See building documentation [here](docs/building.md).
Porting [link](docs/porting.md) has more information on making new UPM modules.
-There is also an example available for max31855 [sensor](docs/max31855.md).
+There is also an example available gfor max31855 [sensor](docs/max31855.md).
Guide on creating Java [bindings](docs/creating_java_bindings.md).
@@ -105,6 +114,14 @@ API Documentation
<a href="http://iotdk.intel.com/docs/master/upm/python"><img src="docs/icons/python.png"/></a>
<a href="http://iotdk.intel.com/docs/master/upm/node"><img src="docs/icons/node.png"/></a>
+### API Compatibility
+Even if we try our best not to, every once in a while we are forced to modify
+our API in a way that will break backwards compatibility. If you find yourself
+unable to compile code that was working fine before a library update, make sure
+you check the [API changes](docs/apichanges.md) section first.
+
+**NOTE** - Our **C++ header files** changed extension from *.h* to *.hpp*!
+
### Changelog
Version changelog [here](docs/changelog.md).