]> sigrok.org Git - libsigrok.git/blobdiff - include/libsigrok/libsigrok.h
Make 'struct sr_dev_inst' opaque.
[libsigrok.git] / include / libsigrok / libsigrok.h
index a45f06a20408263bfec9c90337c701209eb80cf7..d626bac66bf08c484d566d38e1cb99722ddccedc 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 {
@@ -574,6 +570,9 @@ enum sr_configkey {
        /** Programmable power supply. */
        SR_CONF_POWER_SUPPLY,
 
+       /** LCR meter. */
+       SR_CONF_LCRMETER,
+
        /*--- Driver scan options -------------------------------------------*/
 
        /**
@@ -701,32 +700,32 @@ enum sr_configkey {
        /**
         * Output voltage.
         * @arg type: double
-        * @arg get: get output voltage
+        * @arg get: get measured output voltage
         */
        SR_CONF_OUTPUT_VOLTAGE,
 
        /**
-        * Maximum output voltage.
+        * Maximum output voltage target.
         * @arg type: double
-        * @arg get: get maximum output voltage limit
-        * @arg set: change output voltage limit
+        * @arg get: get output voltage target
+        * @arg set: change output voltage target
         */
-       SR_CONF_OUTPUT_VOLTAGE_MAX,
+       SR_CONF_OUTPUT_VOLTAGE_TARGET,
 
        /**
         * Output current.
         * @arg type: double
-        * @arg get: get output current
+        * @arg get: get measured output current
         */
        SR_CONF_OUTPUT_CURRENT,
 
        /**
-        * Maximum output current.
+        * Output current limit.
         * @arg type: double
-        * @arg get: get maximum output voltage limit
-        * @arg set: change output voltage limit
+        * @arg get: get output current limit
+        * @arg set: change output current limit
         */
-       SR_CONF_OUTPUT_CURRENT_MAX,
+       SR_CONF_OUTPUT_CURRENT_LIMIT,
 
        /**
         * Enabling/disabling output.
@@ -809,6 +808,18 @@ enum sr_configkey {
        /** Over-temperature protection (OTP) */
        SR_CONF_OVER_TEMPERATURE_PROTECTION,
 
+       /** 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. */
@@ -881,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 {
@@ -948,7 +935,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.