]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/demo/protocol.h
Various log message cleanups.
[libsigrok.git] / src / hardware / demo / protocol.h
index 8eb841ce7d2e0b5fc61366a6cb9c4673670890e1..7930624d463ed94c4a6258455421d79fca4d33a2 100644 (file)
@@ -54,6 +54,10 @@ struct dev_context {
        GHashTable *ch_ag;
        gboolean avg; /* True if averaging is enabled */
        uint64_t avg_samples;
+       size_t enabled_logic_channels;
+       size_t enabled_analog_channels;
+       size_t first_partial_logic_index;
+       uint8_t first_partial_logic_mask;
 };
 
 /* Logic patterns we can generate. */
@@ -75,6 +79,16 @@ enum {
         */
        PATTERN_INC,
 
+       /**
+        * Single bit "walking" across all logic channels by being
+        * shifted across data lines, restarting after the last line
+        * was used. An all-zero (all-one) state is inserted to prevent
+        * repetitive patterns (e.g. with 8 data lines, every 8th state
+        * would show the same line state)
+        */
+       PATTERN_WALKING_ONE,
+       PATTERN_WALKING_ZERO,
+
        /** All channels have a low logic state. */
        PATTERN_ALL_LOW,
 
@@ -108,6 +122,7 @@ static const char *analog_pattern_str[] = {
 };
 
 struct analog_gen {
+       struct sr_channel *ch;
        int pattern;
        float amplitude;
        float pattern_data[ANALOG_BUFSIZE];