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

2013-10-12 Thread Klaus Schmidinger

On 12.10.2013 21:21, knap.home wrote:

With this change to the source I was able to run properly "SIGNAL STRENGTH."

Using the device Netsystem TechniSat SkyStar 2 DVB-S rev 2.3P.

Great as a solution ...

Modified Source -> /usr/local/src/vdr-2.0.3/dvbdevice.c


Please send just the differences (diff -u) between the original and the
modified code. I'm afraid even though I tried I can't seem to generate
a proper diff from what you've posted. And please send it as an attachment,
not inline (lines get wrapped).

Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


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

2013-10-12 Thread VDR User
Shouldn't something like this be fixed in the driver?

On Sat, Oct 12, 2013 at 2:08 PM, Klaus Schmidinger
 wrote:
> On 12.10.2013 21:21, knap.home wrote:
>>
>> With this change to the source I was able to run properly "SIGNAL
>> STRENGTH."
>>
>> Using the device Netsystem TechniSat SkyStar 2 DVB-S rev 2.3P.
>>
>> Great as a solution ...
>>
>> Modified Source -> /usr/local/src/vdr-2.0.3/dvbdevice.c
>
>
> Please send just the differences (diff -u) between the original and the
> modified code. I'm afraid even though I tried I can't seem to generate
> a proper diff from what you've posted. And please send it as an attachment,
> not inline (lines get wrapped).
>
> Klaus
>
> ___
> vdr mailing list
> vdr@linuxtv.org
> http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


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

2013-10-13 Thread Klaus Schmidinger

On 13.10.2013 01:45, VDR User wrote:

Shouldn't something like this be fixed in the driver?


I don't know - haven't seen the 'diff' yet ;-)

Klaus



On Sat, Oct 12, 2013 at 2:08 PM, Klaus Schmidinger
 wrote:

On 12.10.2013 21:21, knap.home wrote:


With this change to the source I was able to run properly "SIGNAL
STRENGTH."

Using the device Netsystem TechniSat SkyStar 2 DVB-S rev 2.3P.

Great as a solution ...

Modified Source -> /usr/local/src/vdr-2.0.3/dvbdevice.c



Please send just the differences (diff -u) between the original and the
modified code. I'm afraid even though I tried I can't seem to generate
a proper diff from what you've posted. And please send it as an attachment,
not inline (lines get wrapped).

Klaus


___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


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

2013-10-13 Thread guido.cord...@tiscali.it

Il 13/10/2013 10:51, guido.cord...@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  > new.diff "

Guido Cordaro




Il 12/10/2013 23:08, Klaus Schmidinger ha scritto:

On 12.10.2013 21:21, knap.home wrote:
With this change to the source I was able to run properly "SIGNAL 
STRENGTH."


Using the device Netsystem TechniSat SkyStar 2 DVB-S rev 2.3P.

Great as a solution ...

Modified Source -> /usr/local/src/vdr-2.0.3/dvbdevice.c


Please send just the differences (diff -u) between the original and the
modified code. I'm afraid even though I tried I can't seem to generate
a proper diff from what you've posted. And please send it as an 
attachment,

not inline (lines get wrapped).

Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr




--- /home/knap/Patch/vdr-2.0.3/dvbdevice.c	2013-09-01 23:04:05.0 +0200
+++ /home/knap/Patch/dvbdevice.c	2013-10-13 10:34:27.489228803 +0200
@@ -532,33 +532,110 @@
 //#define DEBUG_SIGNALSTRENGTH
 //#define DEBUG_SIGNALQUALITY
 
