]> sigrok.org Git - libsigrok.git/blobdiff - include/libsigrok/libsigrok.h
Add sr_dev_inst_user_new(), sr_dev_inst_channel_add().
[libsigrok.git] / include / libsigrok / libsigrok.h
index 499ee6c4fd985f667f7a04c8e66b6ef885249a42..63201bfbf6c08670174935c1324c15b009ebafaa 100644 (file)
@@ -207,12 +207,12 @@ enum sr_mq {
        SR_MQ_PARALLEL_CAPACITANCE,
        /** Parallel resistance (LCR meter model). */
        SR_MQ_PARALLEL_RESISTANCE,
-       /** Serial inductance (LCR meter model). */
-       SR_MQ_SERIAL_INDUCTANCE,
-       /** Serial capacitance (LCR meter model). */
-       SR_MQ_SERIAL_CAPACITANCE,
-       /** Serial resistance (LCR meter model). */
-       SR_MQ_SERIAL_RESISTANCE,
+       /** Series inductance (LCR meter model). */
+       SR_MQ_SERIES_INDUCTANCE,
+       /** Series capacitance (LCR meter model). */
+       SR_MQ_SERIES_CAPACITANCE,
+       /** Series resistance (LCR meter model). */
+       SR_MQ_SERIES_RESISTANCE,
        /** Dissipation factor. */
        SR_MQ_DISSIPATION_FACTOR,
        /** Quality factor. */
@@ -340,10 +340,6 @@ enum sr_mqflag {
        SR_MQFLAG_AVG = 0x40000,
        /** Reference value shown. */
        SR_MQFLAG_REFERENCE = 0x80000,
-       /** Device selects the measured quantity automatically. */
-       SR_MQFLAG_AUTOMQ = 0x100000,
-       /** Device selects the measurement model automatically. */
-       SR_MQFLAG_AUTOMODEL = 0x200000,
 };
 
 enum sr_trigger_matches {
@@ -815,6 +811,15 @@ enum sr_configkey {
        /** Output frequency in Hz. */
        SR_CONF_OUTPUT_FREQUENCY,
 
+       /** Measured quantity. */
+       SR_CONF_MEASURED_QUANTITY,
+
+       /** Measured secondary quantity. */
+       SR_CONF_MEASURED_2ND_QUANTITY,
+
+       /** Equivalent circuit model. */
+       SR_CONF_EQUIV_CIRCUIT_MODEL,
+
        /*--- Special stuff -------------------------------------------------*/
 
        /** Scan options supported by the driver. */
@@ -887,36 +892,12 @@ enum sr_configkey {
        SR_CONF_TEST_MODE,
 };
 
-/** Device instance data
+/**
+ * Opaque structure representing a libsigrok device instance.
+ *
+ * None of the fields of this structure are meant to be accessed directly.
  */
-struct sr_dev_inst {
-       /** Device driver. */
-       struct sr_dev_driver *driver;
-       /** Device instance status. SR_ST_NOT_FOUND, etc. */
-       int status;
-       /** Device instance type. SR_INST_USB, etc. */
-       int inst_type;
-       /** Device vendor. */
-       char *vendor;
-       /** Device model. */
-       char *model;
-       /** Device version. */
-       char *version;
-       /** Serial number. */
-       char *serial_num;
-       /** Connection string to uniquely identify devices. */
-       char *connection_id;
-       /** List of channels. */
-       GSList *channels;
-       /** List of sr_channel_group structs */
-       GSList *channel_groups;
-       /** Device instance connection data (used?) */
-       void *conn;
-       /** Device instance private data (used?) */
-       void *priv;
-       /** Session to which this device is currently assigned. */
-       struct sr_session *session;
-};
+struct sr_dev_inst;
 
 /** Types of device instance, struct sr_dev_inst.type */
 enum sr_dev_inst_type {
@@ -926,6 +907,8 @@ enum sr_dev_inst_type {
        SR_INST_SERIAL,
        /** Device instance type for SCPI devices. */
        SR_INST_SCPI,
+       /** Device-instance type for user-created "devices". */
+       SR_INST_USER,
 };
 
 /** Device instance status, struct sr_dev_inst.status */
@@ -954,7 +937,7 @@ struct sr_dev_driver {
        /** Called when driver is loaded, e.g. program startup. */
        int (*init) (struct sr_context *sr_ctx);
        /** Called before driver is unloaded.
-        *  Driver must free all resouces held by it. */
+        *  Driver must free all resources held by it. */
        int (*cleanup) (void);
        /** Scan for devices. Driver should do all initialisation required.
         *  Can be called several times, e.g. with different port options.