On 21.02.2013 00:21, Antti Hartikainen wrote:
On Wed, Feb 20, 2013 at 11:11:31PM +0100, Klaus Schmidinger wrote:
On 20.02.2013 21:52, Teemu Suikki wrote:
I'm replying to an old message, because soon I will have similar setup so I'm
interested. :)
I currently have two tuners with fixed dish to S1.0W, and third tuner with
diseqc motor. I'm using diseqc.conf and the gotoxx patch, it works very well!
I mgot gotoxx working too. For some reason my motor doesn't work with 18V so
needed to change it to use
13V.
However I'm adding fourth tuner soon. It will be connected to the motor dish
too.
I have been examining vdr's Device Bonding feature. If two devices are bonded
and Diseqc is enabled, vdr will compare the diseqc strings of the already tuned
master, with the diseqc string of the new channel on the other device. If they
match, channel change is accepted.
So basically it should work if you simply have same diseqc config for both
bonded devices.
However, there is a problem that also the polarisation and low/high frequency
range is compared. This means that the bonded device is restricted to same
polarisation and frequency range. This would need some patching in dvbdevice.c..
And what exacly would you want to patch there?
Bonded devices are connected to the same antenna cable, and on one cable you
can only convey one polarization (H or V) and one frequency band (high or low)
at the same time. So the restriction to same polarisation and frequency range
is necessary for device bonding, and I don't see how using a motor dish would
make any difference there.
To connect 2 tuners to one motor, need to do a little patch to restrict both
tuners to same source,
instead of restricting high/low freqs and polarisation, as both tuners would
have own cables.
Oh, I see. I guess I misunderstood your posting and assumed there was
only a single antenna cable.
I have made ugly hack to dvbdevice.c to send diseqc positioning commands using
only tuner which is
connected to the motor. Basicly I just took fd_frontend of device connected to
the motor and use it for
diseqc commands ioctl().
If both tuners are used with my hack as is, motor is turning wildly between
satellites on source change.
Lets take an example: At begining both tuners are tuned to 1.0W and I change to
channel which is on 13E.
Tuner #1 stays tuned to 1.0W and wants motor to go there, and at the same time
tuner #2 is trying to get
motor to 13E. So some patching is needed to restrict selected tuners to same
source with eachother.
So what you're trying to do is to "bond" the two devices in a way that
only takes into account the antenna position.
Maybe you could achieve this by changing cDvbTuner::GetBondingParams() in a way
that
extracts the positioning part from the DiSEqC commands and returns just that.
Then, with bonded devices, it should use only one of them for positioning,
and both will only tune to transponders from that position.
Klaus
_______________________________________________
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr