Re: [vdr] Rotor patch for 1.5.12

2008-01-13 Thread Ales Jurik
On Sunday 13 January 2008, Morfsta wrote:
> Has anyone managed to get the signal strength, SNR and lock functions
> working with multiproto and rotor 1.5.12? I took a look at menu.c and
> compared it with szap2 but couldn't find much difference!
>
Hi,

I've tried to pass through the source code and it seems to me that problem is 
that multiproto driver for dvb-s2 frontend return SNR and STR in 0.1dB and 
the value is by vdr-rotor (and by vdr-femon) then recalculated to dB once 
more.

Ales

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


Re: [vdr] Rotor patch for 1.5.12

2008-01-13 Thread Ales Jurik
On Thursday 10 January 2008, Reinhard Nissl wrote:
> Hi,
>
> lucian orasanu schrieb:
> > it is changed after patch with function above and in
> > menu.c at line 304 is expecting another function like
> > this:
> >
> > SChannel->cChannel::SetSatTransponderData(RotorPos->R_Code(),Frequenz,Pol
> >,Symbolrate,FEC_AUTO);
> >
> > so i modified this line in menu.c like this:
> >
> > SChannel->cChannel::SetSatTransponderData(RotorPos->R_Code(),Frequenz,Pol
> >,Symbolrate,Symbolrate,Symbolrate,Symbolrate,Symbolrate);
>
> Try changing it to:
>
> SChannel->cChannel::SetSatTransponderData(RotorPos->R_Code(),Frequenz,Pol,S
>ymbolrate,DVBFE_FEC_AUTO,DVBFE_MOD_AUTO,DVBFE_DELSYS_DVBS,DVBFE_ROLLOFF_UNKN
>OWN);
>
> You'll need to apply the attached VDR patch instead of the one
> included with vdr-rotor.
>

Hi,

I've tested it, it seems that it works - but I have motor behind the switch 
(port D of 4port) and in some cases the dish doesn't went back to east (with 
SS1, old driver, old rotor, vdr-1.5.12 no such problem detected). In that 
case I have to switch to channel which is not behind portD and then back to 
portD and the dish begin to move. I'm using gotoX functionality.

I'm using for testing: 
- Debian Lenny
- TT S2-3200
- HH120
- vdr-1.5.13 patched by 
vdr-1.5.12-dvbs2-h264-syncearly-framespersec-audioindexer-fielddetection-speedup.diff,
vdr-1.5.12-speedup-fix1.diff and vdr-1.5.12-speedup-fix2.diff.
- rotor version vdr-rotor-0.1.4-vdr1.5.7.tgz patched by 
Rotor-0.1.4-vdr1.5.10.diff and vdr-1.5.12-dvbs2-h264-other-rotor.diff and 
with changes of SChannel->cChannel::SetSatTransponderData proposed above by 
Reinhard.

Reinhard, if you agree I'm ready to cooperate in testing.

Ales

> Please keep in mind that I cannot test this patch. The suggested
> line above will only support DVB-S. For DVB-S2 and H.264 support,
> a lot more needs to be changed.
>
> Bye.



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


Re: [vdr] Rotor patch for 1.5.12

2008-01-13 Thread Morfsta
Has anyone managed to get the signal strength, SNR and lock functions
working with multiproto and rotor 1.5.12? I took a look at menu.c and
compared it with szap2 but couldn't find much difference!

On Jan 11, 2008 10:21 PM, Reinhard Nissl <[EMAIL PROTECTED]> wrote:
> Hi,
>
> lucian orasanu schrieb:
>
> > Hy again! thanks for the patch and cmd line, but
> > afther patching vdr with that patch i get the
> > following error when compiling vdr:
> > dvbdevice.c:946: error: no 'bool
> > cDvbDevice::SendDiseqcCmd(dvb_diseqc_master_cmd)'
> > member function declared in class 'cDvbDevice'
>
> Hmm, the patched VDR compiled flawlessly. And the last chunk of
> the patch adds the function declaration to dvbdevice.h. So I
> don't see how you can get this error.
>
> Are there any other reports?
>
> Bye.
> --
> Dipl.-Inform. (FH) Reinhard Nissl
> mailto:[EMAIL PROTECTED]
>
>
> ___
> 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] Rotor patch for 1.5.12

