Mailing List archive

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

[vdr] Re: Plugin & Diseqc Question to Klaus & all



Reinhard Walter Buchner wrote:
> 
> Hi Klaus, Rene, Christian,
> 
> K>The 22kHz signal is nothing that is "sent" once. It is
> K>either _on_ or_off_.
> 
> Okay, but is the 22kHz simply "there" and the devices
> automatically get activated when they receive the signal?
> Or do the devices ,which use the 22kHz signal, only get
> activated on the "steigende Flanke" of the signal? Or does
> the 22kHz signal maybe even deliver a PCM (or other)
> coded start-up signal?

As far as I understand it the 22kHz signal is simple "there"
or "not there".

> ...
> Klaus: while writing my answer to Christian below, I just realized
> something: What does VDR do (in terms of tuning & diseqc), when
> I tune to exact the same channel (i.e Pro7 and next channel is also
> Pro 7)? The reason I am asking, is that this will also restore a
> picture to my TV, if I didn't choose a high enough value for the W
> command. You say above the diseqc commands (or parts if I understood
> it correctly) are only send if they are different. How does VDR
> know this? Does it actually check DVB hardware registers? Or does
> it simply check a variable, to see if the value has changed? To be
> exact: What is done to the DVB (tuning, init, diseqc, etc) if ALL
> the parameters are the same?

Well, why don't you just look at the source code?

            if (Setup.DiSEqC) {
               cDiseqc *diseqc = Diseqcs.Get(Channel->Source(), Channel->Frequency(), Channel->Polarization());
               if (diseqc) {
                  if (diseqc->Commands() && (!diseqcCommands || strcmp(diseqcCommands, diseqc->Commands()) != 0)) {

As you can see it simply compares the DiSEqC command strings.

> I tried Bernd Schweikerts LCD-Motor patch for Version 0.98. This
> version works. I can tune to a new satellite, the motor moves and
> I get a picture on the TV after the new satellite is reached. However,
> his version uses X for the motor controls (which I won`t have, once
> I install VDR on my actual box). I used the same DVB driver (yours)
> for both the 0.98 version above and the 1.1.13, so, it shouldn't be a
> DVB driver problem.

I'm not sure about how the driver behaves when there is no actual signal
at the time FE_SET_FRONTEND is done. I think the point where you should
concentrate your experiments on is what's commented as "// Tuning:" and
"// Wait for channel lock:" in cDvbDevice::SetChannelDevice(). The DiSEqC
commands should have only short (if any) wait statements, so that the time
for switching channels only depends on how far the motor actually has to move.
Once the motor has been instructed to move, the "Tuning...Wait for channel lock"
part will have to tune and wait until something comes in (with a reasonable
maximum timeout, which is longer than the time needed to move from one end
point to the other).

Klaus
-- 
_______________________________________________________________

Klaus Schmidinger                       Phone: +49-8635-6989-10
CadSoft Computer GmbH                   Fax:   +49-8635-6989-40
Hofmark 2                               Email:   kls@cadsoft.de
D-84568 Pleiskirchen, Germany           URL:     www.cadsoft.de
_______________________________________________________________


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



Home | Main Index | Thread Index