asix-sigma: unconditionally re-enable trigger support code
Trigger support became operational again. Drop the compile time switch which disabled the previously incomplete implementation. This resolves bug #359.
This commit is contained in:
parent
f14e6f7e1a
commit
e092671365
|
@ -49,10 +49,8 @@ static const uint32_t devopts[] = {
|
||||||
SR_CONF_EXTERNAL_CLOCK | SR_CONF_GET | SR_CONF_SET,
|
SR_CONF_EXTERNAL_CLOCK | SR_CONF_GET | SR_CONF_SET,
|
||||||
SR_CONF_EXTERNAL_CLOCK_SOURCE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
|
SR_CONF_EXTERNAL_CLOCK_SOURCE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
|
||||||
SR_CONF_CLOCK_EDGE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
|
SR_CONF_CLOCK_EDGE | SR_CONF_GET | SR_CONF_SET | SR_CONF_LIST,
|
||||||
#if ASIX_SIGMA_WITH_TRIGGER
|
|
||||||
SR_CONF_TRIGGER_MATCH | SR_CONF_LIST,
|
SR_CONF_TRIGGER_MATCH | SR_CONF_LIST,
|
||||||
SR_CONF_CAPTURE_RATIO | SR_CONF_GET | SR_CONF_SET,
|
SR_CONF_CAPTURE_RATIO | SR_CONF_GET | SR_CONF_SET,
|
||||||
#endif
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *ext_clock_edges[] = {
|
static const char *ext_clock_edges[] = {
|
||||||
|
@ -61,14 +59,12 @@ static const char *ext_clock_edges[] = {
|
||||||
[SIGMA_CLOCK_EDGE_EITHER] = "either",
|
[SIGMA_CLOCK_EDGE_EITHER] = "either",
|
||||||
};
|
};
|
||||||
|
|
||||||
#if ASIX_SIGMA_WITH_TRIGGER
|
|
||||||
static const int32_t trigger_matches[] = {
|
static const int32_t trigger_matches[] = {
|
||||||
SR_TRIGGER_ZERO,
|
SR_TRIGGER_ZERO,
|
||||||
SR_TRIGGER_ONE,
|
SR_TRIGGER_ONE,
|
||||||
SR_TRIGGER_RISING,
|
SR_TRIGGER_RISING,
|
||||||
SR_TRIGGER_FALLING,
|
SR_TRIGGER_FALLING,
|
||||||
};
|
};
|
||||||
#endif
|
|
||||||
|
|
||||||
static void clear_helper(struct dev_context *devc)
|
static void clear_helper(struct dev_context *devc)
|
||||||
{
|
{
|
||||||
|
@ -317,11 +313,9 @@ static int config_get(uint32_t key, GVariant **data,
|
||||||
case SR_CONF_LIMIT_MSEC:
|
case SR_CONF_LIMIT_MSEC:
|
||||||
case SR_CONF_LIMIT_SAMPLES:
|
case SR_CONF_LIMIT_SAMPLES:
|
||||||
return sr_sw_limits_config_get(&devc->limit.config, key, data);
|
return sr_sw_limits_config_get(&devc->limit.config, key, data);
|
||||||
#if ASIX_SIGMA_WITH_TRIGGER
|
|
||||||
case SR_CONF_CAPTURE_RATIO:
|
case SR_CONF_CAPTURE_RATIO:
|
||||||
*data = g_variant_new_uint64(devc->capture_ratio);
|
*data = g_variant_new_uint64(devc->capture_ratio);
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
default:
|
default:
|
||||||
return SR_ERR_NA;
|
return SR_ERR_NA;
|
||||||
}
|
}
|
||||||
|
@ -376,11 +370,9 @@ static int config_set(uint32_t key, GVariant *data,
|
||||||
case SR_CONF_LIMIT_MSEC:
|
case SR_CONF_LIMIT_MSEC:
|
||||||
case SR_CONF_LIMIT_SAMPLES:
|
case SR_CONF_LIMIT_SAMPLES:
|
||||||
return sr_sw_limits_config_set(&devc->limit.config, key, data);
|
return sr_sw_limits_config_set(&devc->limit.config, key, data);
|
||||||
#if ASIX_SIGMA_WITH_TRIGGER
|
|
||||||
case SR_CONF_CAPTURE_RATIO:
|
case SR_CONF_CAPTURE_RATIO:
|
||||||
devc->capture_ratio = g_variant_get_uint64(data);
|
devc->capture_ratio = g_variant_get_uint64(data);
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
default:
|
default:
|
||||||
return SR_ERR_NA;
|
return SR_ERR_NA;
|
||||||
}
|
}
|
||||||
|
@ -407,11 +399,9 @@ static int config_list(uint32_t key, GVariant **data,
|
||||||
case SR_CONF_CLOCK_EDGE:
|
case SR_CONF_CLOCK_EDGE:
|
||||||
*data = g_variant_new_strv(ARRAY_AND_SIZE(ext_clock_edges));
|
*data = g_variant_new_strv(ARRAY_AND_SIZE(ext_clock_edges));
|
||||||
break;
|
break;
|
||||||
#if ASIX_SIGMA_WITH_TRIGGER
|
|
||||||
case SR_CONF_TRIGGER_MATCH:
|
case SR_CONF_TRIGGER_MATCH:
|
||||||
*data = std_gvar_array_i32(ARRAY_AND_SIZE(trigger_matches));
|
*data = std_gvar_array_i32(ARRAY_AND_SIZE(trigger_matches));
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
default:
|
default:
|
||||||
return SR_ERR_NA;
|
return SR_ERR_NA;
|
||||||
}
|
}
|
||||||
|
@ -593,7 +583,7 @@ static int dev_acquisition_start(const struct sr_dev_inst *sdi)
|
||||||
|
|
||||||
/* Start acqusition. */
|
/* Start acqusition. */
|
||||||
regval = WMR_TRGRES | WMR_SDRAMWRITEEN;
|
regval = WMR_TRGRES | WMR_SDRAMWRITEEN;
|
||||||
if (devc->use_triggers && ASIX_SIGMA_WITH_TRIGGER)
|
if (devc->use_triggers)
|
||||||
regval |= WMR_TRGEN;
|
regval |= WMR_TRGEN;
|
||||||
ret = sigma_set_register(devc, WRITE_MODE, regval);
|
ret = sigma_set_register(devc, WRITE_MODE, regval);
|
||||||
if (ret != SR_OK)
|
if (ret != SR_OK)
|
||||||
|
|
|
@ -1536,11 +1536,6 @@ SR_PRIV int sigma_convert_trigger(const struct sr_dev_inst *sdi)
|
||||||
if (!trigger)
|
if (!trigger)
|
||||||
return SR_OK;
|
return SR_OK;
|
||||||
|
|
||||||
if (!ASIX_SIGMA_WITH_TRIGGER) {
|
|
||||||
sr_warn("Trigger support is not implemented. Ignoring the spec.");
|
|
||||||
return SR_OK;
|
|
||||||
}
|
|
||||||
|
|
||||||
trigger_set = 0;
|
trigger_set = 0;
|
||||||
for (l = trigger->stages; l; l = l->next) {
|
for (l = trigger->stages; l; l = l->next) {
|
||||||
stage = l->data;
|
stage = l->data;
|
||||||
|
|
|
@ -33,14 +33,6 @@
|
||||||
|
|
||||||
#define LOG_PREFIX "asix-sigma"
|
#define LOG_PREFIX "asix-sigma"
|
||||||
|
|
||||||
/*
|
|
||||||
* Triggers are not working in this implementation. Stop claiming
|
|
||||||
* support for the feature which effectively is not available, until
|
|
||||||
* the implementation got fixed. Yet keep the code in place and allow
|
|
||||||
* developers to turn on this switch during development.
|
|
||||||
*/
|
|
||||||
#define ASIX_SIGMA_WITH_TRIGGER 1
|
|
||||||
|
|
||||||
/* Experimental support for OMEGA (scan only, operation is ENOIMPL). */
|
/* Experimental support for OMEGA (scan only, operation is ENOIMPL). */
|
||||||
#define ASIX_WITH_OMEGA 0
|
#define ASIX_WITH_OMEGA 0
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue