#define LOG_PREFIX "hameg-hmo"
-#define MAX_INSTRUMENT_VERSIONS 10
-#define MAX_COMMAND_SIZE 48
-#define MAX_ANALOG_CHANNEL_COUNT 4
-#define MAX_DIGITAL_CHANNEL_COUNT 16
-#define MAX_DIGITAL_GROUP_COUNT 2
+#define DIGITAL_CHANNELS_PER_POD 8
+
+#define MAX_INSTRUMENT_VERSIONS 10
+#define MAX_COMMAND_SIZE 128
+#define MAX_ANALOG_CHANNEL_COUNT 4
+#define MAX_DIGITAL_CHANNEL_COUNT 16
+#define MAX_DIGITAL_GROUP_COUNT 2
struct scope_config {
const char *name[MAX_INSTRUMENT_VERSIONS];
const uint8_t analog_channels;
const uint8_t digital_channels;
- const uint8_t digital_pods;
+ uint8_t digital_pods;
const char *(*analog_names)[];
const char *(*digital_names)[];
const char *(*logic_threshold)[];
const uint8_t num_logic_threshold;
+ const gboolean logic_threshold_for_pod;
const char *(*trigger_sources)[];
const uint8_t num_trigger_sources;
const uint64_t (*vdivs)[][2];
const uint8_t num_vdivs;
- const uint8_t num_xdivs;
- const uint8_t num_ydivs;
+ unsigned int num_xdivs;
+ const unsigned int num_ydivs;
const char *(*scpi_dialect)[];
};
int trigger_source;
int trigger_slope;
+ char trigger_pattern[MAX_ANALOG_CHANNEL_COUNT + MAX_DIGITAL_CHANNEL_COUNT + 1];
+
+ gboolean high_resolution;
+ gboolean peak_detection;
+
uint64_t sample_rate;
};