had another go with tvheadend today, updated to latest git this afternoon
I inserted the following code at line 364 of linuxdvb_rotor.c (I set site longitude=0 and latttide=0 in USAL options)
This turns my dish perfect. however what I have noticed is the first time I start tvheadend, and click on a service it will not tune in, i have to stop and start it again for it to work. At some point i will dig out my dreambox 800 , put a new image on it and try usals on that.
int integer = (int) lr->lr_sat_lon;
uint8_t angle_1=0;
uint8_t angle_2=0;
int fraction = (int) (((lr->lr_sat_lon - integer) * 16.0) + 0.9) & 0x0f;
if ((lr->lr_site_lon==0) && (lr->lr_site_lat==0))
{
//if (fraction==15) fraction--;
switch(fraction) {
case 1:
case 4:
case 7:
case 9:
case 12:
case 15:
fraction--;
break;
}
if (lr->lr_sat_lon < 0.0) angle_1 = 0xD0; // West is a negative angle value
else angle_1 = 0xE0; // East is a positive angle value
integer = abs(integer);
angle_1 |= ((integer / 16) & 0x0f);
integer = integer % 16;
angle_2 |= ((integer & 0x0f) << 4) | fraction;
printf ("Sending Direct DISEQC 0x6E Command with angles %01x %01x\n",angle_1,angle_2);
for (i = 0; i <= ls->lse_parent->ls_diseqc_repeats; i++) {
if (linuxdvb_diseqc_send(fd, 0xE0, 0x31, 0x6E, 2,
angle_1, angle_2)) {
tvherror("diseqc", "failed to send USALS command");
return -1;
}
usleep(25000);
}
}
else