X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fhameg-hmo%2Fprotocol.h;h=ccdcb90cf3d3fe4b4ddce0e8280c387c46502159;hb=5801ce7840c72775fbcfaf39e0587f767f070efd;hp=1df319e38c6a21d2d2e8ae6579d9863eb40b2edd;hpb=584560f142e1b17b9f4ef9069bd3724f2f77e750;p=libsigrok.git diff --git a/src/hardware/hameg-hmo/protocol.h b/src/hardware/hameg-hmo/protocol.h index 1df319e3..ccdcb90c 100644 --- a/src/hardware/hameg-hmo/protocol.h +++ b/src/hardware/hameg-hmo/protocol.h @@ -23,13 +23,16 @@ #include #include #include -#include "libsigrok.h" +#include #include "libsigrok-internal.h" #define LOG_PREFIX "hameg-hmo" #define MAX_INSTRUMENT_VERSIONS 10 -#define MAX_COMMAND_SIZE 31 +#define MAX_COMMAND_SIZE 48 +#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]; @@ -40,11 +43,11 @@ struct scope_config { const char *(*analog_names)[]; const char *(*digital_names)[]; - const uint32_t (*hw_caps)[]; - const uint8_t num_hwcaps; + const uint32_t (*devopts)[]; + const uint8_t num_devopts; - const uint32_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 +76,7 @@ struct analog_channel_state { float vertical_offset; gboolean state; + char probe_unit; }; struct scope_state { @@ -90,7 +94,7 @@ 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; @@ -101,6 +105,9 @@ struct dev_context { uint64_t num_frames; uint64_t frame_limit; + + size_t pod_count; + GByteArray *logic_data; }; SR_PRIV int hmo_init_device(struct sr_dev_inst *sdi);