]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/serial-lcr/api.c
serial: flush() after open() in the serial core.
[libsigrok.git] / src / hardware / serial-lcr / api.c
index 035d1b506329159df4ca1cf20facc3d57016f7a0..25b4e47ffa0c69540182ce322c9274ec27ca50c4 100644 (file)
@@ -38,7 +38,7 @@ static const uint32_t drvopts[] = {
 
 static const uint32_t devopts[] = {
        SR_CONF_CONTINUOUS,
-       SR_CONF_LIMIT_FRAMES | SR_CONF_SET,
+       SR_CONF_LIMIT_FRAMES | SR_CONF_GET | SR_CONF_SET,
        SR_CONF_LIMIT_MSEC | SR_CONF_SET,
        SR_CONF_OUTPUT_FREQUENCY | SR_CONF_GET | SR_CONF_LIST,
        SR_CONF_EQUIV_CIRCUIT_MODEL | SR_CONF_GET | SR_CONF_LIST,
@@ -105,7 +105,6 @@ static int scan_lcr_port(const struct lcr_info *lcr,
         * send data periodically. So we check if the packets match the
         * probed device's expected format.
         */
-       serial_flush(serial);
        if (lcr->packet_request) {
                ret = lcr->packet_request(serial);
                if (ret < 0) {
@@ -399,3 +398,36 @@ SR_REGISTER_DEV_DRIVER_LIST(lcr_es51919_drivers,
        LCR_ES51919("peaktech-2170", "PeakTech", "2170"),
        LCR_ES51919("uni-t-ut612", "UNI-T", "UT612"),
 );
+
+#define LCR_VC4080(id, vendor, model) \
+       &((struct lcr_info) { \
+               { \
+                       .name = id, \
+                       .longname = vendor " " model, \
+                       .api_version = 1, \
+                       .init = std_init, \
+                       .cleanup = std_cleanup, \
+                       .scan = scan, \
+                       .dev_list = std_dev_list, \
+                       .dev_clear = std_dev_clear, \
+                       .config_get = config_get, \
+                       .config_set = config_set, \
+                       .config_list = config_list, \
+                       .dev_open = std_serial_dev_open, \
+                       .dev_close = std_serial_dev_close, \
+                       .dev_acquisition_start = dev_acquisition_start, \
+                       .dev_acquisition_stop = std_serial_dev_acquisition_stop, \
+                       .context = NULL, \
+               }, \
+               vendor, model, \
+               VC4080_CHANNEL_COUNT, vc4080_channel_formats, \
+               VC4080_COMM_PARAM, VC4080_PACKET_SIZE, \
+               500, vc4080_packet_request, \
+               vc4080_packet_valid, vc4080_packet_parse, \
+               NULL, NULL, vc4080_config_list, \
+       }).di
+
+SR_REGISTER_DEV_DRIVER_LIST(lcr_vc4080_drivers,
+       LCR_VC4080("peaktech-2165", "PeakTech", "2165"),
+       LCR_VC4080("voltcraft-4080", "Voltcraft", "4080"),
+);