]> sigrok.org Git - libsigrok.git/blobdiff - hardware/serial-dmm/api.c
drivers: use new sr_config struct
[libsigrok.git] / hardware / serial-dmm / api.c
index bb13110c726a15a159e7661c799215d75df65fe6..944972d96c0f50bc03ae4a05119b979ef8dc621d 100644 (file)
@@ -43,11 +43,6 @@ static const int hwcaps[] = {
        0,
 };
 
-static const char *probe_names[] = {
-       "Probe",
-       NULL,
-};
-
 SR_PRIV struct sr_dev_driver digitek_dt4000zc_driver_info;
 SR_PRIV struct sr_dev_driver tekpower_tp4000zc_driver_info;
 SR_PRIV struct sr_dev_driver metex_me31_driver_info;
@@ -61,6 +56,7 @@ 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 sr_dev_driver uni_t_ut61e_ser_driver_info;
 
 SR_PRIV struct dmm_info dmms[] = {
        {
@@ -156,6 +152,13 @@ SR_PRIV struct dmm_info dmms[] = {
                &voltcraft_vc840_ser_driver_info,
                receive_data_VOLTCRAFT_VC840_SER,
        },
+       {
+               /* Note: ES51922 baudrate is actually 19230! */
+               "UNI-T", "UT61E (UT-D02 cable)", "19200/7o1/rts=0/dtr=1",
+               19200, ES51922_PACKET_SIZE, NULL,
+               sr_es51922_packet_valid, sr_es51922_parse, NULL,
+               &uni_t_ut61e_ser_driver_info, receive_data_UNI_T_UT61E_SER,
+       },
 };
 
 /* Properly close and free all devices. */
@@ -290,19 +293,19 @@ scan_cleanup:
 
 static GSList *hw_scan(GSList *options, int dmm)
 {
-       struct sr_hwopt *opt;
+       struct sr_config *src;
        GSList *l, *devices;
        const char *conn, *serialcomm;
 
        conn = serialcomm = NULL;
        for (l = options; l; l = l->next) {
-               opt = l->data;
-               switch (opt->hwopt) {
+               src = l->data;
+               switch (src->key) {
                case SR_HWOPT_CONN:
-                       conn = opt->value;
+                       conn = src->value;
                        break;
                case SR_HWOPT_SERIALCOMM:
-                       serialcomm = opt->value;
+                       serialcomm = src->value;
                        break;
                }
        }
@@ -382,12 +385,6 @@ static int hw_info_get(int info_id, const void **data,
        case SR_DI_HWCAPS:
                *data = hwcaps;
                break;
-       case SR_DI_NUM_PROBES:
-               *data = GINT_TO_POINTER(1);
-               break;
-       case SR_DI_PROBE_NAMES:
-               *data = probe_names;
-               break;
        default:
                return SR_ERR_ARG;
        }
@@ -433,7 +430,6 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
 {
        struct sr_datafeed_packet packet;
        struct sr_datafeed_header header;
-       struct sr_datafeed_meta_analog meta;
        struct dev_context *devc;
 
        if (!(devc = sdi->priv)) {
@@ -461,13 +457,6 @@ static int hw_dev_acquisition_start(const struct sr_dev_inst *sdi,
        gettimeofday(&header.starttime, NULL);
        sr_session_send(devc->cb_data, &packet);
 
-       /* Send metadata about the SR_DF_ANALOG packets to come. */
-       sr_dbg("Sending SR_DF_META_ANALOG.");
-       packet.type = SR_DF_META_ANALOG;
-       packet.payload = &meta;
-       meta.num_probes = 1;
-       sr_session_send(devc->cb_data, &packet);
-
        /* Poll every 50ms, or whenever some data comes in. */
        sr_source_add(devc->serial->fd, G_IO_IN, 50,
                      dmms[dmm].receive_data, (void *)sdi);
@@ -555,3 +544,4 @@ DRV(radioshack_22_168, RADIOSHACK_22_168, "radioshack-22-168", "RadioShack 22-16
 DRV(radioshack_22_812, RADIOSHACK_22_812, "radioshack-22-812", "RadioShack 22-812")
 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_ut61e_ser, UNI_T_UT61E_SER, "uni-t-ut61e-ser", "UNI-T UT61E (UT-D02 cable)")