From 75efbe1ad80731919c7f87488c22d65c8bb3ec74 Mon Sep 17 00:00:00 2001 From: Daniel Friesel Date: Sun, 17 Nov 2013 19:03:25 +0100 Subject: add -c, -d to set sda/scl bit --- commandline/i2c-util.c | 15 +++++++++++++++ commandline/i2c-util.h | 1 + commandline/i2cdetect.c | 1 + commandline/i2cget.c | 1 + commandline/i2cset.c | 1 + 5 files changed, 19 insertions(+) diff --git a/commandline/i2c-util.c b/commandline/i2c-util.c index 8033d12..f8aa18d 100644 --- a/commandline/i2c-util.c +++ b/commandline/i2c-util.c @@ -156,6 +156,21 @@ static int usbOpenDevice(usb_dev_handle ** device, int vendor, char *vendorName, return errorCode; } +void i2c_getopt(int argc, char **argv) +{ + int opt; + while ((opt = getopt(argc, argv, "c:d:")) != EOF) { + switch (opt) { + case 'c': + bit_scl = atoi(optarg); + break; + case 'd': + bit_sda = atoi(optarg); + break; + } + } +} + unsigned char get_status() { unsigned char buffer[8]; diff --git a/commandline/i2c-util.h b/commandline/i2c-util.h index f3c5738..9be466a 100644 --- a/commandline/i2c-util.h +++ b/commandline/i2c-util.h @@ -10,6 +10,7 @@ unsigned char get_status(); unsigned char i2c_tx_byte(unsigned char byte); unsigned char i2c_rx_byte(unsigned char send_ack); +void i2c_getopt(int argc, char **argv); void i2c_start(); void i2c_stop(); void i2c_init(); diff --git a/commandline/i2cdetect.c b/commandline/i2cdetect.c index 2aa4475..88e5d2e 100644 --- a/commandline/i2cdetect.c +++ b/commandline/i2cdetect.c @@ -9,6 +9,7 @@ int main(int argc, char **argv) { unsigned char id, i2cid; + i2c_getopt(argc, argv); i2c_init(); fputs(" 0 1 2 3 4 5 6 7 8 9 a b c d e f", stdout); diff --git a/commandline/i2cget.c b/commandline/i2cget.c index a0b2330..041ffad 100644 --- a/commandline/i2cget.c +++ b/commandline/i2cget.c @@ -10,6 +10,7 @@ int main(int argc, char **argv) unsigned int ret; char *conv_err; + i2c_getopt(argc, argv); i2c_init(); i2c_start(); diff --git a/commandline/i2cset.c b/commandline/i2cset.c index 5a3bc4b..3edaf81 100644 --- a/commandline/i2cset.c +++ b/commandline/i2cset.c @@ -9,6 +9,7 @@ int main(int argc, char **argv) int i, address, cmdbuf, got_ack; char *conv_err; + i2c_getopt(argc, argv); i2c_init(); i2c_start(); -- cgit v1.2.3