Swisscom: Tastatur (inkl die anderen 3 Beiträge)

Begonnen von gerdi, 28. Apr 2009, 01:12

« vorheriges - nächstes »
Nach unten

gerdi

28. Apr 2009, 01:12 Last Edit: 02. Mai 2009, 21:15 by theborg
Ich habe eine Betty von Swisscom.
Der Ladevorgang mit lpctool in Debian scheint funktioniert zu haben.
Es erscheint das Bild von Betty.
Aber die Fernbedienung reagiert nicht mehr auf Tasten.

gerdi

#1
28. Apr 2009, 01:59 Last Edit: 28. Apr 2009, 02:02 by gerdi
Meine Wunsch-Betty sollte alle Funktionen der Betty über das Lan ansteuern und auslesen können (z.B. Port 5060 über den TAE an einem SIP-Adapter), sowie einen einfachen über das Lan programmierbaren Timer besitzen, um einfache Funktionen automatisch auszulösen.

Folgende Funktionen sollten auf das Lan übertragen sein (ansteuern/auslesen):
- Tasten
- Bildschirm
- IR (in/out)
- Funk
- eventuell Sound

So könnte die Betty als Radio/Fernseh/Stereo-Wecker dienen und Geräte ein und ausschalten.
Sie könnte Video- und Audio-Aufnahmen ein und ausschalten. Über das Scart-Signal könnte sie sogar Werbung überspringen, oder zeitliche Verschiebungen von Sendungen berücksichtigen.

Sie könnte als kleines Terminal dienen, für meinen Linux-Router, auf dem ich vielerlei Spiele programmieren könnte, die auf der Betty angezeigt würden und mit den Tasten der Betty gesteuert würden.

Sogar ein kleines Display zu einem Webbrowser könnte man so realisieren. Der Webbrowser liefe auf dem Router, die Anzeige und Steuerung auf der Betty.
So könnte ich mit der Betty das ganze Haus mittels Webinterface steuern.

Ganz toll wäre, wenn sie Funksteckdosen ein und ausschalten könnte und damit beim Stromsparen behilflich sein.

Telekatz

Und was davon hast du schon angefangen zu programmieren?

gerdi

#3
29. Apr 2009, 23:00 Last Edit: 29. Apr 2009, 23:04 by gerdi
Leider habe ich die Betty-Swisscom
Seit dem Firmware update auf Boop ist sie lahm.

Wenn sie bei mir läuft werde ich mit dem Programmieren loslegen.

Kann ich mit Hilfe rechnen?
(Ich bin gerade daran mir eine Programmierumgebung für die Betty einzurichten. Hat jemand eine Idee, warum die Betty-Swisscom aufhängt?)

theborg

Hi ist das den die gleiche REV. ? also 1.8 das kann gut sein Das die Swiscom Bettys anders aufgebaut sind

JimBeam

#5
30. Apr 2009, 15:12 Last Edit: 30. Apr 2009, 15:13 by JimBeam
Die Swisscom Betty IST anders, siehe: http://bettyhacks.com/forum/index.php?topic=113.0 und http://bettyhacks.com/forum/index.php?topic=128.0...

Zwei massive Unterschiede gibt es:

  • Andere Tastenmatrix

  • Kleineres Flash mit sehr unterschiedlicher Sektorbelegung



