X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=src%2Fhardware%2Frigol-ds%2Fapi.c;h=38aadf436de0ef89c13a83288364cab37f226f3e;hb=61f2b7f74cd2d05cacb2bfb3cad2c2d67c856f47;hp=c25f9ef51ca0d39d5def1ff89939c2892ab5f45c;hpb=c33ff3771bcbab940ee7da88c89e70b61c26d0d3;p=libsigrok.git diff --git a/src/hardware/rigol-ds/api.c b/src/hardware/rigol-ds/api.c index c25f9ef5..38aadf43 100644 --- a/src/hardware/rigol-ds/api.c +++ b/src/hardware/rigol-ds/api.c @@ -192,7 +192,7 @@ static const struct rigol_ds_series supported_series[] = { [DS1000] = {VENDOR(RIGOL), "DS1000", PROTOCOL_V2, FORMAT_IEEE488_2, {50, 1}, {2, 1000}, 12, 600, 1048576}, [DS2000] = {VENDOR(RIGOL), "DS2000", PROTOCOL_V3, FORMAT_IEEE488_2, - {500, 1}, {2, 1000}, 14, 1400, 14000}, + {500, 1}, {500, 1000000}, 14, 1400, 14000}, [DS2000A] = {VENDOR(RIGOL), "DS2000A", PROTOCOL_V3, FORMAT_IEEE488_2, {1000, 1}, {500, 1000000}, 14, 1400, 14000}, [DSO1000] = {VENDOR(AGILENT), "DSO1000", PROTOCOL_V3, FORMAT_IEEE488_2, @@ -381,8 +381,10 @@ static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi) } for (i = 0; i < NUM_VDIV; i++) - if (!memcmp(&devc->model->series->min_vdiv, &vdivs[i], sizeof(uint64_t[2]))) + if (!memcmp(&devc->model->series->min_vdiv, &vdivs[i], sizeof(uint64_t[2]))) { devc->vdivs = &vdivs[i]; + devc->num_vdivs = NUM_VDIV - i; + } if (!(devc->buffer = g_try_malloc(ACQ_BUFFER_SIZE))) return NULL; @@ -531,7 +533,7 @@ static int config_get(uint32_t key, GVariant **data, const struct sr_dev_inst *s *data = g_variant_new_int32(devc->model->series->num_horizontal_divs); break; case SR_CONF_NUM_VDIV: - *data = g_variant_new_int32(NUM_VDIV); + *data = g_variant_new_int32(devc->num_vdivs); break; case SR_CONF_DATA_SOURCE: if (devc->data_source == DATA_SOURCE_LIVE) @@ -866,7 +868,7 @@ static int config_list(uint32_t key, GVariant **data, const struct sr_dev_inst * return SR_ERR_CHANNEL_GROUP; } g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY); - for (i = 0; i < NUM_VDIV; i++) { + for (i = 0; i < devc->num_vdivs; i++) { rational[0] = g_variant_new_uint64(devc->vdivs[i][0]); rational[1] = g_variant_new_uint64(devc->vdivs[i][1]); tuple = g_variant_new_tuple(rational, 2);