]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/norma-dmm/api.c
Change sr_dev_inst_new() to take no parameters.
[libsigrok.git] / src / hardware / norma-dmm / api.c
index 93c9a79d853bcf75ac16cab4bd9b75832529c20e..ab9b36e292d047feb3713e1658c7dcae8ee96c0b 100644 (file)
@@ -129,7 +129,7 @@ static GSList *do_scan(struct sr_dev_driver* drv, GSList *options)
                 nmadmm_requests[NMADMM_REQ_IDN].req_str);
        g_usleep(150 * 1000); /* Wait a little to allow serial port to settle. */
        for (cnt = 0; cnt < 7; cnt++) {
-               if (serial_write_blocking(serial, req, strlen(req)) < 0) {
+               if (serial_write_blocking(serial, req, strlen(req), 0) < 0) {
                        sr_err("Unable to send identification request.");
                        return NULL;
                }
@@ -144,9 +144,11 @@ static GSList *do_scan(struct sr_dev_driver* drv, GSList *options)
                        auxtype = xgittoint(buf[7]);
                        sr_spew("%s %s DMM %s detected!", get_brandstr(drv), get_typestr(auxtype, drv), buf + 9);
 
-                       if (!(sdi = sr_dev_inst_new(SR_ST_INACTIVE,
-                                               get_brandstr(drv), get_typestr(auxtype, drv), buf + 9)))
-                               return NULL;
+                       sdi = sr_dev_inst_new();
+                       sdi->status = SR_ST_INACTIVE;
+                       sdi->vendor = g_strdup(get_brandstr(drv));
+                       sdi->model = g_strdup(get_typestr(auxtype, drv));
+                       sdi->version = g_strdup(buf + 9);
                        if (!(devc = g_try_malloc0(sizeof(struct dev_context)))) {
                                sr_err("Device context malloc failed.");
                                return NULL;