Re: Fix SIGNALSTRENGTH in vdr 2.0.3 TechniSat SkyStar 2 DVB-S rev 2.3P - dvbdevice.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Sorry Klaus

For these mistakes ... I hope that this time the change to the source fits as it should be ...

In this way everything remains unchanged on other devices already operating ...

Add functionality to the card TechniSat SkyStar 2 DVB -S rev 2.3P

Tested by recompiling the sources VDR 2.0.3 ... Everything works ...

Guido Cordaro





Il 13/10/2013 15:02, Klaus Schmidinger ha scritto:
On 13.10.2013 14:42, Guido Cordaro wrote:
I understand your position ... and I modified the code again ...

Without another unnecessary code I managed to make work well for the Signal Strength as I did with the first patch ...

Tested by recompiling code VDR-2.0.3

New Patch to Fix Signal Strength in The Netsystem Skystar2 TechniSat DVB-S device ...

It does not damage any other device in their operation ... in this way ... almost the same as before the source code ...

--- /home/knap/Patch/vdr-2.0.3/dvbdevice.c 2013-09-01 23:04:05.000000000 +0200
+++ /home/knap/Patch/dvbdevice.c    2013-10-13 14:28:09.257450468 +0200
@@ -550,7 +550,7 @@
     case 0x1AE40001: // TechniSat SkyStar HD2 (DVB-S/DVB-S2)
                      MaxSignal = 670; break;
     }
-  int s = int(Signal) * 100 / MaxSignal;
+ int s = int(Signal) * 350 / MaxSignal; // Modified by knap for TechniSat SkyStar
   if (s > 100)
      s = 100;
 #ifdef DEBUG_SIGNALSTRENGTH

Sorry, but it doesn't work that way.
With this modification you would change the scaling for *all* frontends, not just
the "TechniSat SkyStar".

The correct way to do this is to find out the "subsystem ID" of the frontend
you want to adjust, and add the proper 'case' statement to the 'switch' a
few lines above, where you set MaxSignal accordingly.
This could perhaps look like this:

  switch (subsystemId) {
    case 0x13C21019: // TT-budget S2-3200 (DVB-S/DVB-S2)
    case 0x1AE40001: // TechniSat SkyStar HD2 (DVB-S/DVB-S2)
                     MaxSignal = 670; break;
    case 0x????????: // TechniSat SkyStar
                     MaxSignal = ???; break;
    }

Klaus

_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

--- /usr/local/src/vdr-2.0.3/dvbdevice.c	2013-09-01 23:04:05.000000000 +0200
+++ /usr/local/src/vdr-2.0.3/dvbdevice.mod.c	2013-10-13 15:48:14.877333948 +0200
@@ -545,10 +545,15 @@
   uint16_t MaxSignal = 0xFFFF; // Let's assume the default is using the entire range.
   // Use the subsystemId to identify individual devices in case they need
   // special treatment to map their Signal value into the range 0...0xFFFF.
+  // Modified by knap for TechniSat SkyStar 2 DVB-S rev 2.3P
   switch (subsystemId) {
     case 0x13C21019: // TT-budget S2-3200 (DVB-S/DVB-S2)
     case 0x1AE40001: // TechniSat SkyStar HD2 (DVB-S/DVB-S2)
-                     MaxSignal = 670; break;
+                     MaxSignal = 670;
+                     break;
+    case 0x13D02103: // TechniSat SkyStar 2 DVB-S rev 2.3P
+                     MaxSignal = 0x4925;
+                     break;
     }
   int s = int(Signal) * 100 / MaxSignal;
   if (s > 100)
_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux