From 7a55a1384a7ed658d678a9084d5975c49f6a74b7 Mon Sep 17 00:00:00 2001 From: "Lay, Kuan Loon" Date: Mon, 19 Oct 2015 16:26:38 +0800 Subject: [PATCH] iio: added mraa_iio_write Signed-off-by: Lay, Kuan Loon Signed-off-by: Brendan Le Foll --- api/mraa/iio.h | 2 +- src/iio/iio.c | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/api/mraa/iio.h b/api/mraa/iio.h index a800f96..f57471a 100644 --- a/api/mraa/iio.h +++ b/api/mraa/iio.h @@ -98,7 +98,7 @@ mraa_result_t mraa_iio_read(mraa_iio_context dev, const char* attribute, float* /** * */ -mraa_result_t mraa_iio_write(mraa_iio_context dev, const char* attribute); +mraa_result_t mraa_iio_write(mraa_iio_context dev, const char* attr_chan, const char* data); mraa_result_t mraa_iio_get_channel_data(mraa_iio_context dev); diff --git a/src/iio/iio.c b/src/iio/iio.c index 8297ff5..16bf575 100644 --- a/src/iio/iio.c +++ b/src/iio/iio.c @@ -208,9 +208,16 @@ mraa_iio_read(mraa_iio_context dev, const char* attr_chan, float* data) } mraa_result_t -mraa_iio_write(mraa_iio_context dev, const char* attr_chan) +mraa_iio_write(mraa_iio_context dev, const char* attr_chan, const char* data) { - return MRAA_ERROR_FEATURE_NOT_IMPLEMENTED; + char buf[128]; + snprintf(buf, 128, IIO_SYSFS_DEVICE "%d/%s", dev->num, attr_chan); + int fd = open(buf, O_WRONLY); + if (fd != -1) { + write(fd, data, (strlen(data)+1)); + return MRAA_SUCCESS; + } + return MRAA_ERROR_UNSPECIFIED; } static mraa_result_t -- 2.7.4