Hey,
schau mal hier:
http://kampis-elektroecke.de/?page_id=2631
Wäre das keine schöne alternative zu einem LCD?
Den kannst du wohl auch direkt mittels USB versorgen.
Hey,
schau mal hier:
http://kampis-elektroecke.de/?page_id=2631
Wäre das keine schöne alternative zu einem LCD?
Den kannst du wohl auch direkt mittels USB versorgen.
Schaut ruhig mal auf meiner Homepage vorbei :
http://kampis-elektroecke.de
Oder folge mir auf Google+:
Daniel Kampert
Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.
Gruß
Daniel
Danke für den Tip!
Im Prinzip wohl schon. Allerdings möchte ich LCD4Linux nutzen und das LCD soll auch an andere Geräte wie z.B. das NAS angeschlossen werden können.
Wenn das Herz involviert ist, steht die Logik außen vor! \/
Hallo,
ein sehr gelungenes Projekt und mein erster tieferer Kontakt mit dem Raspberry Pi. Ich hab mir gleich den MPD installiert und mal losgelegt. Jetzt habe ich ein WWW Radio für meine Stereoanalage, welchen ich nicht ganz so elegant nur mit dem Smartphone steuere.
Ich bin gerade dabei eine Anbindung an mein Autoradio zu basteln. Da ich auch den MPD dafür benutzen will und die originalen Radiotasten zum steuern haben will, habe ich eine Frage zum "empfangen" Code.
Ich habe leider eine etwas komplexere Schnittstelle mit Umsetzer von 1-Draht Bus auf RS232. Ich bekomme die Daten schon mal ins Board rein mit einem etwas angepassten "empfangen.c", wo ich schon mal heilfroh bin.
Senden geht auch schon zumindest über Shell.
Leider kommen immer mehrere Zeichen auf einmal an und dann ist kurzzeitig wieder Ruhe auf der Schnittstelle.
Ein Beispiel in Hex
ungefähr so
18 04 FF 02 00 E1
0.1s Pause
18 04 FF 02 00 E1
2s Pause
FF FF FF FF FF FF (irgendein Code)
Pause
etc.
Als Kommunikation habe ich 9600,8e,1
Gibt es eine Möglichkeit mit der im Code verwendeten UART Kommunikation über einen Status zu erkennen wann ein Datensatz übertragen wurde bzw. gerade kein neues Zeichen am UART ankommt? Wenn das geht konnte ich die Zeichen immer sauber auslesen, da sich ja nicht kontinuierlich gesendet werden sondern Paketweise.
Ich habe auch schon versucht über einen aus meinem Chip ausgegeben Sendungsstatus (via wiringPi) ans Ziel zu kommen. Doch ist das leider zu ungenau und es werden immer weider Zeichen verschluckt. Heißt entweder werden die GPIOs zu langsam erkannt oder der Chip ist hier ungenau.
Über einen kleinen Anstoß meiner Grüzkiste wäre ich sehr froh.
Viele Grüße
Rainer
Wenns brennt, dann brennts....
Könntest ja blockweise a 6 Byte lesen in dem du beim read eine Struktur/einen Array und als maximale Größe 6 (bzw die Größe der Struktur/des Arrays) übergibst.
Wenn alle Bytes 0xFF sind definierst du dann, dass die Übertragung vorbei ist.
Grüße,
Daniel
Danke ePyx für deine Antwort. Blockweise auslesen kann ich leider nicht machen, da die Bytelänge und die Ruhezeiten variieren. Ich hätte gestern schon einen Datenmitschnitt posten sollen, damit es klarer wird. Abschlusszeichen ala CR hab ich auch nicht. Der letzte Wert ist zwar immer die XOR Checksumme von den empfangenen Bytes pro Block, welche man zur Plausibilitätsprüfung heranziehen kann, doch weiß ich nicht wie man das während des empfangens schon verwerten soll.
Code:2013-01-14 06:41:53.390 18 04 FF 02 00 E1 2013-01-14 06:41:53.390 76 0C 68 39 00 82 00 10 00 05 01 00 01 BC 2013-01-14 06:41:53.405 68 04 FF 3B 00 A8 2013-01-14 06:41:53.421 68 05 18 38 01 00 4C 2013-01-14 06:41:53.421 68 10 C0 23 41 30 00 20 20 20 20 20 20 20 20 20 20 EA 2013-01-14 06:41:53.436 C8 05 80 23 42 20 0C 2013-01-14 06:41:53.436 18 0A 68 39 00 02 00 10 00 05 01 55 2013-01-14 06:41:53.670 68 04 BF 02 01 D0 2013-01-14 06:41:53.686 68 05 80 41 01 01 AC 2013-01-14 06:41:53.780 68 03 D0 5D E6 2013-01-14 06:41:57.290 18 04 FF 02 00 E1 2013-01-14 06:42:01.174 18 04 FF 02 00 E1 2013-01-14 06:42:02.843 68 05 18 38 03 00 4E 2013-01-14 06:42:02.874 18 0A 68 39 02 09 00 10 00 05 01 5C 2013-01-14 06:42:02.968 68 03 18 01 72 2013-01-14 06:42:03.015 18 04 FF 02 00 E1 2013-01-14 06:42:03.108 18 0A 68 39 02 09 00 10 00 05 15 48 2013-01-14 06:42:03.826 18 0A 68 39 09 09 00 10 00 08 99 C2 2013-01-14 06:42:05.417 18 04 FF 02 00 E1 2013-01-14 06:42:06.977 68 05 18 38 01 00 4C 2013-01-14 06:42:06.993 C8 05 80 23 42 20 0C 2013-01-14 06:42:07.040 68 10 C0 23 41 30 00 20 20 20 20 20 20 20 20 20 20 EA 2013-01-14 06:42:07.040 C8 05 80 23 42 20 0C 2013-01-14 06:42:07.055 18 0A 68 39 00 02 00 10 00 08 99 C0 2013-01-14 06:42:09.676 18 04 FF 02 00 E1
Wenns brennt, dann brennts....
Hast du dort irgendwelche Events ausgelöst? Also Tasten gedrückt oder so? Ein wenig Redundanz ist ja schon enthalten : Die Sequenzen 18 04 FF 02 00 E1, 68 05 18 38 01 00 4C und 68 10 C0 23 41 30 00 20 20 20 20 20 20 20 20 20 20 EA tauchen ja schon öfter auf.
Würde halt gucken was sich bei einem Tastendruck oder einer anderen Einstellung bei den gesendeten Daten ändert und das Protokoll weiter analysieren.
Grüße,
Daniel
Hallo,da Linux ein Time sharing System ist, kann es zu diesen Pausen kommen. Du kannst versuchen, die Priorität deines Programmes zu erhöhen.Mit "nice -n15 Deinprogramm" starten, oder bei laufendem Programm mit "renice -n15 Deinprogramm".Vielleicht hilft das etwas.
MfG
Hans
Lesezeichen