Tja, keine große Resonanz soweit.
Dafür hab ich selbst mal angefangen. Also um das ans laufen zu bringen würden erstmal 3 Codezeilen reichen. Hab mal ein diff gemacht:
Code: Alles auswählen
--- apps/dvb/zapit/src/zapost/frontend.cpp 2004-04-20 16:47:16.000000000 +0200
+++ frontend.cpp 2004-07-01 01:37:24.000000000 +0200
@@ -644,21 +644,24 @@
}
if ((diseqcType >= DISEQC_1_1) && (repeats)) {
+ uint8_t uncommitted_xor = (sat_no >= 128 ) ? 0 : cmd.msg[3] ^ ( 0xf0 | (sat_no >> 2) );
for (uint16_t i = 0; i < repeats; i++) {
uint8_t again = 0;
usleep(1000 * 100); /* wait at least 100ms before retransmission */
cmd.msg[2] |= 0x01; /* uncommitted switches */
+ cmd.msg[3] ^= uncommitted_xor;
sendDiseqcCommand(&cmd, 15);
if (diseqcType >= DISEQC_2_0)
again += getDiseqcReply(50);
cmd.msg[0] |= 0x01; /* repeated transmission */
cmd.msg[2] &= 0xFE; /* committed switches */
+ cmd.msg[3] ^= uncommitted_xor;
sendDiseqcCommand(&cmd, 15);
if (diseqcType >= DISEQC_2_0)
again += getDiseqcReply(50);
Man muss einfach nur die Nachricht anpassen. Vorher (Obwohl man in der GUI 16 Sats auswählen kann) wurden immer nur 2 Bit von sat_no benutzt . Jetzt weitere 4 in der uncommitted-Nachricht. Vorher wurde als uncommitted-Nachricht nochmal die committed-Nachricht gesendet, aber wozu das gut sein sollte?
Die Veränderung betrifft nur den Codeblock für DISEQC_1_1, d.h. bei dem häufig verwendeten 1.0 ändert sich garnichts, selbst vom Code her nicht.
Es besteht durch die Abfrage (sat_no >= 128 ) noch die Möglichkeit das alte Verhalten zu erzwingen, indem man manuell (in der services.xml) die diseqc-Werte um 128 erhöht, für den (unwahrscheinlichen) Fall, dass jemand was mit der aktuellen Implementierung anfangen kann.
Hier könnte man auch durch ändern in (sat_no < 128 ) die Sache umdrehen und das alte Verhalten als Standard vorsehen. Die veränderte Implementierung würde dann nur durch entsprechendes manuelles verändern der services.xml aktiviert, aber besser als garnix.
Hab leider keine Möglichkeit dass selbst auszuprobieren. Aber vielleicht erbarmt sich ja doch noch jemand und baut das so oder anders ein.
mfg