]> sigrok.org Git - libsigrok.git/blobdiff - hardware/genericdmm/genericdmm.h
genericdmm: finish basic USB support
[libsigrok.git] / hardware / genericdmm / genericdmm.h
index cb1e0a09cd90aa512c91ab3d79c2defff8f941f2..cb323e41a77d39e4091f707a335433da1fde9601 100644 (file)
@@ -40,13 +40,18 @@ struct dev_profile {
        char *vendor;
        char *model;
        struct dmmchip *chip;
-       /* Only use when the VID:PID is really specific to a DMM. */
-       uint16_t vid;
-       uint16_t pid;
        int transport;
+       int poll_timeout;
+       struct sr_hwopt *defaults_opts;
 };
 
-struct context {
+/* Private driver context. */
+struct drv_context {
+       GSList *instances;
+};
+
+/* Private, per-device-instance driver context. */
+struct dev_context {
        struct dev_profile *profile;
        uint64_t limit_samples;
        uint64_t limit_msec;
@@ -73,9 +78,13 @@ struct context {
 
 struct dmmchip {
        /* Optional, called once before measurement starts. */
-       int (*init) (struct context *ctx);
+       int (*init) (void);
+
+       /* Scan for devices with the given options. */
+       GSList *(*scan) (GSList *options);
+
        /* Called whenever a chunk of data arrives. */
-       int (*data) (struct context *ctx, unsigned char *data);
+       int (*data) (struct sr_dev_inst *sdi);
 };