[ANNOUNCE] Atmolight - Release 0.0.3

  • Hallo,


    endlich ist es wieder soweit, es gibt eine neue Version des
    Atmolight-Plugins.


    Hier downzuloaden: vdr-atmo-0.0.3.tgz


    Änderungsauflistung befindet sich in der History-Datei.


    Bei Fragen, Anregungen, etc. bitte hier posten.


    Schönes Wochenende und viel Spaß beim Testen
    Samael


    P.S.: Diesen Thread bitte NUR zur Diskussion der Software verwenden.
    Es soll hier nicht um irgendwelche Sets gehen.


    P.P.S: Die Aufrufparameter (-o entfernt) wurden geändert!
    Bei Einsatz dieser Version müssen sie in der runvdr angepaßt werden;
    bei Einsatz von Distributionen entsprechend.

  • Hallo Zusammen,


    melde mich hiermit wieder zurück. War die letzen 3 Wochen ein wenig eingespannt. Werd mich aber jetzt wieder dem Atmolight widmen.


    Meine erste amtshandlung ist ein kleiner patch, der mit beim kompilieren aufgefallen ist. gcc-Version 4.1.1 will atmo-0.0.3 nicht kompilieren. Der ist wirklich sehr penibel:



    So far
    Peter

  • Hallo,


    uh, ne, das gehört da ja auch absolut nicht rein.
    Ein typischer "copy & paste"-Fehler.


    Die 0.0.3 werde ich so lassen, es sei denn, irgendjemand
    schreit jetzt sehr laut auf. Aber in meine 0.0.4-pre1
    habe ich es übernommen.


    Samael

  • Hallo,


    ich habe mir gerade mal den Quellcode angesehn. Im Assembler-File ist eine Baudrate von 19200 bps eingetragen und in der outputserial.c eine Baudrate von 38400 bps.
    Ist das so richtig? Oder muss ich eine von beiden anpassen?


    MfG
    Heiko

  • Hallo Heiko,


    meiner Meinung nach ist das im Assembler-File falsch. Es wurde mal
    mit Kauf-Controllern experimentiert, die auf 19200 liefen. Es wurde
    einfach vergessen, diesen Wert wieder zurückzuändern.


    Du kannst die aktuelle Version ja einfach mal reinladen. Wenn sie
    nicht funktioniert, mußt Du den Wert ändern und neu reinladen.
    Dann sollte es auf jeden Fall klappen.


    Über eine Info würde ich mich freuen, damit ich es entsprechend
    für eine neue Version anpassen kann.


    Samael

  • Hallo heikothole,


    jaja sorry da hast du recht, bitte Kommentar bei Zeile 74 entfernen und 75 auskommentieren!


    Samael :
    hab dich übersehen: klar, bitte ändern! Haben wir mal beim debuggen verwendet bis wir tcdrain entdeckt habe... :-)


    Danke,
    Simon

  • Quote

    bitte Kommentar bei Zeile 74 entfernen und 75 auskommentieren!


    Eingebaut für die Version 0.0.4.


    Samael

  • Hallo ihr,


    jetzt habe ich schon wieder ein Problem:
    Ich habe die Hardware an Com2 (also /dev/ttyS1) angeschlossen und in /etc/vdr/plugins/plugin.atmo.conf "-s /dev/ttyS1" eingetragen.


    Wenn ich jetzt aber den VDR starte bekomme ich die Meldung: "vdr: [3248] info: Atmolight: Could not open output device!"


    Weiß jemand woran das liegen kann?


    Danke
    Heiko

  • Quote

    Weiß jemand woran das liegen kann?


    Die Open()-Funktion in outputserial.c gibt ein "false" zurück. Dann
    wird diese Meldung erzeugt, die eigentlich auch auf dem OSD erscheinen
    sollte.


    Sieh mal bitte in Dein syslog, da müßte eine weitere Fehlermeldung
    stehen. Ansonten kann auch die Geschichte mit der .conf-Datei falsch
    sein. Aber da kenn ich mich nicht aus. Ich übergebe die Plugin-Parameter so wie sich das gehört in der runvdr.


    Samael

  • Hallo,


    in der syslog steht:
    Sep 29 18:48:09 heikoserver vdr: [11539] Atmolight: Could not open serial port: 13!
    Sep 29 18:48:14 heikoserver vdr: [11539] info: Atmolight: Could not open output device!


    Bei ct-vdr gibt es statt runvdr /etc/init.d/vdr.
    Aber ich weiß noch nicht wo ich da den Parameter eintragen soll?!


    Gruß
    Heiko

  • Hmm, das mit den Parametern scheint zu klappen.
    In outputserial.c funktioniert das open() auf das Device nicht.
    Das liegt nicht am Plugin; das ist was grundlegendes.


    Funktioniert COM2 sonst? Ist der im BIOS freigegeben?
    Mal nen setserial darauf ausgeführt?


    Samael

  • An Com1 habe ich meinen LIRC-Empfänger


    Ich habe vorhin gesehn, dass ich für den Zugriff auf die seriellen Ports in der Gruppe "dialout" sein muss. Dann habe ich mit "gpasswd -a vdr dialout" den User vdr der Gruppe hinzugefügt.


    Jetzt bekomme ich folgende Meldungen:


    Wenn ich als Port /dev/ttyS0 oder /dev/ttyS2 angebe, bekomme ich folgenden Fehler:
    Sep 29 20:03:46 heikoserver vdr: [13392] Atmolight: tcsetattr failed : 5!
    Sep 29 20:03:51 heikoserver vdr: [13392] info: Atmolight: Could not open output device!


    Wenn ich wieder /dev/ttyS1 nehme:
    Sep 29 20:06:16 heikoserver vdr: [14353] Atmolight: Could not open serial port: 16!
    Sep 29 20:06:21 heikoserver vdr: [14353] info: Atmolight: Could not open output device!



    Bevor ich vdr der Gruppe hinzugefügt habe, hatte ich immer folgenden Fehler:


    Sep 29 19:38:13 heikoserver vdr: [4432] Atmolight: Could not open serial port: 13!
    Sep 29 19:38:17 heikoserver vdr: [4432] info: Atmolight: Could not open output device!


    => Der Unterschied liegt in "...port: 13" und "...port: 16".


    Wie kann ich rausfidne wer auf Com2 zugreift???

  • Die Nummer gibt Fehlercode aus.


    $ perror 16
    OS error code 16: Device or resource busy


    $ perror 5
    OS error code 5: Input/output error


    $ perror 13
    OS error code 13: Permission denied




    Wäre natürlich ein nett, wenn ein "menschliche" lesbare Fehlermeldung kommen würde.
    Aber mein Schnittstellen-Patch wurde ja nicht (vollständig) übernommen !? :rolleyes:

    Quote

    char szErr[128];
    if( 0 == strerror_r(errno, szErr, sizeof(szErr)))
    esyslog("Atmolight: Can't open serial port : %s!",szErr);
    else
    esyslog("Atmolight: Can't open serial port : %d!",errno);

  • Hallo,


    das passt ja. Bevor ich den User vdr nicht der Gruppe dialout hinzugefügt hatte, hatte er keine Berechtigung (OS error code 13: Permission denied).


    Aber warum ist jetzt der Port busy? Kann ich das irgendwie rausfinden. Könnte ich mir z.B. die Daten die an Com1 gehen ausgeben lassen?

  • Quote

    Aber mein Schnittstellen-Patch wurde ja nicht (vollständig) übernommen !?


    Ein Blick in die Sourcen würde verraten: Der zitierte Text ist fast 1:1 im Quellcode vorhanden.


    Quote

    Aber warum ist jetzt der Port busy? Kann ich das irgendwie rausfinden.


    Ein "ps aux" zeigt Dir Deine laufenden Prozesse an, vielleicht ist da etwas verdächtiges dabei.


    Samael