+// Inizio Modifica
+
+#define LOCK_THRESHOLD 5 // indicates that all 5 FE_HAS_* flags are set
+
 int cDvbTuner::GetSignalStrength(void) const
 {
-  ClearEventQueue();
-  uint16_t Signal;
-  while (1) {
-if (ioctl(fd_frontend, FE_READ_SIGNAL_STRENGTH, &Signal) != -1)
-   break;
-if (errno != EINTR)
-   return -1;
+  fe_status_t Status;
+  if (GetFrontendStatus(Status)) {
+ // Actually one would expect these checks to be done from FE_HAS_SIGNAL to FE_HAS_LOCK, but some drivers (like the stb0899) are broken, so FE_HAS_LOCK is the only one that (hopefully) is generally reliable...
+ if ((Status & FE_HAS_LOCK) == 0) {
+if ((Status & FE_HAS_SIGNAL) == 0)
+   return 0;
+if ((Status & FE_HAS_CARRIER) == 0)
+   return 1;
+if ((Status & FE_HAS_VITERBI) == 0)
+   return 2;
+if ((Status & FE_HAS_SYNC) == 0)
+   return 3;
+return 4;
 }
-  uint16_t MaxSignal = 0x; // Let's assume the default is using the entire range.
-  // Use the subsystemId to identify individual devices in case they need
-  // special treatment to map their Signal value into the range 0...0x.
-  switch (subsystemId) {
-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)
- s = 100;
 #ifdef DEBUG_SIGNALSTRENGTH
-  fprintf(stderr, "FE %d/%d: %08X S = %04X %04X %3d%%\n", adapter, frontend, subsystemId, MaxSignal, Signal, s);
+ bool HasSignal = true;
+#endif
+ uint16_t Signal;
+ while (1) {
+  if (ioctl(fd_frontend, FE_READ_SIGNAL_STRENGTH, &Signal) != -1)
+  break;
+   if (errno != EINTR) {
+  Signal = 0x;
+#ifdef DEBUG_SIGNALSTRENGTH
+  HasSignal = false;
+#endif
+  break;
+  }
+   }
+#ifdef DEBUG_SIGNALSTRENGTH
+ bool HasBer = true;
+#endif
+ uint32_t Ber;
+ while (1) {
+   if (ioctl(fd_frontend, FE_READ_BER, &Ber) != -1)
+  break;
+   if (errno != EINTR) {
+  Ber = 0;
+#ifdef DEBUG_SIGNALSTRENGTH
+  HasBer = false;
 #endif
-  return s;
+  break;
+  }
+   }
+#ifdef DEBUG_SIGNALSTRENGTH
+ bool HasUnc = true;
+#endif
+ uint32_t Unc;
+ while (1) {
+   if (ioctl(fd_frontend, FE_READ_UNCORRECTED_BLOCKS, &Unc) != -1)
+  break;
+   if (errno != EINTR) {
+  Unc = 0;
+#ifdef DEBUG_SIGNALSTRENGTH
+  HasUnc = false;
+#endif
+  break;
+  }
+   }
+ uint16_t MinSignal = 0x;
+ uint16_t MaxSignal = 0x; // Let's assume the default is using the entire range.
+ // Use the subsystemId to identify individual devices in case they need
+ // special treatment to map their Snr value into the range 0...0x.
+ switch (subsystemId) {
+   case 0x13C21019: // TT-budget S2-3200 (DVB-S/DVB-S2)
+   case 0x1AE40001: // TechniSat SkyStar HD2 (DVB-S/DVB-S2)
+if (frontendType == SYS_DVBS2) {
+   MinSignal = 10;
+   MaxSignal = 70;
+   }
+else
+//   MaxSignal = 200;
+   MaxSignal = 670;
+
+break;
+   case 0x20130245: // PCTV Systems PCTV 73ESE
+   case 0x2013024F: // PCTV Systems nanoStick T2 290e
+//MaxSignal = 255; break;
+MaxSignal = 670;
+
+   }
+ int a = int(constrain(Signal, MinSignal, MaxSignal)) * 350 / (MaxSignal - MinSignal);

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

2013-10-13 Thread Christopher Reimer
 

What's the problem? I wasn't difficult at all to generate a diff. 

Christopher 

Am 13.10.2013 10:42, schrieb Klaus Schmidinger: 

> On 13.10.2013 01:45, VDR User wrote:
> 
>> Shouldn't something like this be fixed in the driver?
> 
> I don't know - haven't seen the 'diff' yet ;-)
> 
> Klaus
> On Sat, Oct 12, 2013 at 2:08 PM, Klaus Schmidinger 
>  wrote: On 12.10.2013 21:21, knap.home wrote: With 
> this change to the source I was able to run properly "SIGNAL STRENGTH." Using 
> the device Netsystem TechniSat SkyStar 2 DVB-S rev 2.3P. Great as a solution 
> ... Modified Source -> /usr/local/src/vdr-2.0.3/dvbdevice.c Please send just 
> the differences (diff -u) between the original and the modified code. I'm 
> afraid even though I tried I can't seem to generate a proper diff from what 
> you've posted. And please send it as an attachment, not inline (lines get 
> wrapped). Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr [1]

 

Links:
--
[1] http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
--- dvbdevice.c	2013-08-23 11:52:14.0 +0200
+++ dvbdevice.c.edit	2013-10-13 10:58:44.262951623 +0200
@@ -285,9 +285,10 @@
 private:
   static cMutex bondMutex;
   enum eTunerStatus { tsIdle, tsSet, tsTuned, tsLocked };
+  bool SendDiseqc;
   int frontendType;
   const cDvbDevice *device;
-  int fd_frontend;
+  mutable int fd_frontend;
   int adapter, frontend;
   uint32_t subsystemId;
   int tuneTimeout;
@@ -298,9 +299,10 @@
   const cScr *scr;
   bool lnbPowerTurnedOn;
   eTunerStatus tunerStatus;
-  cMutex mutex;
+  mutable cMutex mutex;
   cCondVar locked;
   cCondVar newSet;
+  dvb_diseqc_master_cmd diseqc_cmd;
   cDvbTuner *bondedTuner;
   bool bondedMaster;
   bool SetFrontendType(const cChannel *Channel);
@@ -313,6 +315,10 @@
   void ResetToneAndVoltage(void);
   bool SetFrontend(void);
   virtual void Action(void);
+
+  mutable bool isIdle;
+  bool OpenFrontend(void) const;
+  bool CloseFrontend(void);
 public:
   cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int Frontend);
   virtual ~cDvbTuner();
