return -1; /* failed to get a response */
}
- while(ser_getline(fd, buf, sizeof buf)) {
- printf("magellan open(%s): %s\n", dev, buf);
- }
-
ser_printf(fd, "vQ\r");
- ser_wait(fd, 250);
- 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");
+ while(ser_getline_block(fd, buf, sizeof buf) && buf[0] != 'v');
+
+ printf("DBG: \"%s\"\n", buf);
+ if(buf[0] != 'v' || !strstr(buf, "MAGELLAN")) {
+ fprintf(stderr, "unknown device: \"%s\"\n", buf + 1);
ser_close(fd);
return -1;
}