refactor: what counts as an event moves into its own evaluator, so a search can ask the same question the trigger asks
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
1 parent
178cf54ef6
commit
b3fd9ae00f
6 files changed
+189
-50
No files matched your search
+9
-8
@@ -1609,12 +1609,12 @@ void publish_trigger_fields(App* app) {
|
||||
{
|
||||
std::lock_guard<std::mutex> lock(app->model->mutex());
|
||||
TriggerConfig& tc = app->model->trigger();
|
||||
tc.level = level;
|
||||
tc.condition.level = level;
|
||||
tc.pretrigger_pct = pre;
|
||||
tc.holdoff_s = holdoff;
|
||||
tc.edge = edge == 0 ? TriggerEdge::Rising
|
||||
: edge == 1 ? TriggerEdge::Falling
|
||||
: TriggerEdge::Both;
|
||||
tc.condition.edge = edge == 0 ? TriggerEdge::Rising
|
||||
: edge == 1 ? TriggerEdge::Falling
|
||||
: TriggerEdge::Both;
|
||||
tc.mode = mode == 0 ? TriggerMode::Normal : TriggerMode::Single;
|
||||
}
|
||||
}
|
||||
@@ -2050,7 +2050,7 @@ void rebuild_trigger_signals(App& app) {
|
||||
if (std::isfinite(sig.range_min) && std::isfinite(sig.range_max) &&
|
||||
sig.range_max > sig.range_min) {
|
||||
const double mid = 0.5 * (sig.range_min + sig.range_max);
|
||||
tc.level = mid;
|
||||
tc.condition.level = mid;
|
||||
gtk_spin_button_set_value(GTK_SPIN_BUTTON(app.trigger_level_spin), mid);
|
||||
}
|
||||
}
|
||||
@@ -6344,7 +6344,7 @@ gboolean tick(gpointer user) {
|
||||
span_s = model.partition().span_s;
|
||||
time_stride = model.partition().time_stride;
|
||||
const int chan = model.trigger().channel;
|
||||
trigger_level = model.trigger().level;
|
||||
trigger_level = model.trigger().condition.level;
|
||||
if (chan >= 0 && chan < static_cast<int>(model.channel_count())) {
|
||||
trigger_name = model.channels()[static_cast<std::size_t>(chan)].name;
|
||||
}
|
||||
@@ -8270,7 +8270,8 @@ gboolean trigrenum_probe(gpointer user) {
|
||||
"holdoff=%.4f level=%.4g edge=%d mode=%d enabled=%d armed=%d ch=%d "
|
||||
"channels=%zu\n",
|
||||
a->rows->time_window(), a->model->event_span(), tc.pretrigger_pct,
|
||||
tc.post_span_s(a->model->event_span()), tc.holdoff_s, tc.level, int(tc.edge),
|
||||
tc.post_span_s(a->model->event_span()), tc.holdoff_s, tc.condition.level,
|
||||
int(tc.condition.edge),
|
||||
int(tc.mode), int(tc.enabled), int(tc.armed), tc.channel,
|
||||
a->model->channel_count());
|
||||
}
|
||||
@@ -8295,7 +8296,7 @@ gboolean fields_probe(gpointer user) {
|
||||
std::lock_guard<std::mutex> lock(a->model->mutex());
|
||||
std::fprintf(stderr, "[fields-probe] mode=%u edge=%u published mode=%d edge=%d capturing=%d\n",
|
||||
gtk_drop_down_get_selected(mode), gtk_drop_down_get_selected(edge),
|
||||
int(a->model->trigger().mode), int(a->model->trigger().edge),
|
||||
int(a->model->trigger().mode), int(a->model->trigger().condition.edge),
|
||||
int(a->model->trigger_pending()));
|
||||
std::fflush(stderr);
|
||||
return G_SOURCE_REMOVE;
|
||||
|
||||
Reference in new issue
Block a user