X-Git-Url: http://sigrok.org/gitweb/?a=blobdiff_plain;f=libsigrok.h;h=88ba2f58139625680c166a553682df5332014f53;hb=4b4474ed6a4701e28961569eb777052d0b74673d;hp=2232071cf6a3e60af43383a21a35308cf58b6a3e;hpb=5150ef336b69bfece769eef746f522270d6de90b;p=libsigrok.git diff --git a/libsigrok.h b/libsigrok.h index 2232071c..88ba2f58 100644 --- a/libsigrok.h +++ b/libsigrok.h @@ -73,6 +73,7 @@ enum { SR_ERR_NA = -6, /**< Not applicable. */ SR_ERR_DEV_CLOSED = -7, /**< Device is closed, but needs to be open. */ SR_ERR_TIMEOUT = -8, /**< A timeout occurred. */ + SR_ERR_PROBE_GROUP= -9, /**< A probe group must be specified. */ /* * Note: When adding entries here, don't forget to also update the @@ -178,6 +179,7 @@ enum { SR_MQ_SOUND_PRESSURE_LEVEL, SR_MQ_CARBON_MONOXIDE, SR_MQ_RELATIVE_HUMIDITY, + SR_MQ_TIME, /**< Time */ }; /** Values for sr_datafeed_analog.unit. */ @@ -266,6 +268,8 @@ enum { /** Sound pressure level represented as a percentage of measurements * that were over a preset alarm level. */ SR_MQFLAG_SPL_PCT_OVER_ALARM = 0x10000, + /** Time is duration (as opposed to epoch, ...). */ + SR_MQFLAG_DURATION = 0x20000, }; struct sr_context; @@ -549,11 +553,13 @@ struct sr_probe { char *trigger; }; +/** Structure for groups of probes that have common properties. */ struct sr_probe_group { + /** Name of the probe group. */ char *name; - /* List of sr_probe structs. */ + /** List of sr_probe structs of the probes belonging to this group. */ GSList *probes; - /* Private data for driver use. */ + /** Private data for driver use. */ void *priv; }; @@ -797,6 +803,8 @@ enum { SR_INST_USB = 10000, /** Device instance type for serial port devices. */ SR_INST_SERIAL, + /** Device instance type for SCPI devices. */ + SR_INST_SCPI, }; /** Device instance status. */ @@ -845,34 +853,11 @@ struct sr_dev_driver { void *priv; }; -struct sr_session { - /** List of struct sr_dev pointers. */ - GSList *devs; - /** List of struct datafeed_callback pointers. */ - GSList *datafeed_callbacks; - GTimeVal starttime; - gboolean running; - - unsigned int num_sources; - - /* - * Both "sources" and "pollfds" are of the same size and contain pairs - * of descriptor and callback function. We can not embed the GPollFD - * into the source struct since we want to be able to pass the array - * of all poll descriptors to g_poll(). - */ - struct source *sources; - GPollFD *pollfds; - int source_timeout; - - /* - * These are our synchronization primitives for stopping the session in - * an async fashion. We need to make sure the session is stopped from - * within the session thread itself. - */ - GMutex stop_mutex; - gboolean abort_session; -}; +/** + * Opaque data structure representing a libsigrok session. None of the fields + * of this structure are meant to be accessed directly. + */ +struct sr_session; #include "proto.h" #include "version.h"