summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Friesel <derf@finalrewind.org>2013-11-17 19:03:25 +0100
committerDaniel Friesel <derf@finalrewind.org>2013-11-17 19:03:25 +0100
commit75efbe1ad80731919c7f87488c22d65c8bb3ec74 (patch)
tree9adaf4a95f16a28d2bd8291ca39680b171ff6ca7
parente050f96dee9da9dc73176ca1be3c26161f0ae1f9 (diff)
add -c, -d to set sda/scl bit
-rw-r--r--commandline/i2c-util.c15
-rw-r--r--commandline/i2c-util.h1
-rw-r--r--commandline/i2cdetect.c1
-rw-r--r--commandline/i2cget.c1
-rw-r--r--commandline/i2cset.c1
5 files changed, 19 insertions, 0 deletions
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();