@@ -327,12 +333,18 @@
   bool Locked(int TimeoutMs = 0);
   int GetSignalStrength(void) const;
   int GetSignalQuality(void) const;
+  bool SetIdle(bool Idle);
+  bool IsIdle(void) const { return isIdle; }
+  bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd);
+private:
+  int GetCurrentDeliverySystem(void);
   };
 
 cMutex cDvbTuner::bondMutex;
 
 cDvbTuner::cDvbTuner(const cDvbDevice *Device, int Fd_Frontend, int Adapter, int Frontend)
 {
+  SendDiseqc = false;
   frontendType = SYS_UNDEFINED;
   device = Device;
   fd_frontend = Fd_Frontend;
@@ -348,6 +360,7 @@
   tunerStatus = tsIdle;
   bondedTuner = NULL;
   bondedMaster = false;
+  isIdle = false;
   SetDescription("tuner on frontend %d/%d", adapter, frontend);
   Start();
 }
@@ -365,6 +378,8 @@
  ExecuteDiseqc(lastDiseqc, &Frequency);
  }
   */
+  if (device && device->IsSubDevice())
+ CloseFrontend();
 }
 
 bool cDvbTuner::Bond(cDvbTuner *Tuner)
@@ -509,6 +524,8 @@
 
 void cDvbTuner::ClearEventQueue(void) const
 {
+  if (!OpenFrontend())
+ return;
   cPoller Poller(fd_frontend);
   if (Poller.Poll(TUNER_POLL_TIMEOUT)) {
  dvb_frontend_event Event;
@@ -531,32 +548,104 @@
 
 //#define DEBUG_SIGNALSTRENGTH
 //#define DEBUG_SIGNALQUALITY
-
+#define LOCK_THRESHOLD 5 // indicates that all 5 FE_HAS_* flags are set
+// Inizio Modifica
 int cDvbTuner::GetSignalStrength(void) const
 {
-  ClearEventQueue();
-  uint16_t Signal;
-  while (1) {
-if (ioctl(fd_frontend, FE_READ_SIGNAL_STRENGTH, &Signal) != -1)
-   break;
-if (errno != EINTR)
-   return -1;
+  fe_status_t Status;
+  if (GetFrontendStatus(Status)) {
+ // Actually one would expect these checks to be done from FE_HAS_SIGNAL to FE_HAS_LOCK, but some drivers (like the stb0899) are broken, so FE_HAS_LOCK is the only one that (hopefully) is generally reliable...
+ if ((Status & FE_HAS_LOCK) == 0) {
+if ((Status & FE_HAS_SIGNAL) == 0)
+   return 0;
+if ((Status & FE_HAS_CARRIER) == 0)
+   return 1;
+if ((Status & FE_HAS_VITERBI) == 0)
+   return 2;
+if ((Status & FE_HAS_SYNC) == 0)
+   return 3;
+return 4;
 }
-  uint16_t MaxSignal = 0x; // Let's assume the default is using the entire range.
-  // Use the subsystemId to identify individual devices in case they need
-  // special treatment to map their Signal value into the range 0...0x.
-  switch (subsystemId) {
-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)
- s = 100;
 #ifdef DEBUG_SIGNALSTRENGTH
-  fprintf(stderr, "FE %d/%d: %08X S = %04X %04X %3d%%\n", adapter, frontend, subsystemId, MaxSignal, Signal, s);
+

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

2013-10-13 Thread Klaus Schmidinger

On 13.10.2013 11:02, Christopher Reimer wrote:

What's the problem? I wasn't difficult at all to generate a diff.


This doesn't look like a diff against the original VDR code.

Klaus


Am 13.10.2013 10:42, schrieb Klaus Schmidinger:


On 13.10.2013 01:45, VDR User wrote:

Shouldn't something like this be fixed in the driver?

I don't know - haven't seen the 'diff' yet ;-)

Klaus

On Sat, Oct 12, 2013 at 2:08 PM, Klaus Schmidinger mailto:klaus.schmidin...@tvdr.de>> wrote:

On 12.10.2013 21:21, knap.home wrote:

With this change to the source I was able to run properly "SIGNAL STRENGTH." Using 
the device Netsystem TechniSat SkyStar 2 DVB-S rev 2.3P. Great as a solution ... Modified 
Source -> /usr/local/src/vdr-2.0.3/dvbdevice.c

Please send just the differences (diff -u) between the original and the 
modified code. I'm afraid even though I tried I can't seem to generate a proper 
diff from what you've posted. And please send it as an attachment, not inline 
(lines get wrapped). Klaus


___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


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

2013-10-13 Thread Klaus Schmidinger

On 13.10.2013 11:00, guido.cord...@tiscali.it wrote:

Il 13/10/2013 10:51, guido.cord...@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  > 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


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

2013-10-13 Thread Guido Cordaro

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.cord...@tiscali.it wrote:

Il 13/10/2013 10:51, guido.cord...@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  > 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


--- /home/knap/Patch/vdr-2.0.3/dvbdevice.c	2013-09-01 23:04:05.0 +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
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


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

2013-10-13 Thread Klaus Schmidinger

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.0 
+0200
+++ /home/knap/Patch/dvbdevice.c2013-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

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


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

2013-10-13 Thread Guido Cordaro

Sorry Klaus

For these mistakes ... I hope that this time the change to the source 
fits as it should be ...


In this way everything remains unchanged on other devices already 
operating ...


Add functionality to the card TechniSat SkyStar 2 DVB -S rev 2.3P

Tested by recompiling the sources VDR 2.0.3 ... Everything works ...

Guido Cordaro





Il 13/10/2013 15:02, Klaus Schmidinger ha scritto:

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.c2013-09-01 
23:04:05.0 +0200

+++ /home/knap/Patch/dvbdevice.c2013-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

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


--- /usr/local/src/vdr-2.0.3/dvbdevice.c	2013-09-01 23:04:05.0 +0200
+++ /usr/local/src/vdr-2.0.3/dvbdevice.mod.c	2013-10-13 15:48:14.877333948 +0200
@@ -545,10 +545,15 @@
   uint16_t MaxSignal = 0x; // Let's assume the default is using the entire range.
   // Use the subsystemId to identify individual devices in case they need
   // special treatment to map their Signal value into the range 0...0x.
+  // Modified by knap for TechniSat SkyStar 2 DVB-S rev 2.3P
   switch (subsystemId) {
 case 0x13C21019: // TT-budget S2-3200 (DVB-S/DVB-S2)
 case 0x1AE40001: // TechniSat SkyStar HD2 (DVB-S/DVB-S2)
- MaxSignal = 670; break;
+ MaxSignal = 670;
+ break;
+case 0x13D02103: // TechniSat SkyStar 2 DVB-S rev 2.3P
+ MaxSignal = 0x4925;
+ break;
 }
   int s = int(Signal) * 100 / MaxSignal;
   if (s > 100)
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


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

2013-10-13 Thread Klaus Schmidinger

On 13.10.2013 15:55, Guido Cordaro wrote:

Sorry Klaus

For these mistakes ... I hope that this time the change to the source fits as 
it should be ...

In this way everything remains unchanged on other devices already operating ...

Add functionality to the card TechniSat SkyStar 2 DVB -S rev 2.3P

Tested by recompiling the sources VDR 2.0.3 ... Everything works ...


Now that looks good!

Thanks

Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


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

2013-10-21 Thread Klaus Schmidinger

On 13.10.2013 16:50, Klaus Schmidinger wrote:

On 13.10.2013 15:55, Guido Cordaro wrote:

Sorry Klaus

For these mistakes ... I hope that this time the change to the source fits as 
it should be ...

In this way everything remains unchanged on other devices already operating ...

Add functionality to the card TechniSat SkyStar 2 DVB -S rev 2.3P

Tested by recompiling the sources VDR 2.0.3 ... Everything works ...


Now that looks good!


Well, I'm afraid it doesn't look so good after all.
Apparently this breaks things for the "TechniSat AirStar 2" DVB-T card, which 
seems
to have the same subsystem ID of 0x13D02103 (are you sure you got the ID 
right?).
Since the "TechniSat AirStar 2" obviously uses the full range of 
0x...0x for
its signal value, I can't limit it to 0x4925 for that ID. Besides, if your card
reports 0x4925, there's a high probability that the frontend actually uses the
range 0x...0x and you just got a low signal. Any chance that could be 
the case?

So I'll have to revoke this change for version 2.1.3.

Klaus

___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr