]> sigrok.org Git - libsigrok.git/blobdiff - src/hardware/hameg-hmo/protocol.h
hameg-hmo: Use the host's endianess to read analog channel data via SCPI
[libsigrok.git] / src / hardware / hameg-hmo / protocol.h
index bdf70fc55ca3b6262162cb95f761e2436056c0f6..92c9b6754e2affd59d28a38e99088f48f8027a0a 100644 (file)
 #include <glib.h>
 #include <stdint.h>
 #include <string.h>
-#include "libsigrok.h"
+#include <libsigrok/libsigrok.h>
 #include "libsigrok-internal.h"
 
 #define LOG_PREFIX "hameg-hmo"
 
 #define MAX_INSTRUMENT_VERSIONS 10
-#define MAX_COMMAND_SIZE 31
+#define MAX_COMMAND_SIZE 48
 
 struct scope_config {
        const char *name[MAX_INSTRUMENT_VERSIONS];
@@ -40,11 +40,11 @@ struct scope_config {
        const char *(*analog_names)[];
        const char *(*digital_names)[];
 
-       const int32_t (*hw_caps)[];
-       const uint8_t num_hwcaps;
+       const uint32_t (*devopts)[];
+       const uint8_t num_devopts;
 
-       const int32_t (*analog_hwcaps)[];
-       const uint8_t num_analog_hwcaps;
+       const uint32_t (*analog_devopts)[];
+       const uint8_t num_analog_devopts;
 
        const char *(*coupling_options)[];
        const uint8_t num_coupling_options;
@@ -73,6 +73,7 @@ struct analog_channel_state {
        float vertical_offset;
 
        gboolean state;
+       char probe_unit;
 };
 
 struct scope_state {
@@ -90,11 +91,11 @@ struct scope_state {
 
 /** Private, per-device-instance driver context. */
 struct dev_context {
-       void *model_config;
+       const void *model_config;
        void *model_state;
 
-       struct sr_channel_group *analog_groups;
-       struct sr_channel_group *digital_groups;
+       struct sr_channel_group **analog_groups;
+       struct sr_channel_group **digital_groups;
 
        GSList *enabled_channels;
        GSList *current_channel;