]> sigrok.org Git - libsigrok.git/blobdiff - libsigrok.h
sysclk-lwla: Add support for external trigger input.
[libsigrok.git] / libsigrok.h
index 2fef95075c2a4be0ac45d521a580701dca6b7f8c..ab095c9a45630b83207f64bf0c86da386d3fb33c 100644 (file)
@@ -145,6 +145,7 @@ enum {
        SR_T_KEYVALUE,
        SR_T_UINT64_RANGE,
        SR_T_DOUBLE_RANGE,
+       SR_T_INT32,
 };
 
 /** Value for sr_datafeed_packet.type. */
@@ -299,9 +300,18 @@ enum {
        SR_MQFLAG_SPL_PCT_OVER_ALARM = 0x10000,
        /** Time is duration (as opposed to epoch, ...). */
        SR_MQFLAG_DURATION = 0x20000,
+       /** Device is in "avg" mode, averaging upon each new value. */
+       SR_MQFLAG_AVG = 0x40000,
 };
 
-/** sigrok context (opaque). @see sr_init(), sr_exit(). */
+/**
+ * @struct sr_context
+ * Opaque structure representing a libsigrok context.
+ *
+ * None of the fields of this structure are meant to be accessed directly.
+ *
+ * @see sr_init(), sr_exit().
+ */
 struct sr_context;
 
 /** Packet in a sigrok data feed. */
@@ -670,6 +680,12 @@ enum {
        /** The device can measure energy consumption. */
        SR_CONF_ENERGYMETER,
 
+       /** The device can demodulate signals. */
+       SR_CONF_DEMODULATOR,
+
+       /** Programmable power supply. */
+       SR_CONF_POWER_SUPPLY,
+
        /*--- Driver scan options -------------------------------------------*/
 
        /**
@@ -773,7 +789,7 @@ enum {
        /** Logic low-high threshold range. */
        SR_CONF_VOLTAGE_THRESHOLD,
 
-       /** The device supports using a external clock. */
+       /** The device supports using an external clock. */
        SR_CONF_EXTERNAL_CLOCK,
 
        /**
@@ -782,6 +798,42 @@ enum {
         */
        SR_CONF_SWAP,
 
+       /** Center frequency.
+        * The input signal is downmixed by this frequency before the ADC
+        * anti-aliasing filter.
+        */
+       SR_CONF_CENTER_FREQUENCY,
+
+       /** The device supports setting the number of logic probes. */
+       SR_CONF_NUM_LOGIC_PROBES,
+
+       /** The device supports setting the number of analog probes. */
+       SR_CONF_NUM_ANALOG_PROBES,
+
+       /** Output voltage. */
+       SR_CONF_OUTPUT_VOLTAGE,
+
+       /** Maximum output voltage. */
+       SR_CONF_OUTPUT_VOLTAGE_MAX,
+
+       /** Output current. */
+       SR_CONF_OUTPUT_CURRENT,
+
+       /** Maximum output current. */
+       SR_CONF_OUTPUT_CURRENT_MAX,
+
+       /** Enabling/disabling output. */
+       SR_CONF_OUTPUT_ENABLED,
+
+       /** Channel output configuration. */
+       SR_CONF_OUTPUT_CHANNEL,
+
+       /** Over-voltage protection (OVP) */
+       SR_CONF_OVER_VOLTAGE_PROTECTION,
+
+       /** Over-current protection (OCP) */
+       SR_CONF_OVER_CURRENT_PROTECTION,
+
        /*--- Special stuff -------------------------------------------------*/
 
        /** Scan options supported by the driver. */
@@ -799,13 +851,11 @@ enum {
        /** The device supports specifying the capturefile unit size. */
        SR_CONF_CAPTURE_UNITSIZE,
 
-       /** The device supports setting the number of probes. */
-       SR_CONF_CAPTURE_NUM_PROBES,
-
        /** Power off the device. */
        SR_CONF_POWER_OFF,
 
-       /** Data source for acquisition. If not present, acquisition from
+       /**
+        * Data source for acquisition. If not present, acquisition from
         * the device is always "live", i.e. acquisition starts when the
         * frontend asks and the results are sent out as soon as possible.
         *
@@ -814,7 +864,8 @@ enum {
         * there is a choice. sr_config_list() returns those choices.
         *
         * In any case if a device has live acquisition capabilities, it
-        * is always the default. */
+        * is always the default.
+        */
        SR_CONF_DATA_SOURCE,
 
        /*--- Acquisition modes ---------------------------------------------*/
@@ -924,6 +975,9 @@ struct sr_dev_driver {
        int (*config_set) (int id, GVariant *data,
                        const struct sr_dev_inst *sdi,
                        const struct sr_probe_group *probe_group);
+       int (*config_probe_set) (const struct sr_dev_inst *sdi,
+                       struct sr_probe *probe, unsigned int changes);
+       int (*config_commit) (const struct sr_dev_inst *sdi);
        int (*config_list) (int info_id, GVariant **data,
                        const struct sr_dev_inst *sdi,
                        const struct sr_probe_group *probe_group);
@@ -946,6 +1000,8 @@ struct sr_dev_driver {
 };
 
 /**
+ * @struct sr_session
+ *
  * Opaque data structure representing a libsigrok session. None of the fields
  * of this structure are meant to be accessed directly.
  */