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
- Unterstützung von LCDproc beim Betrieb des VDR
[Blocked Image: http://www.jepsennet.de/vdr/Timer.jpg] [Blocked Image: http://www.jepsennet.de/vdr/LCDproc.jpg] - Automatische Erkennung und Umschaltung zwischen LCDproc und Uhrzeit-/Timeranzeige.
- Beim Start der Software wird ein automatischer IRO nur ausgeführt, wenn noch kein Kommando zum Einschalten im EEPROM liegt.
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