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