2008-01-11 Thread Reinhard Nissl
Hi,

lucian orasanu schrieb:

> Hy again! thanks for the patch and cmd line, but
> afther patching vdr with that patch i get the
> following error when compiling vdr:
> dvbdevice.c:946: error: no 'bool
> cDvbDevice::SendDiseqcCmd(dvb_diseqc_master_cmd)'
> member function declared in class 'cDvbDevice'

Hmm, the patched VDR compiled flawlessly. And the last chunk of
the patch adds the function declaration to dvbdevice.h. So I
don't see how you can get this error.

Are there any other reports?

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:[EMAIL PROTECTED]

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


Re: [vdr] Rotor patch for 1.5.12

2008-01-10 Thread Reinhard Nissl
Hi,

lucian orasanu schrieb:

> it is changed after patch with function above and in
> menu.c at line 304 is expecting another function like
> this: 
> 
> SChannel->cChannel::SetSatTransponderData(RotorPos->R_Code(),Frequenz,Pol,Symbolrate,FEC_AUTO);
> 
> so i modified this line in menu.c like this:
> 
> SChannel->cChannel::SetSatTransponderData(RotorPos->R_Code(),Frequenz,Pol,Symbolrate,Symbolrate,Symbolrate,Symbolrate,Symbolrate);

Try changing it to:

SChannel->cChannel::SetSatTransponderData(RotorPos->R_Code(),Frequenz,Pol,Symbolrate,DVBFE_FEC_AUTO,DVBFE_MOD_AUTO,DVBFE_DELSYS_DVBS,DVBFE_ROLLOFF_UNKNOWN);

You'll need to apply the attached VDR patch instead of the one
included with vdr-rotor.

Please keep in mind that I cannot test this patch. The suggested
line above will only support DVB-S. For DVB-S2 and H.264 support,
a lot more needs to be changed.

Bye.
-- 
Dipl.-Inform. (FH) Reinhard Nissl
mailto:[EMAIL PROTECTED]
--- ../vdr-1.5.12-dvbs2-other/device.h	2007-10-21 11:21:52.0 +0200
+++ device.h	2008-01-10 22:09:12.0 +0100
@@ -23,6 +23,7 @@
 #include "spu.h"
 #include "thread.h"
 #include "tools.h"
+#include 
 
 #define MAXDEVICES 16 // the maximum number of devices in the system
 #define MAXPIDHANDLES  64 // the maximum number of different PIDs per device
@@ -261,6 +266,7 @@ public:
   virtual bool HasProgramme(void);
  ///< Returns true if the device is currently showing any programme to
  ///< the user, either through replaying or live.
+  virtual bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd) {return false;}
 
 // PID handle facilities
 
