From 362f11fffb63c5c4d4e2ccfc59c0e6ae83a55d01 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Tue, 18 May 2021 22:37:01 -0700 Subject: [PATCH] altoslib: Fix accel value flipping for TM v3.0 TM v3.0 uses the same log file format value as TM v2.0 but has a different accelerometer, which requires a different function for inverting the raw values. Detect v2.0 devices and use the old function for them while using the new function for all others. Signed-off-by: Keith Packard --- altoslib/AltosConfigData.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/altoslib/AltosConfigData.java b/altoslib/AltosConfigData.java index ea7b63fa..7b78f760 100644 --- a/altoslib/AltosConfigData.java +++ b/altoslib/AltosConfigData.java @@ -199,10 +199,18 @@ public class AltosConfigData { case AltosLib.AO_LOG_FORMAT_FULL: return 0x7fff - value; case AltosLib.AO_LOG_FORMAT_TELEMEGA_OLD: - case AltosLib.AO_LOG_FORMAT_TELEMETRUM: case AltosLib.AO_LOG_FORMAT_TELEMEGA: case AltosLib.AO_LOG_FORMAT_TELEMEGA_3: return 4095 - value; + case AltosLib.AO_LOG_FORMAT_TELEMETRUM: + /* + * TeleMetrum v2 and later use the same log format, but + * have different accelerometers. This is the only place + * it matters in altoslib. + */ + if (product.startsWith("TeleMetrum-v2")) + return 4095 - value; + /* fall through */ case AltosLib.AO_LOG_FORMAT_TELEMEGA_4: case AltosLib.AO_LOG_FORMAT_EASYMEGA_2: case AltosLib.AO_LOG_FORMAT_EASYMOTOR: -- 2.30.2