Tau Labs Software unterstützt vielfältige Hardware

Flensburger

Erfahrener Benutzer
Moin Carsten.

Sehr interessant hier. Da ich ein DiscoveryF4 und ein 10DOF rumliegen habe werde ich das mal testen.
 

cGiesen

Erfahrener Benutzer
@ernieift
Neues Update von Graupner:
V3a76:
SUMO: Failsafe/Hold jetzt einstellbar.
SUMO AUS bei Failsafe: Wenn ein Ausgang auf OFF eingestellt wird.




edit:
Meinen Quatsch gelöscht...

Gruß
Carsten
 
Zuletzt bearbeitet:

ernieift

Erfahrener Benutzer
Moin Carsten,
wenn SUMD noch funktioniert, dann ist ja alles i.O. :)
Bin jetzt schon ca. eine Woche intensiv dabei PicoC in Taulabs einzubauen. Erst gehen die Standartfunktionen vom Pios nicht (Filesystem, Speicherverwaltung). Dann sind noch ein Haufen Bugs im PicoC selbst. Zuletzt waren noch die Funktionen malloc() und free() von der ARM-Bibliothek nicht korrekt gelinkt. Wenn man also malloc() in den Source reinschreibt, dann wird der korrekt übersetzt. Aber der Linker schmeisst dann sowas wie
Code:
gcc-arm-none-eabi-4_7-2013q1/bin/../lib/gcc/arm-none-eabi/4.7.3/../../../../arm-none-eabi/lib/armv7e-m/fpu/libc.a(lib_a-sbrkr.o): In function `_sbrk_r':
sbrkr.c:(.text._sbrk_r+0xc): undefined reference to `_sbrk'
raus. Super!!! Hat mich einen ganzen Tag gekostet die Fehlerquelle zu finden. Eben habe ich eine Version zusammenbekommen, die sich schon mal linken lässt. Getestet habe ich noch nichts. Komme ich morgen auch nicht mehr dazu. Aber es entwickelt sich. Bisher kostet das Binary 40k vom Flash. Damit kann man es nicht mehr zum FF3 hinzufügen. Ich kriege es drauf, wenn ich die Telemetrie rausnehme :(. Auf dem Quanton passt es lässig drauf. Da komme ich z.Zt. auf eine Größe von 212k. Wird aber noch ein bischen mehr, da ja noch Funktionen für die UAVOs hinzukommen.
Ich habe auch mal mit eLua gespielt, aber das ist ein Resourcenfresser. Das Ding braucht alleine schon fast 200k. Hinzukommen noch irgendwelche Module.
Der jetzige Stand hat ein konfigurierbares Modul und einen optionalen UART zur Kommunikation. Anfangs will ich den Interpreter im interaktiven Modus laufen lassen. Filesystem kommt dann später.
Wenn ich soweit bin, dann mache ich mal ein Commit auf mein Git. Noch ist davon nichts online, kommt aber bald. Gehe jetzt endlich schlafen...
vg ernieift
 
Die Failsafe Geschichte beim SUMO war ja auch überfällig. Aber wichtig ist das das aus noch geht damit die Naze´n autolanden können.
Ernieift, das bei den F3 bald Schluß mit neuen Features ist sieht man eigentlich bei jedem Update - Hex zu Flash. Auch die Einwände von Guilhermo die Telemetrie nicht einzubauen wegen OtA Update sind obsolet da eh schon weniger als 50% Flash frei sind. Aber man kann dann ja ein Make Variante für die F4 Boards bauen wo PicoC optional eingebaut wird. Aber ich denke die Verfügbarkeit für die F4´s ist ausreichend denn nur hier sind auch ausreichend freie Ser vorhanden, zumindest bei den dokumentierten Boards.
vg jörg
 
Nein Programme in die FC laden - flieg hierhin, hierhin, hierhin steige usw
Abhängig von Akkustand wenn leer komm zurück. Schieß an bestimmten Position Bilder etc.
Ohne eine neue Firmware zu schreiben.
 

cGiesen

Erfahrener Benutzer
Aber das kann man doch locker über eine Parameter Liste machen.
WP_ID, Lon, Lan, Degrees, high, GimbalX, GimbalY, Action (Photo, Movie)
 

ernieift

Erfahrener Benutzer
Hi Carsten,
nee nee, da geht dann schon etwas mehr. Stell Dir von Du nimmst den Sonar (HCS-irgendwas) und lässt Deinen Copter mit Kompass durch den Wald fliegen ohne anzuecken. Das einfachste wird sein, Ladeklappen in Abhängigkeit von der Höhe zu steuern oder die Statusanzeige von einer PilotLamp ohne dazu gebauten Arduino-Übersetzer zu beeinflussen. Halt eine Art Mindstorm für Grosse...
Da es ja eine komplett freie C-Umgebung ist, kannst Du damit machen, was Du willst. Kann ja sein, dass Du Dein Quanton dazu benutzen willst um Pi auszurechnen :).
Der Vorteil ist einfach, dass Du immer ein Firmware-update machen kannst und trotzdem eigene Module verwenden kannst ohne irgendeine IDE zu benutzen. Du weisst ja selber, wie schwierig es ist eine eigene Firmware zu bauen oder die bestehende überhaupt zu durchschauen.
Zur Grösse: Ich denke, wenn so gut wie alles drin ist, dann werden es ca. 50..60k zusätzlich im Quanton werden. Bei 1MB Flash ist das sehr gering.
vg ernieift
 