--- ../vdr-1.5.12-dvbs2-other/dvbdevice.c	2008-01-01 22:55:18.0 +0100
+++ dvbdevice.c	2008-01-10 22:13:39.0 +0100
@@ -71,6 +71,7 @@ static int DvbOpen(const char *Name, int
 class cDvbTuner : public cThread {
 private:
   enum eTunerStatus { tsIdle, tsSet, tsTuned, tsLocked };
+  bool SendDiseqc;
   int fd_frontend;
   int cardIndex;
   int tuneTimeout;
@@ -83,6 +84,7 @@ private:
   cMutex mutex;
   cCondVar locked;
   cCondVar newSet;
+  dvb_diseqc_master_cmd diseqc_cmd;
   bool GetFrontendStatus(fe_status_t &Status, int TimeoutMs = 0);
   bool SetFrontend(void);
   virtual void Action(void);
@@ -91,12 +93,14 @@ public:
   virtual ~cDvbTuner();
   bool IsTunedTo(const cChannel *Channel) const;
   void Set(const cChannel *Channel, bool Tune);
+  bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd);
   bool Locked(int TimeoutMs = 0);
   };
 
 cDvbTuner::cDvbTuner(int Fd_Frontend, int CardIndex, dvbfe_delsys FrontendType)
 {
   fd_frontend = Fd_Frontend;
+  SendDiseqc = false;
   cardIndex = CardIndex;
   frontendType = FrontendType;
   tuneTimeout = 0;
@@ -145,6 +149,17 @@ bool cDvbTuner::Locked(int TimeoutMs)
   return tunerStatus >= tsLocked;
 }
 
+bool cDvbTuner::SendDiseqcCmd(dvb_diseqc_master_cmd cmd)
+{
+  cMutexLock MutexLock(&mutex);
+  if (!(frontendType & (DVBFE_DELSYS_DVBS | DVBFE_DELSYS_DVBS2)) || SendDiseqc)
+return false;
+  diseqc_cmd=cmd;
+  SendDiseqc=true;
+  newSet.Broadcast();
+  return true;
+}
+
 bool cDvbTuner::GetFrontendStatus(fe_status_t &Status, int TimeoutMs)
 {
   if (TimeoutMs) {
@@ -348,6 +363,10 @@ void cDvbTuner::Action(void)
 if (GetFrontendStatus(NewStatus, 10))
Status = NewStatus;
 cMutexLock MutexLock(&mutex);
+if (SendDiseqc) {
+   CHECK(ioctl(fd_frontend, FE_DISEQC_SEND_MASTER_CMD, &diseqc_cmd));
+   SendDiseqc=false;
+   }
 switch (tunerStatus) {
   case tsIdle:
break;
@@ -918,6 +950,11 @@ bool cDvbDevice::HasLock(int TimeoutMs)
   return dvbTuner ? dvbTuner->Locked(TimeoutMs) : false;
 }
 
+bool cDvbDevice::SendDiseqcCmd(dvb_diseqc_master_cmd cmd)
+{
+  return dvbTuner->SendDiseqcCmd(cmd);
+}
+
 int cDvbDevice::GetAudioChannelDevice(void)
 {
   if (HasDecoder()) {
--- ../vdr-1.5.12-dvbs2-other/dvbdevice.h	2008-01-01 22:55:18.0 +0100
+++ dvbdevice.h	2008-01-10 22:09:12.0 +0100
@@ -66,11 +67,13 @@ public:
   virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView);
 public:
   virtual bool HasLock(int TimeoutMs = 0);
+  virtual bool SendDiseqcCmd(dvb_diseqc_master_cmd cmd);
 
 // PID handle facilities
 
___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Rotor patch for 1.5.12

2008-01-07 Thread Arthur Konovalov

serge pecher wrote:

Did you had to adapt manually the patch, because when i try this patch on
vdr 1.5.12 everything is rejected ?



Previosly mentioned patch applied to attached version of rotor plugin.
I suspect that I found it in vdr-portal.de

Fresh generated patch attached also.


Regards,
AK



vdr-rotor-0.1.4-vdr1.5.tgz
Description: application/compressed
diff -Nur old/filter.c new/filter.c
--- old/filter.c2006-01-09 22:41:50.0 +0200
+++ new/filter.c2007-10-16 08:21:54.0 +0300
@@ -368,12 +368,15 @@
 int Ppid = pmt.getPCRPid();
 int Apids[MAXAPIDS + 1] = { 0 };
 int Dpids[MAXDPIDS + 1] = { 0 };
+int Spids[MAXDPIDS + 1] = { 0 };
 #if VDRVERSNUM >= 10332
 char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
 char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
+char SLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
 #else
 char ALangs[MAXAPIDS + 1][4] = { "" };
 char DLangs[MAXDPIDS + 1][4] = { "" };
+char SLangs[MAXDPIDS + 1][4] = { "" };
 #endif
 int Tpid = 0;
 int NumApids = 0;
@@ -448,7 +451,7 @@
 delete d;
 }
 }
-Menu->SetPids(pmt.getServiceId(),Vpid, Vpid ? Ppid : 0, Apids, ALangs, 
Dpids, DLangs, Tpid);
+Menu->SetPids(pmt.getServiceId(),Vpid, Vpid ? Ppid : 0, Apids, ALangs, 
Dpids, DLangs, Spids, SLangs, Tpid);
 Menu->SetCaIds(pmt.getServiceId(),CaDescriptors->CaIds());
 
Menu->SetCaDescriptors(pmt.getServiceId(),CaDescriptorHandler.AddCaDescriptors(CaDescriptors));
 }
