1
0
mirror of https://github.com/VDR4Arch/vdr.git synced 2023-10-10 13:36:52 +02:00

Added maximum SNR and signal strength value for TechniSat SkyStar HD2

This commit is contained in:
Klaus Schmidinger 2013-03-16 15:30:12 +01:00
parent a033ebf167
commit 4477a0171e
3 changed files with 13 additions and 5 deletions

View File

@ -3126,3 +3126,4 @@ Siegfried Bosch <bosch@math.uni-muenster.de>
Zoran Turalija <zoran.turalija@gmail.com> Zoran Turalija <zoran.turalija@gmail.com>
for translating OSD texts to the Serbian language for translating OSD texts to the Serbian language
for adding maximum SNR and signal strength value for TechniSat SkyStar HD2

View File

@ -7760,3 +7760,5 @@ Video Disk Recorder Revision History
2013-03-16: Version 1.7.42 2013-03-16: Version 1.7.42
- Updated the Serbian OSD texts (thanks to Zoran Turalija). - Updated the Serbian OSD texts (thanks to Zoran Turalija).
- Added maximum SNR and signal strength value for TechniSat SkyStar HD2 (thanks to
Zoran Turalija).

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and * See the main source file 'vdr.c' for copyright information and
* how to reach the author. * 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" #include "dvbdevice.h"
@ -549,7 +549,9 @@ int cDvbTuner::GetSignalStrength(void) const
// Use the subsystemId to identify individual devices in case they need // Use the subsystemId to identify individual devices in case they need
// special treatment to map their Signal value into the range 0...0xFFFF. // special treatment to map their Signal value into the range 0...0xFFFF.
switch (subsystemId) { 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; int s = int(Signal) * 100 / MaxSignal;
if (s > 100) if (s > 100)
@ -628,15 +630,18 @@ int cDvbTuner::GetSignalQuality(void) const
// Use the subsystemId to identify individual devices in case they need // Use the subsystemId to identify individual devices in case they need
// special treatment to map their Snr value into the range 0...0xFFFF. // special treatment to map their Snr value into the range 0...0xFFFF.
switch (subsystemId) { 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; MinSnr = 10;
MaxSnr = 70; MaxSnr = 70;
} }
else else
MaxSnr = 200; MaxSnr = 200;
break; break;
case 0x20130245: // PCTV Systems PCTV 73ESE case 0x20130245: // PCTV Systems PCTV 73ESE
case 0x2013024F: MaxSnr = 255; break; // PCTV Systems nanoStick T2 290e case 0x2013024F: // PCTV Systems nanoStick T2 290e
MaxSnr = 255; break;
} }
int a = int(constrain(Snr, MinSnr, MaxSnr)) * 100 / (MaxSnr - MinSnr); int a = int(constrain(Snr, MinSnr, MaxSnr)) * 100 / (MaxSnr - MinSnr);
int b = 100 - (Unc * 10 + (Ber / 256) * 5); int b = 100 - (Unc * 10 + (Ber / 256) * 5);