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.

Samael

Intermediate

  • "Samael" started this thread

Posts: 405

Location: Nähe Hamburg

  • Send private message

1

Thursday, October 5th 2006, 8:50pm

Atmolight - Release 0.0.4

Hallo,

schon wieder ist es soweit: es gibt vor meinem 2-wöchigen Urlaub
eine neue Version des Atmolight-Plugins.

Hier downzuloaden: vdr-atmo-0.0.4.tgz

Änderungsauflistung befindet sich in der History-Datei.

Was fehlt für eine nächste Version und kann von interessierten Usern beigesteuert werden:
- Änderung der internen Arbeitsweise beider Filter von tColorPacket auf tColorPacketInt zum Sparen von CPU-Zeit
(im Moment wird nur am Anfang und am Ende in das benötigte Format umgewandelt) (samc, fishbonev?)
- Änderung der internen Arbeitsweise von inputvideo0 von tColorPacket auf tColorPacketInt zum Sparen von CPU-Zeit
(im Moment wird nur am Ende in das benötigte Format umgewandelt) (samc, fishbonev?)
- Internationalisierung aller notwendigen Texte (Einfügen in 18n und Übersetzen; bitte keine automatisierten Übersetzungen)
- Hinzufügen von neuen Inputdevices um nicht auf /dev/video0 angewiesen zu sein (Softdevice, ffmpeg, libmpeg2, etc.)

Bei Fragen, Anregungen, etc. bitte hier posten.

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 wurden wieder geändert!
Diese mal sollten sie aber ein bischen länger so bleiben :).
Bei Einsatz dieser Version müssen sie in der runvdr angepaßt werden;
bei Einsatz von Distributionen entsprechend.

P.P.P.S: @Simon: Dein Widescreen-Mode ist eingebaut, das Wiki wartet
auf Deinen Eintrag :).
Für Heilige gibts 'nen Heiligenschein - für Fernseher das Solarstorm.

samc

Intermediate

Posts: 479

Location: München

  • Send private message

2

Friday, October 6th 2006, 10:36am

RE: Atmolight - Release 0.0.4

Hallo Samael,

>Widescreen
na wunderbar, vielen Dank..

leider hab ich das erst heute gelesen und gestern schon mit der Farbraumsache angefangen, naja, heute Abend les ich mich mal in dein neues Datenformat ein :-)

Wiki mach ich dann schon, klar, Rest schau ich mir dann auch an!

bist weg im Urlaub? Wenn ja, viel Spass!

Viele Grüße,
Simon

samc

Intermediate

Posts: 479

Location: München

  • Send private message

3

Friday, October 6th 2006, 5:58pm

Hallo DKTV,

wenn du kein Input Device angibts, dann wird das Plugin auch nix ausgeben. Auch nicht wenn du per SVDRP was vorgibts.
Also mach doch mal ein "-i VIDEO0" dazu.

Was steht im syslog?

Grüß,
Simon

4

Friday, October 6th 2006, 6:11pm

hmm ich hab nur ne Budget Karte also kein VIDEO0.... bei mir läuft das ganze über xine... was könnte ich denn als Input angeben? Bekomme im Moment halt nur ein "info: Atmolight: Could not open input device!"

Gruß
DKVT

This post has been edited 1 times, last edit by "DKVT" (Oct 6th 2006, 6:15pm)


samc

Intermediate

Posts: 479

Location: München

  • Send private message

5

Friday, October 6th 2006, 8:12pm

Hallo DKVT:

das ist schade, ohne /dev/video0 läuft atmolight im Moment nicht, da muss erst jemand was passendes Programmieren.... :-)

Aber gib doch mal VIDEO0 an, vielleicht gehts, weiß das im Moment auch nicht genau...

Grüße,
Simon

Dyl0n

Intermediate

Posts: 383

Location: ~Paderborn

Occupation: Azubi Eelektroniker FR Energie- und Gebäudetechnik

  • Send private message

