]> sigrok.org Git - libsigrok.git/blobdiff - libsigrok-internal.h
scpi: sr_scpi_scan_resource() never returns more than one sdi.
[libsigrok.git] / libsigrok-internal.h
index eb4b1a2cf862d859c50352f29a7e7773c8434ed3..62714a22f238eaf2fd0bc6f91abb3d4538646245 100644 (file)
@@ -228,8 +228,6 @@ SR_PRIV int sr_err(const char *format, ...);
 enum {
        /** The enabled state of the channel has been changed. */
        SR_CHANNEL_SET_ENABLED = 1 << 0,
-       /** The trigger setup of the channel has been changed. */
-       SR_CHANNEL_SET_TRIGGER = 1 << 1,
 };
 
 SR_PRIV struct sr_channel *sr_channel_new(int index, int type,
@@ -264,8 +262,14 @@ SR_PRIV void sr_hw_cleanup_all(void);
 SR_PRIV struct sr_config *sr_config_new(int key, GVariant *data);
 SR_PRIV void sr_config_free(struct sr_config *src);
 SR_PRIV int sr_source_remove(int fd);
+SR_PRIV int sr_source_remove_pollfd(GPollFD *pollfd);
+SR_PRIV int sr_source_remove_channel(GIOChannel *channel);
 SR_PRIV int sr_source_add(int fd, int events, int timeout,
                sr_receive_data_callback cb, void *cb_data);
+SR_PRIV int sr_source_add_pollfd(GPollFD *pollfd, int timeout,
+               sr_receive_data_callback cb, void *cb_data);
+SR_PRIV int sr_source_add_channel(GIOChannel *channel, int events, int timeout,
+               sr_receive_data_callback cb, void *cb_data);
 
 /*--- session.c -------------------------------------------------------------*/
 
@@ -274,6 +278,7 @@ struct sr_session {
        GSList *devs;
        /** List of struct datafeed_callback pointers. */
        GSList *datafeed_callbacks;
+       struct sr_trigger *trigger;
        GTimeVal starttime;
        gboolean running;
 
@@ -302,7 +307,7 @@ struct sr_session {
 
 SR_PRIV int sr_session_send(const struct sr_dev_inst *sdi,
                const struct sr_datafeed_packet *packet);
-SR_PRIV int sr_session_stop_sync(void);
+SR_PRIV int sr_session_stop_sync(struct sr_session *session);
 SR_PRIV int sr_sessionfile_check(const char *filename);
 
 /*--- std.c -----------------------------------------------------------------*/
@@ -332,6 +337,23 @@ SR_PRIV int sr_atod(const char *str, double *ret);
 SR_PRIV int sr_atof(const char *str, float *ret);
 SR_PRIV int sr_atof_ascii(const char *str, float *ret);
 
+/*--- soft-trigger.c --------------------------------------------------------*/
+
+struct soft_trigger_logic {
+       const struct sr_dev_inst *sdi;
+       const struct sr_trigger *trigger;
+       int count;
+       int unitsize;
+       int cur_stage;
+       uint8_t *prev_sample;
+};
+
+SR_PRIV struct soft_trigger_logic *soft_trigger_logic_new(
+               const struct sr_dev_inst *sdi, struct sr_trigger *trigger);
+SR_PRIV void soft_trigger_logic_free(struct soft_trigger_logic *st);
+SR_PRIV int soft_trigger_logic_check(struct soft_trigger_logic *st, uint8_t *buf,
+               int len);
+
 /*--- hardware/common/serial.c ----------------------------------------------*/
 
 #ifdef HAVE_LIBSERIALPORT