X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fyokogawa-dlm%2Fprotocol.h;h=80def3f9de550d752f54dc7371f0525ae9e13190;hb=d431e4ec28d5d168bc0d98d5545a585b89d52e8d;hp=4e80ea101becc9dc4b6f991ceabe70187051bd70;hpb=1a46cc62e2b528bcaeb1f8dc0c952a81b3bcba5c;p=libsigrok.git diff --git a/src/hardware/yokogawa-dlm/protocol.h b/src/hardware/yokogawa-dlm/protocol.h index 4e80ea10..80def3f9 100644 --- a/src/hardware/yokogawa-dlm/protocol.h +++ b/src/hardware/yokogawa-dlm/protocol.h @@ -26,12 +26,12 @@ #include #include #include -#include "libsigrok.h" +#include #include "libsigrok-internal.h" #include "protocol_wrappers.h" #define LOG_PREFIX "yokogawa-dlm" -#define MAX_INSTRUMENT_VERSIONS 4 +#define MAX_INSTRUMENT_VERSIONS 8 #define RECEIVE_BUFFER_SIZE 4096 @@ -41,11 +41,17 @@ #define DLM_DIVISION_FOR_WORD_FORMAT 3200 #define DLM_DIVISION_FOR_BYTE_FORMAT 12.5 +#define DLM_DIG_CHAN_INDEX_OFFS 32 + enum trigger_slopes { SLOPE_POSITIVE, SLOPE_NEGATIVE }; +extern const char *dlm_trigger_slopes[3]; +extern const uint64_t dlm_timebases[36][2]; +extern const uint64_t dlm_vdivs[17][2]; + struct scope_config { const char *model_id[MAX_INSTRUMENT_VERSIONS]; const char *model_name[MAX_INSTRUMENT_VERSIONS]; @@ -56,26 +62,12 @@ struct scope_config { const char *(*analog_names)[]; const char *(*digital_names)[]; - const uint32_t (*devopts)[]; - const uint8_t num_devopts; - - const uint32_t (*analog_devopts)[]; - const uint8_t num_analog_devopts; - const char *(*coupling_options)[]; const uint8_t num_coupling_options; const char *(*trigger_sources)[]; const uint8_t num_trigger_sources; - const char *(*trigger_slopes)[]; - - const uint64_t (*timebases)[][2]; - const uint8_t num_timebases; - - const uint64_t (*vdivs)[][2]; - const uint8_t num_vdivs; - const uint8_t num_xdivs; const uint8_t num_ydivs; }; @@ -121,6 +113,8 @@ struct dev_context { gboolean data_pending; }; +SR_PRIV int dlm_channel_state_set(const struct sr_dev_inst *sdi, + const int ch_index, gboolean state); SR_PRIV int dlm_data_request(const struct sr_dev_inst *sdi); SR_PRIV int dlm_model_get(char *model_id, char **model_name, int *model_index); SR_PRIV int dlm_device_init(struct sr_dev_inst *sdi, int model_index);