rigol-ds: return the actual hardware num_vdiv and vdiv list.

This commit is contained in:
Aurelien Jacobs 2015-02-14 23:52:33 +01:00 committed by Uwe Hermann
parent c33ff3771b
commit 81b85663f3
1 changed files with 5 additions and 3 deletions

View File

@ -381,8 +381,10 @@ static struct sr_dev_inst *probe_device(struct sr_scpi_dev_inst *scpi)
} }
for (i = 0; i < NUM_VDIV; i++) 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->vdivs = &vdivs[i];
devc->num_vdivs = NUM_VDIV - i;
}
if (!(devc->buffer = g_try_malloc(ACQ_BUFFER_SIZE))) if (!(devc->buffer = g_try_malloc(ACQ_BUFFER_SIZE)))
return NULL; 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); *data = g_variant_new_int32(devc->model->series->num_horizontal_divs);
break; break;
case SR_CONF_NUM_VDIV: case SR_CONF_NUM_VDIV:
*data = g_variant_new_int32(NUM_VDIV); *data = g_variant_new_int32(devc->num_vdivs);
break; break;
case SR_CONF_DATA_SOURCE: case SR_CONF_DATA_SOURCE:
if (devc->data_source == DATA_SOURCE_LIVE) 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; return SR_ERR_CHANNEL_GROUP;
} }
g_variant_builder_init(&gvb, G_VARIANT_TYPE_ARRAY); 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[0] = g_variant_new_uint64(devc->vdivs[i][0]);
rational[1] = g_variant_new_uint64(devc->vdivs[i][1]); rational[1] = g_variant_new_uint64(devc->vdivs[i][1]);
tuple = g_variant_new_tuple(rational, 2); tuple = g_variant_new_tuple(rational, 2);