/* Size of the analog pattern space per channel. */
#define ANALOG_BUFSIZE 4096
-/* Private, per-device-instance driver context. */
struct dev_context {
uint64_t cur_samplerate;
uint64_t limit_samples;
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. */
/* Analog patterns we can generate. */
enum {
- /**
- * Square wave.
- */
PATTERN_SQUARE,
PATTERN_SINE,
PATTERN_TRIANGLE,
};
struct analog_gen {
+ struct sr_channel *ch;
int pattern;
float amplitude;
float pattern_data[ANALOG_BUFSIZE];