X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Fyokogawa-dlm%2Fprotocol.c;h=99129abc16d41b75db159e44b261f3f141d420ef;hb=7048bb1f356305caf458862ebdf22ae0645dae66;hp=8acaf023553c6c75243b12440dc684f30d9dd8ab;hpb=5e23fcab889c62864b92aa3ad6902ce3e9f5be49;p=libsigrok.git diff --git a/src/hardware/yokogawa-dlm/protocol.c b/src/hardware/yokogawa-dlm/protocol.c index 8acaf023..99129abc 100644 --- a/src/hardware/yokogawa-dlm/protocol.c +++ b/src/hardware/yokogawa-dlm/protocol.c @@ -157,7 +157,7 @@ static const char *scope_analog_channel_names[] = { "4" }; -static const char *scope_digital_channel_names[] = { +static const char *scope_digital_channel_names_8[] = { "D0", "D1", "D2", @@ -168,7 +168,42 @@ static const char *scope_digital_channel_names[] = { "D7" }; -static struct scope_config scope_models[] = { +static const char *scope_digital_channel_names_32[] = { + "A0", + "A1", + "A2", + "A3", + "A4", + "A5", + "A6", + "A7", + "B0", + "B1", + "B2", + "B3", + "B4", + "B5", + "B6", + "B7", + "C0", + "C1", + "C2", + "C3", + "C4", + "C5", + "C6", + "C7", + "D0", + "D1", + "D2", + "D3", + "D4", + "D5", + "D6", + "D7", +}; + +static const struct scope_config scope_models[] = { { .model_id = {"710105", "710115", "710125", NULL}, .model_name = {"DLM2022", "DLM2032", "DLM2052", NULL}, @@ -177,7 +212,7 @@ static struct scope_config scope_models[] = { .pods = 0, .analog_names = &scope_analog_channel_names, - .digital_names = &scope_digital_channel_names, + .digital_names = &scope_digital_channel_names_8, .devopts = &dlm_devopts, .num_devopts = ARRAY_SIZE(dlm_devopts), @@ -206,7 +241,96 @@ static struct scope_config scope_models[] = { .pods = 1, .analog_names = &scope_analog_channel_names, - .digital_names = &scope_digital_channel_names, + .digital_names = &scope_digital_channel_names_8, + + .devopts = &dlm_devopts, + .num_devopts = ARRAY_SIZE(dlm_devopts), + + .analog_devopts = &dlm_analog_devopts, + .num_analog_devopts = ARRAY_SIZE(dlm_analog_devopts), + + .coupling_options = &dlm_coupling_options, + .trigger_sources = &dlm_4ch_trigger_sources, + .trigger_slopes = &dlm_trigger_slopes, + + .timebases = &dlm_timebases, + .num_timebases = ARRAY_SIZE(dlm_timebases), + + .vdivs = &dlm_vdivs, + .num_vdivs = ARRAY_SIZE(dlm_vdivs), + + .num_xdivs = 10, + .num_ydivs = 8, + }, + { + .model_id = {"701307", "701308", "701310", "701311", + "701312", "701313", NULL}, + .model_name = {"DL9040", "DL9040L", "DL9140", "DL9140L", + "DL9240", "DL9240L", NULL}, + .analog_channels = 4, + .digital_channels = 0, + .pods = 0, + + .analog_names = &scope_analog_channel_names, + .digital_names = NULL, + + .devopts = &dlm_devopts, + .num_devopts = ARRAY_SIZE(dlm_devopts), + + .analog_devopts = &dlm_analog_devopts, + .num_analog_devopts = ARRAY_SIZE(dlm_analog_devopts), + + .coupling_options = &dlm_coupling_options, + .trigger_sources = &dlm_4ch_trigger_sources, + .trigger_slopes = &dlm_trigger_slopes, + + .timebases = &dlm_timebases, + .num_timebases = ARRAY_SIZE(dlm_timebases), + + .vdivs = &dlm_vdivs, + .num_vdivs = ARRAY_SIZE(dlm_vdivs), + + .num_xdivs = 10, + .num_ydivs = 8, + }, + { + .model_id = {"701320", "701321", NULL}, + .model_name = {"DL9505L", "DL9510L", NULL}, + .analog_channels = 4, + .digital_channels = 16, + .pods = 4, + + .analog_names = &scope_analog_channel_names, + .digital_names = &scope_digital_channel_names_32, + + .devopts = &dlm_devopts, + .num_devopts = ARRAY_SIZE(dlm_devopts), + + .analog_devopts = &dlm_analog_devopts, + .num_analog_devopts = ARRAY_SIZE(dlm_analog_devopts), + + .coupling_options = &dlm_coupling_options, + .trigger_sources = &dlm_4ch_trigger_sources, + .trigger_slopes = &dlm_trigger_slopes, + + .timebases = &dlm_timebases, + .num_timebases = ARRAY_SIZE(dlm_timebases), + + .vdivs = &dlm_vdivs, + .num_vdivs = ARRAY_SIZE(dlm_vdivs), + + .num_xdivs = 10, + .num_ydivs = 8, + }, + { + .model_id = {"701330", "701331", NULL}, + .model_name = {"DL9705L", "DL9710L", NULL}, + .analog_channels = 4, + .digital_channels = 32, + .pods = 4, + + .analog_names = &scope_analog_channel_names, + .digital_names = &scope_digital_channel_names_32, .devopts = &dlm_devopts, .num_devopts = ARRAY_SIZE(dlm_devopts), @@ -235,7 +359,7 @@ static struct scope_config scope_models[] = { * @param config This is the scope configuration. * @param state The current scope state to print. */ -static void scope_state_dump(struct scope_config *config, +static void scope_state_dump(const struct scope_config *config, struct scope_state *state) { unsigned int i; @@ -376,7 +500,7 @@ static int array_float_get(gchar *value, const uint64_t array[][2], * @return SR_ERR on error, SR_OK otherwise. */ static int analog_channel_state_get(struct sr_scpi_dev_inst *scpi, - struct scope_config *config, + const struct scope_config *config, struct scope_state *state) { int i, j; @@ -439,7 +563,7 @@ static int analog_channel_state_get(struct sr_scpi_dev_inst *scpi, * @return SR_ERR on error, SR_OK otherwise. */ static int digital_channel_state_get(struct sr_scpi_dev_inst *scpi, - struct scope_config *config, + const struct scope_config *config, struct scope_state *state) { unsigned int i; @@ -514,7 +638,7 @@ SR_PRIV int dlm_scope_state_query(struct sr_dev_inst *sdi) { struct dev_context *devc; struct scope_state *state; - struct scope_config *config; + const struct scope_config *config; float tmp_float; gchar *response; int i; @@ -588,7 +712,7 @@ SR_PRIV int dlm_scope_state_query(struct sr_dev_inst *sdi) * * @return The newly allocated scope_state struct. */ -static struct scope_state *dlm_scope_state_new(struct scope_config *config) +static struct scope_state *dlm_scope_state_new(const struct scope_config *config) { struct scope_state *state; @@ -1001,7 +1125,7 @@ SR_PRIV int dlm_data_receive(int fd, int revents, void *cb_data) devc->current_channel = devc->current_channel->next; if (dlm_channel_data_request(sdi) != SR_OK) { - sr_err("Failed to request aquisition data."); + sr_err("Failed to request acquisition data."); goto fail; }