Browse Source

more features

git-svn-id: https://bucket.mit.edu/svn/nilm/zoom@6025 ddd99763-3ecb-0310-9145-efcb8ce7c51f
tags/zoom-1.0
jim 16 years ago
parent
commit
39231ac217
1 changed files with 16 additions and 3 deletions
  1. +16
    -3
      pc/read.c

+ 16
- 3
pc/read.c View File

@@ -15,6 +15,7 @@

int hex = 0;
int screen = 0;
int unprocessed = 0;

int process(const uint8_t *buf, int len);

@@ -73,6 +74,7 @@ int main(int argc, char *argv[])
{ "device", required_argument, NULL, 'd' },
{ "rate", required_argument, NULL, 'r' },
{ "hex", no_argument, NULL, 'x' },
{ "unprocessed", no_argument, NULL, 'u' },
{ "screen", no_argument, NULL, 's' },
{ "help", no_argument, NULL, 'h' },
{ 0, 0, 0, 0 }
@@ -80,7 +82,7 @@ int main(int argc, char *argv[])
int help=0;
char c;

while ((c = getopt_long(argc, argv, "d:r:xsh?",
while ((c = getopt_long(argc, argv, "d:r:xush?",
long_opts, &getopt_index)) != -1) {
switch(c)
{
@@ -96,6 +98,9 @@ int main(int argc, char *argv[])
case 'x':
hex = 1;
break;
case 'u':
unprocessed = 1;
break;
case 's':
screen = 1;
break;
@@ -112,8 +117,9 @@ int main(int argc, char *argv[])
fprintf(stderr, "usage: %s [options]\n\n", *argv);
fprintf(stderr, " -d, --device /dev/ttyUSB3 serial port\n");
fprintf(stderr, " -r, --rate 1000000 baud rate\n");
fprintf(stderr, " -x, --hex hex out\n");
fprintf(stderr, " -s, --screen send \\r instead of \\n\n");
fprintf(stderr, " -x, --hex hex out\n");
fprintf(stderr, " -u, --unprocessed dump raw unprocessed data\n");
fprintf(stderr, " -s, --screen send \\r instead of \\n\n");
fprintf(stderr, " -h, --help this cruft\n");
return 1;
}
@@ -141,6 +147,13 @@ int process(const uint8_t *buf, int len)
int n = 0;
uint16_t dac, adc;

if (unprocessed) {
n = write(fileno(stdout), buf, len);
if (n >= 0)
return n;
return 0;
}

/* Process blocks */
retry:
for (; (n + 4) <= len; buf += 4, n += 4) {


Loading…
Cancel
Save