Seite 3 von 81

#31 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 10:56:19
von calli
So, die Tasten von meinem Display gehen jetzt auch, ich habe mich entschieden nicht zu löten sondern mit #ifdef die getRawKey() Funktion zu ändern wenn HW Keys benutzt werden sollen.

Das Programm wird echt viel Wert sein auf dem Platz!

Was mir noch aufgefallen ist:

- DIe Gyrowerte werden nicht angezeigt (000).
- Bis zum Quad könnte man vielleicht die Motor/ESC Werte auf einer Seite anzeigen oder es anders darstellen:

Code: Alles auswählen

FL: 000  FR: 000
RL: 000  RR: 000
Vielleicht reicht auch ein Wertebereich von 0-99 (also zweistellig) oder Du nutzt die 3 Stellen auch für die Anzeige von 0-999

Im Anhang noch mein letzter Stand. Vielleicht sollten wir das zu Google Code stellen, da haben wir Versionskontrolle.

Gruß,
Carsten

#32 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 10:57:46
von calli
yacco hat geschrieben:Naja, so komplex ist der Code jetzt nicht... :) rawGetKey() liest den analogen Eingang aus und wandelt den Wert in einen Keycode um, getKey() entprellt die Tasten etwas, getKeyPressed() ruft getKey() auf und wartet, bis die Taste losgelassen wird.
Ja, war schon etwas müde gestern ;-) Heute flutschte es.

Carsten

#33 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 11:02:50
von calli
yacco hat geschrieben:Calli, hast du ne Idee, warum ich beim Compilieren der neuen pde mit undefinierter SRLCD Konstante und den Zeilen etliche unsinnige Fehlermeldungen bekomme (z.B. kennt der einige der built in Routinen nicht mehr), während es in umgedrehter Reihenfolge funktioniert? Ist das ein Bug im Compiler? Funktioniert bei dir die zweite Variante auch?
Ich habe keine Ahnung. Das sollte man mal die Cracks im Arduino Forum fragen.

Habe nen relativ neuen Thread dazu gefunden: http://www.arduino.cc/cgi-bin/yabb2/YaB ... 26703466/0

Carsten

#34 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 11:06:47
von calli
Noch was zum Code-Style: "In general const is preferred over #define for defining constants." Warum und wieso keine Ahnung ;-)

Carsten

#35 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 12:14:41
von yacco
Hey, hier gehts ja gut voran. Im Anhang ist die Version 0.97 inkl. der HardwareKey Routine (hab nur ein paar Zeilenumbrüche entfernt, damit man mehr Zeilen im Editor sieht). Im Vergleich zur letzten wurden sonst eigentlich nur Kommentare eingefügt, die Reihenfolge der Routinen etwas umgestellt und kleinere Optimierungen gemacht, was die Code-Größe angeht.

Carsten, das mit den fehlenden Gyro-Werten versteh ich nicht so ganz. Kannst du sie im MultiWiiConf sehen? Die werden ja genauso behandelt wie die übrigen Daten, die das MultiWii-Board schickt. Wenn nur langsam mal mein WMP einschlagen würde... mmh.

Was das Zusammenfassen der vier ESC-Werte auf einer Seite angeht, muß ich mal in mich gehen. Das paßt nicht so ganz mit dem Layout der anderen Zustände zusammen. Ein symmetrischer Wertebereich von -100 bis +100 gefällt mir persönlich besser, könnte man aber auch über #define konfigurierbar machen. Begrenzen des Werts auf zwei Stellen ist glaube ich keine gute Idee, ich sehe bei mir da öfter höhere Werte in der Anzeige. Wie gesagt, ich mach mir da mal Gedanken, wäre wirklich schöner, alles auf einmal im Blick zu haben.

Die Code-Größe scheint sich nicht zu verändern, wenn man ein #define gegen eine Konstante ersetzt. Diese ellenlangen #define-Header hab ich bis jetzt in allen Beispielprogrammen gesehen und mir nichts dabei gedacht. :drunken:

Kay, hab mir den Editor gestern auch mal runtergeladen. Blöd, dass man in die IDE nicht einfach einen externen Editor einfügen kann. (Was mich allerdings noch mehr nervt als der gurkige Editor, ist, dass die IDE die Toolbar nicht disabled, wenn man compiliert oder ein upload macht... permanent click ich doppelt oder zu früh auf einen Button, was dann zu seltsamen Fehlern führt...).

EDIT: UPDATE - hab den Fehler mit den fehlenden Gyro-Werten gefunden... mea culpa :oops:
EDIT2: nö, doch nicht...

#36 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 12:25:42
von kay23
Also ich arbeite gern mit dem Notpad++. Das Highlighting macht es einfacher wenn man mal schnell was suchen will.
Interessnt wär es wenn man mit nem Macro noch den Compiler aufrufen und dann das Board flashen. Aber anyway, highlighting ist nen Anfang. ;)

#37 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 12:52:53
von tracer
Crizz hat geschrieben:ja nee, is klaaaa
Softwareprojekte wecken eher meine Neugier.
Und der andere Thread hat jetzt schon über 40 Seiten, irgendwann werde ich mir die Zeit nehmen, ihn zu lesen.

