From 7e2b262429d2765fd720d6dc7eed2749369c9b2d Mon Sep 17 00:00:00 2001 From: Jonathan Hogg Date: Tue, 22 Jun 2021 13:20:06 +0100 Subject: [PATCH] =?UTF-8?q?Correct=20two=20howling=20errors=20in=20the=20c?= =?UTF-8?q?apture=20logic=20=E2=80=93=C2=A0how=20did=20I=20not=20notice=20?= =?UTF-8?q?these=20before=3F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scope.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/scope.py b/scope.py index a5fa7fc..711c300 100755 --- a/scope.py +++ b/scope.py @@ -236,15 +236,7 @@ class Scope(vm.VirtualMachine): if trigger_level is None: trigger_level = (high + low) / 2 analog_trigger_level = (trigger_level - analog_params.offset) / analog_params.scale if not raw else trigger_level - if trigger in {'A', 'B'}: - if trigger == 'A': - spock_option |= vm.SpockOption.TriggerSourceA - trigger_logic = 0x80 - elif trigger == 'B': - spock_option |= vm.SpockOption.TriggerSourceB - trigger_logic = 0x40 - trigger_mask = 0xff ^ trigger_logic - elif isinstance(trigger, dict): + if isinstance(trigger, dict): trigger_logic = 0 trigger_mask = 0xff for channel, value in trigger.items(): @@ -259,6 +251,14 @@ class Scope(vm.VirtualMachine): trigger_mask &= ~mask if value: trigger_logic |= mask + elif trigger in {'A', 'B'}: + if trigger == 'A': + spock_option |= vm.SpockOption.TriggerSourceA + trigger_logic = 0x80 + elif trigger == 'B': + spock_option |= vm.SpockOption.TriggerSourceB + trigger_logic = 0x40 + trigger_mask = 0xff ^ trigger_logic else: raise ValueError("Unrecognised trigger value") trigger_type = trigger_type.lower() @@ -357,7 +357,7 @@ class Scope(vm.VirtualMachine): series.trigger_timestamp = series.timestamps[trigger_samples] series.trigger_level = trigger[i] series.trigger_type = trigger_type - traces[channel] = series + traces[channel] = series Log.info(f"{nsamples} samples captured on {cause}, traces: {', '.join(traces)}") return traces