"D15",
};
+static const char *trigger_slopes[] = {
+ "r",
+ "f",
+};
+
static const char *coupling[] = {
"AC",
"DC",
if (sr_scpi_get_hw_id(scpi, &hw_info) != SR_OK) {
sr_info("Couldn't get IDN response.");
- sr_scpi_close(scpi);
- sr_scpi_free(scpi);
return NULL;
}
model->name,
hw_info->firmware_version))) {
sr_scpi_hw_info_free(hw_info);
- sr_scpi_close(scpi);
- sr_scpi_free(scpi);
return NULL;
}
- sr_scpi_close(scpi);
-
sdi->conn = scpi;
sdi->driver = di;
for (i = 0; i < model->analog_channels; i++) {
if (!(channel_name = g_strdup_printf("CH%d", i + 1)))
return NULL;
- ch = sr_probe_new(i, SR_PROBE_ANALOG, TRUE, channel_name);
+ ch = sr_channel_new(i, SR_CHANNEL_ANALOG, TRUE, channel_name);
sdi->channels = g_slist_append(sdi->channels, ch);
devc->analog_groups[i].name = channel_name;
devc->analog_groups[i].channels = g_slist_append(NULL, ch);
for (i = 0; i < 16; i++) {
if (!(channel_name = g_strdup_printf("D%d", i)))
return NULL;
- ch = sr_probe_new(i, SR_PROBE_LOGIC, TRUE, channel_name);
+ ch = sr_channel_new(i, SR_CHANNEL_LOGIC, TRUE, channel_name);
g_free(channel_name);
if (!ch)
return NULL;
for (l = sdi->channels; l; l = l->next) {
ch = l->data;
- if (ch->type == SR_PROBE_ANALOG && ch->enabled)
+ if (ch->type == SR_CHANNEL_ANALOG && ch->enabled)
analog_channels++;
}
ch = g_slist_nth_data(cg->channels, 0);
if (!ch)
return SR_ERR;
- if (ch->type == SR_PROBE_ANALOG) {
+ if (ch->type == SR_CHANNEL_ANALOG) {
if (ch->name[2] < '1' || ch->name[2] > '4')
return SR_ERR;
analog_channel = ch->name[2] - '1';
tmp_str = devc->trigger_source;
*data = g_variant_new_string(tmp_str);
break;
+ case SR_CONF_TRIGGER_SLOPE:
+ if (!strcmp(devc->trigger_slope, "POS"))
+ tmp_str = "r";
+ else if (!strcmp(devc->trigger_slope, "NEG"))
+ tmp_str = "f";
+ else
+ return SR_ERR_NA;
+ *data = g_variant_new_string(tmp_str);
+ break;
case SR_CONF_TIMEBASE:
for (i = 0; i < devc->num_timebases; i++) {
float tb = (float)devc->timebases[i][0] / devc->timebases[i][1];
*data = g_variant_new_strv(trigger_sources,
devc->model->has_digital ? ARRAY_SIZE(trigger_sources) : 4);
break;
+ case SR_CONF_TRIGGER_SLOPE:
+ *data = g_variant_new_strv(trigger_slopes, ARRAY_SIZE(trigger_slopes));
+ break;
case SR_CONF_DATA_SOURCE:
if (!devc)
/* Can't know this until we have the exact model. */
for (l = sdi->channels; l; l = l->next) {
ch = l->data;
sr_dbg("handling channel %s", ch->name);
- if (ch->type == SR_PROBE_ANALOG) {
+ if (ch->type == SR_CHANNEL_ANALOG) {
if (ch->enabled)
devc->enabled_analog_channels = g_slist_append(
devc->enabled_analog_channels, ch);
return SR_ERR;
devc->analog_channels[ch->index] = ch->enabled;
}
- } else if (ch->type == SR_PROBE_LOGIC) {
+ } else if (ch->type == SR_CHANNEL_LOGIC) {
if (ch->enabled) {
devc->enabled_digital_channels = g_slist_append(
devc->enabled_digital_channels, ch);
switch (devc->model->series->protocol) {
case PROTOCOL_V2:
- if (rigol_ds_config_set(sdi, ":ACQ:MDEP LONG") != SR_OK)
+ if (rigol_ds_config_set(sdi, ":ACQ:MEMD LONG") != SR_OK)
return SR_ERR;
break;
case PROTOCOL_V3: