summaryrefslogtreecommitdiffstats
path: root/README.md
blob: e712116add5228725d50401587a5309837f7ed30 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# IIODEVICES Service

## Overview

The iiodevices service provides access to data from industrial i/o devices.
For now it permits to get data from acceleration, gyroscope and electronic compass.

## General Scheme

As soon as a client subscribes to the agl-service-iiodevices binding,
the binding reads values from the sensors and sends it to subscribers as events.
Subscribers can choose their frequency and indicate what values they want at
subscription.

## Verbs

| Name               | Description                                 | JSON Parameters                                                   |
|:-------------------|:--------------------------------------------|:---------------------------------------------------------------   |
| subscribe          | subscribe to 9 axis events                  | *Request:* {"event": "accel", "args":"xy", "frequency": "10" }|
| unsubscribe        | unsubscribe to accelero events              | *Request:* {"event": "accel" } |

## Events

For now, there are 3 different events matching with the different available sensors.

* "accel": is for acceleration data
* "magn": is for gyroscope data
* "anglvel": is for electronic compass data

## Frequency

The frequency is in Hertz, if the frequency is not set, events are triggered via a file descriptor.

## Remaining issues

- Provide a json config file so that it configures the device name and the channel name.
- Handle several values simultaneously, see triggers.
- Update it to other iiodevices.
- only read channel values at the maximum frequency.

## M3ULCB Kingfisher

M3ULCB Kingfisher is equipped with a 9 axis sensor device (LSM9DS0) and the R-Car Starter
Kit can read sensor values via I2C interface and iiodevices are provided for
these sensors.