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