Use upstream fusion library (#10724)

* Use upstream fusion library
* Update Fusion dependency to new repository and version
This commit is contained in:
Jonathan Bennett
2026-07-03 22:59:18 +02:00
committed by GitHub
parent 84b1af0b83
commit babbac3308
15 changed files with 11 additions and 1657 deletions
+3 -3
View File
@@ -53,11 +53,11 @@ int32_t BMX160Sensor::runOnce()
// If we're set to one of the inverted positions
if (config.display.compass_orientation > meshtastic_Config_DisplayConfig_CompassOrientation_DEGREES_270) {
ma = FusionAxesSwap(ma, FusionAxesAlignmentNXNYPZ);
ga = FusionAxesSwap(ga, FusionAxesAlignmentNXNYPZ);
ma = FusionRemap(ma, FusionRemapAlignmentNXNYPZ);
ga = FusionRemap(ga, FusionRemapAlignmentNXNYPZ);
}
float heading = FusionCompassCalculateHeading(FusionConventionNed, ga, ma);
float heading = FusionCompass(ga, ma, FusionConventionNed);
heading = applyCompassOrientation(heading);
if (screen)
+3 -3
View File
@@ -93,11 +93,11 @@ int32_t ICM20948Sensor::runOnce()
// If we're set to one of the inverted positions
if (config.display.compass_orientation > meshtastic_Config_DisplayConfig_CompassOrientation_DEGREES_270) {
ma = FusionAxesSwap(ma, FusionAxesAlignmentNXNYPZ);
ga = FusionAxesSwap(ga, FusionAxesAlignmentNXNYPZ);
ma = FusionRemap(ma, FusionRemapAlignmentNXNYPZ);
ga = FusionRemap(ga, FusionRemapAlignmentNXNYPZ);
}
float heading = FusionCompassCalculateHeading(FusionConventionNed, ga, ma);
float heading = FusionCompass(ga, ma, FusionConventionNed);
heading = applyCompassOrientation(heading);
if (screen)
+3 -3
View File
@@ -103,10 +103,10 @@ int32_t MMC5983MASensor::runOnce()
FusionVector ga = {.axis = {accelX, accelY, accelZ}};
FusionVector ma = {.axis = {magX, magY, magZ}};
if (config.display.compass_orientation > meshtastic_Config_DisplayConfig_CompassOrientation_DEGREES_270) {
ma = FusionAxesSwap(ma, FusionAxesAlignmentNXNYPZ);
ga = FusionAxesSwap(ga, FusionAxesAlignmentNXNYPZ);
ma = FusionRemap(ma, FusionRemapAlignmentNXNYPZ);
ga = FusionRemap(ga, FusionRemapAlignmentNXNYPZ);
}
heading = FusionCompassCalculateHeading(FusionConventionNed, ga, ma) + MMC5983MA_HEADING_OFFSET_DEG;
heading = FusionCompass(ga, ma, FusionConventionNed) + MMC5983MA_HEADING_OFFSET_DEG;
} else {
heading = atan2f(magY, magX) * RAD_TO_DEG + MMC5983MA_HEADING_OFFSET_DEG;
}