Racelogic / Mbed 2 deprecated VIPS_LTC_RAW_IMU

Dependencies:   BufferedSerial FatFileSystemCpp mbed

Revision:
49:df05784d9a5c
Parent:
46:432d63e8fe64
Parent:
44:fe7fcf62c75d
Child:
57:ba6f516d93b9
diff -r 432d63e8fe64 -r df05784d9a5c VIPSSerialProtocol.cpp
--- a/VIPSSerialProtocol.cpp	Tue Aug 17 15:55:40 2021 +0000
+++ b/VIPSSerialProtocol.cpp	Wed Aug 25 17:02:47 2021 +0000
@@ -282,6 +282,9 @@
     lastPositions[nextPosition].pos.Y = *(double *)(messageInBuffer+20);
     lastPositions[nextPosition].pos.Height = *(float *)(messageInBuffer+28);
 
+    if (mask & 0x0001)
+        lastPositions[nextPosition].pos.LLAPosition = true;
+
     if (mask & 0x0002) { // parse status
         lastPositions[nextPosition].pos.beacons = messageInBuffer[offset++];
         lastPositions[nextPosition].pos.solutionType = messageInBuffer[offset++];
@@ -323,22 +326,28 @@
         offset+=4;
     }
     if (mask & 0x0080) {  // raw UWB
-
         offset+=24;
     }
     if (mask & 0x0100) { // raw IMU
-
         offset+=24;
     }
 
     if (mask & 0x0200) {// rover info
-
         offset+=4;
     }
     if (mask & 0x0400) {// FIZ data
-
         offset+=4;
     }
+    if (mask & 0x0800) {// Origin
+        offset+=24;
+    }
+    if (mask & 0x1000) {// Beacon list
+        memcpy(lastPositions[nextPosition].pos.UsedBeacons, messageInBuffer+offset, 12);
+        lastPositions[nextPosition].pos.UsedBeaconsValid = true;
+        offset+=12;
+    } else
+        lastPositions[nextPosition].pos.UsedBeaconsValid = false;
+
 
     if (UserSettings.AutoHyperSmooth) {
         int testValue = (lastPositions[nextPosition].pos.KFStatus & 0xE634);