SR_HWCAP_HORIZ_TRIGGERPOS,
SR_HWCAP_FILTER,
SR_HWCAP_VDIV,
+ SR_HWCAP_COUPLING,
0,
};
NULL
};
+static char *coupling[] = {
+ "AC",
+ "DC",
+ "GND",
+ NULL
+};
+
SR_PRIV libusb_context *usb_context = NULL;
SR_PRIV GSList *dev_insts = NULL;
case SR_DI_VDIVS:
info = vdivs;
break;
+ case SR_DI_COUPLING:
+ info = coupling;
+ break;
/* TODO remove this */
case SR_DI_CUR_SAMPLERATE:
info = &tmp;
float tmp_float;
uint64_t tmp_u64;
int ret, i;
- char *tmp_str, **targets;
+ char **targets;
if (!(sdi = sr_dev_inst_get(dev_insts, dev_index)))
return SR_ERR;
ret = SR_ERR_ARG;
break;
case SR_HWCAP_TRIGGER_SOURCE:
- tmp_str = value;
for (i = 0; trigger_sources[i]; i++) {
- if (!strcmp(tmp_str, trigger_sources[i])) {
- ctx->triggersource = g_strdup(tmp_str);
+ if (!strcmp(value, trigger_sources[i])) {
+ ctx->triggersource = g_strdup(value);
break;
}
}
if (vdivs[i].p == 0 && vdivs[i].q == 0)
ret = SR_ERR_ARG;
break;
+ case SR_HWCAP_COUPLING:
+ /* TODO not supporting coupling per channel yet */
+ for (i = 0; coupling[i]; i++) {
+ if (!strcmp(value, coupling[i])) {
+ ctx->coupling_ch1 = i;
+ ctx->coupling_ch2 = i;
+ break;
+ }
+ }
+ if (coupling[i] == 0)
+ ret = SR_ERR_ARG;
+ break;
default:
ret = SR_ERR_ARG;
}