]> sigrok.org Git - libsigrok.git/commitdiff
serial-dmm: Add Voltcraft VC-840 (UT-D02) support.
authorUwe Hermann <redacted>
Sun, 16 Dec 2012 21:17:48 +0000 (22:17 +0100)
committerUwe Hermann <redacted>
Mon, 17 Dec 2012 13:21:12 +0000 (14:21 +0100)
This works with the UNI-T UT-D02 (RS232) cable. For the USB/HID
based cable (UNI-T UT-D04), the uni-t-dmm driver must be used.

Note: This is untested, but should work just fine for all settings, with
the possible exception of temperature (testers needed!)

hardware/serial-dmm/api.c
hardware/serial-dmm/protocol.c
hardware/serial-dmm/protocol.h
hwdriver.c

index bbf821ee28b5b7ac344488c02a42091cf605edb6..b132ee4224a323fe535bc7d0e1e9116fe65c39fb 100644 (file)
@@ -59,6 +59,7 @@ SR_PRIV struct sr_dev_driver pce_pce_dm32_driver_info;
 SR_PRIV struct sr_dev_driver radioshack_22_168_driver_info;
 SR_PRIV struct sr_dev_driver radioshack_22_812_driver_info;
 SR_PRIV struct sr_dev_driver voltcraft_vc820_ser_driver_info;
+SR_PRIV struct sr_dev_driver voltcraft_vc840_ser_driver_info;
 
 SR_PRIV struct dmm_info dmms[] = {
        {
@@ -145,6 +146,13 @@ SR_PRIV struct dmm_info dmms[] = {
                NULL,
                &voltcraft_vc820_ser_driver_info, receive_data_VOLTCRAFT_VC820,
        },
+       {
+               "Voltcraft", "VC-840 (UT-D02 cable)", "2400/8n1/rts=0/dtr=1",
+               2400, FS9721_PACKET_SIZE, NULL,
+               sr_fs9721_packet_valid, sr_fs9721_parse,
+               NULL,
+               &voltcraft_vc840_ser_driver_info, receive_data_VOLTCRAFT_VC840,
+       },
 };
 
 /* Properly close and free all devices. */
index 4fea8def3369e0c5e747dd502cd09eaa45745891..d10eec267ee4e2f2aaaecf6ac235acf775214a02 100644 (file)
@@ -204,3 +204,4 @@ RECEIVE_DATA(PCE_PCE_DM32, fs9721)
 RECEIVE_DATA(RADIOSHACK_22_168, metex14)
 RECEIVE_DATA(RADIOSHACK_22_812, rs9lcd)
 RECEIVE_DATA(VOLTCRAFT_VC820, fs9721)
+RECEIVE_DATA(VOLTCRAFT_VC840, fs9721)
index e419b34d75f504bce0c4a181fae03b19f8bd79c1..d03a391b3ead26c20da27642897cd8ef0c28a87d 100644 (file)
@@ -43,9 +43,10 @@ enum {
        RADIOSHACK_22_168,
        RADIOSHACK_22_812,
        VOLTCRAFT_VC820,
+       VOLTCRAFT_VC840,
 };
 
-#define DMM_COUNT 12
+#define DMM_COUNT 13
 
 struct dmm_info {
        char *vendor;
@@ -96,6 +97,7 @@ SR_PRIV int receive_data_PCE_PCE_DM32(int fd, int revents, void *cb_data);
 SR_PRIV int receive_data_RADIOSHACK_22_168(int fd, int revents, void *cb_data);
 SR_PRIV int receive_data_RADIOSHACK_22_812(int fd, int revents, void *cb_data);
 SR_PRIV int receive_data_VOLTCRAFT_VC820(int fd, int revents, void *cb_data);
+SR_PRIV int receive_data_VOLTCRAFT_VC840(int fd, int revents, void *cb_data);
 
 SR_PRIV void dmm_details_tp4000zc(struct sr_datafeed_analog *analog, void *info);
 SR_PRIV void dmm_details_dt4000zc(struct sr_datafeed_analog *analog, void *info);
index a42f4fba25be4bec245372b2c8e6513fdbb5370b..6c2c960a4140b0e471bc2ae56fa4006d5b0c0a21 100644 (file)
@@ -126,6 +126,7 @@ extern SR_PRIV struct sr_dev_driver pce_pce_dm32_driver_info;
 extern SR_PRIV struct sr_dev_driver radioshack_22_168_driver_info;
 extern SR_PRIV struct sr_dev_driver radioshack_22_812_driver_info;
 extern SR_PRIV struct sr_dev_driver voltcraft_vc820_ser_driver_info;
+extern SR_PRIV struct sr_dev_driver voltcraft_vc840_ser_driver_info;
 #endif
 #ifdef HAVE_HW_UNI_T_DMM
 extern SR_PRIV struct sr_dev_driver uni_t_ut61d_driver_info;
@@ -192,6 +193,7 @@ static struct sr_dev_driver *drivers_list[] = {
        &radioshack_22_168_driver_info,
        &radioshack_22_812_driver_info,
        &voltcraft_vc820_ser_driver_info,
+       &voltcraft_vc840_ser_driver_info,
 #endif
 #ifdef HAVE_HW_UNI_T_DMM
        &uni_t_ut61d_driver_info,