Neueinstieg in Boop Development

Begonnen von mhoesch, 08. Jan 2011, 14:48

« vorheriges - nächstes »
Nach unten

mhoesch

08. Jan 2011, 14:48 Last Edit: 08. Jan 2011, 14:55 by mhoesch
Hallo zusammen,

ich bin erst vor ein paar Tagen zum ersten Mal über das Thema Betty und Boop gestolpert, als ich auf der Suche nach einer ansehnlichen UFB mit Display und offen für Spielereien für wenig Geld war.

Wie ich sehe ist das Thema eigentlich schon 3-4 Jahre "durch", aber ich hoffe hier findet sich doch noch jemand, der mit liest und hier und da helfen kann.

Ich versuche gerade die WinARM Entwicklungsumgebung zum laufen zu bekommen, leider sind einige Links tot (lpctool für cygwin: http://megabug.de/cmde/betty_pub/lpctool-cygwin.zip).

Kann mir vielleicht jemand das lpctool-cygwin.zip Archiv zukommen lassen, bzw. mir einen aktuellen Link nennen? Oder ist die Version i

Immerhin - Interface zur Betty klappt perfekt (über USB-Seriell Adapter auf umgebautes Siemens S25 Kabel).

EDIT: Hat sich erledigt - kaum bin ich im Forum angemeldet, findet sich all das was ich vorher nicht gefunden habe. Somit hat sich meine Anmmeldung für diesen Post hier schon gelohnt)

mhoesch

So, nun hab' ich das kompilieren mit der WinARM Umgebung am laufen. Alle notwendigen Dateien (libc.a, libgcc.a und Hinweise) haben sich in den Threads finden lassen.

Jetzt habe ich leider noch ein Problem mit dem flashen - ich verwende einen USB2SER Wandler und daran ein Siemens S25 Datenkabel, das ich umgebaut habe (TX, RX, GND - EINT auf Jumper gegen GND).

Bootlog und Debug-Ausgaben kommen in Putty mit 115200 8N1 korrekt an (Bootlog und Tastendruck Ausgabe in Terminal).

Jetzt zu meinen Problemchen:
- bekomme trotz verschiedenster Versuche mit "Gurkensalat" und eINT1 Jumper nicht in den Testmode
- Flash auslesen und Flashen mit Betty-Heaven funktioniert auch nicht (RX: Timeout)

Was ich schon versucht habe:
- nachgemessen ob GND, TX und RX am Board ankommen
- 4,7K Widerstand zwischen 3.3V und TX (Tipp aus diesem Thread: http://bettyhacks.com/forum/index.php?topic=152.msg1069#msg1069)
- zu verschiedenen Zeiten eINT1 mit GND verbunden (vor, während und nach Boot-Log Ausgabe). Sowohl für Testmode Versuche, wie auch Flash-Versuche

Leider bin ich jetzt mit meinem Latein etwas am Ende - hat noch jemand einen Tipp?
- Reicht die Handy-Datenkabel Methode evtl. nicht zum Flash lesen/schreiben aus? Wo kann ich noch suchen?

Vielen Dank.

Megabug

Handydatenkabel reicht auf jeden Fall aus, nutze das auch zum flashen meiner Bettys.

Ist irgendein normales USB UART wandlerkabel mit Prolific chipsatz.

Hatte nur einmal Probleme beim flashen als mir ein Wandler kaputt gegangen ist. (China Zeug hält nicht so lange... :))

mhoesch

Grrr, jetzt hab' ich alles auf eine Lochrasterplatine umgelötet, weil ich dachte meine Freiluftverkabelung hätte doch ein Problem... leider hats nichts geholfen. Ich denke es kann damit nur an meinem Siemens Datenkabel liegen (ist ein billig Nachbau von der Bucht).

Ich werde wohl mal ein Nokia Seriell-Datenkabel suchen (müsste noch irgendwo eines rumliegen von den vergangenen Handies und es damit versuchen. Immerhin hab' ich jetzt auf der Platine die EINT1 und RESET Leitungen mit brauchbaren Tastern zu GND versehen (war vorher mit Kabelsteckverbindern "freiluft" gelöst.

Wenns dann mit dem Nokia Datenkabel auch nicht klappt werde ich wohl aufgeben, falls mir nicht noch jemand einen Tipp hat...

mhoesch

So, auch hier hat es jetzt endlich geklappt. Boop gefällt mir - ein großes Dankeschön an die Entwickler - werde wenn ich in den Code eingearbeitet bin evtl. auch noch beitragen können. Die bisher umgesetzten Elemente gefallen mir in jedem Fall schon einmal :)