diff -Nur old/menu.c new/menu.c
--- old/menu.c  2007-07-06 23:52:57.0 +0300
+++ new/menu.c  2007-10-16 08:21:54.0 +0300
@@ -406,12 +406,15 @@
 
channel->SetId(Channel[Num].Nid(),Channel[Num].Tid(),Channel[Num].Sid(),channel->Rid());
 int Apids[MAXAPIDS + 1] = { 0 };
 int Dpids[MAXDPIDS + 1] = { 0 };
+int Spids[MAXDPIDS + 1] = { 0 };
 #if VDRVERSNUM>=10332
 char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
 char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
+char SLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
 #else
 char ALangs[MAXAPIDS + 1][4] = { "" };
 char DLangs[MAXDPIDS + 1][4] = { "" };
+char SLangs[MAXDPIDS + 1][4] = { "" };
 #endif
 int CaIds[MAXCAIDS+1] = { 0 };
 for (int i=0; i<=MAXAPIDS; i++)
@@ -426,7 +429,7 @@
 }
 for (int i=0; i<=MAXCAIDS; i++)
   CaIds[i]=Channel[Num].Ca(i);
-
channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Channel[Num].Tpid());
+
channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Spids,SLangs,Channel[Num].Tpid());
 channel->SetCaIds(CaIds);
   }
   else
@@ -456,7 +459,7 @@
 }
 
 #if VDRVERSNUM>=10332
-void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char 
ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int Tpid)
+void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char 
ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, 
char SLangs[][MAXLANGCODE2], int Tpid)
 #else
 void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char 
ALangs[][4], int *Dpids, char DLangs[][4], int Tpid)
 #endif
@@ -464,7 +467,7 @@
   for (int i=0; i___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


Re: [vdr] Rotor patch for 1.5.12

2008-01-07 Thread serge pecher
Did you had to adapt manually the patch, because when i try this patch on
vdr 1.5.12 everything is rejected ?

Thanks,

serge

-Oorspronkelijk bericht-
Van: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Namens Arthur
Konovalov
Verzonden: maandag 7 januari 2008 20:57
Aan: VDR Mailing List
Onderwerp: Re: [vdr] Rotor patch for 1.5.12

[EMAIL PROTECTED] wrote:
> I am looking for the patch to compile the rotor plugin together with 
> vdr-1.5.12.
> 
> Does anyone achieved to compile it with 1.5.12

I had success with attached patch.

Regards,
AK



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


Re: [vdr] Rotor patch for 1.5.12

2008-01-07 Thread Arthur Konovalov

[EMAIL PROTECTED] wrote:
I am looking for the patch to compile the rotor plugin together with 
vdr-1.5.12.


Does anyone achieved to compile it with 1.5.12


I had success with attached patch.

Regards,
AK

diff -ur rotor-0.1.4/filter.c rotor-0.1.4_vdr-1.5.10/filter.c
--- rotor-0.1.4/filter.c2007-10-14 11:37:13.0 +0200
+++ rotor-0.1.4_vdr-1.5.10/filter.c 2007-10-15 22:56:43.0 +0200
@@ -368,12 +368,15 @@
 int Ppid = pmt.getPCRPid();
 int Apids[MAXAPIDS + 1] = { 0 };
 int Dpids[MAXDPIDS + 1] = { 0 };
+int Spids[MAXDPIDS + 1] = { 0 };
 #if VDRVERSNUM >= 10332
 char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
 char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
+char SLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
 #else
 char ALangs[MAXAPIDS + 1][4] = { "" };
 char DLangs[MAXDPIDS + 1][4] = { "" };
+char SLangs[MAXDPIDS + 1][4] = { "" };
 #endif
 int Tpid = 0;
 int NumApids = 0;
@@ -448,7 +451,7 @@
 delete d;
 }
 }
