MultiWiiKopter-Konfigurationsprogramm für Arduino

Benutzeravatar
yacco
Beiträge: 4728
Registriert: 15.02.2009 19:27:59
Wohnort: Aßlar

#91 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von yacco »

Yep, die Pfeile zeigen an, wenn der Wertebereich (0..100 bzw. -100..+100) überschritten wird.

Diese PROGMEM Direktive scheint genau das zu sein, was ich gesucht hatte, um Konstanten vom SRAM ins Flash zu verschieben, der Hinweis war super. :)
Ciao, Arnd
Benutzeravatar
calli
Beiträge: 6970
Registriert: 22.11.2004 12:40:52
Wohnort: Berlin
Kontaktdaten:

#92 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von calli »

Ich muss ja was tun dafür das mein Name da so prominent im Source steht und ich doch nix dolles gemacht hab...

C
Status: Flugtagebuch (grün=ok, orange=in Arbeit, rot=groundet)
Setup: Humingbird, Trex500ESP/FBL, WiiCopter, PZ Bf109, Easy Glider, Nuris, MCPx, MQX, Sim, Evo9 M-Link, DMFV
Flugwiese
Beiträge: 20
Registriert: 07.01.2011 14:49:54

#93 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von Flugwiese »

Hier noch eine Idee für eine Erweiterung der Box:
Kann man feststellen ob die Sensoren kalibriert sind?
Und wenn ja, dann eine OK Anzeige (evtl. sogar mit den entsprechenden Werten?)

Gedanke wäre so eine Art Pre-Flight Check machen zu können.

Andere Idee: Spannung des Lipo anzeigen, wenn die Spannungsüberwachung eingebaut ist...

Nur was mir so spontan einfällt :idea:
Have Fun!

Wolfram

www.flugwiese.de
Benutzeravatar
yacco
Beiträge: 4728
Registriert: 15.02.2009 19:27:59
Wohnort: Aßlar

#94 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von yacco »

Wolfram, die Daten müßte die MWC Software aber erstmal rausrücken, im Moment komm ich da nicht dran. Das mit der Kalibrierung ist eine gute Idee, mir würde es auch gefallen, wenn die SW-Version mit übertragen würde. Wenn ich die Geschichte mit dem Loggen eingebaut hab (sieht sehr gut aus im Moment :bounce:), werd ich den Entwickler mal antriggern.
Ciao, Arnd
Benutzeravatar
yacco
Beiträge: 4728
Registriert: 15.02.2009 19:27:59
Wohnort: Aßlar

#95 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von yacco »

Mal als kleiner Teaser... das Loggen klappt mit der SD Library im Moment schon ganz gut, ich schreibe praktisch nur die Datensätze, die mir das MWC Board schickt, binär auf eine SD-Karte (SD oder SDHC wird unterstützt). Woran ich noch am Stricken bin, ist, dass das Config-Programm die Datensätze anschliessend über die serielle Leitung wieder ausgibt, damit das MultiWiiConf sie darstellen kann.

Stay tuned.:)
Ciao, Arnd
Flugwiese
Beiträge: 20
Registriert: 07.01.2011 14:49:54

#96 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von Flugwiese »

Ist das dann eine Seeduino Platine? Oder wie wird die SD-Karte an untergebracht?
Have Fun!

Wolfram

www.flugwiese.de
Benutzeravatar
yacco
Beiträge: 4728
Registriert: 15.02.2009 19:27:59
Wohnort: Aßlar

#97 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von yacco »

Wolfram, bei mir läuft das auf einem Uno oder Mega1280, die SD Karte wird über das SPI angeschlossen (kommt im Betrieb leider zu leichten Überlappungen mit dem LCD Display, den Grund hab ich noch nicht gefunden). Hab zum Testen ein Interface Shield von DFRobot, auf dem sich ein Micro SD Card Slot befindet. Geht aber auch mit allen anderen SD Card Breakouts, wie gesagt, die Karte wird über SPI angesteuert (standardmässig Pins A10-A13).
Ciao, Arnd
Benutzeravatar
yacco
Beiträge: 4728
Registriert: 15.02.2009 19:27:59
Wohnort: Aßlar

#98 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von yacco »

Guten Tag. :)

Da nun endlich alle Teile für meinen Tricopter angekommen sind, konnte ich das LCD_Config jetzt endlich auch mal im realen Einsatz testen. Dabei fiel mir auf, dass nach der Kalibrierung die MWC Software scheinbar neu anfordert, habe das Programm entsprechend geändert.

Anbei dann also die Version 1.25 mit Logging Funktion. (Hatte mir überlegt, schon auf Version 2.0 hochzugehen, aber durch das Logging haben sich die Testfälle dermassen vervielfacht, dass ich eigentlich damit rechne, dass es noch an der einen oder anderen Stelle bisschen ruckelt und wahrscheinlich noch ein paar Update folgen werden, bevor es richtig stabil läuft).

Änderungen:

* Entwicklungsumgebung ist Arduino 022, in der 021 ist die SD Library noch nicht vorhanden.

* keine wesentlichen Änderungen, was die schon vorhandenen Funktionen betrifft, nur das Fehlerhandling wurde etwas verbessert (z.B. Klartext statt "Read Error #1"). Im Startzustand wird ausserdem jetzt der "AutoLevel" Zustand aktualisiert.

* Das SRAM wurde etwas freigeschaufelt und die meisten Strings ins Flash verschoben.

* Antwort auf Requests vom MWC Board (siehe oben) eingebaut.

* Logging: wenn eine SD Karte über SPI angeschlossen ist, gibt es nun die Möglichkeit, die empfangenen Daten vom MWC auf die Karte zu loggen und das Logfile anschliessend an das MultiWiiConfig zu übertragen. (Ich habe bis jetzt SD und SDHC Karten ausprobiert mit 1 oder 2 GByte und FAT16 und FAT32 Filesystem, scheint bei allen zu funktionierten). Wenn ein LogFile auf der Karte vorhanden ist, wird am Anfang abgefragt, ob das LogFile via serieller Schnittstelle abgespielt werden soll. Der Logging Mode wird ins EEPROM gespeichert und ist auch nach einem Neustart wieder aktiv, Abschalten/Anhalten kann man ihn durch Drücken einer Taste. Beim Einschalten des Logging Modes kommt eine Abfrage, ob sofort mit dem Loggen begonnen werden soll oder ob nur der Logging Mode eingeschaltet werden soll (in letzterem Fall geht das Programm in eine Endlosschleife, aus der man nur durch Reset wieder herauskommt - it's not a bug, it's a feature). Weiterhin gibt es die Möglichkeit, Logfiles zu löschen und das Delay einzustellen, die das LCD_Config beim Loggen zwischen zwei Abfragen wartet (von 0 bist 2500 ms). Logfiles bestehen aus drei Ziffern und der Extension ".log" und können natürlich auch vom PC gelesen werden (die Daten sind allerdings binär abgelegt). Sprich, es können maximal 1000 Logfiles angelegt werden (bin mir aber ziemlich sicher, dass soviele sowieso nicht in das Rootverzeichnis eines FAT Filesystems passen :)).

Die Logging Funktionen können über Auskommentieren der Konstante LOGGING auch herauscompiliert werden. (Gibt jetzt jede Menge #ifdef's im Code, was die Lesbarkeit nicht unbedingt vergrößert.) Allerdings ist mir aufgefallen, dass es noch andere Probleme mit den Preprocessor Kommandos gibt als das, was weiter oben schon mal behandelt wurde. Wenn LOGGING undefiniert ist, linkt Arduino scheinbar trotzdem die SD Library in das Executable, jedenfalls wird das Executable um gut 4 kB kleiner, wenn man zusätzlich auch noch die Zeile #include <SD.h> auskommentiert. Wer versucht, das ganze auf nem ATMega168 zum laufen zu bringen, muß das unbedingt beachten, ansonsten wird das Executable zu groß.

Was mich noch ein bisschen stört, ist, dass die Hintergrundbeleuchtung des LCDs beim Loggen flackert, ich nehme an, dass ist ein Hardwareproblem, konnte aber noch nicht ganz rauskriegen, woran das hängt (die Ausgabepins für das LCD und für SPI überschneiden sich nicht). Nehme an, das ist eine Timergeschichte. Ausserdem gibt es ohne LCD keine Möglichkeit, das Loggen anzuhalten, sprich, wenn man das LCD_Config ohne Display mitfliegen läßt, wird beim Ausschalten das Logfile nicht geschlossen. Ausser den Daten, die sich zu dem Zeitpunkt noch im Buffer (512 Byte) befinden, scheint dabei nichts verloren zu gehen, bin mir aber nicht sicher, dass das immer so sein muß.

Have Fun. :)
Dateianhänge
LCD_Config_125.zip
(11.52 KiB) 134-mal heruntergeladen
Ciao, Arnd
Fighter
Beiträge: 7
Registriert: 03.01.2011 19:03:14

#99 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von Fighter »


Hallo Arnd.

Ich muss mich einfach bei dir bedanken.

Hervorragende Arbeit.

Das du auch an den 168iger gedacht hast einfach super.

Gruß Joachim
Benutzeravatar
yacco
Beiträge: 4728
Registriert: 15.02.2009 19:27:59
Wohnort: Aßlar

#100 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von yacco »

Kleines Update...

