IBASE MRS-801-RE User Manual

Page 73

Advertising
background image

Copyright © 2013 IBASE Technology Inc. All Rights Reserved.

65

IBASE Technology Inc.

if (!yes) {

fprintf(stderr, "Old value 0x%0*x, write mask "

"0x%0*x: Will write 0x%0*x to register "

"0x%02x\n",

size == I2C_SMBUS_WORD_DATA ? 4 : 2, oldvalue,

size == I2C_SMBUS_WORD_DATA ? 4 : 2, vmask,

size == I2C_SMBUS_WORD_DATA ? 4 : 2, value,

daddress);

fprintf(stderr, "Continue? [Y/n] ");

fflush(stderr);

if (!user_ack(1)) {

fprintf(stderr, "Aborting on user request.\n");

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:

res = i2c_smbus_write_byte(file, daddress);

break;

case I2C_SMBUS_WORD_DATA:

res = i2c_smbus_write_word_data(file, daddress, value);

break;

case I2C_SMBUS_BLOCK_DATA:

res = i2c_smbus_write_block_data(file, daddress, len, block);

break;

case I2C_SMBUS_I2C_BLOCK_DATA:

res = i2c_smbus_write_i2c_block_data(file, daddress, len, block);

break;

Advertising