Beiträge von Bartholomew

    HTPC-Schrauber:
    Danke für den Link. Ist für meine Zwecke (gelegentlich mal ein IR-Signal raussenden) aber wohl oversized. Platine fertigmachen, µC programmieren...


    Dank auch an SHF. Ich wollte die Sendeschaltung aus dem Thread nehmen.


    Wäre glücklich, wenn sich jemand melden würde, der seinen VDR mit seinen anderen Geräten kommunizieren lässt.
    Wenn man genauer drüber nachdenkt, scheint Habichthugos Lösung ja so zufriedenstellend zu laufen, dass er nur noch ganz selten hier ist :)


    Anscheinend kann man, wenn Lirc erst mal auf der Hardware läuft (mit irw prüfen), mit irrecord die entspechenden Codes auslesen, und mit rc / irsend dann dafür sorgen, dass IR-Befehle gesendet werden. Bin anscheinend auf der richtigen Fährte.


    Weiß jemand, wie die RC5-Codes in der remote.conf zu lesen sind?
    Da heißt es ja zum Beispiel:


    Nun braucht man ja zur hexadezimalen Darstellung von RC5-Codes ja nur zwei mal zwei Ziffern: zwei für den Adresscode (5 Bits, 32 Möglichkeiten), und zwei für den Befehlscode (sechs Bits, 64 Möglichkeiten). Weiß da wer genaueres, ob das in der remote.conf so gehandhabt wird? Die letzten beiden Ziffern scheinen den Befehlscode zu enthalten, aber was die führenden oben zu sagen haben...
    Sind die Hexadezimalzahlen, die der VDR in die remote.conf schreibt, identisch mit denen, die irrecord ausgibt? Oder muss ich da mit mode2 Grundlagenforschung betreiben?



    Links zum Thema:
    Über das RC-5-Protokoll:
    http://www.sprut.de/electronic/ir/rc5.htm
    http://en.wikipedia.org/wiki/RC-5


    Lirc installieren, konfigurieren, anwenden:
    http://www.hubertus-sandmann.homepage.t-online.de/l_lirc.htm
    http://www.lirc.org/html/programs.html
    http://linux.die.net/man/8/lircd
    http://linux.die.net/man/1/irw
    http://linux.die.net/man/1/irrecord
    http://linux.die.net/man/1/irsend
    http://linux.die.net/man/1/rc
    http://www.g-loaded.eu/2006/01…o-configure-and-use-lirc/


    Known Bugs:
    Senden bei hoher Systemlast funktioniert nicht immer. Bei starkem Gebrauch kann die Systemuhr verzögert werden. Siehe http://www.lirc.org/html/technical.html#bugs
    Lässt sich nur verhindern, wenn man einen µC programmiert und den den Job machen lässt (wie YARD); Linux ist halt kein Echtzeit-Betriebssystem.




    Gruß, Bartho

    Zitat

    Mit "auskommentiert" meinst Du wohl mit einem Texteditor wie "nano" vor die einzig enthaltene Zeile mit einer "If"-Abfrage eine Raute setzen.


    Nicht nur vor die If-Abfrage-Zeile; der ganze Block (wenn es einen gibt) muss auskommentiert werden. Kenne das Script aber nicht.



    Gruß, Bartho

    Hoi,


    Ich möchte meinem VDR einen IR-Sender verpassen, mit dem ich andere Geräte ansteuern kann.
    Akut möchte ich am AVR die Lautstärke einstellen, sowie am TV das Bildformat umstellen können.


    Meine bisherige Recherche ergab, dass man sich in so einem Fall wohl Lirc auf die Kiste zaubert und das zum Auslesen der orignalen Fernbedienungscodes und auch zum Senden nimmt. Transciever-Schaltpläne für den seriellen Port habe ich schon zu Genüge gefunden.


    Bisher nutzt der VDR den Empfänger der TT S-2300, das kann auch gerne so bleiben.
    Habe in alten Threads gelesen, dass es bei hoher Systemauslastung zu Empfangsproblemen mit Lirc kommen kann. Ist das immer noch so? Gibt es dann auch Sendeprobleme?


    Wenn ich den Befehl Vol+ an den VDR Sende, soll der VDR den IR-Sender anweisen, Vol+ (den entsprechenden Code) an den AVR zu schicken. Damit hätte ich ja zwei Sender gleichzeitig. Gibt das keine Probleme?


    Gibt's irgendwo ein HowTo für mein Anliegen? Habe bisher nur Brocken im Forum gefunden, in der Hauptsache Verweise auf diverse Lirc-Seiten. Bin ich überhaupt auf dem richtigen Weg?



    Gruß, Bartho

    Habe die gezeigte Schaltung hier neuerdings auch in Betrieb. Das Bild gewinnt via RGB gegenüber FBAS deutlich an horizontaler Schärfe.
    R4 darf auch größer als 75Ohm sein, bis 330Ohm sind bedenkenlos Ok, 390 Ohm funktionieren hier auch noch.
    Das Scart-Kabel sollte im Betrieb nicht an-/abgesteckt werden, genau so wenig wie das FBAS-Kabel bisher.


    Bei der autoamtischen Umschaltung des TV auf den VDR als Quelle kann es Probleme geben, ebenso bei der automatischen Erkennung des Bildformates (anamorph/Letterbox). Das ist aber von TV zu TV verschieden. Mehr Infos dazu gibt's
    hier: http://vdr-portal.de/board/thread.php?threadid=92237
    und hier: J2 zu RGB-Scart - welche Schaltung nehmen? Oder: RGB-Out-Selbstbau 2010


    So eine einfache J2-Platine ist ein schönes erstes Lötprojekt, falls Du noch nie gelötet hast.
    Ich habe bei mir ein gutes Scart-Kabel genommen, einen Stecker abmontiert und das Ende direkt auf die J2-Platine gelötet. Durchführung nach draußen über eine freie PCI-Slotblende. Die Platine passt durch die Slotöffnung durch, so dass man das Kabel bei Bedarf noch entfernen kann.



    Gruß, Bartho

    Es funktioniert! Es funktioniert!


    Wenn jemand Bedarf anmeldet, hübsche ich den Code auch noch mal etwas auf (Parameterübergabe).
    Für die Mahlzeitsysteme habe ich den Code mittels gcc -static -Wall -o ana2scart.static anamorph2scart.c kompiliert. In Mahlzeits rundvdr gibt es drei Abschnitte, wo was von mydaemon steht. Habe aber auf die schnelle keine Dokumentation gefunden, wie das funktioniert. Habe daher das Programm direkt in die runvdr aufgenommen (ana2scart.static in der Sektion up und killall ana2scart.static in den Sektionen stop und shutdown).


    Ob die Fehlerausgaben des Programms funktionieren, ist nicht getestet.
    Die Belegung des internen Com2 meines FuSi D1219-Mobos ist identisch mit der Activy:
    Com Port??
    An VCC/VCC Aux kann man +5V abgreifen, die Signalleitungen stehen bei low auf ca. -12V und bei high auf ca. +12V. Den Transistor aus dem Schaltplan kann man an Pin 7 (DTR) und Pin 9 (GND) anklemmen.
    Wenn jemand noch Fragen hat, fragen. Auch nach Monaten/Jahren, ich schaue hier ab und an mal rein.



    Gruß, Bartho

    Zitat

    Das Öffnen der Lade ist ja standardmäßig im Menü "Befehle" bereits vorhanden, ich wollte aber ursprünglich die Taste auf der originalen Fernbedienung deaktivieren.


    Ich komme nur nicht drauf, wo das defiiniert ist.
    Es ist nicht in keymacros.conf, nicht in lirc.con, nicht in commands.conf und wo es sonst noch sein könnte, wüßte ich nicht.


    Hmm. Bei meiner Activy 300 wird nur die Powertaste direkt vom PIC abgefangen (damit das Einschalten funktioniert). Die Eject-Taste der FB konnte ich frei belegen. Das scheint bei der 370 anders zu sein...



    Gruß, Bartho

    Zitat

    Pin 8 hatte ich schon mal abgezogen (und isoliert), aber da fing das Bild sofort an, seitlich wegzurollen.


    Seltsam, damit sollte Pin 8 eigentlich nichts zu tun haben... gab es nicht vielleicht doch einen unbemerkten Schluss?
    Beim seitlichen wegrollen stimmt meines Wissens irgendwas mit der Videonorm nicht mehr.



    Gruß, Bartho

    Ich nutze eine Activy in Verbindung mit einer FF (RGB-Out), hätte da nur einen Hardware-Hack anzubieten:
    Den Scartstecker aufmachen und die Kontaktzunge für Pin 8 herausziehen, isolieren und den Stecker wieder zumachen.
    Entweder, die Kontaktzunge ist mit einem "Widerhaken" gesichert, den mittels kleinem Schraubendreher zurückbiegen und dann die Zunge zurückschieben.
    Oder sie hat seitlich eine Einbuchtung und ist mit einem Kunststoffdeckel (je einer für die zehn Zungen einer Seite) gesichert.


    Gruß, Bartho


    P.S.: Für's Selbermachen einer Scartspannung versuche ich mich gerade an einem kleinen Daemon: Gesucht: Coder für Programm, das 16:9-Schaltspannung am Scart bereitstellt
    Ist aber für einen selbstgebastelten RGB-Out für FF-Karten gedacht.
    Soweit ich weiß, müsste das em84xx-Plugin diese Funktionalität (die jeweils zum Bild passende Schaltspannung ausgeben) aber von Haus aus bieten... wundert mich, dass das bei dir nicht geht.

    Es kompiliert! Es kompiliert!


    Wenn sich wer berufen fühlt, da mal drüberzuschauen; nur zu. Testen kann ich den Code Samstag.
    Parameter werden bisher noch nicht untetstützt.


    Weil AVARDS nix machen Spannung an Comport :gap
    Das, was es für mich können muss, kann es eben gerade nicht.


    Alles, was ich aus AVARDS brauche, sind die paar Zeilen Code, bei denen aus /dev/dvb/adapter0/video0 via VIDEO_GET_STATUS das Format rausgepflückt wird.


    Einfach Habichthugos dvb-aspect nehmen und per bash die Ausgabe an ein zu schreibendes Steuerprogramm für den Comport durchpipen ist keine gute Idee; das Treibt die Systemlast unnötig hoch. Bash-Scripte sind toll, wenn man gelgentlich mal ein Programm aufrufen will, aber nicht im Zehntelsekundentakt.
    Also klaube ich mir Quellcode zusammen und schreibe einen kleinen schnellen Daemon.



    Gruß, Bartho

    Zitat

    Manchmal sind die sich ja nicht so ganz einig ob man 16:9 auch so sendet oder noch mal nen Rahmen macht.


    Hmm? Meinst Du damit das normale Aussenden von 16:9 in einer 4:3-Letterbox?
    Oder eine Letterbox in anamorphem 16:9-Signal, wo das Bild dann 21:9 oder sowas hat?


    Es geht ja nur um folgendes: Wenn der VDR anamorphes Material reinbekommt, kann er das bei Bedarf selbst in eine 4:3 Letterbox umwandeln (für 4:3-Fernseher, die das selbst nicht können; dafür gibt's eine Einstellmöglichkeit im Menü). Man kann ihm aber auch sagen, dass er dieses Material ungewandelt ausgeben soll. Der VDR sendet (seit einer Firmwareänderung 2006) über die FF-Karte dauernd ein im PAL codiertes WSS-Signal aus (16:9 bei anamorphen Material, 4:3 bei 4:3). Wenn der Fernseher über FBAS oder S-Video mit dem VDR verbunden ist (und der Schaltpin 8 keine Spannung führt), funktioniert diese Signalisierung prächtig. Bei der Erkennung, ob der TV-Sender anamorph oder "klassisch" ausstrahlt, scheint es also keinerlei Probleme zu geben.
    Oder jetzt doch?


    Jedenfalls soll der zu erschaffende Daemon genau dann, wenn der VDR im 4:3-Modus ein anamorphes 16:9-Bild in eine 4:3-Letterbox verwandeln würde, dem Fernseher eine Schaltspannung von 6V signalisieren, damit er das selber macht (und man den VDR auf 16:9 stehen lassen kann).
    Alle Klarheiten beseitigt? :ghost


    Zum gewünschten Programm-Ablauf:
    Der Daemon soll per Runscript nach dem VDR gestartet und vor dem VDR beendet werden.
    Zum Start bekommt er drei Parameter übergeben: Comport-Nummer, Videodev-Nummer und Pollingzeit.
    Es wird überprüft, ob die richtige Anzahl Parameter übergeben wurde, sonst Fehlermeldung.
    Es wird überprüft, ob sich der angegeben Comport öffnen lässt, sonst Fehlermeldung.
    Sigkill, Sigterm werden überwacht und lassen das Programm sauber beenden (Comport wird zurückgesetzt und geschlossen, Videogerätedatei wird geschlossen).
    Der geöffnete Comport wird initialisiert (DTR auf low setzen).
    Es wird überprüft, ob sich das angegebene Videogerät öffnen lässt, sonst Fehlermeldung.
    Es wird überprüft, ob VIDEO_GET_STATUS funktioniert, sonst Fehlermeldung.
    Das Programm forkt sich in den Hintergrund, wird zum Daemon.
    Jetzt startet eine endlose While-Schleife (Pseudocode):

    Code
    while (1)
    	{
    	anamorph.old=anamorph
    	if GetVideoFormat=(16_9 OR 221_1), then anamorph=true, else anamorph=false
    	if anamorph.old<>anamorph, then 
    		{ if anamorph==true, then DTR=high, else DTR=low }
    	wait pollingtime
    	}

    ENDE.


    Die elektronische Schaltung am Comport sorgt dafür, dass an Pin 8 bei DTR low 12V anliegen, und bei DTR high 6V.


    Ich habe hier noch etwas Quellcode gefunden, der auch DTR/DTS schaltet:
    http://www.b-l-w.de/download.php
    So langsam verstehe ich, wie das setzen der Ausgänge funktioniert. Werde mich nachher mal an ein wenig Realcode versuchen.



    Gruß, Bartho

    Besten Dank :)


    Ich habe hier noch ein interessantes und gut kommentiertes Programm namens sled gefunden:
    http://www.linuxfocus.org/Deut…uary2001/article186.shtml
    Das Programm steuert zwei an DTR (grün) und RTS (gelb) angeschlossene LEDs und überwacht einen Eingang.
    Nach Programmstart geht die grüne LED an, die gelbe beginnt zu blinken. Wird der Taster länger als drei Sekunden gedrückt, geht die grüne LED aus, und ein Shutdown wird eingeleitet. Wird der Daemon terminiert (sigterm/sigkill), macht er vorher noch brav den Com-Port wieder zu, wenn ich das richtig sehe.
    Eine RC-Datei wird auch gleich mitgeliefert.
    Lustigerweise geht sled auf ein Programm von Mirko Dölle zurück. Die Welt ist klein :)



    Ich komme erst Freitag/Samstag wieder an einen VDR, an dem ich testen kann.



    Gruß, Bartho

    Hoi,



    Mangels genügend Cx-Praxiserfahrung suche jemandem, der ein kleines Programm schreibt, welches das Bildformat von der TV-Karte ausliest (normal/anamorph) und je nachdem einen Pin am seriellen Port low/high schaltet.
    Nachtrag: Hab's doch selbst geschrieben, siehe unten.


    Mein Gedankengang bisher:
    Ein 4:3-Fernseher wird über SCART mit vom VDR einem PAL-Signal gespeist. In dem PAL-Signal können generell zwei verschiedenartige Formate enthalten sein: Einmal das gute alte 4:3-Bild (egal ob mit oder ohne Letterbox), oder zum anderen ein anamorphes 16:9-Bild (evtl. auch mit Letterbox, aber selten und nur via DVB/DVD, nicht von analogen Quellen).


    Trivia: Wenn ich das richtig verstanden habe, gibt es im analogen Rundfunk bei PalPlus auch eine Möglichkeit, ein 4:3-Letterbox-Signal (mit 16:9-Inhalt) zu senden, bei dem sich in den schwarzen Balken noch Bildinformationen befinden, mit denen 16:9-Fernseher das aufgezoomte Bild noch aufhübschen können (die vertikale Auflösung wird damit wieder erhöht). Dieses Verfahren erlaubt eine verzerrungsfreie Wiedergabe des Bildes auch auf alten 4:3-Geräten, die nie was von 16:9 und anamorphen Bildern gehört haben. Wird beim digitalen Rundfunk meines Wissens aber nicht angewendet.


    Zur verzerrungsfreien Wiedergabe muss der Fernseher ein 4:3-Signal so lassen, wie es ist, und ein anamorphes 16:9-Signal vertikal stauchen. Der Fernseher hat zwei Möglichkeiten, zu erkennen, was für ein Signal anliegt: Einmal über die Schaltspannung an Pin 8 vom Scart, oder über das im PAL-Signal in einer Austastlücke untergebrachte WSS-Signal.
    Eine Schaltspannung an Pin 8 ist praktisch, weil der Fernseher dann automatisch auf die Scartbuchse umschaltet. Viele Fernseher messen dem Scart-Pin eine höhere Priorität zu als einem eventuellen WSS-Signal (einige Fernseher ignorieren das WSS bei RGB-Speisung ganz und richten sich nur nach der Schaltspannung).


    Nun kann man dem VDR sagen, dass er grundsätzlich nur 4:3 ausgeben soll; zur Not muss er dann anamorphe 16:9-Bilder unter Verlust von Bildinformation umrechnen (entweder via Letterbox, Centercut oder Pan&Scan); dann kann die Schaltspannung immer 12V betragen.
    Schöner wäre es, wenn der VDR anamorphes 16:9 an den Fernseher weiterreichen und dazu die passende Schaltspannung generieren würde.


    Jetzt wünsche ich mir einen kleinen Daemon, der folgendes tut:
    Prüfen, ob der DVB-Treiber für die FF-Karte geladen ist. Wenn ja, die Kontrolle über den seriellen Port 2 (RS-232) übernehmen. Ca. alle 0,2s den Treiber fragen, ob er gerade anamorphes oder normales 4:3-Bildsignal raussendet. Wenn anamorph, dann soll ein Pin der RS-232 auf high gelegt werden; bei normalem Bild und ungeladenem Treiber ist der Pin sonst low. Über diesen Pin kann man dann ganz einfach die Schaltspannung steuern.


    Vielleicht wäre es auch sinnvoll, den Treiber zu überreden, eine Gerätedatei in /dev anzulegen, in der er mitteilt, was für ein Bildformat er gerade rausschickt. Aber das ist pure mutmaßung und nur ein wirrer Gedanke von mir, kenne mich mit der Treiber-Materie nicht wirklich aus.
    Edit: Am Ort der besten Ideen (Donnerbalken) ist mir gerade aufgefallen, dass "/dev/dvb/adapter0/video0" ja schon eine solche Gerätedatei ist...
    Ich weiß bloß, dass Bash-Scripte, die dauernd andere Programme (auch das gleiche immer wieder) aufrufen, unglaublich viel unnötige Systemlast verursachen, und das Problem deshalb meines Wissens via Daemon gelöst werden sollte. Wenn Unsinn schreibe, bitte korrigieren.


    Das von Habichthugo ins Leben gerufene AVARDS ist in seiner ganzen Pracht dafür wohl überdimensoiniert. AVARDS stellt ja nicht nur fest, ob das Bild anamorph oder normal ist, sondern auch, ob es eine Letterbox gibt und wenn ja, welche. Damit kann einem 16:9-Fernseher via WSS mitgeteilt werden, wie weit er ins Bild reinzoomen muss. Außerdem passt AVARDS die Höhe des OSD-Menüs an die tatsächliche Bildhöhe an.
    Für 4:3-Fernseher sind diese Features aber nicht notwendig.



    e9hack schrieb hier:
    [ANNOUNCE] Avards-Plugin 0.1.4

    Zitat

    Ein Erkennen von 4:3 bzw. 16:9 ist simpel. Die Info wird im MPEG-Header übertragen.


    Hier die Ur-Version von dvb-aspect.c von Habichthugo (dürfte genau das Auslesen erledigen):
    automatische 4:3/16:9-Umschaltung mit Letterbox-Erkennung!


    Im Netz habe ich ein kleines Programm gefunden, dass eine LED an der RS232 viermal zum Aufblinken anregt (über TX/Pin 3):
    http://www.linuxforen.de/forums/showthread.php?t=193255


    Wer fühlt sich nun berufen, daraus einen Daemon zu bauen? *liebguck*
    e9hack? Habichthugo (war schon länger nicht mehr hier)? Oliver? Firefly? Jemand anderes? :)


    Wäre prima, wenn das fertige Programm auf Mahlzeit 4beta2 lauffähig wäre. Zur Not stelle ich auf Debian Lenny um, dann kann ich auch selbst kompilieren.
    Praktisch wäre es auch, wenn man die videodev-Nummer und den Comport (1 oder 2) beim Aufruf des Programms übergeben könnte.



    Wenn das Programm erst mal läuft, könnte man es vielleicht auch in das Serial-Plugin integrieren (per Option zuschaltbar machen). Da langweilt sich der TX-Ausgang nur, und DTR zeigt auch bloß an, ob das Plugin gerade geladen ist oder nicht. Ist aber wieder nur Spinnerei von mir.



    Gruß, Bartho