Damit kann man wohl Neutrino mehr als 4 Satellietn ohne Probleme ansteuern zusätzlich wird wohl diseqc1.1 gefixt.
Sollte vielleicht mal einer drüber schauen ob das nicht CVS tauglich ist.
So wie es in einem weiterem Forum gepostet wurde funktiniert dieses auch Bugfrei.Original von KaenGuruH
Viele Wege führen....
Ich habe es wie folgt erfolgreich getestet:
Als erstes habe ich frontend.cpp beigebracht wie man "Uncommitted Switches" Befehle verschicktDann habe ich mir gedacht, dass ich diese Befehle nur bei Satelliten mit DiSEqC > 15 verwende, dH DiSEqC = 16 entspricht "Uncommitted Switches" - Befehl F0 + DiSEqC A, DiSEqC = 17 entspricht "Uncommitted Switches" - Befehl F1 + DiSEqC B usw.Code: Alles auswählen
void CFrontend::sendUncommittedSwitchesCommand(uint8_t USCommand) { struct dvb_diseqc_master_cmd cmd; if ((USCommand >= 0xF0) && (USCommand <= 0xFF)) { cmd.msg[0] = 0xE0; //command from master, no reply required, first transmission cmd.msg[1] = 0x00; //all families (don't care adress) cmd.msg[2] = 0x39; //write to port group 1 (uncommitted switches) cmd.msg[3] = USCommand; cmd.msg[4] = 0x00; cmd.msg_len = 4; sendDiseqcCommand(&cmd, 15); printf("[frontend] uncommitted switches command (%x) sent\n", cmd.msg[3]); } }
Dazu habe ich zapit.cpp um folgendes erweitert:
Zum Schluss wollte ich noch, dass der Suchlauf bei den Satelliten > 16 funktioniert und musste dazu in der scan.cpp folgendes hinzufügen:Code: Alles auswählen
if (diseqcType == DISEQC_1_1) // nur bei DiSEqC 1.1 if (frontend->getDiseqcPosition() != channel->getDiSEqC()) // bei Satelliten/DiSEqC-Wechsel if (channel->getDiSEqC() > 0x0F) // und Satelliten/DiSEqC > 15 (16 .. 32) frontend->sendUncommittedSwitchesCommand(0xE0 + channel->getDiSEqC());
Man kann es bestimmt noch viel "eleganter" lösen...Code: Alles auswählen
if (!strcmp(frontendType, "sat") && (frontend->getDiseqcType() == DISEQC_1_1)) //nur wenn DiSEqC 1.1 if (TP->diseqc > 0x0F) // und DiSEqC > 15 (16..32) frontend->sendUncommittedSwitchesCommand(0xE0 + TP->diseqc);
Den SUR 420 kann man auch "von Hand" über telnet ansteuern.
pzapit -motor e0 00 39 01 fx 00
wobei x zwischen 0 und f liegen soll
x=0 - sat 1
x=1 - sat 1
x=2 - sat 1
x=3 - sat 1
x=4 - sat 2
x=5 - sat 2
x=6 - sat 2
x=7 - sat 2
x=8 - sat 3
x=9 - sat 3
x=a - sat 3
x=b - sat 3
x=c - sat 4
x=d - sat 4
x=e - sat 4
x=f - sat 4
Gruß
KaenGuruH