You are not logged in.

Dear visitor, welcome to VDR Portal. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

machtnix

Intermediate

  • "machtnix" started this thread

Posts: 245

Location: Geinsheim

Occupation: DV-Admin

  • Send private message

1

Thursday, January 13th 2005, 5:09pm

Status LEDs am Parallel Port ... Projekt Status-Instanz im vdr

Hi,
seit einiger Zeit suche ich nach einer Möglichkeit den Status meiner 3 DVB Karten per LED anzeigen zu lassen. (auch andere Events sind denkbar)
Die existierenden Lösungen setzen auf Extension Boards, die aber nur für diesen Zweck zu teuer wären.
Das Status LED Plugin braucht den PS/2 Anschluß und ist nicht so flexibel.

Jetzt habe ich einen Ansatz für eine wirklich einfache Lösung gefunden, bei der nur 8 LEDs über je einen Wiederstand an dem Parallelport gehängt werden. (Schaltplan im Anhang)
Diese Lösung wird benutzt um bei fli4l z.B den Eingang einer Mail anzuzeigen. Den Source dazu habe ich im Anhang beigelegt.
Jetzt aber zu meinem Problem:
Wie bekomme ich den Status der DVB Karten ermittelt?
Einen Ansatz habe gesehen, in dem ständig das messages log ausgewertet wird aber richtig gut war das nicht.
In existierenden Scripten rumfummel kann ich wohl aber proggen ist mir nicht möglich, deshalb frage ich ob jemand mit C Kentnissen die Sache in die Hand nehmen kann.
Ein kleines Plugin, das wärs !

Gruß
machtnix has attached the following file:
Echtsystem: YaVDR 0.6.1 mit VDR 2.2.0 Server und 2 Clients
Testsystem: YaVDR 0.6.1 mit VDR 2.3.1 Server und 1 Client

This post has been edited 1 times, last edit by "machtnix" (Nov 24th 2006, 1:19pm)


2

Thursday, January 13th 2005, 5:22pm

RE: 8 Status LEDs am Parallel Port

schau dir halt das serial plugin an? das wertet doch auch aufnahme und so aus.

-- randy

machtnix

Intermediate

  • "machtnix" started this thread

Posts: 245

Location: Geinsheim

Occupation: DV-Admin

  • Send private message

3

Thursday, January 13th 2005, 5:44pm

RE: 8 Status LEDs am Parallel Port

Ja das Serial Plugin kommt der Sache im Bezug auf einfachen Aufbau schon sehr nah. (Da wird wohl mit einer LED angezeigt ob eine Karte aufnimmt und mit blinkender LED wenn alle Karten aufnehmen)
Da ich beide ser. Ports belegt habe (Lirc und SmartCard Reader), kann ich das leider nicht verwenden.
Dank Psone an der 2. FF Karte habe ich den Parallel Port halt noch frei.
Vielleicht schaffe ich es ja das Serial Plugin auf Ausgabe am ParPort um zuproggn, aber ich glaube das ist bestimmt ne Nummer zu hoch für mich !?
Echtsystem: YaVDR 0.6.1 mit VDR 2.2.0 Server und 2 Clients
Testsystem: YaVDR 0.6.1 mit VDR 2.3.1 Server und 1 Client

4

Thursday, January 13th 2005, 5:48pm

RE: 8 Status LEDs am Parallel Port

ne, so schlimm ist das nicht. schau dir die sourcen vom graphlcd an. du schickst
mit outb und einem byte das einfach an den parport.
das ist wirklich simpel.

-

machtnix

Intermediate

  • "machtnix" started this thread

Posts: 245

Location: Geinsheim

Occupation: DV-Admin

  • Send private message

5

Monday, January 17th 2005, 4:37pm

Hi
Also ich habe jetzt ein Plugin, welches mir die Anzahl der gerade laufenden Aufnahmen auf den 8 LEDs ausgibt (für jede Aufnahme eine LED).
Das Plugin benutzt "parout" das ich mit google gefunden hab.