6

Saturday, October 7th 2006, 12:34am

Quoted

Original von samc
Hallo DKVT:

das ist schade, ohne /dev/video0 läuft atmolight im Moment nicht, da muss erst jemand was passendes Programmieren.... :-)

Aber gib doch mal VIDEO0 an, vielleicht gehts, weiß das im Moment auch nicht genau...

Grüße,
Simon

Die Budget Karten haben ja keien V4l Interface also /dev/video0 also glaube ich nciht das es geht, deshalb geht tvtime oder svdrp grab ja nur mit FF.

Gruss,
Mattheus

Kail

Intermediate

Posts: 269

Location: Lipper

  • Send private message

7

Saturday, October 7th 2006, 12:47am

RE: Atmolight - Release 0.0.4

Quoted

Original von Samael
...P.P.S: Die Aufrufparameter wurden wieder geändert!
Diese mal sollten sie aber ein bischen länger so bleiben :).
Bei Einsatz dieser Version müssen sie in der runvdr angepaßt werden;
bei Einsatz von Distributionen entsprechend.
...


Hallo Samael,

Danke für die neue Version.
Kannst Du bitte für die User, die nicht die Parameter in der runvdr übergeben
können (LinVDR-User), die Namen der Parameter-Variablen bekannt geben?
Dann können diese gesetzt und fest eincompiliert werden.

Danke und Gruß Kail
VDR: ASUS P4P800-VM, Celeron 2.5 GHz, 256 MB-RAM, 2 x 160 GB Samsung SV1604N, TT 1.5 (4MB), TT-Budget, Extension-Board (TBE)
LinVDR0.7 + Dr.Seltsam 2.6.18 + vdr-1.4.7 + BP + diverse Plugins
Betatester v. steini-Paketen
Test-VDR: ASUS P5QL Pro, E7500, 4 GB RAM, 1TB WD EADS, Media-Pointer S2, Ubuntu10.10 + vdr-1.7.16

8

Saturday, October 7th 2006, 8:52am

So, ich hab jetzt ne alte analoge WinTV-Karte eingebaut ;-) Nun hab ich auch ein VIDEO0-Device aber jetzt mosert Atmo: "info: Atmolight: Could not open output device!"
Als Parameter hab ich "-o SERIAL=/dev/ttyS0" angegeben... jmd. ne Idee?

Zur Info: ein manuelles "echo TEST > /dev/ttyS0" funktioniert einwandfrei.


Hmm, könnte mir auch bitte jmd. den Syntax der seriellen Kommandos erklären? Ich blicke da nicht so richtig durch und wenn die Hardware aufgebaut ist würd ich sie schon gern testen.

Ein Beispiel wie: Schicke das an COM1 und alle roten LEDs leuchten wäre traumhaft.

Gruß
DKVT

This post has been edited 3 times, last edit by "DKVT" (Oct 7th 2006, 10:08am)


daniel_k

Intermediate

Posts: 249

Location: Hamburg

  • Send private message

9

Saturday, October 7th 2006, 10:20am

Hallo DKVT,

Quoted

So, ich hab jetzt ne alte analoge WinTV-Karte eingebaut ;-) Nun hab ich auch ein VIDEO0-Device

Hmm, analoge WinTV = FF-DVB-Karte? Ich weiß ja nicht...

Quoted

Hmm, könnte mir auch bitte jmd. den Syntax der seriellen Kommandos erklären? Ich blicke da nicht so richtig durch und wenn die Hardware aufgebaut ist würd ich sie schon gern testen.

Hast Du den wiki-Eintrag schon gelesen? Serielles Protokoll
Einfach für die entsprechenden Farbanteile die Werte angeben (aber nicht als ASCII-Text!), und darauf achten, daß man auch den richtigen Kanal erwischt!
Ach ja, und die Baudrate sollte natürlich auch stimmen.

Viel Spaß beim Testen,
Daniel

10

Saturday, October 7th 2006, 10:31am

@daniel_k

Ja die WinTV ist ja nur zu Testzwecken. Lag halt gerade hier rum und da das Plugin ohne VIDEO0-Device ja den Dienst verweigert, wars halt die schnellste Alternative.

So, mein Problem mit dem Output-Fehler hab ich auch gelöst, der User VDR musste halt noch in die richtige Gruppe.

Jetzt bekomm ich wenigstens Daten über die serielle Leitung, ABER ins Wiki hab ich schon reingeschaut. Ich versteh das Format im Moment noch nicht so richtig... bin zwar gerade dabei ein paar Sachen zu testen, aber ein Beispiel mit Erklärung wäre halt super, dann würde ich das sicher auch kapieren.

Gruß
DKVT

This post has been edited 2 times, last edit by "DKVT" (Oct 7th 2006, 10:51am)


daniel_k

Intermediate

Posts: 249

Location: Hamburg

  • Send private message

11

Saturday, October 7th 2006, 10:53am

Hallo DKVT,

Das Format ist echt simpel, besteht ja auch nur aus 19 Bytes.
Du müßtest sowas schicken:

0xFF 0x00 0x00 0x0F 0xFF 0x00 0x00 0xFF 0x00 0x00 0xFF 0x00 0x00 0xFF 0x00 0x00 0xFF 0x00 0x00 (natürlich nicht als Text).
Das gibt auf allen Kanälen ein "Rot" aus.

Gruß,
Daniel

12

Saturday, October 7th 2006, 10:59am

Japp, jetzt hab ichs.

Danke ;-)

Kail

Intermediate

Posts: 269

Location: Lipper

  • Send private message

13

Saturday, October 7th 2006, 10:16pm

RE: Atmolight - Release 0.0.4

Quoted

Original von Kail

Quoted

Original von Samael
...P.P.S: Die Aufrufparameter wurden wieder geändert!
Diese mal sollten sie aber ein bischen länger so bleiben :).
Bei Einsatz dieser Version müssen sie in der runvdr angepaßt werden;
bei Einsatz von Distributionen entsprechend.
...


Hallo Samael,

Danke für die neue Version.
Kannst Du bitte für die User, die nicht die Parameter in der runvdr übergeben
können (LinVDR-User), die Namen der Parameter-Variablen bekannt geben?
Dann können diese gesetzt und fest eincompiliert werden.

Danke und Gruß Kail


Hallo,

hat schon einer eine Antwort bzw. die Namen der Parameter-Variablen oder
u.U. ein diff für LinVDR-User?

Gruß Kail
VDR: ASUS P4P800-VM, Celeron 2.5 GHz, 256 MB-RAM, 2 x 160 GB Samsung SV1604N, TT 1.5 (4MB), TT-Budget, Extension-Board (TBE)
LinVDR0.7 + Dr.Seltsam 2.6.18 + vdr-1.4.7 + BP + diverse Plugins
Betatester v. steini-Paketen
Test-VDR: ASUS P5QL Pro, E7500, 4 GB RAM, 1TB WD EADS, Media-Pointer S2, Ubuntu10.10 + vdr-1.7.16

daniel_k

Intermediate

Posts: 249

Location: Hamburg

  • Send private message

14

Sunday, October 8th 2006, 7:54am

Hallo zusammen,

Quoted

hat schon einer eine Antwort bzw. die Namen der Parameter-Variablen oder
u.U. ein diff für LinVDR-User?


Da ich mich mit LinVDR null auskenne, muß ich mal doof nachfragen...
Was für Variablen-Namen braucht Ihr? Und warum schaut ihr nicht einfach
in den sourcecode?

Gruß,
Daniel

Kail

Intermediate

Posts: 269

Location: Lipper

  • Send private message

15

Sunday, October 8th 2006, 12:44pm

Hallo daniel_k,

da LinVDR-User beim Aufruf der Plugins keine Parameter übergeben können,
sollten diese im Plugin selber einstellbar sein oder müssen fest eincompiliert
werden. Da eine Einstellung im Plugin nicht vorgesehen ist und in den
Sourcen eine Stelle bei der die Variable zu Fuß gesetzt werden kann noch
nicht umgesetzt ist, kann man nur versuchen die Parameter in den Sourcen
an der richtigen Stelle einzutragen.
Bei diesem Versuch bin ich momentan gescheitert und wäre für Unterstützung sehr dankbar.

Am besten wäre es noch für o.a. Fall in den Sourcen eine Variable
einzufügen, deren Wert (z.B. VIDEO0 und "/dev/ttyS0") manuell eingetragen
werden muss und dann mit abgefragt und compiliert wird.

Die ganze Problematik hatte Eberhard bei der "i-Version oder bei der 0.0.2 schon einmal angesprochen.

Gruß Kail
VDR: ASUS P4P800-VM, Celeron 2.5 GHz, 256 MB-RAM, 2 x 160 GB Samsung SV1604N, TT 1.5 (4MB), TT-Budget, Extension-Board (TBE)
LinVDR0.7 + Dr.Seltsam 2.6.18 + vdr-1.4.7 + BP + diverse Plugins
Betatester v. steini-Paketen
Test-VDR: ASUS P5QL Pro, E7500, 4 GB RAM, 1TB WD EADS, Media-Pointer S2, Ubuntu10.10 + vdr-1.7.16

daniel_k

Intermediate

Posts: 249

Location: Hamburg

  • Send private message

16

Sunday, October 8th 2006, 1:08pm

Hallo Kail,

Quoted

da LinVDR-User beim Aufruf der Plugins keine Parameter übergeben können,
sollten diese im Plugin selber einstellbar sein oder müssen fest eincompiliert
werden.

