diff --git a/hardware/serial-dmm/api.c b/hardware/serial-dmm/api.c index 4e1e1e01..2eb1dc56 100644 --- a/hardware/serial-dmm/api.c +++ b/hardware/serial-dmm/api.c @@ -62,6 +62,7 @@ SR_PRIV struct sr_dev_driver uni_t_ut60a_ser_driver_info; SR_PRIV struct sr_dev_driver uni_t_ut60e_ser_driver_info; SR_PRIV struct sr_dev_driver uni_t_ut61d_ser_driver_info; SR_PRIV struct sr_dev_driver uni_t_ut61e_ser_driver_info; +SR_PRIV struct sr_dev_driver iso_tech_idm103n_ser_driver_info; SR_PRIV struct dmm_info dmms[] = { { @@ -221,6 +222,12 @@ SR_PRIV struct dmm_info dmms[] = { sr_es51922_packet_valid, sr_es51922_parse, NULL, &uni_t_ut61e_ser_driver_info, receive_data_UNI_T_UT61E_SER, }, + { + "ISO-TECH", "IDM103N", "2400/7o1/rts=0/dtr=1", + 2400, ES519XX_11B_PACKET_SIZE, NULL, + sr_es519xx_2400_11B_packet_valid, sr_es519xx_2400_11B_parse, NULL, + &iso_tech_idm103n_ser_driver_info, receive_data_ISO_TECH_IDM103N_SER, + }, }; static int dev_clear(int dmm) @@ -543,3 +550,4 @@ DRV(uni_t_ut60a_ser, UNI_T_UT60A_SER, "uni-t-ut60a-ser", "UNI-T UT60A (UT-D02 ca DRV(uni_t_ut60e_ser, UNI_T_UT60E_SER, "uni-t-ut60e-ser", "UNI-T UT60E (UT-D02 cable)") DRV(uni_t_ut61d_ser, UNI_T_UT61D_SER, "uni-t-ut61d-ser", "UNI-T UT61D (UT-D02 cable)") DRV(uni_t_ut61e_ser, UNI_T_UT61E_SER, "uni-t-ut61e-ser", "UNI-T UT61E (UT-D02 cable)") +DRV(iso_tech_idm103n_ser, ISO_TECH_IDM103N_SER, "iso-tech-idm103n-ser", "ISO-TECH IDM103N") diff --git a/hardware/serial-dmm/protocol.c b/hardware/serial-dmm/protocol.c index cefb339e..d47a7e7f 100644 --- a/hardware/serial-dmm/protocol.c +++ b/hardware/serial-dmm/protocol.c @@ -179,3 +179,4 @@ RECEIVE_DATA(UNI_T_UT60A_SER, fs9721) RECEIVE_DATA(UNI_T_UT60E_SER, fs9721) RECEIVE_DATA(UNI_T_UT61D_SER, fs9922) RECEIVE_DATA(UNI_T_UT61E_SER, es51922) +RECEIVE_DATA(ISO_TECH_IDM103N_SER, es519xx) diff --git a/hardware/serial-dmm/protocol.h b/hardware/serial-dmm/protocol.h index fb2041ca..545855b0 100644 --- a/hardware/serial-dmm/protocol.h +++ b/hardware/serial-dmm/protocol.h @@ -52,9 +52,10 @@ enum { UNI_T_UT60E_SER, UNI_T_UT61D_SER, UNI_T_UT61E_SER, + ISO_TECH_IDM103N_SER, }; -#define DMM_COUNT 21 +#define DMM_COUNT 22 struct dmm_info { char *vendor; @@ -117,6 +118,7 @@ SR_PRIV int receive_data_UNI_T_UT60A_SER(int fd, int revents, void *cb_data); SR_PRIV int receive_data_UNI_T_UT60E_SER(int fd, int revents, void *cb_data); SR_PRIV int receive_data_UNI_T_UT61D_SER(int fd, int revents, void *cb_data); SR_PRIV int receive_data_UNI_T_UT61E_SER(int fd, int revents, void *cb_data); +SR_PRIV int receive_data_ISO_TECH_IDM103N_SER(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); diff --git a/hwdriver.c b/hwdriver.c index bb4c0d56..3bc6bc9c 100644 --- a/hwdriver.c +++ b/hwdriver.c @@ -206,6 +206,7 @@ extern SR_PRIV struct sr_dev_driver uni_t_ut60a_ser_driver_info; extern SR_PRIV struct sr_dev_driver uni_t_ut60e_ser_driver_info; extern SR_PRIV struct sr_dev_driver uni_t_ut61d_ser_driver_info; extern SR_PRIV struct sr_dev_driver uni_t_ut61e_ser_driver_info; +extern SR_PRIV struct sr_dev_driver iso_tech_idm103n_ser_driver_info; #endif #ifdef HAVE_HW_UNI_T_DMM extern SR_PRIV struct sr_dev_driver tecpel_dmm_8061_driver_info; @@ -319,6 +320,7 @@ static struct sr_dev_driver *drivers_list[] = { &uni_t_ut60e_ser_driver_info, &uni_t_ut61d_ser_driver_info, &uni_t_ut61e_ser_driver_info, + &iso_tech_idm103n_ser_driver_info, #endif #ifdef HAVE_HW_UNI_T_DMM &tecpel_dmm_8061_driver_info,