diff options
Diffstat (limited to 'i2c.c')
-rw-r--r-- | i2c.c | 42 |
1 files changed, 24 insertions, 18 deletions
@@ -10,45 +10,51 @@ #define I2C_BUS "/dev/i2c-3" -void I2C_Write(gulong address, guchar value) { +void I2C_Write(gulong address, guchar value) +{ struct i2c_smbus_ioctl_data argswrite; - argswrite.read_write = I2C_SMBUS_WRITE; - argswrite.size = I2C_SMBUS_BYTE; - argswrite.data = NULL; + argswrite.read_write = I2C_SMBUS_WRITE; + argswrite.size = I2C_SMBUS_BYTE; + argswrite.data = NULL; argswrite.command = value; int device = open(I2C_BUS, O_RDWR); // FIXME? - if (device == -1) return; + if (device == -1) { + return; + } ioctl(device, I2C_SLAVE, address); - ioctl(device, I2C_SMBUS, &argswrite); + ioctl(device, I2C_SMBUS, &argswrite); close(device); } -guchar I2C_Read(gulong address) { +guchar I2C_Read(gulong address) +{ union i2c_smbus_data data; - struct i2c_smbus_ioctl_data argsread; - - argsread.read_write = I2C_SMBUS_READ; - argsread.size = I2C_SMBUS_BYTE; - argsread.data = &data; - argsread.command = 0; + struct i2c_smbus_ioctl_data argsread; - int device = open(I2C_BUS, O_RDWR); + argsread.read_write = I2C_SMBUS_READ; + argsread.size = I2C_SMBUS_BYTE; + argsread.data = &data; + argsread.command = 0; - if (device == -1) return 0; + int device = open(I2C_BUS, O_RDWR); + + if (device == -1) { + return 0; + } - ioctl(device, I2C_SLAVE, address); - ioctl(device, I2C_SMBUS, &argsread); + ioctl(device, I2C_SLAVE, address); + ioctl(device, I2C_SMBUS, &argsread); - close(device); + close(device); return data.byte; } |