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

Klaus Schmidinger Klaus.Schmidinger at tvdr.de
Sun Oct 13 15:02:07 CEST 2013


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



More information about the vdr mailing list