Aha, verstehe. Das Konzept finde ich zwar etwas komisch, aber sei`s drum...

Quoted

Bei diesem Versuch bin ich momentan gescheitert und wäre für Unterstützung sehr dankbar.


Kein Problem, dann versuche ich es mal:

In der Funktion

Source code

1
bool cPluginAtmo::ProcessArgs(int argc, char *argv[])
in der atmo.c mußt Du eigentlich nur den Inhalt gegen

Source code

1
2
3
4
AtmoSetup.AtmoInput = video0;
AtmoSetup.AtmoOutput = serial;
AtmoSetup.output_arg = "/dev/ttyS1";
return true;
austauschen. Die Funktion

Source code

1
const char *cPluginAtmo::CommandLineHelp(void)
solltest dann wohl auch nur ein

Source code

1
return null;
enthalten.

Gruß,
Daniel

kkachel

Trainee

Posts: 148

Location: Deutschland

  • Send private message

17

Sunday, October 8th 2006, 2:59pm

wenn ich es richtig verstanden haben, dann
entspricht AtmoSetup.output_arg = "/dev/ttyS0"; com1
und AtmoSetup.output_arg = "/dev/ttyS1"; com2 ?

KK

This post has been edited 1 times, last edit by "kkachel" (Oct 8th 2006, 3:13pm)


daniel_k

Intermediate

Posts: 249

Location: Hamburg

  • Send private message

18

Sunday, October 8th 2006, 3:28pm

Hallo,

Quoted

wenn ich es richtig verstanden haben, dann
entspricht AtmoSetup.output_arg = "/dev/ttyS0"; com1
und AtmoSetup.output_arg = "/dev/ttyS1"; com2 ?


Genau! Für USB<->Seriell-Wandler wäre es dann "/dev/ttyUSB0" usw.

Gruß,
Daniel

kkachel

Trainee

Posts: 148

Location: Deutschland

  • Send private message

19

Sunday, October 8th 2006, 4:23pm

Klasse,

in atmo.c
bei
bool ... ProcessArgs(int argc, char *argv[])
die originalen Eiträge auskommentiert.

AtmoSetup.AtmoInput = video0;
AtmoSetup.AtmoOutput = serial;
if (AtmoSetup.Device == 0)
AtmoSetup.output_arg ="/dev/ttyS0";
if (AtmoSetup.Device == 1)
AtmoSetup.output_arg ="/dev/ttyS1";
if (AtmoSetup.Device == 2)
AtmoSetup.output_arg ="/dev/ttyS2";
if (AtmoSetup.Device == 3)
AtmoSetup.output_arg ="/dev/ttyS3";
eingetragen

in setup.h
int Device; // Atmolight device
vor
int StartMode; // Atmoligt start mode: on, off, timer dependent

in setup.c

#define SETUP_DEVICE "Device"
vor
#define SETUP_STARTMODE "Startmode"

static const char *DeviceModeTexts[4];
vor
static const char *useStartModeTexts[3];

(geht noch weiter)
DeviceModeTexts[0] = "com1";
DeviceModeTexts[1] = "com2";
DeviceModeTexts[2] = "com3";
DeviceModeTexts[3] = "com4";
vor
useStartModeTexts[0] = "on"; // start with always on


Device = 0; // com port of Atmolight
vor
StartMode = 0; // start mode = always on


bei
bool cAtmoSetup::SetupParse(const char *Name, const char *Value)

if (!strcasecmp(Name, SETUP_DEVICE)) Device = atoi(Value);
else if (!strcasecmp(Name, SETUP_STARTMODE)) StartMode = atoi(Value);
geädert

Add(new cMenuEditStraItem("Device", &AtmoSetup.Device, 4, DeviceModeTexts));
vor
Add(new cMenuEditStraItem("Startmode", &AtmoSetup.StartMode, 3, useStartModeTexts));
hinzugefügt

bei
void cMenuSetupAtmo::Store(void)
SetupStore(SETUP_DEVICE, AtmoSetup.Device);
vor
SetupStore(SETUP_STARTMODE, AtmoSetup.StartMode);

kompiliert, und man kann theoretisch den Port zwischen com1 bis com 4 auswählen.

KK

This post has been edited 1 times, last edit by "kkachel" (Oct 8th 2006, 4:25pm)


Kail

Intermediate

Posts: 269

Location: Lipper

  • Send private message

20

Sunday, October 8th 2006, 5:36pm

Quoted

Original von daniel_k
...
In der Funktion

Source code

1
bool cPluginAtmo::ProcessArgs(int argc, char *argv[])
in der atmo.c mußt Du eigentlich nur den Inhalt gegen

Source code

1
2
3
4
AtmoSetup.AtmoInput = video0;
AtmoSetup.AtmoOutput = serial;
AtmoSetup.output_arg = "/dev/ttyS1";
return true;
austauschen.
...


Hallo Daniel,

Danke für Deine Unterstützung. Das compilieren geht, aber das Plugin
bringt noch keine Farben an die Wand.
Meine Änderung in der atmo.c sieht so aus:

Source code

1
2
3
4
5
6
7
bool cPluginAtmo::ProcessArgs(int argc, char *argv[])
{
  AtmoSetup.AtmoInput = video0;
  AtmoSetup.AtmoOutput = serial;
  AtmoSetup.output_arg = "/dev/ttyS0";
  return true;
}

Ist da noch etwas zu ändern oder habe ich Dich falsch verstanden?

Gruß Kail
VDR: ASUS P4P800-VM, Celeron 2.5 GHz, 256 MB-RAM, 2 x 160 GB Samsung SV1604N, TT 1.5 (4MB), TT-Budget, Extension-Board (TBE)
LinVDR0.7 + Dr.Seltsam 2.6.18 + vdr-1.4.7 + BP + diverse Plugins
Betatester v. steini-Paketen
Test-VDR: ASUS P5QL Pro, E7500, 4 GB RAM, 1TB WD EADS, Media-Pointer S2, Ubuntu10.10 + vdr-1.7.16