linuxdvb: do not send switch command twice for rotor, add 'Switch Then Rotor' config

This commit is contained in:
Jaroslav Kysela 2014-12-14 11:20:13 +01:00
parent 3a6088cfd9
commit c4ce18c47d
2 changed files with 12 additions and 3 deletions

View file

@ -136,6 +136,7 @@ struct linuxdvb_satconf
gtimer_t ls_diseqc_timer;
int ls_diseqc_idx;
int ls_diseqc_repeats;
int ls_switch_rotor;
/*
* LNB settings

View file

@ -231,6 +231,13 @@ const idclass_t linuxdvb_satconf_class =
.opts = PO_ADVANCED,
.def.i = 1
},
{
.type = PT_BOOL,
.id = "switch_rotor",
.name = "Switch Then Rotor",
.off = offsetof(linuxdvb_satconf_t, ls_switch_rotor),
.opts = PO_ADVANCED,
},
{
.type = PT_U32,
.id = "max_rotor_move",
@ -659,9 +666,10 @@ linuxdvb_satconf_ele_tune ( linuxdvb_satconf_ele_t *lse )
linuxdvb_frontend_t *lfe = (linuxdvb_frontend_t*)ls->ls_frontend;
dvb_mux_t *lm = (dvb_mux_t*)mmi->mmi_mux;
linuxdvb_diseqc_t *lds[] = {
lse->lse_rotor ? (linuxdvb_diseqc_t*)lse->lse_switch : NULL,
(linuxdvb_diseqc_t*)lse->lse_rotor,
(linuxdvb_diseqc_t*)lse->lse_switch,
ls->ls_switch_rotor ? (linuxdvb_diseqc_t*)lse->lse_switch :
(linuxdvb_diseqc_t*)lse->lse_rotor,
ls->ls_switch_rotor ? (linuxdvb_diseqc_t*)lse->lse_rotor :
(linuxdvb_diseqc_t*)lse->lse_switch,
(linuxdvb_diseqc_t*)lse->lse_en50494,
(linuxdvb_diseqc_t*)lse->lse_lnb
};