[ANNOUNCE] vdr-serial-0.0.0

  • Hi Jungs,


    ich bin grad dabei ein Plugin zu schreiben mit dem man Tasten im Frontpannel abfragen kann und evtl. auch zusätzliche LEDs im Frontpannel sansteuern kann.


    Das ganze wird an der seriellen Schnittstelle angeschlossen. Ich muss das Board mal als "ftp-server" missbrauchen, weil ich in der Mailingliste was nachfragen will und selber im MOment nicht auf meinen FTP Server komme.


    Ich hoffe ihr verzeit.


    Das Plugin funktioniert _noch_ nicht! Also habt ein wenig Geduld mit mir.


    Gruss

  • Zur Info die Mail die an die Mailingliste ging.
    ---- schnipp ----
    Hi guys,


    I think my VDR is perfect if it is usable without a remote. So I want to implement frontpanel keys. I have no gameport so I decided to use the secound serial port.


    My aim is to create a plugin which enables me to poll buttons connected to the serial line. Additional it will be possible to use two (perhaps
    three) leds to use it as informations on the frontpanel (recording active fe).


    I am not a skilled programmer, beside some modifications of some existing plugins. So please allow me some "silly" questions. I found some neccessary peaces of software to combine them to get the functionality I need. GPL is great ;-)).


    I modified the source of sled (led and pushbutton controller) to get it all working. The secound step was a bit mor difficult, because I have no knowledge about the used classes within VDR. I had a look at the joystick plugin and modified it to access the serial line.


    What I already did:
    You find a tarball at http://www.vdr-portal.de/board/thread.php?threadid=3804&sid=


    Within this tarball there is a /vdr-serial-0.0.0/tools directory. After "make all" you find there a binary which polls the serial line and prints which line (CTS, DSR, RNG or CAR) is high. So you can already use 15 buttons (2^4-1).


    The secound step is to integrate this in a plugin enviroment. I had a look at the joystick plugin which does extremly the same, but with the gameport as input. Within the tarball there is a /vdr-serial/ directory. Type "make libvdr-serial.so" and the plugin is build, BUT!


    I tried to understand which classes the joystick plugin uses and tried a copy&paste. Of course it produces no keypresses. So something with the access of the /dev/ttyS0 mus be wrong.


    My questions:
    - must I use this classes (cFile::FileReady and safe_read)
    to read from /dev/ttyS0, or is it possible to read as
    in the serial.c from the tools directory?
    - if so, how must I implement this exactly, or
    better, where can I get the neccessary informations
    about the classes? Within the VDR sources? Or are
    there better places?
    - if I am able to implement it like in tools/serial.c,
    what are the drawbacks?


    I am looking forward to your answers. Hopefully I will be able to implement this within the next weeks.


    TNX in advance.

  • hallo


    ich weiss nicht ob es dir hilft aber es gab da mal einen artikel in entweder www.linux-magazin.de oder www.linux-user.de der sowas in der art behandelt hat es war gedacht um zb server ueber ein frontpanel zu bedienen zum mount von cds oder zum aufbau einer inet verbindung oder was auch immer das problem ist ich finde den link nicht und habe ihn auch nicht mehr in den favs abgelegt


    ich hatte den link mal im dvbforum.de gepostet aber ich finde da nix mehr da die die boardsoftware umgestellt haben und die streikt immo


    vom aufbau her genau was du machen willst und das beste du kannst den source code anschauen vielleicht hilft es weiter


    wenn du es findest kann es dir bestimmt helfen ich habe es damals aber aufgegeben da mein c wissen nicht langte


    als anmerkung das prog ist selbststaendig aber es kann ja kommands auf port 2001 senden


    nur so als vorschlag


    mattias

  • Hallo,


    Chaos in net
    ich glaube das Projekt heist "Cpanel".
    Ich habe mir mal was nachgebaut für meinen fli4l (da gbt es auch ein fli4lpaketmit lötanleitung und konfiguration). Damit kann man beliebige befehle abhängig von der Kombination der tastendrücke ausführen.


    Auf die Idee mit port 2001 bin ich allerdings auch noch nicht gekommen ?(

    1.Nexus 2.1 minidvblinux ( 1.1.28 ) -teletext-dvd-svcd-remote-mp3-mplayer
    2.Noxa+drxr3 vdr1.2.1-osdteletext-clock-games-dvd-svcd-mp3-mplayer

  • Zitat

    Original von twix
    ich glaube das Projekt heist "Cpanel".


    So richtig fündig wird man unter dem Stichwort bei Google nicht. Scheint mehrer Produkte/SW zu geben unter dem Punkt.


    Hat jemand nen Link?

  • hi,


    nachdem ich ja auch am ueberlegen bin wegen dem touchpanel zeugs,
    sollten wir evtl die funktionalitaeten in einem plugin zusammenlegen?


    letztendlich braucht man fuers graphlcd/touch folgendes:


    - seriellen port (usb, parport/i²c/serial, evtl mit controller?)
    - kopplung zwischen graphlcd und dem plugin


    ich koennte mir das so denken:


    das serial plugin wertet einen tastendruck aus (ob mechanisch ueber
    ne matrix oder touchpanel), schickt einen event an den serial bus, das
    serial plugin wertet das aus und schickt die ergebnisse ueber eine unixpipe
    oder tcp-socket an ein anderes plugin (so ne art "seriald");
    die plugins werten wiederum selber die fuer sich intressanten tastndruecke
    aus. sei es jetzt graphlcd, oder ein "serial2vdr" fuer die normalen geschichten
    (lautstaerke etc..).


    bzgl der hardware folgende ueberlegungen:


    - parport mit shiftregister:
    - einfach zu realisieren, aber sicher ned zuverlaessig in der auswertung
    - parport i²c:
    - wohl die beste loesung, wueder mit lm_sensors gehen und dort
    gibts ne gute api. nachteil: fuern user umstaendliche installation.


    dummerweise haben die parports ned genug portleitungen frei...


    - serial/legacy:
    - uC controller benoetigt, aber super flexibel, braucht eigene firmware.
    koennte aber auch leicht erweitert werden (denke da auch an das
    activ teil, z.b. stufenlos aenderbare helligkeit vom lcd)
    - serial/usb:
    - sehr intressant, werden aber 2 uC benoetigt (ft232bm und atmel),
    wohl das flexibelste, strom ist auch kein problem (keine extra kabel),
    fuer die meisten rechner neuerer art verwendbar und nimmt keinen
    port exclusiv "weg".
    - nachteil: recht teuer (ft232 ca 6eur)



    ich persoenlich wuerde auf serial/legacy gehen, und als option serial/usb
    ueber ft232bm (usb to serial controller) einplanen.


    gruss,
    -- randy

  • randy


    Helf mir mal, aber warum so kompliziert? Zumindest schauts für mich als Laien so aus. Mit 15 Tasten (4xfarbe, 4x cursor, menu, enter, back, laut, leise = 13 Tasten, evtl. noch ne Shift Taste, damit man die Keys doppelt belegen kann) kann man den ganzen VDR komplett bedienen. Dafuer reichen die 4 Inports an der seriellen Schnittstelle aus.


    Zusätzlich haette man die Möglichkeit zwei (evtl drei) LEDs anzuschliessen. Dafuer braucht man ein paar Taster, ein paar Dioden, ein paar Widerstaende, drei LEDs und ne Lochrasterplatine.


    Die Schlatung bekommt jeder hin, der weiss an welcher Seite der Lötkolben heiss wird. Das ganze kostet in Summe <<5Euro.


    Das wäre meine bevorzugte Lösung.


    Noch besser wäre, wenn man das direkt im graphlcd plugin einbaut. Es gibt ne Möglichkeit 2x4 Steuerleitungen vom Paralellport zu verwenden. Tasten müssen als Matrix realisiert werden und so kommt man auch auf 16 Tasten.


    Erklaert ist das hier. Das funktioniert mit LCDd und nem HD44780. Soweit ich das kapier hat das aber nichts mit dem Controler zu tun, sondern sollte generell mit dem ParPort funktionieren.


    Der Hardware Aufwand ist auch minimal. Nur kann ich das nicht so eins zu eins umsetzen. Dazu fehlen mir die Programmierkentnisse. Vorteil wäre der zweite Serielle Port bleibt frei. Nur das bekomme ich allein nicht hin. Da ich Sibbi nicht so auf der Tasche liegen wollte habe ich halt die serielle Variante in Angriff genommen.


    Vielleicht hat randy ja Lust dir die LCD Sourcen mal anzuschauen.


    Wär klasse wenn wir das gemeinsam hinbekommen. So ein VDR mit Frontpanel Keys ist halt mein Traum. Eine Hifi Komponente so ganz ohne Tasten und nur mit nem LCD sieht schon irgendwie nackt aus.


    So richtig weit weg bin ich davon ja auch nicht mehr.


    Gruss

  • hallo


    da faellt mir gerade was ein bevor hier das rad neu erfunden wird :)


    wie waere es mit dem joystick plugin das ist fertig und einen gameport hat doch fast jeder rechner oder es laesst sich immer noch eine alte soundkarte finden


    und das beste an der sache ist fuer alle die nicht loeten koennen oder wollen nehmen einfach einen alten joystick und nehmen den auseinander und schon passt das ganze wieder und man haette den meines erachtens wichtigen seriellen port noch frei fuer wakeup ueber modem


    mein vorschlag:
    1 seriell = lirc
    2 seriell = modem fuer wake up oder inet es soll ja noch leute ohne dsl geben
    1 paralell = lcd
    usb = freie verfuegung
    game = taster an der front


    fuer was soll man den gameport sonst nutzen? zocken auf einem vdr ausser snake oder tetris nee oder?


    ich meine ja nur aber ich will ja nicht als spassbremser dastehen wenn es spass warum nicht es wird immer einen geben der sich ueber das plugin freut


    mattias

  • Zitat

    Original von chaos_in_net
    hallo


    da faellt mir gerade was ein bevor hier das rad neu erfunden wird :)


    wie waere es mit dem joystick plugin das ist fertig und einen gameport hat doch fast jeder rechner oder es laesst sich immer noch eine alte soundkarte finden


    hey, kewler einfall!


    siehe rak's ml post:

    Zitat


    I think my VDR is perfect if it is usable without a remote. So I want to implement frontpanel keys. I have no gameport so I decided to use the secound serial port.


    sorry, aber hier iss ned windows land, wo einfach definiert wird, welche hardware
    ein user zu haben hat.


    Zitat


    und das beste an der sache ist fuer alle die nicht loeten koennen oder wollen nehmen einfach einen alten joystick und nehmen den auseinander und schon passt das ganze wieder und man haette den meines erachtens wichtigen seriellen port noch frei fuer wakeup ueber modem


    und wie steuerst du die LED's? und mit welcher elektronik wertest du die touchpanel
    werte aus?


    Zitat

    ich meine ja nur aber ich will ja nicht als spassbremser dastehen wenn es spass warum nicht es wird immer einen geben der sich ueber das plugin freut


    mattias


    nich falsch gedacht, es gibt auch sicherlich plugins die kein mensch gebrauchen kann.
    drum meinte ich auch, mehr funktionen zu integrieren bzw das "offen" zu gestalten,
    damits nen richtigen sinn hat. bzw das leisten kann was gefragt ist
    (1-n eingaenge, 1-n ausgaenge, moeglichst eine verbreitete schnittstelle, kombatibel
    zu vdr und vdr-plugins gleichermassen)



    -- randy

  • Hi Ralf,
    tut mir Leid, dass ich bisher nicht auf Deine Mail geantwortet habe, aber ich bin grad' ziemlich im Stress ... ;( Ich kam nichtmal dazu mir die lcdproc sourcen anzuschauen...
    Ich würde aber dafür plädieren, die Tasten mit einem eigenen plugin zu realisieren. Dann könnte man das plugin auch nutzen, wenn man kein graphlcd installiert hat...
    (Problematisch könnte es nur dann werden, wenn man den Parallelport dazu verwenden möchte...)
    Gruss, Carsten

  • ... es blockiert 90% der Prozessorleistung. Das liegt irgendwie daran, dass der VDR nun staendig die Serielle Schnittstelle pollt. Das Binary unter tools braucht nur <1% Prozessor Last. Insofern liegt das am Zusammenspiel plugin-VDR. Vielleicht köönt ihr mir da helfen?


    Die Schaltung findet ihr auch im Tar Ball. Die LEDs sollten aber mit nem Vorwiderstand betrieben werden. Die LED1 leuchtet sobald der VDR das Plugin geladen hat. Die LED2 ist noch nicht steuerbar.


    Wer es nur mal testen will, der braucht nur nen kleinen Schalter zwischen PIN4 und PIN6 zB zu lötenund hat schon eine Taste. Drei wietere zwischen PIN4 und PIN1, PIN9 und PIN8 und schon sinds vier.


    Hat jemand nen Tipp für mich, wie ich die Prozessorleistung in den Griff bekomme?


    vdr-serial-0.0.1 findet ihr unter
    ftp://www.lf-klueber.de/vdr-serial-0.0.1.tgz


    Gruss

  • Zitat

    Original von Sibbi
    tut mir Leid, dass ich bisher nicht auf Deine Mail geantwortet habe, aber ich bin grad' ziemlich im Stress ... ;( Ich kam nichtmal dazu mir die lcdproc sourcen anzuschauen...
    Ich würde aber dafür plädieren, die Tasten mit einem eigenen plugin zu realisieren. Dann könnte man das plugin auch nutzen, wenn man kein graphlcd installiert hat...
    (Problematisch könnte es nur dann werden, wenn man den Parallelport dazu verwenden möchte...)


    Brauchst dich nicht zu entschuldigen! Wär halt schön, wenn man nur eine Schnittstelle dadurch belegen müsste. Seriell geht jetzt. Siehe mein anders Posting.

  • Touchscreen wäre natürlich fett.


    ..und für alle anderen gibt es noch "USB <- Gameport" ;)
    für'n Appel und ein Ei.
    USB hat wohl jeder frei (Hub).


    Meine nur , da ich auch keinen Gameport habe aber auch keinen
    seriellen bzw. parallelen Port (nur intern aber die werden gebraucht ;))


    bye

  • Meine Hardware ist jetzt auch fertig. Schauts euch mal an. Das Cursorkreuz mach ich glaub ich für die final Version noch mittig zum GraphicDisplay.


    Die vier Farbtasten sind unter dem LCD und damit sozusagen "beschriftet". Links ein Cursorkreuz mit OK in der Mitte. Unterhalb menu und Back.


    Wahrscheinlich kommen auch noch zwei Schalter für die Lautstärke dazu.


    [Blockierte Grafik: http://www.lf-klueber.de/Img_5521.jpg]

  • RaK


    hast die CPU Auslastung schon im Griff, oder ist die CPU dicht mit dem Plugin?
    Was mich interessiert, wär die Ausgabe auf die LED, damit könnte ich dann was steuern...


    Ansonsten nett gemacht, aber krabbelt ihr immer am Gerät rum? Hbt's ihr keine FB ;) ich schon :P

    Gruß Martin (linuxdep)

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!