From 5f2a4aff4bbea36044203e700901973520f285a1 Mon Sep 17 00:00:00 2001 From: Florian Steinhardt Date: Tue, 11 Jun 2013 20:35:57 +0200 Subject: [PATCH] added Voltcraft M-3650D Multimeter --- hardware/serial-dmm/api.c | 9 +++++++++ hardware/serial-dmm/protocol.c | 1 + hardware/serial-dmm/protocol.h | 4 +++- hwdriver.c | 2 ++ 4 files changed, 15 insertions(+), 1 deletion(-) diff --git a/hardware/serial-dmm/api.c b/hardware/serial-dmm/api.c index 5bf63b4f..8a0f4619 100644 --- a/hardware/serial-dmm/api.c +++ b/hardware/serial-dmm/api.c @@ -55,6 +55,7 @@ SR_PRIV struct sr_dev_driver radioshack_22_805_driver_info; SR_PRIV struct sr_dev_driver radioshack_22_812_driver_info; SR_PRIV struct sr_dev_driver tecpel_dmm_8060_ser_driver_info; SR_PRIV struct sr_dev_driver tecpel_dmm_8061_ser_driver_info; +SR_PRIV struct sr_dev_driver voltcraft_m3650d_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 sr_dev_driver uni_t_ut61d_ser_driver_info; @@ -161,6 +162,13 @@ SR_PRIV struct dmm_info dmms[] = { &tecpel_dmm_8061_ser_driver_info, receive_data_TECPEL_DMM_8061_SER, }, + { + "Voltcraft", "M-3650D", "1200/7n2/rts=0/dtr=1", 1200, + METEX14_PACKET_SIZE, sr_metex14_packet_request, + sr_metex14_packet_valid, sr_metex14_parse, + NULL, + &voltcraft_m3650d_driver_info, receive_data_VOLTCRAFT_M3650D, + }, { "Voltcraft", "VC-820 (UT-D02 cable)", "2400/8n1/rts=0/dtr=1", 2400, FS9721_PACKET_SIZE, NULL, @@ -505,6 +513,7 @@ DRV(radioshack_22_805, RADIOSHACK_22_805, "radioshack-22-805", "RadioShack 22-80 DRV(radioshack_22_812, RADIOSHACK_22_812, "radioshack-22-812", "RadioShack 22-812") DRV(tecpel_dmm_8060_ser, TECPEL_DMM_8060_SER, "tecpel-dmm-8060-ser", "Tecpel DMM-8060 (UT-D02 cable)") DRV(tecpel_dmm_8061_ser, TECPEL_DMM_8061_SER, "tecpel-dmm-8061-ser", "Tecpel DMM-8061 (UT-D02 cable)") +DRV(voltcraft_m3650d, VOLTCRAFT_M3650D, "voltcraft-m3650d", "Voltcraft M-3650D") DRV(voltcraft_vc820_ser, VOLTCRAFT_VC820_SER, "voltcraft-vc820-ser", "Voltcraft VC-820 (UT-D02 cable)") DRV(voltcraft_vc840_ser, VOLTCRAFT_VC840_SER, "voltcraft-vc840-ser", "Voltcraft VC-840 (UT-D02 cable)") DRV(uni_t_ut61d_ser, UNI_T_UT61D_SER, "uni-t-ut61d-ser", "UNI-T UT61D (UT-D02 cable)") diff --git a/hardware/serial-dmm/protocol.c b/hardware/serial-dmm/protocol.c index e573d1d5..18e9cf6f 100644 --- a/hardware/serial-dmm/protocol.c +++ b/hardware/serial-dmm/protocol.c @@ -172,6 +172,7 @@ RECEIVE_DATA(RADIOSHACK_22_805, metex14) RECEIVE_DATA(RADIOSHACK_22_812, rs9lcd) RECEIVE_DATA(TECPEL_DMM_8060_SER, fs9721) RECEIVE_DATA(TECPEL_DMM_8061_SER, fs9721) +RECEIVE_DATA(VOLTCRAFT_M3650D, metex14) RECEIVE_DATA(VOLTCRAFT_VC820_SER, fs9721) RECEIVE_DATA(VOLTCRAFT_VC840_SER, fs9721) RECEIVE_DATA(UNI_T_UT61D_SER, fs9922) diff --git a/hardware/serial-dmm/protocol.h b/hardware/serial-dmm/protocol.h index aec2b631..e608c85c 100644 --- a/hardware/serial-dmm/protocol.h +++ b/hardware/serial-dmm/protocol.h @@ -45,13 +45,14 @@ enum { RADIOSHACK_22_812, TECPEL_DMM_8060_SER, TECPEL_DMM_8061_SER, + VOLTCRAFT_M3650D, VOLTCRAFT_VC820_SER, VOLTCRAFT_VC840_SER, UNI_T_UT61D_SER, UNI_T_UT61E_SER, }; -#define DMM_COUNT 18 +#define DMM_COUNT 19 struct dmm_info { char *vendor; @@ -107,6 +108,7 @@ SR_PRIV int receive_data_RADIOSHACK_22_805(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_TECPEL_DMM_8060_SER(int fd, int revents, void *cb_data); SR_PRIV int receive_data_TECPEL_DMM_8061_SER(int fd, int revents, void *cb_data); +SR_PRIV int receive_data_VOLTCRAFT_M3650D(int fd, int revents, void *cb_data); SR_PRIV int receive_data_VOLTCRAFT_VC820_SER(int fd, int revents, void *cb_data); SR_PRIV int receive_data_VOLTCRAFT_VC840_SER(int fd, int revents, void *cb_data); SR_PRIV int receive_data_UNI_T_UT61D_SER(int fd, int revents, void *cb_data); diff --git a/hwdriver.c b/hwdriver.c index 2c36f467..a3eb3b74 100644 --- a/hwdriver.c +++ b/hwdriver.c @@ -166,6 +166,7 @@ extern SR_PRIV struct sr_dev_driver radioshack_22_805_driver_info; extern SR_PRIV struct sr_dev_driver radioshack_22_812_driver_info; extern SR_PRIV struct sr_dev_driver tecpel_dmm_8060_ser_driver_info; extern SR_PRIV struct sr_dev_driver tecpel_dmm_8061_ser_driver_info; +extern SR_PRIV struct sr_dev_driver voltcraft_m3650d_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; extern SR_PRIV struct sr_dev_driver uni_t_ut61d_ser_driver_info; @@ -261,6 +262,7 @@ static struct sr_dev_driver *drivers_list[] = { &radioshack_22_812_driver_info, &tecpel_dmm_8060_ser_driver_info, &tecpel_dmm_8061_ser_driver_info, + &voltcraft_m3650d_driver_info, &voltcraft_vc820_ser_driver_info, &voltcraft_vc840_ser_driver_info, &uni_t_ut61d_ser_driver_info,