#38 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 13:04:00
von calli
yacco hat geschrieben:Carsten, das mit den fehlenden Gyro-Werten versteh ich nicht so ganz. Kannst du sie im MultiWiiConf sehen? Die werden ja genauso behandelt wie die übrigen Daten, die das MultiWii-Board schickt. Wenn nur langsam mal mein WMP einschlagen würde... mmh.
Ja, im MultiWiiCOnf ist alles ok.

Die neue Version compiliert ohne die #define SRLCD und #define HWKEYS prima, aber mit kommt wieder dieser doofe Fehler.

Die:

Code: Alles auswählen

// Ports for Hardwarekeys instead of LCD Shield ADC Keys
#define HW_RIGHT   10
#define HW_UP       9
#define HW_DOWN    11
#define HW_LEFT     8
#define HW_SELECT   6
Hast Du glaube ich vergessen.

Gruß,
Carsten

#39 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 14:17:58
von Crizz
@Tracer : solange du noch nicht Multicopter-infiziert bist ist das für dich eh weniger von Interesse, die Technik ist auf der ersten Seite schon abgehandelt, den Rest kannste dann überspringen ;) Ihc les hier halt mit, weil es mich interessiert - auch wenn ich vieles nicht verstehe, weil ich weder mit C noch mit Basic noch firm bin, ist schon über 20 Jahre her, da nen Neueinstieg finden ist hart.

#40 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 14:41:18
von yacco
So, anbei die 0.98, das ist wohl letzte Version für dieses Jahr.

Features: alle Anzeigen im "ESC Out" State sind jetzt gleichzeitig zu sehen (sogar bei Y6/Hex, da bleibt für Labels natürlich kein Platz mehr... ich will kein Gemecker hören, dass es jetzt unübersichtlicher ist :)).
calli hat geschrieben:Hast Du glaube ich vergessen.
Stümmt. :) Ist aber jetzt drin.

Was die fehlenden Gyro-Werte angeht, kann ich nur vermuten, dass meine deserialize16() Routine das nicht richtig hinkriegt. Hab sie mal etwas geändert. (Das Problem ist, dass sie im Test-Modus scheinbar funktioniert, und ich keine Wii-Hardware da habe).

Für das Problem mit den #defines hab ich auch keinen Workaround gefunden. Das ist echt Mist, besonders, da der Bug schon seit gut zwei Jahren bekannt ist.

#41 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 14:56:11
von tracer
Crizz hat geschrieben:solange du noch nicht Multicopter-infiziert bist ist das für dich eh weniger von Interesse
Ich habe nen X-Ufo hier, und habe schon Interesse an was "richtigem".

#42 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 15:01:12
von calli
yacco hat geschrieben:Für das Problem mit den #defines hab ich auch keinen Workaround gefunden. Das ist echt Mist, besonders, da der Bug schon seit gut zwei Jahren bekannt ist.
Komisch ist ja das es bei Dir erst nur mit SRLCD lief und jetzt bei mir anders rum, oder hast Du die Defines umgedreht?

Carsten

#43 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 15:22:45
von yacco
Nein, das lief bei mir auch nicht, ich hatte mir den Code von dir angesehen und gedacht, da kann nix schiefgehen. Erst später hab ich dann mal versucht, das ganze auch zu compilieren. Im Moment ist die Reihenfolge

Code: Alles auswählen

#ifndef SRLCD
  #include <LiquidCrystal.h>
  LiquidCrystal lcd = LiquidCrystal(8, 9, 4, 5, 6, 7); // rs, enable, d4, d5, d6, d7
#else
  #include <ShiftRegLCD.h>
  ShiftRegLCD lcd(3, 2, 4, 2);  // (Datapin, Clockpin, Enablepin or TWO_WIRE [, Lines [, Font]]])
#endif
was bei undefiniertem SLCD funktioniert.

Hab schon etliche Workarounds ausprobiert, keiner funktioniert. Es ist echt zum Verrücktwerden.

#44 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 15:53:25
von yacco
Ich habs gefunden... Arduino legt scheinbar unter <lokale Einstellungen>/temp jede Menge temporärer Dateien an, unter anderem auch eine Datei <sketch-Name>.cpp, welches wohl die Ausgabe des Arduino-Präprozessor darstellt (sprich, genau dieser File wird anschliessend an den avr-gcc übergeben). In dieser Datei werden nach den #includes die im folgenden definierten Methoden deklariert, was schiefgeht, wenn das erste #include in einem auskommentierten Block steht. Langer Rede kurzer Sinn, ich hab einfach diese Vorwärtsdeklarationen in meinen Sketch vor dem ersten #include eingebaut, schon läuft alles, wie es soll.

Da muß man erst mal drauf kommen, mann mann mann.

Immerhin weiß ich jetzt, dass ich ab und zu mal meinen temp-Ordner plätten muß. Mein root-Partition ist ständig am Anschlag, da machen 250 Arduino Build-Ordner schon was aus.

Also dann, hier Version 0.99 (Änderungen: hab die Ausgabe für die Motoren und für Throttle doch auf den Bereich 0..100 gemapped, alle anderen Servo-Signale sind weiterhin im Bereich -100..+100).

#45 Re: MultiWiiKopter-Konfigurationsprogramm für Arduino

Verfasst: 30.12.2010 17:10:02
von ChristophB
calli hat geschrieben:...
Was mir noch aufgefallen ist:

- DIe Gyrowerte werden nicht angezeigt (000).
...
Gruß,
Carsten
Also bei mir werden die Gyro und ACC Werte angezeigt. Version 0.96

Gruß Christoph