X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrok.h;h=cda125c5bd0b481cb5bb65e4fe2026cb697bccb9;hb=85d8aa496e49363b0088359aaa1f90fdb4f30c43;hp=6e81c6f69851dbbb7e33aca7d35198d80fc670bf;hpb=98582bf53f61043e6918be291648f8f6dfb5f6b4;p=libsigrok.git
diff --git a/libsigrok.h b/libsigrok.h
index 6e81c6f6..cda125c5 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. */
@@ -597,8 +607,7 @@ enum {
/** Information on single probe. */
struct sr_probe {
- /** Number of probes, starting at 0. @deprecated The index field
- * will go: use g_slist_length(sdi->probes) instead. */
+ /** Number of probes, starting at 0. */
int index;
/** Probe type (SR_PROBE_LOGIC, ...) */
int type;
@@ -670,6 +679,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 +788,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 +797,45 @@ 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,
+
+ /** Choice of clock edge for external clock ("r" or "f"). */
+ SR_CONF_CLOCK_EDGE,
+
/*--- Special stuff -------------------------------------------------*/
/** Scan options supported by the driver. */
@@ -799,13 +853,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 +866,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 +977,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 +1002,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.
*/