Angepasst werden müssten also zumindest die Dateien flash.c und so ziemlich alles in keyboard/*.*

Gruß
JimBeam

gerdi

Bei der Swisscom erscheint das Bild der Boop.
lpctool gab auch keine Fehlermeldung.

Vielleicht hat das Rom doch irgendwie Platz.

Hat mir jemand einen Tipp, wie ich vorübergehend das Rom kompilieren kann, damit ich statt dem Bild wertvolle Informationen über die Tastaturbelegung erhalte?

famos

Die Betty, die Swisscom verteilt hat sind etwas anders. Vor allem ist die Tastatur nicht gleich angeschlossen. Nebenbei sind auch die Flash-Speicher kleiner. Such im Forum nach Swisscom Betty. Da findest Du Infos dazu.


Gruss famos

famos

Der Platz im Flash ist noch nicht das Problem. Wie Du selbst auch festgestellt hast, läuft ja auch was. Die Betty wartet jetzt auf einen Keyboard Eingabe und die wird über einen Interrupt ausgelöst.
Da aber die Verdrahtung nicht stimmt passiert bei Dir nichts.

gerdi

#9
30. Apr 2009, 22:56 Last Edit: 30. Apr 2009, 23:23 by gerdi
Danke für Deinen famosen Beitrag!

Ich habe eine laufende Entwicklungumgebung in Debian.
Boop_rom.bin liess sich kompilieren

Da ist eine Datei irq.c /irq.h /lpc2220.h /keyirq.c /keyirq.h

Du arbeitest schon ein Jahr daran.
Was soll ich machen?

(Ich hätte zu Testzwecken auf meiner Betty am liebsten die 32 Bit von FIOPIN0 [aus keyirq.c] , statt dem Bild der Boop in "0" und "1". Dann hätte ich gerne die Bits der Resultate von Key[0] und Key[1]).

Steht zu diesem Zeitpunkt schon eine einfache Ausgabefunktion zur Vefügung?
(Vor dem Bild der Boop wird ja bereits Text angezeigt.)

Bit 30 scheint bei einer Tasteneingabe auf 0 zu gehen.
(Sonst könnte man einfach einmal zu Testzwecken die Bedingung: "Bit30=0" [Taste gedrückt] herausnehmen.)

gerdi

Es kann nicht alleine daran liegen, dass die Betty auf Eingabe wartet.

Ich habe den KeyScanner in meiner Testfirmware so modifiziert, dass er bei jedem Duchgang (auch ohne Tastendruck) etwas ausgibt.

Trotzdem bleibt die Betty beim Bild regungslos stehen.
Sie muss auf tiefergehende Weise abgestürzt sein, so dass sie gar nicht mehr auf Tastendücke wartet.

(Es würde mich sehr freuen, wenn jemand meine modifizierte Test-Firmware auf einer nicht-Swisscom Betty testen könnte.)

famos

Zitat
Du arbeitest schon ein Jahr daran.
Was soll ich machen?


Ich habe seit einem Jahr nichts mehr gemacht. Das letzte was ich versucht habe war einen JTAG Debugger zum laufen zu bringen. Debugen via serieller Schnittstelle und printf hat es nicht gebracht.
Auch war ich der Einzige, der sich mit einer Swisscom Betty abgab.
Das Lesen der Tastatur hat in der Testroutine funktioniert, aber eingebunden in boop war der Interrupt-Pin immer aktiv.
Ich hatte dann keine Zeit mehr. Ich schaue zwar ab und zu in das Forum rein ob's was neues gibt.
Ich habe am Anfang noch nicht gewuss warum boop auf meiner Betty nicht läuft. Ich habe dann versucht die ganze Entwicklung zu verstehen und habe mit boop Rev. 01 angefangen. Bis Version 03 hat es noch funktioniert. So bin ich auf die Tastatur als Ursache gestossen. Die unterschiedlichen Mappings findet man im Forum.
Hol dir mal die vier Files von http://svn.mamalala.org/listing.php?repname=boop&path=%2F&rev=3&sc=1 und lade das Compilat mal auf die Betty, das sollte noch laufen und der Code ist noch leicht zu verstehen. Ob der Interrupt auch auf Pin P0.30 reinkommt müsste ich nachschauen, habe aber die Unterlagen verräumt und müsste erst suchen.

Gruss famos

famos

Die Uhr läuft doch noch?

Du müsstes den Interrupt auch auslösen. Als Idee kommt mir grade in den Sinn:
- Serialport aktivieren
- Keyinterrupt = Serialport Interrupt
- Scancode = Serialport data
dann könntest Du mit dem PC alles bedienen. So eine Testversion wäre dann auf allen Bettys lauffähig.

Telekatz

Das deine Betty regungslos stehen bleibt könnte daran liegen, daß sie nicht mehr aus dem Power Down Modus aufwacht. Dazu wird nämlich der Interrupt von P0.30 genutzt. Der Keyboardscanner selber läuft in einem Timer Interrupt. Um das Schlafengehen zu verhindern, kommentier den gesamten Inhalt der Funktion cpu_idle() in main.c aus.

gerdi

#14
01. Mai 2009, 19:22 Last Edit: 04. Mai 2009, 19:18 by gerdi
Danke!
Deine famose Antwort hat geholfen.

Offensichtlich hatten meine Eingriffe die Betty selbst blockiert, denn die Uhr lief tatsächlich nicht.

Jetzt habe ich auf meinem Bildschirm den Inhalt von FIOPIN0.

Eine Hoffnung hat sich leider zerstreut. Ich dachte, dass die Tastatur bei der Swisscom im Gegensatz zur anderen Betty NICHT auf Bit 30 reagiert. Beim drücken der Taste geht jedoch Bit 30 auf 0, genau so wie ich es für die andere Betty erwartet hatte.

Also muss der Unterschied ein anderer sein.

Immerhin kann man jetzt schon morsen. (Sie erkennt Taste gedrückt oder nicht.)

Kannst du mir Tips geben, wie mit dem TAE von der Betty aus kommuniziere?
Vielleicht können auch Telekatz oder Famos mir helfen?

Nach oben