cGiesen

Erfahrener Benutzer
Die Idee hört sich prima an, ich glaube aber, dass 95% der Anwender damit überfordert sind.
Auch wird es nicht mit der Implementation getan sein.
Du brauchst ja auch einen Layer, über dem Du mit der Firmware kommunizierst.
Du muss auf Events reagieren, die ganzen Sensoren auslesen und und und

So richtig spannend wird es aber, wenn man einen gescheiten Link hinbekommt und kann mit einer Basisstation agieren kann oder mit einem Schwarm....
 

ernieift

Erfahrener Benutzer
Die Sensoren bekommst Du über die UAVOs. Damit kannst Du dann auch Funktionen am Copter steuern. Den COM-Port habe ich ja schon drin. Muss man aber nicht benutzen. Eventuell kann man auch einen Kanal über den GCS-Telemetrielink tunneln. Events werden so einfach nicht gehen. Das muss man dann über Polling lösen. Es wird ja auch kein Multithreading werden. Der Interpreter läuft aus Sicherheitsgründen mit geringster Priorität, ist natürlich entsprechend langsam aber vielseitig. Mal sehen, ob es für programmierte Kunstflugfiguren reicht ;).
Zu Lesen/Schreiben der UAVOs baue ich dann Funktionen ein. Das geht einfach über eine Library. Die Wrapper sorgen dabei dann für etwas Sicherheit. Natürlich schützt es nicht davor, den Copter durch einen Programmierfehler vom Himmel zu holen. Das ist aber beim Ausprobieren der letzten Beta-Firmware auch nicht anders.
 

ernieift

Erfahrener Benutzer
Wegen der Anwender, die das nicht nutzen mache ich mir keine Sorgen. Es fliegen ja offenbar auch nicht viele Graupner und trotzdem ist die Telemetrie drin...
 

Flensburger

Erfahrener Benutzer
Ein Frohes Neues wünsche ich euch.

Versuche gerade TauLabs komplett zu compilieren Git copy von heute Nachmittag), komme auch recht weit. Leider bricht dann der Compiler ab:

"CC flight/Libraries/CMSIS3/DSP_Lib/Source/FastMathFunctions/arm_sqrt_q15.c
CC flight/Libraries/CMSIS3/DSP_Lib/Source/CommonTables/arm_common_tables.c
CC flight/Libraries/CMSIS3/DSP_Lib/Source/TransformFunctions/arm_bitreversal.c
CC flight/Modules/PathPlanner/path_saving.c
CC flight/Modules/PathPlanner/pathplanner.c
/home/jh/workspace/TauLabs/TauLabs/flight/Modules/PathPlanner/pathplanner.c: In function ‘waypointsUpdated’:
/home/jh/workspace/TauLabs/TauLabs/flight/Modules/PathPlanner/pathplanner.c:208:3: error: call to function ‘activateWaypoint’ without a real prototype [-Werror=unprototyped-calls]
activateWaypoint(waypointActive.Index);
^
/home/jh/workspace/TauLabs/TauLabs/flight/Modules/PathPlanner/pathplanner.c:61:13: note: ‘activateWaypoint’ was declared here
static void activateWaypoint();
^
cc1: all warnings being treated as errors
make[1]: *** [/home/jh/workspace/TauLabs/TauLabs/build/sim_posix_revolution/pathplanner.o] Fehler 1
make: *** [sim_posix_revolution_elf] Fehler 2
"
Habt Ihr das auch ??

Gruß,
Johannes
 

cGiesen

Erfahrener Benutzer
Eigentlich brauchst Du nur dem Wiki folgen.
Was für Windows noch gefehlt hatte, hatte ich nachgepflegt.
Klappt bei mir einwandfrei.. Den Code von heute habe ich aber nicht probiert.
 

Flensburger

Erfahrener Benutzer
Eigentlich brauchst Du nur dem Wiki folgen.
Was für Windows noch gefehlt hatte, hatte ich nachgepflegt.
Klappt bei mir einwandfrei.. Den Code von heute habe ich aber nicht probiert.
Ich bin dem Wiki gefolgt. Bootloder ist auch schon geflashed (make bl_flyingf4_program). Nun wollte ich auch die Firmware erzeugen habe dann ein "make all" gestartet. Ach ja, ich benutze Opensuse 13.1.
 

ernieift

Erfahrener Benutzer
Gesundes Neues Johannes,
ich nehme zwar auch kein Linux dafür, aber vielleicht hilf es mit 'make arm_sdk_install' und 'make qt_sdk_install' die richtigen Tools nachzuinstallieren. Es kann nämlich sein, dass Dein Linux andere Versionen benutzt und Du dann damit Probleme bekommst.
vg ernieift
 

Flensburger

Erfahrener Benutzer
Das habe ich alles gemacht. taulabsgcs.bin ist kompiliert und startet auch. Bootloder vom DiskoveryF4 ist auch kompiliert. Das make befindet sich jetzt bei flight/Modules/PathPlanner/pathplanner.c , anscheinend ist bei static void activateWaypoint(); die Deklaration geändert worden.

Gruß,
Johannes
 
FPV1

Banggood

Oben Unten