Hallo MechMac,
also erstmal ist es schon komisch das Du oben die Winkel auf 360° umrechnen möchtest und dann unten auf 180°/-180° prüfst. Also mr würde das nur Kopfschmerzen bereiten.
Also ich würde es so anfangen, das man den Kompass-Wert hochrechnet so ähnlich wie in Deinem ersten Codeausschnitt und wohl so wieChe Guevara vorschlägt, also: Ist_Aktuell= 180 + ToDeg(yaw) // Da Du anscheinen mindestens in C programmierst; der ToDeg-Wert kann jetzt auch negativ sein - es kommt aber nur was zwischen 0° und 360° raus, also nur positive Werte.
Zusätzlich den Wert ggf speichern als Vergleichsvariable: z.B. Ist_Vorher = Ist_Aktuell
Du weißt das Du mit der Rrechnung " *-1 " den minus Wert umdrehst -also positiv? Allerdings drehst Du damit auch positive Werte ins negative. Deshalb auf das if davor, das ist ziemlicher Unsinn, wenn man beide Werte schon frei Haus geliefert bekommt.
Was ich daraus schliesse ist das Du möglicherwiese den Kompass falsch ausgerichtet hast bzw den anders ausrichten könntest um das Problem zu vereinfachen.
Lesezeichen