WiFree Flightcontroller und die Firmware

Open DIY Projects Stuhlkreis WiFree Copter WiFree Flightcontroller und die Firmware

Dieses Thema enthält 115 Antworten und 20 Teilnehmer. Es wurde zuletzt aktualisiert von  Andi252 vor 1 Woche, 2 Tagen.

Ansicht von 15 Beiträgen - 91 bis 105 (von insgesamt 116)
  • Autor
    Beiträge
  • #4212

    elelom
    Teilnehmer

    Auch wenn ich den WiFree Copter (jetzt) nicht bauen möchte, muss ich doch mal Fragen.
    Ich habe für einen Foto-Copter eine Naze32 als FC.
    Mit Cleanflight funktioniert auch alles bis auf die mangelnde GPS unterstützung unter CF. Daher bin ich auf iNav gestossen. In der aktuellen V1.6 sind jedoch einige für mich wichtige Funktionen nicht mehr vorhanden. Speziell Graupner HOTT und SUMD.
    Also wollte ich mir entsprechend dem Beitrag hier auf Seite 3 (#4111) das iNav selber kompilieren. Aber die beschriebene common.c existiert nicht. Nur eine common.h Ist das die Richtige? Was kann/soll/muss dort auskommentiert werden? Mit Bitte um Hilfe.

    Jens

    #4213

    pinae
    Teilnehmer

    Die common.h ist die richtige Datei. Die Änderungen funktionieren wie auf Seite 3 beschrieben. Allerdings bezieht sich das nicht auf Graupner HOTT und SUMD.

    #4215

    elelom
    Teilnehmer

    In der common.h ist ja von Hause aus erstmal alles mit # auskommentiert.
    wenn ich dann ein make starte, bastelt er mir ein .hex File.
    meines verständniss nach muss ich die # in den benötigten Zeilen entfernen und die entsprechenden Funktionen zu aktivieren.
    wenn ich aber zB define serial_rx nutzen möchte, erzeugt make eine Fehlermeldung

    #4216

    franktango
    Teilnehmer

    Hi,
    Sorry für den Fehler mit der common.h. War wohl ein Typo.
    Aber ‚#define‘ ist eine Compiler Directive. Auskommentieren kann man die nur mit der C Sytax: /* blabla */ oder C++: // blabla
    Die C Variante kann über mehrere Zeilen gehen. C++ Kommentare nur über eine Zeile.

    Also
    //#define GPS
    wird Code der mit #ifdef GPS …#endif eingeschlossen ist NICHT einbauen..
    Die meisten Defines in common.h sind also gesetzt. Eben so viele, wie in den Speicher passen.

    Gruß,
    Frank

    #4224

    Robjub
    Teilnehmer

    Hallo Zusammen,
    kann mir jemand sagen was ich falsch eingestellt habe wenn ich im INAV Menü unter ECS/Motor Feature keine Einstellmöglichkeit habe ?
    Vielen Dank im Voraus.

    Gruß
    Robert

    #4225

    elelom
    Teilnehmer

    Was willst du den dort einstellen?
    Dort ist nichts. Du kannst lediglich auf der rechten Seite den Motor Test aktivieren.
    VORHER PROPELLER AB!!!
    Dann kannst du die einzelnen Motoren ansteuern zum Test. Motoren natürlich nur die, die vorher in der Config oder per Custom Mixer definiert wurden.

    #4226

    Robjub
    Teilnehmer

    Entschuldigung für meine unklare Frage.
    Ich meine ja unter dem Haupmenü „Configuration“ den Unterpunkt „ECS/Motor Feature“.
    Dort habe ich nur den Reiter aber nichts um einstellen.
    Siehe hierzu beigefügtes Bild.

    Dateianhänge:
    You must be logged in to view attached files.
    #4228

    elelom
    Teilnehmer

    Keine Ahnung, habe ich so noch nicht gesehen.
    Ich würde die FC nochmals neu flashen, ggf mal andere Version oder und den Konfigurator neu starten.
    Kannst ja auch mal Cleanflight flashen und schauen ob da Einstelloptionen sind.

    #4238

    brm
    Teilnehmer

    sind die sourcen zur applikation im raspi erhältlich?
    ich würde da gerne einige erweiterungen einbauen.

    die raspi’s liegen hinter mir inkl. kleinmaterial.
    was mit aber fehlt ist ein 3d drucker. gibt es hier jemanden der gegen entgelt
    druckt?

    #4299

    hama0013
    Teilnehmer

    Hallo Franktango,
    da gerade mieses Wetter ist und mein Wifree eh nicht fliegt, habe ich mich mal im Kompilieren der INAV Firmware, nach deiner Anleitung, versucht – habe dazu aber ein paar Fragen:

    Ich benutze die Windows-Umgebung über Cygwin. Der erste Kompilierungsversuch schien zu gelingen, wenngleich auch seitenweise Warnungen dieser Art ausgegeben wurden:

    ./lib/main/CMSIS/CM3/CoreSupport/core_cm3.h:313:5: warning: type of bit-field ‚_reserved1‘ is a GCC extension [-Wpedantic]
    uint32_t _reserved1:30; /*!< bit: 2..31 Reserved */
    ^

    Da am Schluß ein HEX-File generiert wurde, denke ich, man kann diese Warnungen ignorieren. Allerdings hatte ich dann versucht die Optionen für meinen CC3D anzupassen. Zuerst hatte ich nur ein „common.h“ und kein „common.c“ wie in deiner BEschreibung, im INAV-Ordner gefunden. Denke, das war nur ein Schreibfehler in deinem Post. Innerhalb dieser Datei fand ich dann eine Sektion mit diesen Parametern:

    #if (FLASH_SIZE > 64)
    #define BLACKBOX
    #define GPS
    #define GPS_PROTO_UBLOX
    #define NAV
    #define TELEMETRY
    #define TELEMETRY_LTM
    #define USE_FLM_HEADLOCK
    #define USE_FLM_TURN_ASSIST
    #define TELEMETRY_FRSKY
    #endif

    Den Eintrag „SKIP_RX_MSP“ aus deinem Post, fand ich überhaupt nicht…
    Zum Einschalten des RX_MSP muss doch auch die Zeile „#define USE_RX_MSP“ dazu, oder?
    Ich hatte die Einträge nun so angepasst:

    #if (FLASH_SIZE > 64)
    #define BLACKBOX
    #define USE_RX_MSP
    #undef GPS
    #undef GPS_PROTO_UBLOX
    #undef NAV

    #define TELEMETRY
    #define TELEMETRY_LTM
    #define USE_FLM_HEADLOCK
    #define USE_FLM_TURN_ASSIST
    #define TELEMETRY_FRSKY
    #endif

    Dann läuft das Kompilieren auf folgenden Fehler auf

    Linking CC3D
    C:\cygwin64\tmp\ccoNC75f.ltrans13.ltrans.o: In function `sendBaro‘:
    C:\cygwin64\home\Wohnzimmer\inav/./src/main/telemetry/frsky.c:170: undefined reference to `getEstimatedActualPosition‘
    collect2.exe: error: ld returned 1 exit status
    Makefile:846: die Regel für Ziel „obj/main/inav_CC3D.elf“ scheiterte
    make: *** [obj/main/inav_CC3D.elf] Fehler 1

    Ich habe ein wenig herumprobiert und heraus bekommen, dass es nur funktioniert, wenn ich nur folgende Anpassung mache:

    #if (FLASH_SIZE > 64)
    #define BLACKBOX
    #define USE_RX_MSP
    #define GPS
    #undef GPS_PROTO_UBLOX
    #define NAV
    #define TELEMETRY
    #define TELEMETRY_LTM
    #define USE_FLM_HEADLOCK
    #define USE_FLM_TURN_ASSIST
    #define TELEMETRY_FRSKY
    #endif

    Die Dateigröße ist am Schluß 120608 kB groß und lässt sich auf den CC3d flashen. Nur ausprobieren kann ich es nicht, da ich meinen Raspi leider kaputt gemacht habe – Neubeschaffung läuft gerade.

    Habe ich da alles richtig gemacht/mir richtig zusammengereimt? Bin ein wenig verwundert, da es nicht 100% zu deiner Beschreibung passt.

    Gruß,
    Mathias

    #4300

    franktango
    Teilnehmer

    Hallo Mathias,

    Ja, das mit der Common.h war ein Fehler von mir. Leider kann ich den Beitrag nicht mehr ändern.

    Unter Cygwin habe ich das noch nicht probiert.
    Kann also dazu wenig sagen. Da hilft nur probieren.

    Ich kann mich auch nicht mehr genau an die Änderungen erinnern, aber wenn Du die aktuellen GIT Sourcen nutzt, hat sich vielleicht schon wieder etwas geändert. Dann muß man die neuen #defines nutzen.

    Ich nutze immer noch die Version, die ich damals erstellt hatte, da sie gut funktioniert. Heute habe ich aber gerade meine neue RC genutzt, die jetzt den CC3D über iBus ansteuert. Damit ist die Verbindung zum Raspi weggefallen. Mit der normalen RC reagiert der Copter schneller und ich kann ihn besser steuern. Als Anfänger ist das echt wichtig… Ich denke mal die Reichweite wird auch besser, aber wegen Regen und Wind war ich noch nicht damit im Freien.

    Gruß,
    Frank
    Ps. Anbei noch meine common.h

    Dateianhänge:
    You must be logged in to view attached files.
    #4303

    bnotice
    Teilnehmer

    Hallo zusammen,

    Ich habe jetzt so weit alles zusammen, dass ich den zero mit Kamera ans laufen bekomme und auch mit dem CC3d verbinden kann (INAV 1.5.1). Wenn ich mit der App versuche zu steuern kann ich im Flightcontroller auch eine Reaktion sehen, leider jedoch linke und rechte Seite vertauscht (Also Throttle und Roo, Yaw und Pitch, … vertauscht). Kann mir jemand helfen an welcher Stelle ich diese Einstellungen ändern kann? Beim Receiver Tab von INAV habe ich das Auswahlfeld „Chanel Map“, aber egal was ich dort auswähle, es steht immer „AETR 1234“ darin.
    Vielen Dank für Eure Hilfe.

    #4304

    bnotice
    Teilnehmer

    Hallo zusammen,

    habe gerade die Lösung für mein Problem gefunden. Ist ja einfach wenn man sie kennt 🙂

    Das Feld Channelmap ist gar kein Auswahlfeld sondern ein Editfeld und man kann die gewünschte Sortierung da eintragen und dann mit Save auf den Controller übertragen.

    #4305

    hama0013
    Teilnehmer

    Hallo Frank,
    ja, deine „common.h“ sieht tatsächlich inzwischen ein bisschen anders aus. Seltsam, dass in deiner das MSP überhaupt nicht explizit mit „USE_RX_MSP“ aktiviert wird…Aber vielleicht hängt das mit dem „SKIP_RX_MSP“, welches bei dir drin und aktiv abgeschaltet wurde und bei mir überhaupt nicht vorhanden ist: SKIP=Überspringen/weglassen???

    Übrigens habe ich es doch noch geschafft, ohne Raspi Zero, meine selbst kompilierte FW auszuprobieren – hatte noch einen alten Raspi 1 im Schrank liegen und habe den als Ersatz für meinen defekten Zero verwendet: Funktioniert einwandfrei!

    Momentan scheine ich am selben Thema zu hängen: Der Wifree ist als Anfangsprojekt super. Hat
    mir eine Menge Freude bereitet und ich habe inzwischen viel dazu gelernt. Allerdings bin ich an dem Punkt angelangt, wo mir die ständig abbrechenden Arme, die kurze WLAN-Reichweite und der fehlende Platz für An- und Umbauten nicht mehr ausreicht. Habe mich deshalb erst mal entschieden zu einem alternativ-Frame: Peon 230 (…auf Thingiverse…)
    Ansonsten hatte ich alles vom Wifree übernommen – Fliegt (flog…) super!
    Nächster Schritt: Dickere Batterie: 3S mit 1800mA – Wow, geht das ab! Das war ein Erlebnis wie der Umstieg vom 34PS Käfer zum Golf GTI in den 80ern…Ich dachte zuerst, der hebt mit der schweren Batterie kaum ab…
    Leider war das auch zu viel des guten…Ich hatte nach ein paar Runden mal einen Abhebetest auf Vollgas probiert – so schnell wie der im Himmel immer kleiner wurde, so schnell verlor ich auch die Verbindung zur Steuerung. Nach 20sek konnte ich ihn kaum noch sehen und hatte ein ziemlich ungutes Gefühl, da ich ja die gesteigerte Akku-Laufzeit noch gar nicht kenne – …Failsave, hatte ich den überhaupt aktiviert…oh Gott!
    Aber dann ist er genau so schnell wie er hochgeschossen ist auch wieder runter gekommen und 50m weiter eingeschlagen – klar, hatte ja die Failsave Motordrehzahl an das neue Gewicht nicht angepasst.
    Der Kopter hatte es relativ gut überstanden: nur die obere Platte, auf der die Batterie lag, der Raspi und der WLAN-Stick darunter hatte den Aufschlag nicht überlebt durch mech. Überbeanspruchung…

    Jedenfalls habe ich wieder eine riesen Erfahrungserweiterung und trau mich ohne Versicherung, ordentlicher RC und ohne sauber eingestelltem Failsave nicht mehr aufs Feld.
    …Flysky i6 RC, Naze32 FC und GPS für RTH sind schon bestellt…

    Anbei ein Bild zum Umbau: Nicht lachen! Der Raspi1 mit Gehäuse war nur zum Test gedacht – fliegt mit der dicken Batterie trotzdem problemlos…

    Gruß,
    Mathias

    #4307

    hama0013
    Teilnehmer

    Hier das Bild…

    Dateianhänge:
    You must be logged in to view attached files.
Ansicht von 15 Beiträgen - 91 bis 105 (von insgesamt 116)

Du musst angemeldet sein, um auf dieses Thema antworten zu können.