};
static const char *trigger_sources[] = {
- "CH1", "CH2", "EXT", "forced"
+ "CH1", "CH2", "EXT",
};
static const char *trigger_slopes[] = {
devc->voffset_trigger = DEFAULT_VERT_TRIGGERPOS;
devc->framesize = DEFAULT_FRAMESIZE;
devc->triggerslope = SLOPE_POSITIVE;
- devc->triggersource = g_strdup(DEFAULT_TRIGGER_SOURCE);
+ devc->triggersource = NULL;
devc->capture_ratio = DEFAULT_CAPTURE_RATIO;
sdi->priv = devc;
*data = g_variant_new_uint64(devc->framesize);
break;
case SR_CONF_TRIGGER_SOURCE:
+ if (!devc->triggersource)
+ return SR_ERR_NA;
*data = g_variant_new_string(devc->triggersource);
break;
case SR_CONF_TRIGGER_SLOPE:
case SR_CONF_TRIGGER_SOURCE:
if ((idx = std_str_idx(data, ARRAY_AND_SIZE(trigger_sources))) < 0)
return SR_ERR_ARG;
+ g_free(devc->triggersource);
devc->triggersource = g_strdup(trigger_sources[idx]);
break;
default:
return TRUE;
if (dso_enable_trigger(sdi) != SR_OK)
return TRUE;
-// if (dso_force_trigger(sdi) != SR_OK)
-// return TRUE;
+ if (!devc->triggersource) {
+ if (dso_force_trigger(sdi) != SR_OK)
+ return TRUE;
+ }
sr_dbg("Successfully requested next chunk.");
devc->dev_state = CAPTURE;
return TRUE;
break;
if (dso_enable_trigger(sdi) != SR_OK)
break;
- if (!strcmp("forced", devc->triggersource)) {
+ if (!devc->triggersource) {
if (dso_force_trigger(sdi) != SR_OK)
break;
}