]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
Add support for sattelite beams with circular polarisation
authorAndreas Öman <andreas@lonelycoder.com>
Sat, 29 Aug 2009 09:22:21 +0000 (09:22 +0000)
committerAndreas Öman <andreas@lonelycoder.com>
Sat, 29 Aug 2009 09:22:21 +0000 (09:22 +0000)
debian/changelog
src/dvb/dvb_adapter.c
src/dvb/dvb_fe.c
src/dvb/dvb_multiplex.c
src/dvb/dvb_preconf.c
src/dvb/dvb_support.c

index 572cbb208ef93b74663714d7d9204e4536a692b6..10dc7d1830a6d89c33aed698bd84b09d14e7360d 100644 (file)
@@ -5,6 +5,8 @@ hts-tvheadend (2.6) hts; urgency=low
 
   * Add support for tuning on ATSC adapters
 
+  * Add support for sattelite beams with circular polarisation
+
 hts-tvheadend (2.5) hts; urgency=low
 
   * If a previosly detected DVB adapter was not present during startup,
index 9e5f005b8bea41892bd8937c1c683cb7b694b410..f75859881932875a2068b601ab28766ac9ee0728 100644 (file)
@@ -662,8 +662,10 @@ dvb_fe_opts(th_dvb_adapter_t *tda, const char *which)
 
 
   if(!strcmp(which, "polarisations")) {
-    fe_opts_add(a, "Horizontal", POLARISATION_HORIZONTAL);
-    fe_opts_add(a, "Vertical",   POLARISATION_VERTICAL);
+    fe_opts_add(a, "Horizontal",     POLARISATION_HORIZONTAL);
+    fe_opts_add(a, "Vertical",       POLARISATION_VERTICAL);
+    fe_opts_add(a, "Circular left",  POLARISATION_CIRCULAR_LEFT);
+    fe_opts_add(a, "Circular right", POLARISATION_CIRCULAR_RIGHT);
     return a;
   }
 
index 12deb501eeee7d5e14e64820a9f8feb12baff8d7..d2a5b472d4f8149a49e2ada0978d8a736271aa54 100644 (file)
@@ -223,7 +223,8 @@ dvb_fe_tune(th_dvb_mux_instance_t *tdmi, const char *reason)
        
     diseqc_setup(tda->tda_fe_fd,
                 port,
-                tdmi->tdmi_polarisation == POLARISATION_HORIZONTAL,
+                tdmi->tdmi_polarisation == POLARISATION_HORIZONTAL ||
+                tdmi->tdmi_polarisation == POLARISATION_CIRCULAR_LEFT,
                 hiband);
       
     usleep(50000);
index 48b318c9ef8085a4e6f6aca0b22e27f1fc43cbb1..ad69819eb5e48b0b20719f1d8fad82f9a32a13b2 100644 (file)
@@ -323,6 +323,8 @@ static struct strtab hiertab[] = {
 static struct strtab poltab[] = {
   { "Vertical",      POLARISATION_VERTICAL },
   { "Horizontal",    POLARISATION_HORIZONTAL },
+  { "Left",          POLARISATION_CIRCULAR_LEFT },
+  { "Right",         POLARISATION_CIRCULAR_RIGHT },
 };
 
 
index 8c4352858c0cfa1726f3aeed1edfffb4f12631d5..2a89e3266abb49f52cdb58e5f1a2420cd99e4e10 100644 (file)
@@ -79,6 +79,12 @@ dvb_mux_preconf_add(th_dvb_adapter_t *tda, const struct mux *m, int num,
       case 'H':
        polarisation = POLARISATION_HORIZONTAL;
        break;
+      case 'L':
+       polarisation = POLARISATION_CIRCULAR_LEFT;
+       break;
+      case 'R':
+       polarisation = POLARISATION_CIRCULAR_RIGHT;
+       break;
       default:
        abort();
       }
index ba389a453e9b42a2c6d2f9c53acce715b9d65f6b..ed323f6b7406374f9fb58f933cb9d018b21f2a85 100644 (file)
@@ -260,9 +260,11 @@ const char *
 dvb_polarisation_to_str(int pol)
 {
   switch(pol) {
-  case POLARISATION_VERTICAL:   return "V";
-  case POLARISATION_HORIZONTAL: return "H";
-  default:                      return "X";
+  case POLARISATION_VERTICAL:       return "V";
+  case POLARISATION_HORIZONTAL:     return "H";
+  case POLARISATION_CIRCULAR_LEFT:  return "L";
+  case POLARISATION_CIRCULAR_RIGHT: return "R";
+  default:                          return "X";
   }
 }
 
@@ -270,9 +272,11 @@ const char *
 dvb_polarisation_to_str_long(int pol)
 {
   switch(pol) {
-  case POLARISATION_VERTICAL:   return "Vertical";
-  case POLARISATION_HORIZONTAL: return "Horizontal";
-  default:                      return "??";
+  case POLARISATION_VERTICAL:        return "Vertical";
+  case POLARISATION_HORIZONTAL:      return "Horizontal";
+  case POLARISATION_CIRCULAR_LEFT:   return "Left";
+  case POLARISATION_CIRCULAR_RIGHT:  return "Right";
+  default:                           return "??";
   }
 }