]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hameg-hmo/protocol.h
output/csv: use intermediate time_t var, silence compiler warning
[libsigrok.git] / src / hardware / hameg-hmo / protocol.h
index a9f69c682eb1ee6591ad1045b3e4bf25aa76b45a..af77c6da7e6dc09a0d2486a33809ce5881857270 100644 (file)
 
 #define LOG_PREFIX "hameg-hmo"
 
-#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
+#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)[];
@@ -57,6 +59,7 @@ struct scope_config {
 
        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;
@@ -70,8 +73,8 @@ struct scope_config {
        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)[];
 };
@@ -103,7 +106,10 @@ struct scope_state {
 
        int trigger_source;
        int trigger_slope;
-       char *trigger_pattern;
+       char trigger_pattern[MAX_ANALOG_CHANNEL_COUNT + MAX_DIGITAL_CHANNEL_COUNT + 1];
+
+       gboolean high_resolution;
+       gboolean peak_detection;
 
        uint64_t sample_rate;
 };