Falls jemand wie ich vor einem Rätsel steht warum es mit Siemens Datenkabel trotz 4,7 kOhm zwischen 3.3V und TX nicht funktioniert... bei meinem Kabel waren nur TX, RX, GND und ZDATA belegt. Also keine Belegung von Pin 4 (BATT) des Lumberg Steckers für 3.3V, sondern zum PIN 8 für ZDATA. Deswegen hatte ich diese Ader einfach gar nicht angeschlossen.

Nachdem ich nun ZDATA an den 3.3V PIN der Betty angelötet habe hat es funktioniert. Somit war mein Siemens Kabel wohl etwas speziell :)

mhoesch

Vielleicht liest ja jemand mit...

Ich habe hier eine Harman/Kardon Fernbedienung (für AVR2550) - diese lässt sich mit der Original Betty UFB Firmware mit etwas Mühe (mehrmals versuchen) anlernen. Dasselbe versuche ich gerade mit der Boop Anlern-Funktion, habe aber keinen Erfolg. Alle anderen FBs haben problemlos funktioniert.

Irgendwo habe ich gelesen, das die Harman-Kardon mit einer anderen Frequenz sendet (36 kHz) - auf welche Frequenz ist denn ir_capture.c ausgelegt? Ich konnte das jetzt nicht rausfinden (verstehe den Code noch nicht) - etwa 32 kHz? (Zeile 214?)

Hat schon mal jemand eine Harman/Kardon Fernbedienung mit Boop angelernt bekommen? Was für Änderungen wären hierfür an der ir_capture notwendig? Bzw. wie bekomme ich die Frequenz dort höher (oder niedriger) mit der abgetastet wird?

Boregard

#6
13. Jan 2011, 07:41 Last Edit: 13. Jan 2011, 07:44 by Boregard
Hallo,