-Menu->SetPids(pmt.getServiceId(),Vpid, Vpid ? Ppid : 0, Apids, ALangs, 
Dpids, DLangs, Tpid);
+Menu->SetPids(pmt.getServiceId(),Vpid, Vpid ? Ppid : 0, Apids, ALangs, 
Dpids, DLangs, Spids, SLangs, Tpid);
 Menu->SetCaIds(pmt.getServiceId(),CaDescriptors->CaIds());
 
Menu->SetCaDescriptors(pmt.getServiceId(),CaDescriptorHandler.AddCaDescriptors(CaDescriptors));
 }
diff -ur rotor-0.1.4/menu.c rotor-0.1.4_vdr-1.5.10/menu.c
--- rotor-0.1.4/menu.c  2007-10-14 11:37:12.0 +0200
+++ rotor-0.1.4_vdr-1.5.10/menu.c   2007-10-15 22:55:27.0 +0200
@@ -406,12 +406,15 @@
 
channel->SetId(Channel[Num].Nid(),Channel[Num].Tid(),Channel[Num].Sid(),channel->Rid());
 int Apids[MAXAPIDS + 1] = { 0 };
 int Dpids[MAXDPIDS + 1] = { 0 };
+int Spids[MAXDPIDS + 1] = { 0 };
 #if VDRVERSNUM>=10332
 char ALangs[MAXAPIDS + 1][MAXLANGCODE2] = { "" };
 char DLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
+char SLangs[MAXDPIDS + 1][MAXLANGCODE2] = { "" };
 #else
 char ALangs[MAXAPIDS + 1][4] = { "" };
 char DLangs[MAXDPIDS + 1][4] = { "" };
+char SLangs[MAXDPIDS + 1][4] = { "" };
 #endif
 int CaIds[MAXCAIDS+1] = { 0 };
 for (int i=0; i<=MAXAPIDS; i++)
@@ -426,7 +429,7 @@
 }
 for (int i=0; i<=MAXCAIDS; i++)
   CaIds[i]=Channel[Num].Ca(i);
-
channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Channel[Num].Tpid());
+
channel->SetPids(Channel[Num].Vpid(),Channel[Num].Ppid(),Apids,ALangs,Dpids,DLangs,Spids,SLangs,Channel[Num].Tpid());
 channel->SetCaIds(CaIds);
   }
   else
@@ -456,7 +459,7 @@
 }

 #if VDRVERSNUM>=10332
-void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char 
ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int Tpid)
+void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char 
ALangs[][MAXLANGCODE2], int *Dpids, char DLangs[][MAXLANGCODE2], int *Spids, 
char SLangs[][MAXLANGCODE2], int Tpid)
 #else
 void cMenuScan::SetPids(int Sid,int Vpid, int Ppid, int *Apids, char 
ALangs[][4], int *Dpids, char DLangs[][4], int Tpid)
 #endif
@@ -464,7 +467,7 @@
   for (int i=0; i___
vdr mailing list
vdr@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr