Mailing List archive

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

[vdr] Re: Plugin & Diseqc Question to Klaus & all Was: Re: Re: Teletext now running with 1.1.13 & a DISEQC question



Reinhard Walter Buchner wrote:
> 
> Hi Rene, Klaus, all,
> 
> > Btw: (motor) Diseqc still isn`t working quite right yet, but I`m
> > still at it ;o)) I have got it working so far that I can switch from
> > satellite to satellite, but the wait time isn`t useable (takes far
> > too long) I`m going to have to dig deeper into the VDR program.
> 
> Rene wrote:
> >I'm not using a device, but my multi-switch was reacting slow at
> >channel-switching.
> >The reason had been it also checked the 13V/18V/22kHz-signals
> >Since I removed all entries except the diseqc-command from
> >commands-section in diseqc.conf, it's switching very fast. I even
> >have had to define a "W5" to get a picture before switching to the
> >next channel.
> 
> I played around with the diseqc.conf quite a bit and tried a few tricks,
> but it doesn`t work the way I want it to ;o)) The problem with a diseqc
> motor versus a diseqc switch is that the switch is more forgiving AND
> has a standard switch time. I.e. it doesn`t make a difference from what
> to what you switch. The needed sleep time will always be the same. Using
> a motor dish, this dooesn`t hold true, because it makes a difference, if
> you switch from Astra to Hotbird (6 degrees = short way) or if you
> switch from Astra to Hispasat (long way). As the channel and therefore
> the satellite switch combinations are endless, there is no way I can
> integrate this into the diseqc.conf via Wxxxx milliseconds. If the
> wait time is too short, the DVB card (seems to) stop tuning or syncing.
> If it is too long, pretty much the same happens. Besides it would be a
> pain to have to wait e.g. 60 seconds (time I need from Astra to Hispasat)
> when switching from Astra to Hotbird (as VDR remains black during
> this time)
> 
> @Klaus: Here is part of the other mail, (Sorry if I am being impatient ;o))
> which I hope catches your eye, as I really could use your help here:
> *************************************************
> The only problem left (solved all others ;o) is that I need to wait
> an "exact time" (which never is the same when switching from
> one satellite to the next), otherwise I don`t get a picture on the tv.
> 
> Where in the program do you cycle through a routine, which checks
> that the DVB card is syncd and ready to output a signal? It seems
> to me that VDR gives up trying to sync the DVB card after a certain
> amount of time and / or no longer tries to access the DVB card to tune
> it properly. If I could increase this time, it might work (I`m not talking
> about the watchdog as I run it as ./vdr at the moment)
> 
> The motor starts up and moves to the new satellite. The debug output
> says cannot sync to channel "xyz" a few times. After the motor reaches
> the satellite, VDR no longer gives this messages, yet I don`t get a signal
> on the TV. There are also no "panic" messages. So why and where does
> VDR quite trying to tune the channel correctly? I.e. what routine gives
> up after time "x" or cycle number "x"?
> *****************************************************
> 
> @Klaus & all:
> Do you or anyone have plans to integrate or make a plugin for motor
> DiseqC?  If not, I would like to give this a shot. If so, I don`t want to
> kill anyones work.

I don't see how a _plugin_ should be of any help for motor DiSEqC.

As far as I understand this your problem is mainly that cDvbDevice::SetChannelDevice()
just doesn't wait long enough after sending the DiSEqC command sequence to the
equipment (I don't mean the W15 commands or so _in_ the DiSEqC sequence, but rather
the timeout when waiting for a channel lock later).

Please try the following:

- in dvbdevice.c locate the line

  for (int i = 0; i < 100; i++) {

  or

  if (cFile::FileReady(fd_frontend, 5000)) {

  depending whether you are using the old driver or the NEWSTRUCT driver.

- increase the numbers accordingly, i.e. replace the '100' with, say, 10000 or
  something similar (or the '5000' with 20000, respectively).

- maybe you'll even need to put another loop around the 'get event' stuff in
  case of the old driver (much like it has been done with the NEWSTRUCT driver).

If you have problems trying this yourself, please contact me via PM.

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