Posts by FrankJepsen

    Hallo,


    da weder Carlo noch Rasputin ihre Sourcen veröffentlichen wollen, habe ich damit begonnen ein eigenes Programm in "C" zu schreiben.
    Die aktuelle Version werde ich jeweils immer hier am Anfang des Threads veröffentlichen.


    Dokumentation findet Ihr unter
    http://www.jepsennet.de/vdr


    Aktuelle Version V2.1 vom 25.02.2006
    vdrwakeupM8.zip
    vdrwakeupM168.zip


    Alte Version V1.5 vom 14.11.2004
    vdrwakeup.zip


    Aktuelle Source V2.1 vom 25.02.2006
    Hier nun endlich die Source. Ich habe das Archiv verschlüsselt, weil ich gerne wissen möchte, wer alles mitprogrammiert. Schickt mir einfach eine Email an vdr[SIZE=7]_at_[/SIZE]jepsennet[SIZE=7]_punkt_[/SIZE]de mit eurem Namen und VDR-Portal Nickname und ihr bekommt das Passwort. Änderungen oder Änderungsvorschläge schickt mir bitte auch an diese Email, damit ich sie in die allgemeine Source einpflegen kann.
    vdrwakeup_src.zip


    Unterstützende Scripte vom 25.02.2006
    jetzt mit den Scripten von Sascha (Dentec) sowie epgscan.sh mit verbessertem Logging. Enthält auch den fertigen LCDd-Dämon basierend auf LCDproc 0.4.5 für c't 3.0 und LinVDR 0.7.
    Wakeup Downloadseiten


    V2.1

    • Programmierung der Portmodes funktionierte bisher nicht korrekt (Die Tücken des Progmem wurden nicht berücksichtigt)


    V2.0

    • Decodierung und Anzeige von NEC Fernbedienungscodes
    • Umstellung auf aktuellen WinAVR
    • Unterstützung für ATmega168 (Pinkompatibel zum ATmega8 aber 16 KB Flashspeicher)


    V1.5

    • Unterstützung von RC6 Fernbedienungscodes.
      Auch RC6 hat ein Toggle-Bit, was wenn es nicht rausgefiltert wird, dazu führte das die alte Routine den Code nur bei jedem zweiten Tastendruck erkannte. Da es so gut wie keine frei verfügbare Dokumentation dieses Codes gibt, habe das Timing an Hand der mir zur Verfügung stehenden Fernbedienung eingestellt und programmiert. Sollte jemand eine Fernbedienung haben, die nicht oder nur bei jedem zweiten Tastendruck erkannt wird, bitte bei mir melden!
    • Anzeige für erkannte Fernbedienungscodes. Der neue Befehl IRSHOW schaltet zwischen Uhrzeit- und IRCode-Anzeige hin und her. (z.B. echo IRSHOW > /dev/ttyS1)
    • Nach jedem IR-Tastencode wird die IR-Erkennung für ein bis zwei Sekunden deaktiviert, um unbeabsichtigte Doppeldrücke oder Doppelsendungen der Fernbedienung zu unterdrücken.


    V1.4a

    • BugFix: Port an LED3 (JP1 Pin3) wurde beim Start immer auf Low gesetzt unabhängig vom gespeicherten Startwert für diesen Port.


    V1.4

    • In Verbindung mit dem neuen LCDPROC-Treiber wird jetzt Backlight über Relais unterstützt.
    • Mit einer Änderung am VDR-Plugin-LCDproc geht das Backlight bei jeder Änderung am Display für eine einstellbare Zeit an und dann wieder aus.
    • BugFix: IR-Port Einstellungen wurden nur für IRO gespeichert.
    • Bei eingeschaltetem VDR (Powersense) wird Wakeup und IR-On deaktiviert.
    • Nach einem erstem IR-On wird IR-On ebenfalls für ein paar Sekunden deaktiviert, um zu schnelles ein-/ausschalten zu verhindern.


    V1.3


    V1.2

    • Erkennung, ob VDR-PC eingeschaltet ist über Eingang PC0. Wird der PC eingeschaltet (wie auch immer), wird ein aktueller Timer gelöscht und die Anzeige "VDR startet..." wird für mehrere Sekunden eingeblendet.
    • Codeoptimierung hinsichtlich der Größe
    • Unterstützung von Displays mit zwei Controllern (z.B. 4x40 oder 4x27)


    V1.1

    • Remote On und Remote Relais Ports können frei definiert werden (siehe IRR und IRO).
    • Zwei zusätzliche IR-Tasten können definiert werden (siehe IRA und IRB).


    V1.0c

    • Bugfix: Bei RC5 Codes wird jetzt nur der Addr und Code verglichen. Vorher wurde das Togglebit nicht ignoriert.
    • Bugfix: Weiteres Problem bei RC5 Code beseitigt.
    • Bugfix: Nach RTC Interrupt wurde Alarm Flag nicht zurückgesetzt.


    V1.0

    • Unterstützung von Displays mit 16x4 und 20x4 mit großer Uhrzeitanzeige und neu 16x2 bis 40x2.
    • Verbessertes RS232 Protokoll. Es sind keine Sleep-Befehle zwischen den Befehlen mehr nötig. Unterschiedlich lange Befehle sind nun möglich.
    • Sekunden- und jahresgenaues stellen der Uhr. Sonst ist jedes Jahr ein Schaltjahr.
    • Anzeige des Wochentags.
    • Programmierung der Infrarot-Kommandos wird per RS232-Befehl eingeleitet. Dadurch können die Pins PC0 und PC1 als zusätzliche Schaltausgänge genutzt werden.
      Wichtig: Programmierjumper auf keinen Fall setzen!
    • Unterstützung beliebiger Fernbedienungscodes (nicht nur RC5) zum Einschalten und für die verschiedenen Schaltausgänge.


    Später ist dann noch folgendes auf meiner Wunschliste:

    • Anzeige des Titels der nächsten programmierten Sendung.
    • Bei Betrieb umschalten des Displays auf Ausgabe der LCDPROC Anzeige des VDR. (Simulation eines seriellen Displays)
    • Und mein Traum: Verwendung eines grafischen Displays über die serielle Schnittstelle mit graphlcd-plugin und im ausgeschalteten Zustand vom Wakeup-Modul.


    Für Anregungen, Wünsche und Fehlerreports steht Euch dieser Thread nun offen.


    Tschüß Frank

    Hallo Jabby,


    an dem RC5 Problem habe ich bereits gearbeitet und es gibt eine von mir gepatchte Software auf Starters Seite.


    An einer neuen Software arbeite ich bereits. Die Version mit einem 16x4 Display läuft bei mir bereits im Testbetrieb. So ziemlich alle IR-Codes werden von dieser Version sehr zuverlässig erkannt. Geduldet Euch noch ein paar Tage. Dann werde ich sie inklusive Source veröffentlichen.


    Welche Auflösungen wollt ihr in der Erstausgabe unterstützt haben?


    Einen kleinen Ausblick kann ich Euch unter http://www.jepsennet.de/vdr schon mal geben.
    [Blocked Image: http://www.jepsennet.de/vdr/Timer.JPG]


    Meine Beispiel Scripte für c't Distribution liegen ebenfalls bei Starter nämlich hier.


    Tschüß Frank

    Moin,


    die neue VGA-Karte läuft. :D
    Damit habe ich nun endlich Framebuffermode aktivieren können.


    ZOC hatte ich tatsächlich noch aus alten Mailboxzeiten auf dem Rechner und jetzt auf 4.14 upgedatet. SSH läuft damit prima. :D


    Anbei noch eine /usr/sbin/runvdr mit S-Video für Catweazle.


    War nett mit euch,


    Frank

    Files

    • runvdr.txt

      (1.35 kB, downloaded 71 times, last: )

    Moin,


    klar ich habe noch ein paar S-Video Kabel rumfliegen.


    Machen wir doch eine kleine Tauschbörse.
    Ich suche noch eine alte VGA-Karte.
    Ich habe zur Zeit nur eine alte ATI Karte mit 1MB.
    Da funktioniert Framebuffer nur mit 640er Auflösung. :(
    Eine mit 8, 16 oder 32 und Vesa Kompatibilität wäre da schon ein echter Fortschritt.


    Vielleicht hat einer noch sowas in einem alten Rechner rumstehen.
    Oder sind alle alten Rechner schon zu VDRs verwurstet worden?


    Tschüß, bis nachher


    Frank

    Hallo,


    da weder Carlo noch Rasputin ihre Sourcen veröffentlichen wollen, habe ich damit begonnen ein eigenes Programm in "C" zu schreiben. Zur Zeit fehlt noch ein Teil der IR-Routinen. Sobald die fertig sind werde ich hier die fertige Software inklusive Source veröffentlichen.
    Folgende Features sind für V1.0 geplant:

    • Unterstützung beliebiger 2- und 4-stelliger Displays von 2x16 bis 4x40 mit großer Uhrzeitanzeige bei 4 Zeilen.
    • Verbessertes RS232 Protokoll. Es sind keine Sleep-Befehle zwischen den Befehlen mehr nötig. Unterschiedlich lange Befehle sind nun möglich.
    • Sekunden- und jahresgenaues stellen der Uhr. Sonst ist jedes Jahr ein Schaltjahr.
    • Programmierung der Infrarot-Kommandos wird per RS232-Befehl eingeleitet. Dadurch können die Pins PC0 und PC1 als zusätzliche Schaltausgänge genutzt werden.
    • Unterstützung beliebiger Fernbedienungscodes (nicht nur RC5) zum Einschalten und für die verschiedenen Schaltausgänge.


    Später ist dann noch folgendes auf meiner Wunschliste:

    • Anzeige des Titels der nächsten programmierten Sendung.
    • Bei Betrieb umschalten des Displays auf Ausgabe der LCDPROC Anzeige des VDR. (Simulation eines seriellen Displays)
    • Und mein Traum: Verwendung eines grafischen Displays über die serielle Schnittstelle mit graphlcd-plugin und im ausgeschalteten Zustand vom Wakeup-Modul.


    Also geduldet Euch noch ein wenig.


    Tschüß Frank

    Hallo Leute,


    die Scripte für den Daily Timer inklusive EPG Scan sind fertig.


    Ich habe mir zunächst mal die VDR Sourcen angeschaut um sehen, was der Meister gemacht hat.


    Bei zwei Karten gibts da nicht viel zu tun. Sobald eine sekundäre Karte frei ist, werden nach 60 Sekunden alle Kanäle im Abstand von 20 Sekunden einmal angewählt. Dabei werden Kanäle auf Frequenzen die schon mal gewählt wurden übersprungen (nach RTL werden RTL2 und SuperRTL übersprungen).


    Bei nur einer Karte gibt es zwei Probleme. Es wird zunächst die "Zeit bis EPG Scan (h)", also mindestens eine Stunde, gewartet. Dann muß die Karte auch noch frei sein. Leider musste ich feststellen, das schon das Plugin osdteletext die Karte belegt. Also wären hier diverse Patches an der Originalsoftware nötig. Da wohl nur die wenigsten den VDR selbst compilieren habe ich mich dann doch dagegen und für ein simples Script entschlossen.


    Hier also die Früchte der Arbeit:
    README:

    epgscan.sh:

    Tschüß Frank

    Hallo,


    so kompliziert ist es doch nun auch wieder nicht. Man muß doch nur den Daily Timer ausrechnen. Wenn die Zeit des Daily Timers vor dem nächsten Timer liegt wird eben der Daily Timer statt des nächsten Timers programmiert. Hier sind mal die LinVDR Nutzer gefordert.


    Das durchlaufen der Programme um den EPG zu aktualisieren läßt sich über ein Script erledigen was bei jedem Start ausgeführt wird, aber nur Nachts aktiv wird. Ich glaube sowas gibt es hier im VDR Portal schon irgendwo zu finden. Vielleicht schau ich mal bei Gelegenheit und baue was passendes.


    Für das Wakeup-Modul gibt es hier jedenfalls nichts neues zu tun.


    Tschüß Frank

    Hallo,


    den Daily Timer gibt es doch schon. Schaut Euch mal das Script für die c't-Distribution an. Den gleichen Mechanismus kann man auch leicht in die poweroff.pl übernehmen. Einen Extra Befehl ist dafür doch nun wirklich nicht nötig.


    Vielleicht ist es noch einfacher in der poweroff.pl das shutdown-script einfach direkt von der poweroff.pl aufzurufen. Warum zwei Quellen pflegen?!


    Tschüß Frank

    Hallo,


    Uhr und Prozessor haben getrennte Quarze. Das Programm läuft und arbeitet die Hauptschleife durch. Sonst würde nichts passieren. Anscheinend klappt die Verbindung zum Uhrenbaustein nicht. Daran sind die zwei Leitungen PC4/PC5 zu SCL/SDA zuständig. Kontrollier auch mal die Versorgungsspannung am PCF.


    Tschüß Frank

    Hallo,


    freut mich, dass Ihr Euch freut. :D


    Von funktionierenden Fernbedienungen hätte ich gerne den EEPROM Inhalt:
    In PonyProg mit Command/ReadData und File/SaveDataAs (Starter hat leider nur das Programm gespeichert).


    Bei nicht funktionierenden IRs hilft mir eventuell ein RawDatenauszug den man zum Beispiel mit WinLirc erstellen kann:
    WinLirc starten
    Reconfigure
    RawCodes
    Die Ausgabe des RawCodes Fensters kopieren.


    Tschüß Frank


    Mir reicht es, wenn ihr mir den jeweiligen Text als PM zusammen mit dem Fernbedienungstyp und verwendetem Code zuschickt. Wir müssen damit ja nicht das Forum zumüllen.
    |
    V

    Hallo Rasputin,


    Du warst tatsächlich 4 Minuten schneller als ich. :D


    Zwei kleine Kritikpunkte:
    Es fehlt Fehler-/Überlaufprüfung beim seriellen Datentransfer.


    Du hast jetzt alle Geräteadressen freigeschaltet. Und beim Programmieren der Tasten werden am Display Infos ausgegeben. Es wird aber weiterhin nur das Kommando verglichen. Wenn ich also den Powerknopf zum Einschalten programmiere, geht der VDR auch mit dem Powerknopf des Fernsehers, Videorecorder, Stereoanlage usw. an.


    Inzwischen wird dieser Thread hier fortgesetzt. Alles weitere dort.


    Tschüß Frank


    :closed :closed :closed

    Hallo,


    von Rasputin gibts es übrigens auch eine Version 1.4 auf seinen Seiten. Sie entspricht in etwa meiner 1.3.1 aber ohne Fehler-/Überlaufprüfung beim Datentransfer.


    Zusätzlich hat er alle Geräteadressen freigeschaltet. Und beim Programmieren der Tasten werden am Display Infos ausgegeben. Es wird aber weiterhin nur das Kommando verglichen. Wenn ich also den Powerknopf zum Einschalten programmiere, geht der VDR auch mit dem Powerknopf des Fernsehers, Videorecorder, Stereoanlage usw. an.


    Tschüß Frank

    Hallo,


    wie versprochen hier eine erste neue Version.
    Probiert Sie mal aus.

    Ein Problem gibt es leider:
    Bei nicht RC5 Codes wird der eigentliche Code meist nur einmal gesendet. Dann folgen nur kurze Wiederholungscodes, um das Gedrückthalten der Taste zu signalisieren. Da die Software das IRSignal nur polled kann es dabei vorkommen das das erste Signal verpasst wird. Dann muß man nochmal drücken. Vielleicht kann ich daran noch ein bischen feilen oder doch auf Interupthandling für die Erkennung umstellen.


    Berichtet mal Eure Erfahrung und schickt mir auch mal Euren EEPROM-Inhalt mit den funktionierenden Codes per PM.


    Tschüß Frank

    Files

    Hallo,


    Und nun noch eine frohe Botschaft an alle RC5 geplagten, die sich abgemüht haben einen passenden Fernbediienungscode zu finden. Ich selber habe bisher einen vom Fernseher nicht gebrauchten Code (Taste [10]) zum Einschalten genommen. Nun wollte ich das endlich mal ändern und habe mich mit der Codeliste meiner Universalfernbedienung auf die Suche nach einem zweiten RC5 Code gemacht, der sich mit meinem Fernseher nicht überschneidet. Leider funktionierte kein einziger weiterer Code.


    Also habe ich mich nach Spezifikationen anderer Codes umgesehen, um einen Universaldecoder in die Software einbauen zu können. Und was muß ich beim Programmieren feststellen. Die Software im jetzigen Stand aktzeptiert genau einen RC5 Code, nämlich den mit Adresse 0 (1. Fernseher). Alle anderen RC5 Codes (Video, DVD usw.) werden nicht aktzeptiert. :(


    Heute oder morgen abend hoffe ich eine Software mit folgenden Merkmalen veröffentlichen zu können:

    • Aktzeptanz beliebiger RC5 Codes. (fertig)
    • Bei RC5-Codes kann alternativ auch mit allen Tasten einer bestimmten Geräteadresse eingeschaltet werden. Einfach beim Programmieren mindestens zwei verschiedene Tasten mit der gleichen Geräteadresse drücken. (in Arbeit)
    • Beim Setzen des Programmierjumpers wird der alte Code gelöscht. (fertig)
    • Bei Codes von NEC, Sony, Hitachi, Pioneer und anderen wird die neue universelle Codeerkennungsroutine verwendet. (fertig, funktioniert, muß aber noch getestet werden)
    • Rückmeldung beim Erkennen und Programmieren von Fernbedienungscodes über LED1. (fertig)


    So nun könnt Ihr schon mal anfangen zu sabbern. ;D


    Ich hoffe das ich heute abend weiter programmieren kann und fertig werde.


    Tschüß Frank