Stm32F3 Disco: eKompass Firmware: Bug ?

Gast #6096642
Lesenswert?
• ▲
▼
Hallo,
ich wollte eine Platform bauen, die sich zu einer Himmelsrichtung 
ausrichten kann (ekompass). Ich habe das Stm32f3 Discovery Board als 
Vorlage genommen und mir daher den gleichen Chipset bei den Chinesen 
bestellt. Um es mir einfach zu machen, wollte ich einfach die 
Kompass-Firmware vom Stm32f3disco übernehmen.

Das ging einigermaßen, solange das Board flach auf dem Tisch lag. Sobald 
ich es ein bisschen ge'tilt habe, ist der Ausgangswert gesprungen! Die 
Tilt-Korrektur in der ST-Firmware scheint falsch zu sein. Im Internet 
konnte ich nichts viel dazu finden. Es hat mich gewundert, dass es wohl 
noch niemanden aufgefallen ist.

Anpassungen:
- Die Werte, die mittels Wurzel bestimmt werde, können nicht kleiner 
null werden. Es gibt aber Bedingungen, die auf <0 testen. Daher habe ich 
noch eine Zeile hinzugefügt, die die Winkel negative machen kann.
- Die atan2 Berechung für heading habe ich auch geändert.

Mit den Änderungen scheint es zu tun. Falls jemand Zeit hat, dann bitte 
mal gegenchecken.
Im Anhang ist die Original und die geänderte Datei zum Vergleich.
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.