X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Flecroy-xstream%2Fprotocol.c;h=ec7e958c932c871e79fbff32d03747cf0da41fdb;hb=b0e1a1ecc4be698fb2cd48179ee48cf41e8f7f52;hp=61a385c33b28f746efeabd0d8a54e808ebf016b5;hpb=ea257cdc23d0489fd589d0f17e3838db28189a79;p=libsigrok.git diff --git a/src/hardware/lecroy-xstream/protocol.c b/src/hardware/lecroy-xstream/protocol.c index 61a385c3..ec7e958c 100644 --- a/src/hardware/lecroy-xstream/protocol.c +++ b/src/hardware/lecroy-xstream/protocol.c @@ -23,12 +23,6 @@ #include "scpi.h" #include "protocol.h" -SR_PRIV void lecroy_queue_logic_data(struct dev_context *devc, - size_t group, GByteArray *pod_data); -SR_PRIV void lecroy_send_logic_packet(struct sr_dev_inst *sdi, - struct dev_context *devc); -SR_PRIV void lecroy_cleanup_logic_data(struct dev_context *devc); - struct lecroy_wavedesc_2_x { uint16_t comm_type; uint16_t comm_order; /* 1 - little endian */ @@ -80,24 +74,7 @@ struct lecroy_wavedesc { }; } __attribute__((packed)); -static const uint32_t lecroy_devopts[] = { - SR_CONF_OSCILLOSCOPE, - SR_CONF_LIMIT_FRAMES | SR_CONF_GET | SR_CONF_SET, - SR_CONF_TRIGGER_SOURCE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST, - SR_CONF_TIMEBASE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST, - SR_CONF_NUM_HDIV | SR_CONF_GET, - SR_CONF_TRIGGER_SLOPE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST, - SR_CONF_HORIZ_TRIGGERPOS | SR_CONF_GET | SR_CONF_SET, - SR_CONF_SAMPLERATE | SR_CONF_GET, -}; - -static const uint32_t lecroy_analog_devopts[] = { - SR_CONF_NUM_VDIV | SR_CONF_GET, - SR_CONF_COUPLING | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST, - SR_CONF_VDIV | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST, -}; - -static const char *lecroy_coupling_options[] = { +static const char *coupling_options[] = { "A1M", // AC with 1 MOhm termination "D50", // DC with 50 Ohm termination "D1M", // DC with 1 MOhm termination @@ -112,7 +89,7 @@ static const char *scope_trigger_slopes[] = { NULL, }; -static const char *lecroy_xstream_trigger_sources[] = { +static const char *trigger_sources[] = { "C1", "C2", "C3", @@ -122,7 +99,7 @@ static const char *lecroy_xstream_trigger_sources[] = { NULL, }; -static const struct sr_rational lecroy_timebases[] = { +static const struct sr_rational timebases[] = { /* picoseconds */ { 20, 1000000000000 }, { 50, 1000000000000 }, @@ -172,7 +149,7 @@ static const struct sr_rational lecroy_timebases[] = { { 1000, 1 }, }; -static const struct sr_rational lecroy_vdivs[] = { +static const struct sr_rational vdivs[] = { /* millivolts */ { 1, 1000 }, { 2, 1000 }, @@ -206,21 +183,15 @@ static const struct scope_config scope_models[] = { .analog_channels = 4, .analog_names = &scope_analog_channel_names, - .devopts = &lecroy_devopts, - .num_devopts = ARRAY_SIZE(lecroy_devopts), - - .analog_devopts = &lecroy_analog_devopts, - .num_analog_devopts = ARRAY_SIZE(lecroy_analog_devopts), - - .coupling_options = &lecroy_coupling_options, - .trigger_sources = &lecroy_xstream_trigger_sources, + .coupling_options = &coupling_options, + .trigger_sources = &trigger_sources, .trigger_slopes = &scope_trigger_slopes, - .timebases = lecroy_timebases, - .num_timebases = ARRAY_SIZE(lecroy_timebases), + .timebases = timebases, + .num_timebases = ARRAY_SIZE(timebases), - .vdivs = lecroy_vdivs, - .num_vdivs = ARRAY_SIZE(lecroy_vdivs), + .vdivs = vdivs, + .num_vdivs = ARRAY_SIZE(vdivs), .num_xdivs = 10, .num_ydivs = 8, @@ -242,8 +213,8 @@ static void scope_state_dump(const struct scope_config *config, tmp, state->analog_channels[i].vertical_offset); } - tmp = sr_period_string(((float)config->timebases[state->timebase].q) / - ((float)config->timebases[state->timebase].p)); + tmp = sr_period_string(config->timebases[state->timebase].p, + config->timebases[state->timebase].q); sr_info("Current timebase: %s", tmp); g_free(tmp); @@ -321,8 +292,7 @@ static int analog_channel_state_get(struct sr_scpi_dev_inst *scpi, if (sr_scpi_get_string(scpi, command, &tmp_str) != SR_OK) return SR_ERR; - if (array_float_get(tmp_str, lecroy_vdivs, ARRAY_SIZE(lecroy_vdivs), - &j) != SR_OK) { + if (array_float_get(tmp_str, vdivs, ARRAY_SIZE(vdivs), &j) != SR_OK) { g_free(tmp_str); sr_err("Could not determine array index for vertical div scale."); return SR_ERR; @@ -396,8 +366,7 @@ SR_PRIV int lecroy_xstream_state_get(struct sr_dev_inst *sdi) if (sr_scpi_get_string(sdi->conn, "TIME_DIV?", &tmp_str) != SR_OK) return SR_ERR; - if (array_float_get(tmp_str, lecroy_timebases, ARRAY_SIZE(lecroy_timebases), - &i) != SR_OK) { + if (array_float_get(tmp_str, timebases, ARRAY_SIZE(timebases), &i) != SR_OK) { g_free(tmp_str); sr_err("Could not determine array index for timbase scale."); return SR_ERR;