From 9ee60824d4d0bace4078dfd6b57f186685b10dfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20J=C3=B6rdens?= Date: Mon, 1 Feb 2021 18:15:51 +0100 Subject: [PATCH] lockin-internal: align processing with lockin-external --- src/bin/lockin-internal.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/bin/lockin-internal.rs b/src/bin/lockin-internal.rs index 0529220..7a83a87 100644 --- a/src/bin/lockin-internal.rs +++ b/src/bin/lockin-internal.rs @@ -107,12 +107,18 @@ const APP: () = { .last() .unwrap(); - // Convert from IQ to power and phase. - let _power = output.abs_sqr(); - let phase = output.arg() >> 16; + // convert i/q to power/phase, + let power_phase = true; // TODO: expose + + let output = if power_phase { + // Convert from IQ to power and phase. + [output.abs_sqr(), output.arg()] + } else { + [output.0, output.1] + }; for value in dac_samples[1].iter_mut() { - *value = phase as u16 ^ 0x8000; + *value = (output[1] >> 16) as u16 ^ 0x8000; } }