Hello,
In cDiseqcPositioner the last nibble (corresponding to the first decimal) of the angle is calculated as
a % 10 * 16 / 10
With, e.g. angle -123 (-12.3) the resulting diseqc command would be
6e e0 c4
(i.e. the last nibble is 4 to represent 0.3).
OTOH the enigma2 implementation uses a lookup table for the decimal digit:
.0 -> 0x00 .1 -> 0x02 .2 -> 0x03 .3 -> 0x05 .4 -> 0x06 .5 -> 0x08 .6 -> 0x0A .7 -> 0x0B .8 -> 0x0D .9 -> 0x0E
https://github.com/OpenViX/enigma2/blob/master/lib/dvb/sec.cpp#L526
so for the same angle -12.3 it would send
6e e0 c5
(at least looking at the code, I don't have an enigma 2 receiver).
Since I'm implementing the receiving side and the only "reliable" documentation is either the enigma2 code or vdr, I wonder which one is correct.
Bye