Alsoooo!
Kurzer Zwischenstand der Entwicklung:
Ich habe es nun geschafft den SerGPS-> I2C-GPS Code anzupassen und das Hex zum Flashen duch eine eigene Engine auf Arduinobasis zum laufen zu bekommen.Es wird somit jedem möglich sein einen weiteren unterstützten Atmel als Parserboard zu verwenden und auch selbst über Arduino zu flashen.Das jetzige build hat eine Größe von 3420b und stellt
vollständige Informationen bereit - also auch Distance to Home,"Statring point" und Direction to Home was das Hauptboard auch weiter entlasten könnte.Hiermit muss ich mich noch an dei multiwii-community wenden um zu sehn ob hierzu ein branch entstehen kann oder das in den Trunk mit rein darf.
Es stehen noch Bereinigungen und Erprobungen an.
Kleine Wehrmutstropfen:
-Das "GPS Position Hold" Problem mit der Ausrichtung des Copters in Richtung Norden ist noch nicht gelöst.Ich weis wo dies geschieht verstehe aber noch nicht so ganz wie ich das ändern kann.
Dieses Thema liegt auch bei Verwendung von GPS_Ser mit Mega vor.
Ein Grund weswegen in der Version 1.9 die Funktion noch nicht implementiert ist - auch wenn alle Bedingungen hierzu bereits erfüllt sind.
-Die Cycletime ist duch die Verwendung des GPS beeinträchtigt.
Unter vollausgestatteten Bedingungen und Quad sprechen wir von einer ca. 8000er-12000er Cycletime.Ich sehe hier noch Verbesserungspotential.
Auf einem Mega leigt die Cycletime mit i2c bei ca 6900, mit Seriell bei 6200.
Ohne WMP und Pullups kann man pauschal überall knapp 1500abziehen.
Da ich sehr viele Debugs fahre ist auch hier eine Ursache dazu zu sehen .
-Es gibt nach wie vor Rupfer und Reißer wenn längere zeit kein Frame mit einem guten Fix daher kommt.Die Ursache hierzu ist mir noch nicht ganz klar. Ich habe da allerdings schon Vermututungen .
-Die Funktion RTH wird die Cycletime vermutlich weiter beeinträchtigen.
Hier ist die Umsetzung duch das Multiwii Team relevant.
-Auf 328p ist ein Refresh mit lokaler Errechnung über 4 hz nicht zu empfehlen.Die Cycletime fällt dann ins Bodenlose.
Einziger Ausweg ist die Berechnung auf dem GPS-Parserboard.Hierzu sind allerdings gravierendere Eingriffe in den Multiwiicode notwendig und ein Aufblasen des Codes auf dem parserboard auch ca 8900b notwendig (Was wieder einen größeren Chip als einen 88/8 voraussetzt -ARRRGGHH!!!)
Die Konsequenz der externen Berechnung wäre eine Integration durch das Multiwii-Projekt oder eine Abspaltung des Projekts -und das überschreitet dann meine Mittel.
Aktuell reingesteckte Arbeitszeit 113 Stunden.
Ich Schulde euch nach wie vor Videos zu dem Thema - allerdings kostet so ein Dreh dann mal schnell 2-3 Stunden die ich momentan einfach nicht habe(und auch keinen Mehrwert verspricht).Ich möchte mich lieber auf das Primäre Ziel konzentrieren das es zuverlässig läuft und die Source hierzu meinerseits freigegeben werden können.Ich werde die Source HIER ZUERST POSTEN!
Warum mache ich das ganze überhaupt?
Es missfällt mir auf ein Hex-File angewiesen zu sein das nicht offen gelegt wird.
Es missfällt mir das die Anwender nicht über Arduino flashen und modifizieren können.
Es missfällt mir das Anwender keine möglichkeit haben zu verstehen was wie und warum so funktioniert.
Das verhindert weitere diversifizierung des Codes um neue Entwicklungen zu ermöglich.
Zur frage mit den Fuse Bits bei der AVR-Flasherei:
Steht alles
HIER drin: