X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fgmc-mh-1x-2x%2Fapi.c;fp=src%2Fhardware%2Fgmc-mh-1x-2x%2Fapi.c;h=5f029a9e9970e97a272b2bda5005322c96175966;hb=cb828f1b3e00ccd0ad23d7cb98dca4d0d4749b07;hp=f2cbd7b20ae4d0b8e4117af4f41a5aabb434df3f;hpb=3b13990f7d193e8276eb7da27ab9a1fb8f01ee95;p=libsigrok.git diff --git a/src/hardware/gmc-mh-1x-2x/api.c b/src/hardware/gmc-mh-1x-2x/api.c index f2cbd7b2..5f029a9e 100644 --- a/src/hardware/gmc-mh-1x-2x/api.c +++ b/src/hardware/gmc-mh-1x-2x/api.c @@ -102,6 +102,7 @@ static enum model scan_model_sm(struct sr_serial_dev_inst *serial) * Try to find message consisting of device code and several * (at least 4) data bytes. */ + serial_flush(serial); for (bytecnt = 0; bytecnt < 100; bytecnt++) { byte = read_byte(serial, timeout_us); if ((byte == -1) || (timeout_us < g_get_monotonic_time())) @@ -175,8 +176,6 @@ static GSList *scan_1x_2x_rs232(struct sr_dev_driver *di, GSList *options) return NULL; } - serial_flush(serial); - model = scan_model_sm(serial); /* @@ -187,10 +186,8 @@ static GSList *scan_1x_2x_rs232(struct sr_dev_driver *di, GSList *options) serialcomm = SERIALCOMM_1X_RS232; g_free(serial->serialcomm); serial->serialcomm = g_strdup(serialcomm); - if (serial_set_paramstr(serial, serialcomm) == SR_OK) { - serial_flush(serial); + if (serial_set_paramstr(serial, serialcomm) == SR_OK) model = scan_model_sm(serial); - } } if (model != METRAHIT_NONE) {