X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fdemo%2Fprotocol.h;h=53ad043b17845952d35a8bd72fb8b27bf1948d16;hb=f55bea7626d8bfa3a3d0bbff1e9f6ac98a6aadc5;hp=5d78c5e7ad3266ed89b3b5acc856de2f01865f88;hpb=845060fa9ddbfae9441aa67fab4934f46f4baa05;p=libsigrok.git diff --git a/src/hardware/demo/protocol.h b/src/hardware/demo/protocol.h index 5d78c5e7..53ad043b 100644 --- a/src/hardware/demo/protocol.h +++ b/src/hardware/demo/protocol.h @@ -33,8 +33,9 @@ #define LOGIC_BUFSIZE 4096 /* Size of the analog pattern space per channel. */ #define ANALOG_BUFSIZE 4096 +/* This is a development feature: it starts a new frame every n samples. */ +#define SAMPLES_PER_FRAME 0 -/* Private, per-device-instance driver context. */ struct dev_context { uint64_t cur_samplerate; uint64_t limit_samples; @@ -54,6 +55,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. */ @@ -101,9 +106,6 @@ enum { /* Analog patterns we can generate. */ enum { - /** - * Square wave. - */ PATTERN_SQUARE, PATTERN_SINE, PATTERN_TRIANGLE, @@ -118,6 +120,7 @@ static const char *analog_pattern_str[] = { }; struct analog_gen { + struct sr_channel *ch; int pattern; float amplitude; float pattern_data[ANALOG_BUFSIZE];