[vdr] RFC: one or many positioners?

Klaus Schmidinger Klaus.Schmidinger at tvdr.de
Mon Apr 22 11:11:53 CEST 2013


On 21.04.2013 20:17, Luca Olivetti wrote:
> Al 21/04/13 15:52, En/na Klaus Schmidinger ha escrit:
>
>>
>> Any visual feedback will be done via the channel display of the skin, by
>> comparing
>> CurrentLongitude() to TargetLongitude(). And of course any section
>> filtering will
>> start only after the target position has been reached.
>
> Mmh, how will the system decide between "GotoAngle" and "GotoPosition"?

That will be done in diseqc.conf. There may still be another function
through which the positioner can tell VDR about its "capabilities".

> I have a linear actuator and I can only work with pulses. While in
> theory calculating the angle is possible, it'd be difficult to do and it
> will vary based on the geometry of the mount.

The cPositioner class is an abstract model of a device that can steer
a dish to a given orbital position (longitude), or a previously stored
position (number). How a particular positioner does this is totally up
to its implementation.

> Also, I don't like the use of "Number" in StorePosition, mainly because
> I've been using Source up until now, but I guess I can live with that.

You can still use "source", because that's just what is given as the
"Longitude" parameter in GotoAngle() (without the 'S').

>>From the complete interface it seems that everything regarding
> positioning will be managed by vdr itself, so the main screen of my
> plugin[*] will be made redundant (good! I'm lazy),

That's the plan ;-).

> one thing I see
> missing is some way to show error conditions (I have "Limit reached" and
> "Motor error", which means the motor isn't moving even if it should).

OK, I'll add

   virtual cString Error(void) { return NULL; }
           ///< Returns a short, single line string indicating an error condition.
           ///< NULL means there is no error.


> [*] http://ventoso.org/luca/vdr/screenshot.jpg

Klaus



More information about the vdr mailing list