dvb_lnb_get_frequencies(sc->sc_lnb, &lowfreq, &hifreq, &switchfreq);
}
- hiband = switchfreq && p->frequency > switchfreq;
-
- pol = tdmi->tdmi_conf.dmc_polarisation;
+ if(!strcmp(sc->sc_id, "DBS Bandstacked")) {
+ hiband = 0;
+ if(tdmi->tdmi_conf.dmc_polarisation == POLARISATION_HORIZONTAL ||
+ tdmi->tdmi_conf.dmc_polarisation == POLARISATION_CIRCULAR_LEFT)
+ p->frequency = abs(p->frequency - hifreq);
+ else
+ p->frequency = abs(p->frequency - lowfreq);
+ pol = POLARISATION_CIRCULAR_LEFT;
+ } else {
+ hiband = switchfreq && p->frequency > switchfreq;
+ pol = tdmi->tdmi_conf.dmc_polarisation;
+ if(hiband)
+ p->frequency = abs(p->frequency - hifreq);
+ else
+ p->frequency = abs(p->frequency - lowfreq);
+ }
+
if ((r = diseqc_setup(tda->tda_fe_fd,
port,
pol == POLARISATION_HORIZONTAL ||
pol == POLARISATION_CIRCULAR_LEFT,
hiband, tda->tda_diseqc_version)) != 0)
tvhlog(LOG_ERR, "dvb", "diseqc setup failed %d\n", r);
-
- if(hiband)
- p->frequency = abs(p->frequency - hifreq);
- else
- p->frequency = abs(p->frequency - lowfreq);
}
dvb_mux_nicename(buf, sizeof(buf), tdmi);
add_to_lnblist(array, "Universal");
add_to_lnblist(array, "DBS");
+ add_to_lnblist(array, "DBS Bandstacked");
add_to_lnblist(array, "Standard");
add_to_lnblist(array, "Enhanced");
add_to_lnblist(array, "C-Band");
*f_low = 11250000;
*f_hi = 0;
*f_switch = 0;
+ } else if(!strcmp(id, "DBS Bandstacked")) {
+ *f_low = 11250000;
+ *f_hi = 14350000;
+ *f_switch = 0;
} else if(!strcmp(id, "Standard")) {
*f_low = 10000000;
*f_hi = 0;