IBASE MRS-801-RE User Manual

Page 70

Advertising
background image

62

MRS-801-RE User Manual

fprintf(stderr, "Error: Invalid mode '%s'!\n", argv[argc-1]);

help();

}

switch (argv[argc-1][0]) {

case 'b': size = I2C_SMBUS_BYTE_DATA; break;

case 'w': size = I2C_SMBUS_WORD_DATA; break;

case 's': size = I2C_SMBUS_BLOCK_DATA; break;

case 'i': size = I2C_SMBUS_I2C_BLOCK_DATA; break;

default:

fprintf(stderr, "Error: Invalid mode '%s'!\n", argv[argc-1]);

help();

}

pec = argv[argc-1][1] == 'p';

if (size == I2C_SMBUS_BLOCK_DATA || size == I2C_SMBUS_I2C_BLOCK_DATA) {

if (pec && size == I2C_SMBUS_I2C_BLOCK_DATA) {

fprintf(stderr, "Error: PEC not supported for I2C block writes!\n");

help();

}

if (maskp) {

fprintf(stderr, "Error: Mask not supported for block writes!\n");

help();

}

if (argc > (int)sizeof(block) + flags + 5) {

fprintf(stderr, "Error: Too many arguments!\n");

help();

}

} else if (argc != flags + 6) {

fprintf(stderr, "Error: Too many arguments!\n");

help();

}

}

len = 0; /* Must always initialize len since it is passed to confirm() */

/* read values from command line */

switch (size) {

case I2C_SMBUS_BYTE_DATA:

case I2C_SMBUS_WORD_DATA:

Advertising