]> sigrok.org Git - libsigrok.git/blobdiff - hardware/hantek-dso/api.c
sr/drivers: add proper probe list to instances of all drivers
[libsigrok.git] / hardware / hantek-dso / api.c
index fbb84760386b3e9ab58e9e7e44e134e69ec9bc02..4efeb65eb0ce11fc42d7a7742236cef69c722e18 100644 (file)
@@ -151,7 +151,9 @@ static struct sr_dev_driver *hdi = &hantek_dso_driver_info;
 static struct sr_dev_inst *dso_dev_new(int index, const struct dso_profile *prof)
 {
        struct sr_dev_inst *sdi;
+       struct sr_probe *probe;
        struct context *ctx;
+       int i;
 
        sdi = sr_dev_inst_new(index, SR_ST_INITIALIZING,
                prof->vendor, prof->model, NULL);
@@ -159,6 +161,16 @@ static struct sr_dev_inst *dso_dev_new(int index, const struct dso_profile *prof
                return NULL;
        sdi->driver = hdi;
 
+       /* Add only the real probes -- EXT isn't a source of data, only
+        * a trigger source internal to the device.
+        */
+       for (i = 0; probe_names[i]; i++) {
+               if (!(probe = sr_probe_new(i, SR_PROBE_ANALOG, TRUE,
+                               probe_names[i])))
+                       return NULL;
+               sdi->probes = g_slist_append(sdi->probes, probe);
+       }
+
        if (!(ctx = g_try_malloc0(sizeof(struct context)))) {
                sr_err("hantek-dso: ctx malloc failed");
                return NULL;