X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Fdev_smag.c;h=3433b13f4c63642dee8c404ffcd67dbcc45c92c9;hb=HEAD;hp=40f504681fc3ca6a3e62ee50bf3e63043eb14546;hpb=b592e337adbb150e09d3e256a4066734698df3cf;p=smouse diff --git a/src/dev_smag.c b/src/dev_smag.c index 40f5046..3433b13 100644 --- a/src/dev_smag.c +++ b/src/dev_smag.c @@ -76,24 +76,20 @@ static int opendev(const char *dev) return -1; /* failed to get a response */ } - while(ser_getline(fd, buf, sizeof buf)) { - printf("magellan open(%s): %s\n", dev, buf); - } + ser_block(fd); ser_printf(fd, "vQ\r"); - ser_wait(fd, 250); + do { + ser_getline(fd, buf, sizeof buf); + } while(buf[0] != 'v'); - while(ser_getline(fd, buf, sizeof buf)) { - if(buf[0] == 'v') { - break; - } - } - printf("magellan open(%s): got version string: \"%s\"\n", dev, buf + 1); - if(!strstr(buf, "v Magellan")) { - fprintf(stderr, "unknown device\n"); + if(buf[0] != 'v' || !strstr(buf, "MAGELLAN")) { + fprintf(stderr, "unknown device: \"%s\"\n", buf + 1); ser_close(fd); return -1; } + + ser_nonblock(fd); return fd; } @@ -193,6 +189,7 @@ static int proc_packets(void) ++count; } st >>= 1; + delta >>= 1; } break; }