]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/asix-sigma/protocol.h
asix-sigma: complete and extend capture mode supervision
[libsigrok.git] / src / hardware / asix-sigma / protocol.h
index 83c6adb93f2b8564b2a099f8640e6731317dcfd4..574183affb60f8ac40b48e528e749ea79ad00b59 100644 (file)
@@ -359,16 +359,34 @@ struct dev_context {
                struct sr_sw_limits submit;
        } limit;
        enum sigma_firmware_idx firmware_idx;
-       struct {
+       struct sigma_sample_interp {
                /* Interpretation of sample memory. */
                size_t num_channels;
                size_t samples_per_event;
-               uint16_t lastts;
-               uint16_t lastsample;
+               struct {
+                       uint16_t ts;
+                       uint16_t sample;
+               } last;
+               struct sigma_location {
+                       size_t raw, line, cluster, event;
+               } start, stop, trig, iter, trig_arm;
+               struct {
+                       size_t lines_total, lines_done;
+                       size_t lines_per_read; /* USB transfer limit */
+                       size_t lines_rcvd;
+                       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,