On Wed, Aug 19, 2015 at 02:34:39PM -0700, Greg Wilson-Lindberg wrote: > > So, in that case, can I just open it once and leave it open? Yes. > Is it reading from a buffer, or is it reading what is current in the ADC? It is the current reading. > Can I just set up a timer to get readings to average then? Sure. Here are some helper functions: int iio_adc_open_channel(int dev_num, int chan_num) { char filename[255]; sprintf(filename, "/sys/bus/iio/devices/iio:device%d/in_voltage%d_raw", dev_num, chan_num); return open(filename, O_RDONLY); } int iio_adc_read_channel(int fd) { int count; char buffer[255]; int value = -1; lseek(fd,0,SEEK_SET); count = read(fd, buffer, 255); if (count > 0) value = strtoul(buffer, NULL, 10); return value; } Example usage: int fd; . . fd = iio_adc_open_channel(0, 4); . . while (1) { printf("ADC = %x\n", iio_adc_read_channel(fd)); } -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html