in CodeSnippets/Peripherals/ADC/LinuxSysfsNodes/linux_sysfs_nodes.c [96:115]
static int ReadAdc(int adcFd, int *outSampleValue)
{
if (adcFd < 0) {
fprintf(stderr, "ERROR: Invalid file descriptor.\n");
return -1;
}
// Buffer to hold decimal representation of 4-byte integer value and null terminator.
char dataBuffer[12];
memset(dataBuffer, 0, sizeof(dataBuffer));
if (read(adcFd, dataBuffer, sizeof(dataBuffer)) == -1) {
fprintf(stderr, "ERROR: ReadAdc failed with error: %s (%d).\n", strerror(errno), errno);
return -1;
}
*outSampleValue = atoi(dataBuffer);
return 0;
}