iio: added function returning IIO device number by name
Closes #309. Signed-off-by: Alex Tereschenko <alext.mkrs@gmail.com> Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com>
This commit is contained in:
committed by
Brendan Le Foll
parent
7fa4990d81
commit
325ac461d6
@@ -77,6 +77,8 @@ mraa_result_t mraa_iio_trigger_buffer(mraa_iio_context dev, void (*fptr)(char* d
|
||||
|
||||
const char* mraa_iio_get_device_name(mraa_iio_context dev);
|
||||
|
||||
int mraa_iio_get_device_num_by_name(const char* name);
|
||||
|
||||
int mraa_iio_read_size(mraa_iio_context dev);
|
||||
|
||||
mraa_iio_channel* mraa_iio_get_channels(mraa_iio_context dev);
|
||||
|
||||
@@ -163,6 +163,33 @@ mraa_iio_get_device_name(mraa_iio_context dev)
|
||||
return dev->name;
|
||||
}
|
||||
|
||||
int
|
||||
mraa_iio_get_device_num_by_name(const char* name)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (plat_iio == NULL) {
|
||||
syslog(LOG_ERR, "iio: platform IIO structure is not initialized");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (name == NULL) {
|
||||
syslog(LOG_ERR, "iio: device name is NULL, unable to find its number");
|
||||
return -1;
|
||||
}
|
||||
|
||||
for (i = 0; i < plat_iio->iio_device_count; i++) {
|
||||
struct _iio* device;
|
||||
device = &plat_iio->iio_devices[i];
|
||||
// we want to check for exact match
|
||||
if (strncmp(device->name, name, strlen(device->name)+1) == 0) {
|
||||
return device->num;
|
||||
}
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
mraa_result_t
|
||||
mraa_iio_read(mraa_iio_context dev, const char* attr_chan, float* data)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user