Private
Public Access
2
0

iio: iio add create trigger

Signed-off-by: Lay, Kuan Loon <kuan.loon.lay@intel.com>
Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
Lay, Kuan Loon
2015-11-05 09:49:54 +08:00
committed by Brendan Le Foll
parent 8d7c0722ab
commit e7e58509f0
2 changed files with 24 additions and 0 deletions

View File

@@ -123,6 +123,7 @@ mraa_result_t mraa_iio_event_extract_event(struct iio_event_data* event,
mraa_result_t mraa_iio_get_mounting_matrix(mraa_iio_context dev, float mm[9]);
mraa_result_t mraa_iio_create_trigger(mraa_iio_context dev, const char* trigger);
/**
* De-inits an mraa_iio_context device
*

View File

@@ -36,6 +36,7 @@
#define IIO_SLASH_DEV "/dev/" IIO_DEVICE
#define IIO_SYSFS_DEVICE "/sys/bus/iio/devices/" IIO_DEVICE
#define IIO_EVENTS "events"
#define IIO_CONFIGFS_TRIGGER "/sys/kernel/config/iio/triggers/"
mraa_iio_context
mraa_iio_init(int device)
@@ -536,6 +537,28 @@ mraa_iio_get_mounting_matrix(mraa_iio_context dev, float mm[9])
return MRAA_ERROR_UNSPECIFIED;
}
mraa_result_t
mraa_iio_create_trigger(mraa_iio_context dev, const char* trigger)
{
struct stat configfs_status;
struct stat trigger_status;
char buf[MAX_SIZE];
if (stat(IIO_CONFIGFS_TRIGGER, &configfs_status) == 0) {
memset(buf, 0, MAX_SIZE);
snprintf(buf, MAX_SIZE, IIO_CONFIGFS_TRIGGER "%s", trigger);
if (stat(buf, &trigger_status) != 0) {
if (mkdir(buf, configfs_status.st_mode) == 0)
return MRAA_SUCCESS;
} else {
// trigger folder already created
return MRAA_SUCCESS;
}
}
return MRAA_ERROR_UNSPECIFIED;
}
#if 0
// does stop make any sense on iio devices?
mraa_result_t