aio.c: added normalized read returning a float in a 0.0-1.0 range
Closes #32. 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
dbc64fbe86
commit
cd6701d604
@@ -159,6 +159,20 @@ mraa_aio_read(mraa_aio_context dev)
|
||||
return analog_value;
|
||||
}
|
||||
|
||||
float
|
||||
mraa_aio_read_float(mraa_aio_context dev)
|
||||
{
|
||||
if (dev == NULL) {
|
||||
syslog(LOG_ERR, "aio: Device not valid");
|
||||
return 0.0;
|
||||
}
|
||||
|
||||
float max_analog_value = (1 << dev->value_bit) - 1;
|
||||
unsigned int analog_value_int = mraa_aio_read(dev);
|
||||
|
||||
return analog_value_int / max_analog_value;
|
||||
}
|
||||
|
||||
mraa_result_t
|
||||
mraa_aio_close(mraa_aio_context dev)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user