Mahlzeit!
JUERGEN_
da musst du Roberto wohl bitten Ballast abzuwerfen.
oder du must halt Aufrüsten.
Tja, da ist das Problem.
Ich habe mich selbst schon darum gebeten, und so ballaststoffreich ist die Kost leider nicht. Ohne die Funktion zu beeinträchtigen, sehe ich ein Einsparungspotential im Bereich von 40 Bytes. Es ist aber durch weiteren Fortschritt, nicht zu vermeiden, dass auch die Originalversion immer länger werden wird. Mit GPS wird es auf dem Promicro einfach zu eng.
Mögliche Alternativen:
1. Wie angeführt: Aufrüsten
2. Teile des Mwii Codes auf den freien Speicher des I2C-GPS-Arduinos auslagern. Diese Möglichkeit erscheint mir aus mehreren Gründen eher theoretisch.
OT START
Wenn man sich ganz unten im Hauptprogramm der Multiwii den Abschnitt "PITCH & ROLL & YAW PID" anschaut, wird eigentlich klar, wie sehr am Limit die ganze Sache vom Speicher und von der Rechenleistung schon seit längerem läuft. Die ganze PID Schleife für die Fluglage basiert auf der Annahme einer festen Cycletime. D.h. die tatsächlich vergangene Zeit wird nicht berücksichtigt. Dieses würde speicher- und zeitintensive Fliesskommaberechnungen nach sich ziehen, die offensichtlich nicht mehr zu leisten sind. Im Umkehrschluss muss man sich auch nicht wundern, wenn man seinen Copter mit mehr Sensorik/Funktionen ausstattet (Durchlaufzeit erhöht sich), dass dann die PIDs für Roll/Pitch/Yaw ggf. angepasst werden müssen. Wäre es nicht eigentlich sinnvoller, ausgehend von einer festen Durchlaufzeit, diese dann auch festzulegen? Dann könnten sich Änderungen in der Ablaufzeit nicht auf die Regelung auswirken. Mit dem Nunchuk war Die Cycletime bei ca. 6ms d.h. einer Updaterate von 167Hz. Wenn man die Cycletime z.B auf >= 5ms festsetzt, würden viele Hardwarekonfigurationen auf konstante 200Hz kommen. Den Gedanken werde ich einem Praxistest unterziehen.
Unter dem Gesamtaspekt ist es m.E mehr als verwunderlich, dass nicht auf eine potentere Plattform umgestiegen, und ein Schnitt gemacht wird. Anregungen/Alternativen haben wir, durch Jürgens Hinweise, reichlich
. D.h. Eine Version für die neue Plattform und eine "Light" Version für bestehende Arduino Setups, soweit möglich. Ich kann mir das nur durch finanzielle Abhängigkeiten erklären, einen logischen Grund sehe ich nicht.
OT ENDE
Zurück zum Thema Baro. In Planung sind 3 Varianten des Höheänderns, die dann über die config.h ausgewählt werden:
1.: Wie bisher ("final3"), überarbeitet
2.: Stickmitte/Höhensteigrate Baro&Acc gesteuert ("NazaStyleTest" - überarbeitet), sehr weich.
3.: Stickmitte/Gassteigrate ohne Baro&Acc, müsste auch wieder "einrasten" können ("Derjunior" hat mich auf die Idee gebracht) vielleicht in 3 Stufen (config.h): Normal, Hart, Knallhart.
Hoffentlich wird das Wetter am WE besser....
LG
Rob