From 4477a0171ede68ee32645573b97f598d825b7874 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 16 Mar 2013 15:30:12 +0100 Subject: [PATCH] Added maximum SNR and signal strength value for TechniSat SkyStar HD2 --- CONTRIBUTORS | 1 + HISTORY | 2 ++ dvbdevice.c | 15 ++++++++++----- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 03c8d0f1..7b9fc33a 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -3126,3 +3126,4 @@ Siegfried Bosch Zoran Turalija for translating OSD texts to the Serbian language + for adding maximum SNR and signal strength value for TechniSat SkyStar HD2 diff --git a/HISTORY b/HISTORY index e7d2e77d..214b37a4 100644 --- a/HISTORY +++ b/HISTORY @@ -7760,3 +7760,5 @@ Video Disk Recorder Revision History 2013-03-16: Version 1.7.42 - Updated the Serbian OSD texts (thanks to Zoran Turalija). +- Added maximum SNR and signal strength value for TechniSat SkyStar HD2 (thanks to + Zoran Turalija). diff --git a/dvbdevice.c b/dvbdevice.c index 1fba1661..ab6149f2 100644 --- a/dvbdevice.c +++ b/dvbdevice.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: dvbdevice.c 2.87 2013/03/13 11:23:53 kls Exp $ + * $Id: dvbdevice.c 2.88 2013/03/16 15:23:35 kls Exp $ */ #include "dvbdevice.h" @@ -549,7 +549,9 @@ int cDvbTuner::GetSignalStrength(void) const // Use the subsystemId to identify individual devices in case they need // special treatment to map their Signal value into the range 0...0xFFFF. switch (subsystemId) { - case 0x13C21019: MaxSignal = 670; break; // TT-budget S2-3200 (DVB-S/DVB-S2) + case 0x13C21019: // TT-budget S2-3200 (DVB-S/DVB-S2) + case 0x1AE40001: // TechniSat SkyStar HD2 (DVB-S/DVB-S2) + MaxSignal = 670; break; } int s = int(Signal) * 100 / MaxSignal; if (s > 100) @@ -628,15 +630,18 @@ int cDvbTuner::GetSignalQuality(void) const // Use the subsystemId to identify individual devices in case they need // special treatment to map their Snr value into the range 0...0xFFFF. switch (subsystemId) { - case 0x13C21019: if (frontendType == SYS_DVBS2) { // TT-budget S2-3200 (DVB-S/DVB-S2) + case 0x13C21019: // TT-budget S2-3200 (DVB-S/DVB-S2) + case 0x1AE40001: // TechniSat SkyStar HD2 (DVB-S/DVB-S2) + if (frontendType == SYS_DVBS2) { MinSnr = 10; MaxSnr = 70; } else MaxSnr = 200; break; - case 0x20130245: // PCTV Systems PCTV 73ESE - case 0x2013024F: MaxSnr = 255; break; // PCTV Systems nanoStick T2 290e + case 0x20130245: // PCTV Systems PCTV 73ESE + case 0x2013024F: // PCTV Systems nanoStick T2 290e + MaxSnr = 255; break; } int a = int(constrain(Snr, MinSnr, MaxSnr)) * 100 / (MaxSnr - MinSnr); int b = 100 - (Unc * 10 + (Ber / 256) * 5);