]> jspc29.x-matter.uni-frankfurt.de Git - trbnettools.git/commitdiff
trb_i2c now supports -D option, output is then given as decimal number
authorLudwig Maier <lmaier@crius.e12.ph.tum.de>
Sat, 15 Feb 2014 18:36:32 +0000 (19:36 +0100)
committerLudwig Maier <lmaier@crius.e12.ph.tum.de>
Sat, 15 Feb 2014 18:36:32 +0000 (19:36 +0100)
trbrich/trb_i2c.c

index 02079d28c932aec00087562e0d2bfbd13601dfb8..ed45386a881b5224f383a623fd9142bc194483cf 100644 (file)
@@ -27,12 +27,13 @@ static int multBytes = 0;
 
 void usage(const char *progName)
 {
-  printf("Usage: %s [-h] [-d] [-b numBytes] [-d level] [-V] <COMMAND>\n", 
+  printf("Usage: %s [-h] [-d] [-b numBytes] [-D] [-d level] [-V] <COMMAND>\n", 
          progName);
   printf("Options:\n");
   printf("  -h    give this help\n");
   printf("  -s    SPI Mode\n");
   printf("  -b    number of bytes to be read 1..4 (default 1)\n");
+  printf("  -D    dec-mode: display register values as decimal numbers\n");
   printf("  -d    turn on Debugging Information\n");
   printf("  -V    Version number\n");
   printf("\nCommands:\n");
@@ -148,9 +149,10 @@ int main(int argc, char** argv)
   int spi_mode = 0;
   unsigned int num_bytes = 1;
   trb_debug = 0;
-  
+  int decMode = 0;
+
   /* Parse Arguments */
-  while ((i = getopt(argc, argv, "+hsb:d:V")) != -1) {
+  while ((i = getopt(argc, argv, "+hsb:d:DV")) != -1) {
     switch (i) {
     case '?':
       usage(basename(argv[0]));
@@ -173,6 +175,9 @@ int main(int argc, char** argv)
     case 'd':
       trb_debug = strtoul(optarg, NULL, 0);
       break;
+    case 'D':
+      decMode = 1;
+      break;
     case 'V':
       printf("%s %s, using libtrbnet %s\n",
              basename(argv[0]), trb_i2c_version, trbnet_version);
@@ -323,9 +328,13 @@ int main(int argc, char** argv)
     /* Print results */
     for (i = 0; i < status; i += 2) {
       if (multBytes == 0) {
-        printf("0x%04x  0x%02x\n", buffer[i], buffer[i + 1] & 0xff);
+        fprintf(stdout, 
+                (decMode == 0 ? "0x%04x  0x%02x\n" : "0x%04x  %u\n"), 
+                buffer[i], buffer[i + 1] & 0xff);
       } else {
-        printf("0x%04x  0x%08x\n", buffer[i], buffer[i + 1]);
+        fprintf(stdout, 
+                (decMode == 0 ? "0x%04x  0x%08x\n" : "0x%04x  %u\n"), 
+                buffer[i], buffer[i + 1]);
       }
     }