IBASE MRS-801-RE User Manual

Page 63

Advertising
background image

Copyright © 2013 IBASE Technology Inc. All Rights Reserved.

55

IBASE Technology Inc.

if (!yes && !confirm(filename, address, size, daddress, pec))

exit(0);

if (pec && ioctl(file, I2C_PEC, 1) < 0) {

fprintf(stderr, "Error: Could not set PEC: %s\n",

strerror(errno));

close(file);

exit(1);

}

switch (size) {

case I2C_SMBUS_BYTE:

if (daddress >= 0) {

res = i2c_smbus_write_byte(file, daddress);

if (res < 0)

fprintf(stderr, "Warning - write failed\n");

}

res = i2c_smbus_read_byte(file);

break;

case I2C_SMBUS_WORD_DATA:

res = i2c_smbus_read_word_data(file, daddress);

break;

default: /* I2C_SMBUS_BYTE_DATA */

res = i2c_smbus_read_byte_data(file, daddress);

}

close(file);

if (res < 0) {

fprintf(stderr, "Error: Read failed\n");

exit(2);

}

printf("0x%0*x\n", size == I2C_SMBUS_WORD_DATA ? 4 : 2, res);

exit(0);

}

Advertising