- int sensor = open("/sys/devices/platform/tsc/ain0", O_RDONLY); //need unique path for each sensor ADC, check path in documentation
- char buffer[128]; //ADCs on Beaglebone are 12 bits?
- int read = read(sensor, buffer, sizeof(buffer);
- if (read != -1) {
- buffer[read] = NULL; //string returned by read is not null terminated
- int value = atoi(buffer);
- double convert = (value/4096) * 1800; //sample conversion from ADC input to 'true value'
- d->value = convert;
- lseek(sensor, 0, 0); //after read string must be rewound to start of file using lseek
- }
- else {
- perror("Failed to get value from sensor");
- }
- close(sensor);