Aus aktuellem Anlaß (mein Tri will irgendwie nicht so recht) hab ich das Programm so angepaßt, dass nicht nur der aktuelle Wert der Sensoren und Servo-Ein/Ausgänge angezeigt wird, sondern auch die jeweiligen Minima und Maxima. Umschalten des Modes geht in den jeweiligen Zuständen mit der Taste "rechts" (die glücklicherweise noch frei war :)). Beim Wechsel in einen Zustand, der MinMax unterstützt, wird jeweils kurz der Ausgabemode angezeigt ("Act", "Min", "Max").

Außerdem werden die Sensordaten jetzt mit Vorzeichen angezeigt (seltsam, dass das noch niemand gemerkt hat, das war ja von Anfang an falsch, tsts :))

Zuletzt hab ich das Fehlerhandling beim Lesen der Parameter vom MWC Board angepaßt - insbesondere nach dem Kalibrieren ist das Programm sonst regelmäßig hängengeblieben.
Dateianhänge
LCD_Config_127.zip
(11.49 KiB) 130-mal heruntergeladen
Ciao, Arnd
Benutzeravatar
calli
Beiträge: 6970
Registriert: 22.11.2004 12:40:52
Wohnort: Berlin
Kontaktdaten:

#101 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von calli »

Wie lösche ich das eeprom? Ich glaube ich habe mich vertippt und jetzt habe ich 1.5 gespeichert?!

EDIT: Gefunden :oops: :oops:

CArsten
Status: Flugtagebuch (grün=ok, orange=in Arbeit, rot=groundet)
Setup: Humingbird, Trex500ESP/FBL, WiiCopter, PZ Bf109, Easy Glider, Nuris, MCPx, MQX, Sim, Evo9 M-Link, DMFV
Benutzeravatar
el-dentiste
Beiträge: 4526
Registriert: 15.07.2005 20:11:39
Wohnort: Erde

#102 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von el-dentiste »

Kann man doch einfach uberschreiben oder!?
...Zahnfee....
Benutzeravatar
calli
Beiträge: 6970
Registriert: 22.11.2004 12:40:52
Wohnort: Berlin
Kontaktdaten:

#103 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von calli »

Ja wenn man auf die Idee kommt es einfach an den Copter anzuschließen.... Ohne kommt man ja nicht ins Menü und ich wusste nicht ob das ratsam ist mit flascher Version.

C!
Status: Flugtagebuch (grün=ok, orange=in Arbeit, rot=groundet)
Setup: Humingbird, Trex500ESP/FBL, WiiCopter, PZ Bf109, Easy Glider, Nuris, MCPx, MQX, Sim, Evo9 M-Link, DMFV
Benutzeravatar
yacco
Beiträge: 4728
Registriert: 15.02.2009 19:27:59
Wohnort: Aßlar

#104 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von yacco »

Seit dem letzten Update wird die Version im EEPROM gelöscht, wenn beim Lesen der Daten ein Fehler auftritt. Das war in der Tat in den Versionen davor ein Zustand, aus dem man so einfach nicht mehr rauskam (eine Möglichkeit wäre, das Sketch im Testmode aufzuspielen und die Version dann umsetzen).

Aber passieren kann da eigentlich nichts Schlimmes. :) Hat nur bisschen genervt.
Ciao, Arnd
Benutzeravatar
yacco
Beiträge: 4728
Registriert: 15.02.2009 19:27:59
Wohnort: Aßlar

#105 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Beitrag von yacco »

calli hat geschrieben:Release soon, release often! :D
Ihr habt's ja so gewollt... :D

Wir schreiben Version 1.28.

Ich habe die graphische Ausgabe (ihr wißt schon, diese nutzlose Balkengrafik) bisschen aufgebohrt. Funktioniert jetzt auch für die beiden Neigungswinkel Rho (wie Roll) und Phi (wie Pitch), in Anlehnung an die Darstellung in der MultiWiiConf. Damit kann man jetzt leichter erkennen, wenn die Sensoren falsche montiert sind (kann ja schließlich jedem mal passieren nicht :)).

Die Linien entsprechen der Orientierung des Copters von hinten (Roll) bzw. von rechts (Pitch), der kleine Strich zeigt, wo oben ist. Das ganze kann über die Konstante GRAPHIC auch beim Compilieren ausgeblendet werden (für die 16k Sparbrötchen). Die Linien bestehen aus 4 Zeichen, sprich, die ganze Grafik hat gerade mal 20x8 Pixel. Mehr geht mit dem LCD eben nicht.

Das Umschalten des Graphic-Modes geht in den betreffenden Zuständen mit der SELECT-Taste.

Ich glaube, das war's jetzt erstmal mit Updates. Ausser jemand entdeckt irgendeinen miesen Bug. :D
Dateianhänge
LCD_Config_128.zip
(12.28 KiB) 133-mal heruntergeladen
Ciao, Arnd
Antworten

Zurück zu „Allgemeines“