]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/asix-sigma/protocol.h
asix-sigma: add support for "probe names" scan option
[libsigrok.git] / src / hardware / asix-sigma / protocol.h
index 9fcbdd30f75f21a603a7ffdcf83f5a53570d45ed..a35bcb0ad08ba45f66744997f66e866efb427289 100644 (file)
 
 #define LOG_PREFIX "asix-sigma"
 
-/*
- * Triggers are not working in this implementation. Stop claiming
- * support for the feature which effectively is not available, until
- * the implementation got fixed. Yet keep the code in place and allow
- * developers to turn on this switch during development.
- */
-#define ASIX_SIGMA_WITH_TRIGGER        1
-
 /* Experimental support for OMEGA (scan only, operation is ENOIMPL). */
 #define ASIX_WITH_OMEGA 0
 
@@ -338,6 +330,7 @@ struct dev_context {
                uint16_t prefix;
                enum asix_device_type type;
        } id;
+       char **channel_names;
        struct {
                struct ftdi_context ctx;
                gboolean is_open, must_close;
@@ -369,7 +362,7 @@ struct dev_context {
                } last;
                struct sigma_location {
                        size_t raw, line, cluster, event;
-               } start, stop, trig, iter;
+               } start, stop, trig, iter, trig_arm;
                struct {
                        size_t lines_total, lines_done;
                        size_t lines_per_read; /* USB transfer limit */
@@ -377,10 +370,16 @@ struct dev_context {
                        struct sigma_dram_line *rcvd_lines;
                        struct sigma_dram_line *curr_line;
                } fetch;
+               struct {
+                       gboolean armed;
+                       gboolean matched;
+                       size_t evt_remain;
+               } trig_chk;
        } interp;
        uint64_t capture_ratio;
        struct sigma_trigger trigger;
        gboolean use_triggers;
+       gboolean late_trigger_timeout;
        enum {
                SIGMA_UNINITIALIZED = 0,
                SIGMA_CONFIG,