Vielleicht hat ja jemand Interresse daran das Plugin zu erweitern.
Ich denke da an Anzeigen wie:
LED für :
- DVB1 nimmt auf (rot)
- DVB2 nimmt auf (rot)
- DVB3 nimmt auf (rot)
- DVB4 nimmt auf (rot)
- VDR2DVD aktiv (grün)
- NOAD aktiv (grün)
- BURN Plugin aktiv(grün)
- ????? (gelb)

Ich kanns leider nicht :-(
machtnix has attached the following file:
  • led-0.3.tar.gz (16.38 kB - 128 times downloaded - latest: Aug 12th 2016, 9:11am)
Echtsystem: YaVDR 0.6.1 mit VDR 2.2.0 Server und 2 Clients
Testsystem: YaVDR 0.6.1 mit VDR 2.3.1 Server und 1 Client

STPTECH

Intermediate

Posts: 370

Location: Linz - Austria

Occupation: Bankangestellter

  • Send private message

6

Saturday, October 21st 2006, 12:29am

gesucht - parout

Hi Leute,

ich will das Projekt mit den LED's am Parallelport gerne weitertreiben. Ich selbst brauche 4 Status LED (Aufnahme, Schneiden, Brennen, N.N.)

jetzt bin ich auf der Suche nach einem Code welcher mir die Signale auf den Parallel-Port schreibt => parout wurde hier genannt.

WO KRIEGE ICH DAS HER ==> :suche liefert leider nichts :google nur ein französisches Forum in welchem es aber (zumindest ohne Registierung und Login) keine Suchfunktion gibt.

Wer kann mir da weiterhelfen ?
Ist das ein komplettes Programm ? => falls Ja wäre für linvdr gelinkt super

Danke schon mal im Voraus

Peter
vdr-1: Gentoo-2008.0 mit vdr-1.6.0 auf ASUS A7N8X-VM400 mit Athlon mobile XP2500+ und 2x TT-S2300 mit hw-wakeup mit Software V1.5
vdr-2: yavdr 64-0.5.0 mit vdr-1.7.27-5 + xineliboutput 1.0.7 auf ASUS M4A88TD-M/USB3 mit Athlon II-X2-20e + Zotac GeForce G210 und Cine S2 Dual Tuner V6


machtnix

Intermediate

  • "machtnix" started this thread

Posts: 245

Location: Geinsheim

Occupation: DV-Admin

  • Send private message

7

Tuesday, October 24th 2006, 12:54pm

RE: gesucht - parout

Hi
suche mal in google nach "parout linux"

Im ersten gefundenen Link kannst du den Source downloaden.

Gruß
machtnix
Echtsystem: YaVDR 0.6.1 mit VDR 2.2.0 Server und 2 Clients
Testsystem: YaVDR 0.6.1 mit VDR 2.3.1 Server und 1 Client

STPTECH

Intermediate

Posts: 370

Location: Linz - Austria

Occupation: Bankangestellter

  • Send private message

8

Wednesday, November 1st 2006, 4:14pm

kann mir das jemand bitte kompilieren !!

Hi,

...danke, aber der erste Link liefert leider nichts (da geht's um vmware und Co)...

Ich hab inzwischen eine quick and dirty Lösung gefunden (aus dem Buch "Steuerungsaufgaben mit Linux lösen) die ich auf meinem Arbeits-PC auch schon getestet habe. Leider kann ich auf meinem linvdr nichts kompilieren (ich habe vergeblich versucht gcc zu installieren und bekomme jetzt immer nur ...gcc: installation problem, cannot exec `as'... - weiß irgendwer wie ich das abstellen kann ? Das Developer-Paket auf der linvdr Homepage ist mir VIEL zu umfangreich.

Kann mir bitte irgendwer den beiliegenden code für linvdr (debian woody) übersetzen und das bin-file posten - DANKE !

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <stdio.h>
#include <stdlib.h>
#include <asm/io.h>

#define D_LPT1_DATA              0x378
#define D_LPT2_DATA              0x278
#define PAR_CTRL_EPP             0x20

int main( int argc, char *argv[] )
{
   int  I_port;
   int value;
   char *pC_port, *value_2;

   if ( argc != 3 ) {
      printf( "\nusage: %s <LPT1|LPT2> <value>\n\n", argv[0] );
      exit( 1 );
   }

   pC_port    = argv[1];
   value_2    = argv[2];

   value = atof(value_2) ;

   if ( strncmp( pC_port, "LPT2", 4 ) == 0 ) {
      I_port = D_LPT2_DATA;
   } else {
      I_port = D_LPT1_DATA;
   }

   if ( ioperm( I_port, 3, 1) != 0 ) { /* get IO/perm */
      perror( "ERROR: can't open LPT device for read/write" );
      return(-1);
   }
   /* LPT auf AUSGANG stellen */
   outb(  inb(I_port+2) & ~PAR_CTRL_EPP, I_port+2 );

   outb( value, I_port );
   printf( "." ); fflush( stdout );

  return EXIT_SUCCESS;
}


Die Lösung ist alles andere als schön - aber sie funktioniert.

Vielleicht findet sich jemand der das ganze in eine saubere Lösung gießt. In dem Buch ist auch Code für "parport" und auch ein Beispiel das Ganze als Kernel Modul (2.4) zu machen. Ist mir aber irgendwie zu heavy gewesen weil ich keinerlei Erfahrung mit Debian habe und auf meiner Gentoo-Kiste bringts mir nichts. Wenn's wem weiterhilf kann ich ihm die Sourcen zukommen lassen.

Peter
vdr-1: Gentoo-2008.0 mit vdr-1.6.0 auf ASUS A7N8X-VM400 mit Athlon mobile XP2500+ und 2x TT-S2300 mit hw-wakeup mit Software V1.5
vdr-2: yavdr 64-0.5.0 mit vdr-1.7.27-5 + xineliboutput 1.0.7 auf ASUS M4A88TD-M/USB3 mit Athlon II-X2-20e + Zotac GeForce G210 und Cine S2 Dual Tuner V6


ke2705

Intermediate

Posts: 278

Location: Erlangen

  • Send private message

9

Wednesday, November 1st 2006, 4:52pm

RE: kann mir das jemand bitte kompilieren !!

..schitteboen...

Gruss
ke2705 has attached the following file:
  • portout.tgz (2.68 kB - 72 times downloaded - latest: Jun 5th 2016, 5:53am)
VDR1: Humax iCord HD :evil:

VDR2: easyVDR 0.6 / Silverstone LC20 / AMD Geode NX 1750 PC-Chips M811 / TT Prem 2300 mod + CI / Nova-S SE / PSOne TFT / ATRIC IR

VDR3: Mahlzeit 3.3pre4 / Activy300 / DVB-S FSC 1.3 + CI

STPTECH

Intermediate

Posts: 370

Location: Linz - Austria

Occupation: Bankangestellter

  • Send private message

10

Wednesday, November 1st 2006, 5:13pm

RE: kann mir das jemand bitte kompilieren !!

@ke2705 => super danke, werde ich gleich mal weitertesten.

Betreffend meinem Problem von oben => ich hatte die binutils vergessen, nachdem ich die installiert hatte funktionierte auch das kompilieren. Also jetzt häng ich das binary selbst an, vielleicht kanns wer gebrauchen...
STPTECH has attached the following file:
  • led.tar.gz (2.66 kB - 59 times downloaded - latest: Jun 3rd 2016, 9:54pm)
vdr-1: Gentoo-2008.0 mit vdr-1.6.0 auf ASUS A7N8X-VM400 mit Athlon mobile XP2500+ und 2x TT-S2300 mit hw-wakeup mit Software V1.5
vdr-2: yavdr 64-0.5.0 mit vdr-1.7.27-5 + xineliboutput 1.0.7 auf ASUS M4A88TD-M/USB3 mit Athlon II-X2-20e + Zotac GeForce G210 und Cine S2 Dual Tuner V6


STPTECH

Intermediate

Posts: 370

Location: Linz - Austria

Occupation: Bankangestellter

  • Send private message

11

Wednesday, November 1st 2006, 5:38pm

Status abfangen - wie ??

Hi,

Nachdem ich nun die LEDs physikalisch ansteuern kann fehlt mir noch der korrekte Einstiegspunkt für die Anzeige bzw. das Zurücksetzen. Sprich wie kriege ich raus wann vdr
  • das Schneiden startet bzw. beendet
  • das burn-plugin startet bzw. beendet
Beim Aufnehmen ist's leicht => -r als Startparameter von vdr, aber bei den beiden anderen habe ich bis dato nichts gefunden. Auf die Schnelle fällt mir nur ein, daß ich einfach das zuständige Programm umtaufe und ein kleines Script dazwischen setze - nur wie soll das bei einem plugin funktionieren ?

Gibt's irgendeine Instanz bei der sich vdr meldet sobald er etwas neues anstößt bzw. etwas abschließt ? Wenn es so etwas gäbe, könnte man sich dort reinhängen und alle möglichen Parallel-Prozesse anwerfen (in meinem Falle die Statusanzeige).

@ke2705 ... gehe ich recht in der Annahme, daß portout = led.c kompiliert ist ? :D - jaja sieht ganz danach aus.

Peter
vdr-1: Gentoo-2008.0 mit vdr-1.6.0 auf ASUS A7N8X-VM400 mit Athlon mobile XP2500+ und 2x TT-S2300 mit hw-wakeup mit Software V1.5
vdr-2: yavdr 64-0.5.0 mit vdr-1.7.27-5 + xineliboutput 1.0.7 auf ASUS M4A88TD-M/USB3 mit Athlon II-X2-20e + Zotac GeForce G210 und Cine S2 Dual Tuner V6


frausch

Intermediate

Posts: 306

Location: München

Occupation: Physiker

  • Send private message

12

Thursday, November 2nd 2006, 9:43am

Hallo,

wenn interesee besteht dann könnte ich das serled Plugin dahingehend erweitern, daß auch über parout angesprochene LEDs verwendet werden können (Momentan können 2 LEDs pro serieller Schnittstelle und die Tastatur-LEDs angesprochen werden.) Zum testen präuchte ich dann allerdings eure Hilfe, da bei mir der LPT-Port bestzt ist.

Die das Schneiden kann serled schon Anzeigen, auch wenn ich den dafür nötigen patch noch auf vdr-1.4 updaten muß. Mit burn muß ich mir noch was überlegen. Aber jetzt kommt ja der Winter und ich hab vielleicht wieder Zeit, die ganzen Progrmmierprojekte, die ich bis jetzt aufgeschoben habe in Angriff zu nehmen.

Viele Gruße

Euer frausch

PS: Legt parout eigentlich konstannte Spannungsniveaus an, oder braucht man da noch ein Flipflop?

STPTECH

Intermediate

Posts: 370

Location: Linz - Austria

Occupation: Bankangestellter

  • Send private message

13

Thursday, November 2nd 2006, 2:34pm

Hi,

...das wäre super - alles in einem plugin zu konzentrieren macht durchaus Sinn (und mir die Arbeit leichter -hähä).

Testen => kein Problem das kann ich übernehmen (bei mir sind die seriellen Ports belegt = hw-wakeup und LCD) und der par-Port frei

Hardwaremäßig sind die LEDs direkt (über Pull-Up 330 Ohm) an den Pins 2-9 angeschlossen. Wenn jetzt die zugehörigen Bits im Output-Register gesetzt werden (das macht das oben gelistete Programm) leuchten sie und beim Rücksetzen gehen sie wieder aus. Einzelne LED-Projekte setzten und löschen die Bits in einer Endlosschleife und erzeugen damit ein Blinken - ist mir persönlich unsympatisch weil ich Endlosschleifen generell nicht mag (Nebeneffekte, Blockieren von Ressourcen, CPU-Last, etc.)

Macht es Sinn einen eigenen Thread betreffend der zentralen Status Instanz anzuwerfen ? Mit dieser täten wir uns allgemein leichter.

Noch ne Frage: bei mir liegt unter /etc/vdr ein epgscan.sh - wird dieses für den laufenden EPG-Scan des vdr verwendet oder macht er das intern ? Falls dieses verwendet wird, kann ich den Scan leicht über eine meiner LEDs anzeigen lassen indem ich den Aufruf einfach in das script packe.

Peter
vdr-1: Gentoo-2008.0 mit vdr-1.6.0 auf ASUS A7N8X-VM400 mit Athlon mobile XP2500+ und 2x TT-S2300 mit hw-wakeup mit Software V1.5
vdr-2: yavdr 64-0.5.0 mit vdr-1.7.27-5 + xineliboutput 1.0.7 auf ASUS M4A88TD-M/USB3 mit Athlon II-X2-20e + Zotac GeForce G210 und Cine S2 Dual Tuner V6


frausch

Intermediate

Posts: 306

Location: München

Occupation: Physiker

  • Send private message

14

Thursday, November 2nd 2006, 3:14pm

Hallo STPTECH,

also ich würde diesen thread einfach weiter führen.

Wie das mit dem EPG-scan ist, weiß ich leider nicht. Aber für das BURN-Plugin währe es sicher eine Möglichkeit die Scripte zu ändern.

Viele Grüße

Euer frausch

STPTECH

Intermediate

Posts: 370

Location: Linz - Austria

Occupation: Bankangestellter

  • Send private message

15

Thursday, November 2nd 2006, 9:23pm

Idee => Status plugin mit zentraler Struktur

Quoted

Original von frausch...Aber für das BURN-Plugin währe es sicher eine Möglichkeit die Scripte zu ändern....


Ich bin immer davon ausgegangen, daß die plugins dynamisch nachgeladene Module sind welche beim Sart des VDR registriert werden müssen. Werden hier (bei einzelnen) in der Folge dann weitere Scripte nachgeladen bzw. aufgerufen ? Wenn Ja weißt Du welche ? und zu welcher Gelegenheit ? ich hab mir den Code noch nicht angesehen...

Nun aber zu meiner Idee des Status-Plugins => Aufruf an alle Coder welche am vdr basteln (ich hoffe einer stolpert über diesen thread, könnte sonst jeder der einen kennt diesen mal kurz darauf stoßen...):
  • das status-plugin (oder eine interne Funktionalität des vdr) wird als erste Aktion von jedem plugin-xy und länger dauernder vdr-Aktion aufgerufen (analog zu -r beim vdr)
  • dieses status-plugin "merkt" sich den Aufrufer zusammen mit einer Kurzbezeichnung der Aktion (ggf. noch weitere Infos wie Startzeit, etc. ?) in einer nach außen hin zugänglichen Struktur (ggf. in einem pseudo Dateisystem analog /proc oder /sys)
  • wenn das plugin-xy (oder die vdr-Aktion) fertig ist erfolgt ein erneuter Aufruf des status-plugins welches nun den Marker in der Struktur wieder zurück setzt
  • zusätzlich erlaubt dieses status-plugin eine sub-routine (analog -r vom vdr) welche es seinerseits aufruft und diese dann ggf. Aktionen setzt (zB: Status-LEDs)

Damit sind zwei wesentliche Funktionalitäten gegeben:
  1. jeder kann jederzeit (über die Struktur) feststellen, was der vdr gerade macht
  2. direkt vor und nach einer Aktion bzw. plugin Aufruf können parallele Aktionen gesetzt werden, ohne daß ein "watchdog" laufend aufpassen muß ob sich etwas tut
    [/list=1]
    So und jetzt prügelt mich - aber ich glaube, daß es eine solche (Grund)Instanz im vdr bereits gibt und diese somit nur mehr um die öffentliche Infodarstellung sowie den Aufruf eines status-plugins erweitert gehört....

    Leider sind meine Programmierzeiten schon vorbei (Beruf, Familie, etc.) und ich kann mich deswegen nicht selbst ins Coden stürzen (insbesondere den vdr-code zu analysieren wo es wie am besten reinpaßt) - aber ich hoffe, hier mit Anregungen etwas beitragen zu können.

    Also laßt uns die Suppe gemeinsam kochen...

    Peter
vdr-1: Gentoo-2008.0 mit vdr-1.6.0 auf ASUS A7N8X-VM400 mit Athlon mobile XP2500+ und 2x TT-S2300 mit hw-wakeup mit Software V1.5
vdr-2: yavdr 64-0.5.0 mit vdr-1.7.27-5 + xineliboutput 1.0.7 auf ASUS M4A88TD-M/USB3 mit Athlon II-X2-20e + Zotac GeForce G210 und Cine S2 Dual Tuner V6


frausch

Intermediate

Posts: 306

Location: München

Occupation: Physiker

  • Send private message

16

Friday, November 3rd 2006, 9:12am

Hallo STPTECH,

möglicherweise ist das nur in der CVS-Version so. Aber da werden von burn scripte aufgerufewn, die dann das demuxen etc machen.

Dine Idee finde ich gut. In vdr gibt es eine Status-Klasse, die einige callback-Funktionen hat. Man leitet einfach eine Klasse von dieser Statusklasse ab, und überlät diese callback funktionen. Allerdings gibt es nicht für jedes Erreignis eine callback-Funktion. Vor allem nicht für das was in den Plugins so vor sich geht.

Viele Grüße

Dein frausch

STPTECH

Intermediate

Posts: 370

Location: Linz - Austria

Occupation: Bankangestellter

  • Send private message

17

Friday, November 3rd 2006, 3:18pm

Hi,

Das mit den scripten vom burn-plugin sollte eigentlich auch in der aktuellen Version so sein (nicht nur CVS). Ich muß mir mal genauer ansehen was es wann mancht - eigentlich wäre nur interessant welches script als erstes und welches als letztes aufgerufen wird (unabhängig von allen möglichen internen Optionen), da könnte ich mich dann (zwischenzeitlich) reinhängen.

Das mit den callback Funktionen klingt verdammt nach C++ (ich habe mich davor und insbesondere der ganzen Klassenlehre eigentlich gedrückt...)

Mir ist auch klar, daß meine Idee in der Folge alle plugins und den vdr selbst betrifft => deswegen auch der Aufruf die Programmierer darauf zu stoßen (weil ich befürchte, daß diese unseren aktuellen thread mangels eigenem Interesse übersehen). Ich werde mal "machtnix" anstoßen den Titel zu erweitern und einen MOD daß er einige Programmierer antippt.

Peter
vdr-1: Gentoo-2008.0 mit vdr-1.6.0 auf ASUS A7N8X-VM400 mit Athlon mobile XP2500+ und 2x TT-S2300 mit hw-wakeup mit Software V1.5
vdr-2: yavdr 64-0.5.0 mit vdr-1.7.27-5 + xineliboutput 1.0.7 auf ASUS M4A88TD-M/USB3 mit Athlon II-X2-20e + Zotac GeForce G210 und Cine S2 Dual Tuner V6


machtnix

Intermediate

  • "machtnix" started this thread

Posts: 245

Location: Geinsheim

Occupation: DV-Admin

  • Send private message

18

Friday, November 24th 2006, 1:33pm

Hi,
im Anhang ist die Binary von parout.
Der Link zum Source - http://www.infa.abo.fi/~chakie/projects/parout/

@STPTECH
Schön dass Du du dich dieser Sache annimst. So eine Status-Instanz halt ich für sehr brauchbar.

Gruß
machtnix has attached the following file:
  • parout.zip (11.45 kB - 54 times downloaded - latest: Aug 13th 2016, 8:47am)
Echtsystem: YaVDR 0.6.1 mit VDR 2.2.0 Server und 2 Clients
Testsystem: YaVDR 0.6.1 mit VDR 2.3.1 Server und 1 Client

This post has been edited 1 times, last edit by "machtnix" (Nov 24th 2006, 1:37pm)


STPTECH

Intermediate

Posts: 370

Location: Linz - Austria

Occupation: Bankangestellter

  • Send private message

19

Saturday, November 25th 2006, 1:44pm

Hi,

leider bin ich noch nicht wirklich weiter gekommen. Ich habe von Klaus den Hinweis erhalten mir mal die cStatus in status.h anzusehen - allerdings hatte ich noch keine Zeit mich wirklich auf die Sourcen vom VDR zu stürzen.

Zwischenzeitlich habe ich das ganze über eine (unsaubere) Zwischenlösung verwirklicht:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <stdio.h>
#include <stdlib.h>
#include <asm/io.h>

#define D_LPT1_DATA              0x378
#define D_LPT2_DATA              0x278
#define PAR_CTRL_EPP             0x20

int main( int argc, char *argv[] )
{
   int  I_port;
   int value;
   char *pC_port, *value_2;

   if ( argc != 3 ) {
      printf( "\nusage: %s <LPT1|LPT2> <value>\n\n", argv[0] );
      exit( 1 );
   }

   pC_port    = argv[1];
   value_2    = argv[2];

   value = atof(value_2) ;

   if ( strncmp( pC_port, "LPT2", 4 ) == 0 ) {
      I_port = D_LPT2_DATA;
   } else {
      I_port = D_LPT1_DATA;
   }

   if ( ioperm( I_port, 3, 1) != 0 ) { /* get IO/perm */
      perror( "ERROR: can't open LPT device for read/write" );
      return(-1);
   }
   /* LPT auf AUSGANG stellen */
   outb(  inb(I_port+2) & ~PAR_CTRL_EPP, I_port+2 );

   outb( value, I_port );
   printf( "." ); fflush( stdout );

  return EXIT_SUCCESS;
}

und das habe ich dann in den rwrapper.sh integriert:

Source code

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
#!/bin/sh
#
# rwrapper.sh
#
# an example script for use with the '-r' option could look like this:

CLIPINC="0"     # (0=off,1=on)
NOAD="1"        # (0=off,1=on,2=online mode)
SHAREMARKS="0"  # (0=off,1=on,2=upload after cut)
LED="1"		# ((0=off,1=on)

# set the online-mode here
# 1 means online for live-recording only
# 2 means online for every recording
ONLINEMODE="--online=2"

# set additional args for every call here here
ADDOPTS="--ac3 --overlap --jumplogo --comments --statisticfile=/var/log/noadstat"

case $1 in
     before)
	echo "Before recording $2"

	############
	# clipinc
	############
	case $CLIPINC in
	     1) vdrrecinfo.pl $1 "$2"
		;;
	esac

	############
	# noad
	############
	case $NOAD in
	     2) noad $1 $ADDOPTS $ONLINEMODE "$2"
		;;
	esac

	############
	# sharemarks
	############
	case $SHAREMARKS in
	     1|2) marks2pts $1 "$2"
		  ;;
	esac

	############
	# REC-LED
	############
	case $LED in
	     1|2) /usr/local/bin/led LPT1 0x02
		  ;;
	esac
	;;
     after)
	echo "After recording $2"

	############
	# noad
	############
	case $NOAD in
	     1) noad $1 $ADDOPTS "$2"
		;;
	     2) noad $1 $ADDOPTS $ONLINEMODE "$2"
		;;
	esac

	############
	# REC-LED
	############
	case $LED in
	     1|2) /usr/local/bin/led LPT1 0x00
		  ;;
	esac
	;;
     edited)
	echo "Edited recording $2"

	############
	# sharemarks
	############
	case $SHAREMARKS in
	     2) marks2pts -upload $1 "$2"
		;;
	esac
	;;
     *)
	echo "ERROR: unknown state: $1"
	;;
esac

exit $? 

Wie gesagt, wenn ich Zeit habe guck ich mal in die Sourcen und check was mir so einfällt wie ich das mit dem cStatus lösen kann....

Peter
vdr-1: Gentoo-2008.0 mit vdr-1.6.0 auf ASUS A7N8X-VM400 mit Athlon mobile XP2500+ und 2x TT-S2300 mit hw-wakeup mit Software V1.5
vdr-2: yavdr 64-0.5.0 mit vdr-1.7.27-5 + xineliboutput 1.0.7 auf ASUS M4A88TD-M/USB3 mit Athlon II-X2-20e + Zotac GeForce G210 und Cine S2 Dual Tuner V6


Immortal Romance Spielautomat