mraa  1.8.0
Low Level Skeleton Library for Communication on GNU/Linux platforms
Functions | Typedefs
aio.h File Reference

API Description

AIO is the anlog input & output interface to libmraa. It is used to read or set the voltage applied to an AIO pin.

uint16_t adc_value = 0;
float adc_value_float = 0.0;
adc_a0 = mraa_aio_init(0);
if (adc_a0 == NULL) {
return 1;
signal(SIGINT, sig_handler);
while (running == 0) {
adc_value = mraa_aio_read(adc_a0);
adc_value_float = mraa_aio_read_float(adc_a0);
fprintf(stdout, "ADC A0 read %X - %d\n", adc_value, adc_value);
fprintf(stdout, "ADC A0 read float - %.5f (Ctrl+C to exit)\n", adc_value_float);
r = mraa_aio_close(adc_a0);
if (r != MRAA_SUCCESS) {
return r;

Go to the source code of this file.


mraa_aio_context mraa_aio_init (unsigned int pin)
int mraa_aio_read (mraa_aio_context dev)
float mraa_aio_read_float (mraa_aio_context dev)
mraa_result_t mraa_aio_close (mraa_aio_context dev)
mraa_result_t mraa_aio_set_bit (mraa_aio_context dev, int bits)
int mraa_aio_get_bit (mraa_aio_context dev)


typedef struct _aio * mraa_aio_context

Function Documentation

mraa_result_t mraa_aio_close ( mraa_aio_context  dev)

Close the analog input context, this will free the memory for the context

devThe AIO context
Result of operation
int mraa_aio_get_bit ( mraa_aio_context  dev)

Gets the bit value mraa is shifting the analog read to.

devthe analog input context
bit value mraa is set return from the read function
mraa_aio_context mraa_aio_init ( unsigned int  pin)

Initialise an Analog input device, connected to the specified pin. Aio pins are always 0 indexed reguardless of their position. Check your board mapping for details. An arduino style layout will have A0 as pin14 but AIO0.

pinChannel number to read ADC inputs
aio context or NULL
int mraa_aio_read ( mraa_aio_context  dev)

Read the input voltage. By default mraa will shift the raw value up or down to a 10 bit value.

devThe AIO context
The current input voltage or -1 for error
float mraa_aio_read_float ( mraa_aio_context  dev)

Read the input voltage and return it as a normalized float (0.0f-1.0f).

devThe AIO context
The current input voltage as a normalized float (0.0f-1.0f), error will be signaled by -1.0f
mraa_result_t mraa_aio_set_bit ( mraa_aio_context  dev,
int  bits 

Set the bit value which mraa will shift the raw reading from the ADC to. I.e. 10bits

devthe analog input context
bitsthe bits the return from read should be i.e 10
mraa result type

Typedef Documentation

typedef struct _aio* mraa_aio_context

Opaque pointer definition to the internal struct _aio. This context refers to one single AIO pin on the board.

Include dependency graph for aio.h: