2 * Author: Brendan Le Foll <brendan.le.foll@intel.com>
3 * Copyright (c) 2015 Intel Corporation.
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the
7 * "Software"), to deal in the Software without restriction, including
8 * without limitation the rights to use, copy, modify, merge, publish,
9 * distribute, sublicense, and/or sell copies of the Software, and to
10 * permit persons to whom the Software is furnished to do so, subject to
11 * the following conditions:
13 * The above copyright notice and this permission notice shall be
14 * included in all copies or substantial portions of the Software.
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
26 #include "mraa_internal.h"
29 mraa_iio_init(int device)
31 if (device > plat->iio_device_count) {
34 return &plat->iio_devices[device];
38 mraa_iio_get_channel_count(mraa_iio_context dev)
44 mraa_iio_read(mraa_iio_context dev, int channel, const char* attribute, float* data)
47 snprintf(buf, 64, "/sys/bus/iio/devices/iio:device%d/in_voltage%d_%s", dev->num, channel, attribute);
48 int fd = open(buf, O_RDONLY);
50 int len = read(fd, &buf, 64);
51 *data = strtol(buf, NULL, 10);
54 return MRAA_ERROR_UNSPECIFIED;
58 mraa_iio_write(mraa_iio_context dev, int channel, const char* attribute)
60 return MRAA_ERROR_FEATURE_NOT_IMPLEMENTED;
64 mraa_iio_stop(mraa_iio_context dev)