Ktam3874/pitx software guide – Kontron KTAM3874-pITX User Manual

Page 50

Advertising
background image

KTD-S0057-I

Page 46 Linux® Programming Examples (DebianTM)


KTAM3874/pITX Software Guide


int open_i2c_dev (const int i2cbus, char *filename, const int quiet)
{
int

file;


sprintf (filename, "/dev/i2c-%d", i2cbus);

file = open (filename, O_RDWR);

if (file < 0 && !quiet)

{

if (errno == ENOENT)

fprintf (stderr, "Error: Could not open file `/dev/i2c-%d': %s\n", i2cbus, strerror (ENOENT));

else

{

fprintf (stderr, "Error: Could not open file `%s': %s\n", filename, strerror (errno));

if (errno == EACCES)

fprintf (stderr, "Run as root?\n");

}

}
return

file;

}


int main (int argc, char *argv[])
{

int i2cbus = 3;

/* Default I2C bus on J2105 */

int file, res;

char

filename[20];

unsigned long funcs;

int mode = MODE_READ;

/* Quick mode not supported */

int first = 0x03, last = 0x77;

int flags = 0;

/* Handle (optional) flags first */

while (1+flags < argc && argv[1+flags][0] == '-')

{

switch

(argv[1+flags][1])

{

case 'F': mode = MODE_FUNC; break;

default

: fprintf (stderr, "Error: Unsupported option \"%s\"!\n", argv[1+flags]);

help ();

return -1;

}

flags++;

}

if (argc >= flags + 2)

{

i2cbus = atoi (argv[flags+1]);

if ((i2cbus < 1) || (i2cbus > 4))

{

fprintf (stderr, "Error: No valid number for i2c-bus!\n");

return

-1;

}

}

Advertising
This manual is related to the following products: