X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrok.h;h=e43338e52dc0561985e5fb3ccc6a93643c55d472;hb=2388ae860c369171d8728539ce2e9aab5810896b;hp=6e81c6f69851dbbb7e33aca7d35198d80fc670bf;hpb=98582bf53f61043e6918be291648f8f6dfb5f6b4;p=libsigrok.git
diff --git a/libsigrok.h b/libsigrok.h
index 6e81c6f6..e43338e5 100644
--- a/libsigrok.h
+++ b/libsigrok.h
@@ -17,8 +17,8 @@
* along with this program. If not, see .
*/
-#ifndef LIBSIGROK_SIGROK_H
-#define LIBSIGROK_SIGROK_H
+#ifndef LIBSIGROK_LIBSIGROK_H
+#define LIBSIGROK_LIBSIGROK_H
#include
#include
@@ -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,9 +864,22 @@ 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,
+ /**
+ * On devices without sample compression (or compression turned off),
+ * this returns the maximum number of samples that can be stored. This
+ * can change as probes are disabled, depending on the hardware, so
+ * should be queried after such changes are made. If not applicable,
+ * fetching this value with sr_config_get() will return SR_ERR_NA.
+ *
+ * SR_CONF_LIMIT_SAMPLES should not be set to a higher value than
+ * this value, if applicable.
+ */
+ SR_CONF_MAX_UNCOMPRESSED_SAMPLES,
+
/*--- Acquisition modes ---------------------------------------------*/
/**
@@ -946,6 +1009,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.
*/