X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fserial-dmm%2Fapi.c;h=6651e80231b408fe22fcbb5a41062958af981793;hb=1a7adeac29d6331b53a2c78fc9c70429b32da0bd;hp=f0418175c97c520fc88401f4f50975827124d997;hpb=0759e2f55b5e45ff283f396c38c08eb180ba83b7;p=libsigrok.git diff --git a/src/hardware/serial-dmm/api.c b/src/hardware/serial-dmm/api.c index f0418175..6651e802 100644 --- a/src/hardware/serial-dmm/api.c +++ b/src/hardware/serial-dmm/api.c @@ -85,7 +85,6 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) sr_info("Probing serial port %s.", conn); devices = NULL; - serial_flush(serial); /* Request a packet if the DMM requires this. */ if (dmm->packet_request) { @@ -104,7 +103,7 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) /* Let's get a bit of data and see if we can find a packet. */ len = sizeof(buf); ret = serial_stream_detect(serial, buf, &len, dmm->packet_size, - dmm->packet_valid, 3000); + dmm->packet_valid, NULL, NULL, 3000); if (ret != SR_OK) goto scan_cleanup; @@ -131,6 +130,8 @@ static GSList *scan(struct sr_dev_driver *di, GSList *options) sdi->conn = serial; sdi->priv = devc; dmm->channel_count = 1; + if (dmm->packet_parse == sr_brymen_bm52x_parse) + dmm->channel_count = BRYMEN_BM52X_DISPLAY_COUNT; if (dmm->packet_parse == sr_brymen_bm86x_parse) dmm->channel_count = BRYMEN_BM86X_DISPLAY_COUNT; if (dmm->packet_parse == sr_eev121gw_3displays_parse) { @@ -256,10 +257,19 @@ SR_REGISTER_DEV_DRIVER_LIST(serial_dmm_drivers, NULL ), /* }}} */ + /* bm52x based meters {{{ */ + DMM_CONN( + "brymen-bm52x", brymen_bm52x, "Brymen", "BM52x", + "hid/bu86x", NULL, BRYMEN_BM52X_PACKET_SIZE, 4000, 500, + sr_brymen_bm52x_packet_request, + sr_brymen_bm52x_packet_valid, sr_brymen_bm52x_parse, + NULL + ), + /* }}} */ /* bm86x based meters {{{ */ DMM_CONN( "brymen-bm86x", brymen_bm86x, "Brymen", "BM86x", - "hid/bu86x", NULL, BRYMEN_BM86X_PACKET_SIZE, 1500, 500, + "hid/bu86x", NULL, BRYMEN_BM86X_PACKET_SIZE, 500, 100, sr_brymen_bm86x_packet_request, sr_brymen_bm86x_packet_valid, sr_brymen_bm86x_parse, NULL @@ -419,6 +429,12 @@ SR_REGISTER_DEV_DRIVER_LIST(serial_dmm_drivers, ), /* }}} */ /* fs9922 based meters {{{ */ + DMM( + "gwinstek-gdm-397", fs9922, + "GW Instek", "GDM-397", "2400/8n1/rts=0/dtr=1", + FS9922_PACKET_SIZE, 0, 0, NULL, + sr_fs9922_packet_valid, sr_fs9922_parse, NULL + ), DMM( "sparkfun-70c", fs9922, "SparkFun", "70C", "2400/8n1/rts=0/dtr=1", @@ -443,10 +459,9 @@ SR_REGISTER_DEV_DRIVER_LIST(serial_dmm_drivers, FS9922_PACKET_SIZE, 0, 0, NULL, sr_fs9922_packet_valid, sr_fs9922_parse, NULL ), - DMM( - "victor-dmm-ser", fs9922, - "Victor", "Victor DMMs (Mini-USB cable)", "2400/8n1", - FS9922_PACKET_SIZE, 0, 0, NULL, + DMM_CONN( + "victor-dmm", fs9922, "Victor", "Victor DMMs", + "hid/victor", "2400/8n1", FS9922_PACKET_SIZE, 0, 0, NULL, sr_fs9922_packet_valid, sr_fs9922_parse, NULL ), DMM( @@ -518,6 +533,13 @@ SR_REGISTER_DEV_DRIVER_LIST(serial_dmm_drivers, sr_metex14_packet_valid, sr_metex14_parse, NULL ), + DMM( + "metex-me21", metex14, + "Metex", "ME-21", "2400/7n2/rts=0/dtr=1", + METEX14_PACKET_SIZE, 0, 0, sr_metex14_packet_request, + sr_metex14_packet_valid, sr_metex14_parse, + NULL + ), DMM( "metex-me31", metex14, "Metex", "ME-31", "600/7n2/rts=0/dtr=1", @@ -647,6 +669,12 @@ SR_REGISTER_DEV_DRIVER_LIST(serial_dmm_drivers, UT71X_PACKET_SIZE, 0, 0, NULL, sr_ut71x_packet_valid, sr_ut71x_parse, NULL ), + DMM( + "uni-t-ut804-ser", ut71x, + "UNI-T", "UT804", "2400/7o1/rts=0/dtr=1", + UT71X_PACKET_SIZE, 0, 0, NULL, + sr_ut71x_packet_valid, sr_ut71x_parse, NULL + ), DMM( "voltcraft-vc920-ser", ut71x, "Voltcraft", "VC-920 (UT-D02 cable)", "2400/7o1/rts=0/dtr=1",