Beispiel #1
0
EXPORT int pcf8574Init(int i2cDev) 
{
    clearLastError();
    int devFD;
    char buf[16];
    memset(buf, 0, sizeof(buf));
    sprintf(buf, "/dev/i2c-%d", i2cDev);
    if ((devFD = openHW(buf, O_RDWR)) < 0) {
        setLastError("Fail to open I2C device pcf8574");
        return -1;
    } else {
        if (setI2CSlave(devFD, PCF8574_ADDRESS) < 0) {
            setLastError("Fail to set pcf8574 I2C slave address");
            closeHW(devFD);
            return -1;
        }
    } 
    return devFD;
}
Beispiel #2
0
EXPORT int hmc5883Init() 
{
    clearLastError();
    int devFD;
    if ((devFD = openHW(I2C0_PATH, O_RDWR)) < 0) {
        setLastError("Fail to open I2C hmc5883 device");
        return -1;
    } else {
        if (setI2CSlave(devFD, HMC5883_ADDRESS) < 0) {
            setLastError("Fail to set hmc5883 I2C slave address");
            closeHW(devFD);
            return -1;
        }
    } 
    if (hmc5883HWInit(devFD) == -1) {
        closeHW(devFD);
        return -1;
    }
    return devFD;
}