From 0196b2ac4ce522f62efd663a380b1a5eb1f4db0e Mon Sep 17 00:00:00 2001 From: Sander de Snoo <59472150+sldesnoo-Delft@users.noreply.github.com> Date: Sun, 20 Nov 2022 16:21:26 +0100 Subject: [PATCH] Fixed inversion of measurement result when zero_on_high = True --- pulse_lib/acquisition/measurement_converter.py | 2 +- pulse_lib/segments/utility/measurement_converter.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/pulse_lib/acquisition/measurement_converter.py b/pulse_lib/acquisition/measurement_converter.py index 3d2b34e8..51c176bf 100644 --- a/pulse_lib/acquisition/measurement_converter.py +++ b/pulse_lib/acquisition/measurement_converter.py @@ -316,7 +316,7 @@ class MeasurementConverter: continue result = self._raw[i] > m.threshold if m.zero_on_high: - result = ~result + result = result ^ 1 result = result.astype(int) elif isinstance(m, measurement_expression): result = m.expression.evaluate(last_result) diff --git a/pulse_lib/segments/utility/measurement_converter.py b/pulse_lib/segments/utility/measurement_converter.py index 164717e3..7d37f974 100644 --- a/pulse_lib/segments/utility/measurement_converter.py +++ b/pulse_lib/segments/utility/measurement_converter.py @@ -201,7 +201,8 @@ class measurement_converter: channel_name = m.acquisition_channel result = self._channel_raw[channel_name][m.index] > m.threshold if m.zero_on_high: - result = not result + # flip bit 0 + result = result ^ 1 result = result.astype(int) elif isinstance(m, measurement_expression): result = m.expression.evaluate(last_result) -- GitLab