IBASE MRS-801-RE User Manual

Page 65

Advertising
background image

Copyright © 2013 IBASE Technology Inc. All Rights Reserved.

57

IBASE Technology Inc.

fprintf(stderr,

"Usage: i2cset [-f] [-y] [-m MASK] [-r] I2CBUS CHIP-ADDRESS DATA-ADDRESS [VALUE] ... [MODE]\n"

" I2CBUS is an integer or an I2C bus name\n"

" ADDRESS is an integer (0x03 - 0x77)\n"

" MODE is one of:\n"

" c (byte, no value)\n"

" b (byte data, default)\n"

" w (word data)\n"

" i (I2C block data)\n"

" s (SMBus block data)\n"

" Append p for SMBus PEC\n");

exit(1);

}

static int check_funcs(int file, int size, int pec)

{

unsigned long funcs;

/* check adapter functionality */

if (ioctl(file, I2C_FUNCS, &funcs) < 0) {

fprintf(stderr, "Error: Could not get the adapter "

"functionality matrix: %s\n", strerror(errno));

return -1;

}

switch (size) {

case I2C_SMBUS_BYTE:

if (!(funcs & I2C_FUNC_SMBUS_WRITE_BYTE)) {

fprintf(stderr, MISSING_FUNC_FMT, "SMBus send byte");

return -1;

}

break;

case I2C_SMBUS_BYTE_DATA:

if (!(funcs & I2C_FUNC_SMBUS_WRITE_BYTE_DATA)) {

fprintf(stderr, MISSING_FUNC_FMT, "SMBus write byte");

return -1;

}

Advertising