static int ReadAdc()

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;
}