ist die FB evtl. im LIRC Projekt schon zu finden (also etwa http://lirc.sourceforge.net/remotes/harman_kardon/AVR25.jpg), schau mal in http://lirc.sourceforge.net/remotes/harman_kardon/
Dann könnte man sie einfach in die Betty Boop aufnehmen. Ansonsten evtl. selbst als LIRC Fernbedienung erstellen für die Boop.
Ich habe das so mit meiner Xoro D-Sat FB gemacht, funktioniert hinterher astrein...

Gruß,
Boregard

Telekatz

Die Frequenz wird automatisch erkannt, da braucht man nichts einstellen. Wird denn einen Fehlermeldung beim Anlernen ausgegeben?

mhoesch

#8
13. Jan 2011, 19:19 Last Edit: 13. Jan 2011, 20:43 by mhoesch
Ja, die AVR25 hatte ich im LIRC Projekt schon gefunden, aber da diese Konfigurationsdatei etwas anders konstruiert ist wie die die ich im Boop Projekt gefunden habe hatte ich das bisher versucht zu vermeiden mich da reinzuknien (zumal es nicht genau die gleiche ist).

Was das anlernen angeht - meist kommt zu kurz/zu lang/Signalverarbeitung geht nicht, aber bei manchen Versuchen komme ich durch (also Meldung OK und Werte in der Anzeige im "IR Receiver" bzw. die Rückkehr zur Programmierseite in der Belegungsfunktion, aber leider kann ich mit diesen Aufnahmen dann den Verstärker nicht steuern.

Die Harman/Kardon FB ist aber leider irgendwie besonders - hatte schon mit vielen anderen UFB's keinen Erfolg. Nur mit der Betty Original UFB Software ist es mir bisher gelungen. Deswegen bin ich auf die Idee mit der Frequenz gekommen...

Ich werde dann wohl versuchen zu verstehen, wie die LIRC AVR25 Definition ins Boop integriert wird und es dann damit versuchen... drückt mir die Daumen :)

Ansonsten hilft wohl nur ein Speicheroszi und ein Vergleich beider Signale....

EDIT: Als Attachement ist das was "receive IR" empfängt. Nur leider bekomme ich damit den Verstärker nicht gesteuert (hier: Power Off), wenn ich dies versuche anzulernen...

Telekatz

Ich habe den Code des AVR2550 mal in meine Harmony geladen und mit der LIRC AVR25 Definition verglichen. Müsste passen.

mhoesch

#10
13. Jan 2011, 22:50 Last Edit: 13. Jan 2011, 23:13 by mhoesch
Hallo Telekatz,

vielen Dank! Zwischenzeitlich hatte ich die Daten schon übertragen - bin mittlerweile beim LIRC/AVR320, der passt besser.
(wobei ich noch nicht ganz verstehe, wie die LIRC Dateien korrekt für Boop zu portieren sind - damit funktioniert es jetzt, aber z. B. pre_app ist bei mir noch der Code von Olympus RM-1 (weil das mein Template-File war und ich nicht wusste was sonst eintragen...).

Damit klappt die Bedienung jetzt :)

Was ich aber eigentlich liebend gern hätte wäre ein kombinierter Layer: Mac-Mini Remote, Panasonic TV, LED RGB Leistensteuerung und AVR2550 auf einer Ebene (wie ich es auf der Original Betty UFB schon habe). Dazu müsste die Anlernfunktion mit Harman-Kardon klarkommen...
Versuche mit Aufnahme der Codes von Apple Remote und Panasonic TV in die LIRC Definition vom AVR helfen leider nicht weiter (wohl wegen anderen header/one/zero etc. Daten).

Was kann die Ursache sein, warum ir_capture.c am ominösen Harman-Kardon FB Code fehlschlägt? Alle anderen Codes klappen...

Telekatz

Das Problem wird daran liegen, wie die Harman Kardon FB bei längeren Tastendrücken das Kommando sendet. Viele FBs senden dabei das gleiche Kommando in regelmäßigen Abständen solange die Taste gedrückt wird.

Andere FBs senden das Kommando nur beim ersten Mal und dann solange die Taste gedrückt wird nur ein kurzes Repeat Kommando (z.B. NEC Protocol http://www.sbprojects.com/knowledge/ir/nec.htm). Deine FB sendet auch nach diesem Prinzip. Solche Codes kann Boop auch erkennen und lernen. Um jedoch zweifelsfrei ein solches Protokoll erkenne zu können, erwartet der Decoder, dass wenn sich das erste und zweite Kommando einer Übertragung unterscheiden, das zweite und mindestens ein weiteres Kommando gleich sind. (ir_capture, Zeile  279).

Hier liegt das Problem. Bei meiner Harmony konnte ich beobachten, dass bei vielen Tasten nur das Kommando und ein Repeat gesendet wurden. Funktionieren könnte es also bei Tasten, bei denen ein längerer Tastendruck auch gewollt ist, z.B Volume.

Dein Bild von Receive IR deutet übrigens darauf hin, dass die Lage beider FBs zueinander nicht richtig passt. In den ersten drei Zeilen wird nur Mist empfangen, ab der vierten Zeile sieht es gut aus. Es sollte bei dir mit 01 losgehen und dann 32x entweder 22 oder 23.

Zum übertragen der LIRC Daten auf das Betty Format einfach die Werte mit den gleichen Bezeichnungen übernehmen. Was es im LIRC File nicht gibt in Boop mit 0 angeben. Bei den Flags noch "LIRC_" davorsetzen.

mhoesch

Danke für den Tipp mit der Wiederholung - das könnte hinkommen. Ich muss beim anlernen (was ja geht, nur nicht funktioniert...) immer ziemlich genau versuchen eine bestimmte Zeit lang die Taste zu drücken.

Danke auch für den Hinweis mit der Platzierung der IR's. Vielleicht bekomme ich eine Platzierung hin, die bei 01 beginnt...

Falls nicht - ich hoffe ich blicke das in der ir_capture.c... schaue ich mir gerade auch an. Wäre echt genial.


mhoesch

Tja, habs mittlerweile aufgegeben. Trotz der wirklich sehr hilfreichen Tipps (vielen Dank dafür). jetzt versteh' ich den Code, bekomme es aber leider trotzdem nicht zum anlernen.

Aber immerhin funktioniert der LIRC Code (siehe Anhang AVR320) für die Tasten die ich beim Harman&Kardon AVR2550 brauche.

Nach oben