]> sigrok.org Git - libsigrok.git/blobdiff - hardware/genericdmm/genericdmm.h
sr: add new analog output module
[libsigrok.git] / hardware / genericdmm / genericdmm.h
index 58d4a906dac2d009e30d56a656c33211122b7fd4..cb323e41a77d39e4091f707a335433da1fde9601 100644 (file)
@@ -41,10 +41,17 @@ struct dev_profile {
        char *model;
        struct dmmchip *chip;
        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;
@@ -71,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);
 };