SR_CONF_LIMIT_FRAMES | SR_CONF_SET,
SR_CONF_TIMEBASE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_TRIGGER_SOURCE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_LIMIT_FRAMES | SR_CONF_SET,
SR_CONF_TIMEBASE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_TRIGGER_SOURCE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
SR_CONF_HORIZ_TRIGGERPOS | SR_CONF_SET,
SR_CONF_NUM_TIMEBASE | SR_CONF_GET,
SR_CONF_SAMPLERATE | SR_CONF_GET,
SR_CONF_HORIZ_TRIGGERPOS | SR_CONF_SET,
SR_CONF_NUM_TIMEBASE | SR_CONF_GET,
SR_CONF_SAMPLERATE | SR_CONF_GET,
sdi->status = SR_ST_ACTIVE;
sdi->vendor = g_strdup(model->series->vendor->name);
sdi->model = g_strdup(model->name);
sdi->status = SR_ST_ACTIVE;
sdi->vendor = g_strdup(model->series->vendor->name);
sdi->model = g_strdup(model->name);
return NULL;
ch = sr_channel_new(i, SR_CHANNEL_LOGIC, TRUE, channel_name);
g_free(channel_name);
return NULL;
ch = sr_channel_new(i, SR_CHANNEL_LOGIC, TRUE, channel_name);
g_free(channel_name);
sdi->channels = g_slist_append(sdi->channels, ch);
devc->digital_group->channels = g_slist_append(
devc->digital_group->channels, ch);
sdi->channels = g_slist_append(sdi->channels, ch);
devc->digital_group->channels = g_slist_append(
devc->digital_group->channels, ch);
(devc->timebase * devc->model->series->num_horizontal_divs);
*data = g_variant_new_uint64(samplerate);
} else {
(devc->timebase * devc->model->series->num_horizontal_divs);
*data = g_variant_new_uint64(samplerate);
} else {
*data = g_variant_new("(tt)", devc->timebases[idx][0],
devc->timebases[idx][1]);
break;
case SR_CONF_VDIV:
*data = g_variant_new("(tt)", devc->timebases[idx][0],
devc->timebases[idx][1]);
break;
case SR_CONF_VDIV:
for (i = 0; i < ARRAY_SIZE(vdivs); i++) {
float vdiv = (float)vdivs[i][0] / vdivs[i][1];
float diff = fabs(devc->vdiv[analog_channel] - vdiv);
for (i = 0; i < ARRAY_SIZE(vdivs); i++) {
float vdiv = (float)vdivs[i][0] / vdivs[i][1];
float diff = fabs(devc->vdiv[analog_channel] - vdiv);
case SR_CONF_TRIGGER_SLOPE:
tmp_str = g_variant_get_string(data, NULL);
case SR_CONF_TRIGGER_SLOPE:
tmp_str = g_variant_get_string(data, NULL);
- if (!tmp_str || !(tmp_str[0] == 'f' || tmp_str[0] == 'r'))
+ if (!tmp_str || !(tmp_str[0] == 'f' || tmp_str[0] == 'r')) {
+ sr_err("Unknown trigger slope: '%s'.",
+ (tmp_str) ? tmp_str : "NULL");
devc->horiz_triggerpos = t_dbl;
/* We have the trigger offset as a percentage of the frame, but
* need to express this in seconds. */
devc->horiz_triggerpos = t_dbl;
/* We have the trigger offset as a percentage of the frame, but
* need to express this in seconds. */
break;
case SR_CONF_TRIGGER_SOURCE:
tmp_str = g_variant_get_string(data, NULL);
break;
case SR_CONF_TRIGGER_SOURCE:
tmp_str = g_variant_get_string(data, NULL);
return rigol_ds_config_set(sdi, ":CHAN%d:SCAL %s", i + 1,
buffer);
}
return rigol_ds_config_set(sdi, ":CHAN%d:SCAL %s", i + 1,
buffer);
}
return SR_ERR_NA;
case SR_CONF_DATA_SOURCE:
tmp_str = g_variant_get_string(data, NULL);
return SR_ERR_NA;
case SR_CONF_DATA_SOURCE:
tmp_str = g_variant_get_string(data, NULL);
else if (devc->model->series->protocol >= PROTOCOL_V3
&& !strcmp(tmp_str, "Segmented"))
devc->data_source = DATA_SOURCE_SEGMENTED;
else if (devc->model->series->protocol >= PROTOCOL_V3
&& !strcmp(tmp_str, "Segmented"))
devc->data_source = DATA_SOURCE_SEGMENTED;