mirror of
https://github.com/jonathanhogg/scopething
synced 2025-07-13 18:52:10 +01:00
Correct two howling errors in the capture logic – how did I not notice these before?
This commit is contained in:
20
scope.py
20
scope.py
@ -236,15 +236,7 @@ class Scope(vm.VirtualMachine):
|
|||||||
if trigger_level is None:
|
if trigger_level is None:
|
||||||
trigger_level = (high + low) / 2
|
trigger_level = (high + low) / 2
|
||||||
analog_trigger_level = (trigger_level - analog_params.offset) / analog_params.scale if not raw else trigger_level
|
analog_trigger_level = (trigger_level - analog_params.offset) / analog_params.scale if not raw else trigger_level
|
||||||
if trigger in {'A', 'B'}:
|
if isinstance(trigger, dict):
|
||||||
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):
|
|
||||||
trigger_logic = 0
|
trigger_logic = 0
|
||||||
trigger_mask = 0xff
|
trigger_mask = 0xff
|
||||||
for channel, value in trigger.items():
|
for channel, value in trigger.items():
|
||||||
@ -259,6 +251,14 @@ class Scope(vm.VirtualMachine):
|
|||||||
trigger_mask &= ~mask
|
trigger_mask &= ~mask
|
||||||
if value:
|
if value:
|
||||||
trigger_logic |= mask
|
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:
|
else:
|
||||||
raise ValueError("Unrecognised trigger value")
|
raise ValueError("Unrecognised trigger value")
|
||||||
trigger_type = trigger_type.lower()
|
trigger_type = trigger_type.lower()
|
||||||
@ -357,7 +357,7 @@ class Scope(vm.VirtualMachine):
|
|||||||
series.trigger_timestamp = series.timestamps[trigger_samples]
|
series.trigger_timestamp = series.timestamps[trigger_samples]
|
||||||
series.trigger_level = trigger[i]
|
series.trigger_level = trigger[i]
|
||||||
series.trigger_type = trigger_type
|
series.trigger_type = trigger_type
|
||||||
traces[channel] = series
|
traces[channel] = series
|
||||||
Log.info(f"{nsamples} samples captured on {cause}, traces: {', '.join(traces)}")
|
Log.info(f"{nsamples} samples captured on {cause}, traces: {', '.join(traces)}")
|
||||||
return traces
|
return traces
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user