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

Message ID 525A9546.90002@tiscali.it
State New
Headers

Commit Message

guido.cordaro@tiscali.it Oct. 13, 2013, 12:42 p.m. UTC
  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 ...

Guido Cordaro




Il 13/10/2013 11:53, Klaus Schmidinger ha scritto:
> On 13.10.2013 11:00, guido.cordaro@tiscali.it wrote:
>> Il 13/10/2013 10:51, guido.cordaro@tiscali.it ha scritto:
>>> Thanks Klaus Schmidinger
>>>
>>> For having responded to my e-mail
>>>
>>> This' modified code that you send as an attachment ...
>>>
>>> Files created with " diff -urN <orig> <mod>> new.diff "
>
> Can you please elaborate on these changes?
> Why did you pull stuff like FE_HAS_..., BER and UNC (as used in 
> GetSignalQuality()) into
> GetSignalStrength()?
> I can't accept the changes to Min- and MaxSignal in case of the 
> "TT-budget S2-3200".
> I have such cards and they work fine with the original values.
>
> I'm really not sure what to make of your patch. It appears to me
> like randomly winging in things that just may or may not work.
> Unless you can give me some reasonable and clear arguments as to
> why things should be changed that way, I'm afraid I can't accept this.
>
> Klaus
>
> _______________________________________________
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
  

Comments

Klaus Schmidinger Oct. 13, 2013, 1:02 p.m. UTC | #1
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
  

Patch

--- /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