Mailing List archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[vdr] Diseqc: I'm getting darn close ;o)



Hi Klaus,

Okay, now I am getting a LOT closer. I added esyslogs to
just about every function within dvbdevice ;o)) That way I
could see what exactly behaves differently with a long and
a short Wxxxx in the diseqc.conf. I found the problem.
Hier is a copy of the code which is making the problems:

//Tuning:
esyslog("before tuning");
esyslog("NOW sleeping 50 sec"); /// hier MUSSS ER WARTEN!! Dann klappts auch
mit Wklein im diseqc
sleep(50);

CHECK(ioctl(fd_frontend, FE_SET_FRONTEND, &Frontend));
esyslog("after tuning");
usleep(1000);

// Wait for channel lock:
#else
esyslog("before frontend");
//esyslog("NOW sleeping 50 sec");
//sleep(50); //Hier klapt es nicht mehr,d.h problem ist in der funktion
CHECK(ioctl(fd_frontend, FE_SET_FRONTEND, &Frontend));
if (cFile::FileReady(fd_frontend, 5000)) {

Okay, if I tell VDR to wait BEFORE the call
"CHECK(ioctl(fd_frontend, FE_SET_FRONTEND, &Frontend));"

everything works the way it should and I can reduce all W times in
Diseqc.conf to 15 msecs.. Once the call is issued (and the motor
hasn't reached end position, it's a goner and no picture is shown on
the TV until I retune. My question is how to do a "trick 17". What
Infos or variables can I probe to find out, if it is safe to issue the
call ( motor is in position) I.e. what I want to do is tell VDR to wait
say 100 seconds maximum in a "while do" loop but break out of the
loop if the motor, lnb, etc is ready before the time is up (otherwise
I would have to wait 100 seconds every time ;o(). But I need a
condition when to break the while do loop.

Ideas, suggestions are all welcome, so that I can finally smack  this
problem into electron heaven ;ö))


Greetz,
Reinhard



-- 
Info:
To unsubscribe send a mail to listar@linuxtv.org with "unsubscribe vdr" as subject.



Home | Main Index | Thread Index