Hi,
ich kriege den I2C Bus eh nicht zum Laufen. Habe schon Matek damit zu Tode genervt. Der Kompass wird nicht erkannt. Also diese Kalibrierung mit dem Herumschwenken. ARSPD_BUS auf 0,1,2, getestet. Auch alle sonst nur denkbaren Kombinationen. Man sieht im Mission Planner, dass eine Drehung den Nasen-Vektor mit bewegt aber das kommt durch den Gyro Sensor.
Habe 2 Kompass Module ausprobiert, beide laufen mit der Pixhawk im Kopter aber mit dem F405 nicht. Blinken, kriegen GPS Fix aber das war es auch. Ich schmeiss das Ding bald weg, das war raus geworfenes Geld. RSSI brauche ich natürlich für den RTL bei Verbindungsabriss, den kann ich nicht opfern. Es gibt sonst keine Chance dass der Vogel zurück kommt. Eine Option wie "Timeout Control" vermisse ich da. Der Empfänger bleibt auf dem letzten PWM Wert stehen wenn die Verbindung abreisst.
Komisch, der Cortex M3 F407 hat 16 Analog Pins, die hatten da wohl keinen übrig....
Prinzipiell kann man aus dem GPS die Flugrichtung auslesen, das NMEA Protokoll gibt diese mit aus sobald sich der Gegenstand bewegt. Aber ich habe lieber eine Backup Lösung. Beim Kopter ist Kompass wohl ein Muss, da dieser sich auf der Stelle drehen kann.
Es gibt übrigens nur einen I2C Bus der heraus geführt ist, DA2, CL2. Einen anderen habe ich nicht gefunden.