range 0..64 to decrease priorities (this is lower as all auto given priorities)
range 14000..14064 this is higher than auto given rotor priorities
range 19000..19064 this is higher than each auto given priorities
{
bool rotor=false;
eDVBSatelliteLNBParameters &lnb_param = m_lnbs[idx];
{
bool rotor=false;
eDVBSatelliteLNBParameters &lnb_param = m_lnbs[idx];
- if ( lnb_param.slot_mask & slot_id ) // lnb for correct tuner?
+ if ( lnb_param.m_slot_mask & slot_id ) // lnb for correct tuner?
{
int ret = 0;
eDVBSatelliteDiseqcParameters &di_param = lnb_param.m_diseqc_parameters;
{
int ret = 0;
eDVBSatelliteDiseqcParameters &di_param = lnb_param.m_diseqc_parameters;
+ if (ret && lnb_param.m_prio != -1)
+ ret = lnb_param.m_prio;
+
eSecDebugNoSimulate("ret %d, score old %d", ret, score);
if (ret > score)
{
eSecDebugNoSimulate("ret %d, score old %d", ret, score);
if (ret > score)
{
}
}
if (score && satcount)
}
}
if (score && satcount)
+ {
+ if (score > (satcount-1))
+ score -= (satcount-1);
+ else
+ score = 1; // min score
+ }
if (score && direct_connected)
score += 5; // increase score for tuners with direct sat connection
eSecDebugNoSimulate("final score %d", score);
if (score && direct_connected)
score += 5; // increase score for tuners with direct sat connection
eSecDebugNoSimulate("final score %d", score);
for (int i=0; i <= m_lnbidx; ++i)
{
m_lnbs[i].m_satellites.clear();
for (int i=0; i <= m_lnbidx; ++i)
{
m_lnbs[i].m_satellites.clear();
- m_lnbs[i].slot_mask = 0;
+ m_lnbs[i].m_slot_mask = 0;
+ m_lnbs[i].m_prio = -1; // auto
{
eSecDebug("eDVBSatelliteEquipmentControl::setLNBSlotMask(%d)", slotmask);
if ( currentLNBValid() )
{
eSecDebug("eDVBSatelliteEquipmentControl::setLNBSlotMask(%d)", slotmask);
if ( currentLNBValid() )
- m_lnbs[m_lnbidx].slot_mask = slotmask;
+ m_lnbs[m_lnbidx].m_slot_mask = slotmask;
else
return -ENOENT;
return 0;
else
return -ENOENT;
return 0;
+RESULT eDVBSatelliteEquipmentControl::setLNBPrio(int prio)
+{
+ eSecDebug("eDVBSatelliteEquipmentControl::setLNBPrio(%d)", prio);
+ if ( currentLNBValid() )
+ m_lnbs[m_lnbidx].m_prio = prio;
+ else
+ return -ENOENT;
+ return 0;
+}
+
+
/* DiSEqC Specific Parameters */
RESULT eDVBSatelliteEquipmentControl::setDiSEqCMode(int diseqcmode)
{
/* DiSEqC Specific Parameters */
RESULT eDVBSatelliteEquipmentControl::setDiSEqCMode(int diseqcmode)
{
#ifndef SWIG
t_12V_relais_state m_12V_relais_state; // 12V relais output on/off
#ifndef SWIG
t_12V_relais_state m_12V_relais_state; // 12V relais output on/off
- __u8 slot_mask; // useable by slot ( 1 | 2 | 4...)
+ int m_slot_mask; // useable by slot ( 1 | 2 | 4...)
unsigned int m_lof_hi, // for 2 band universal lnb 10600 Mhz (high band offset frequency)
m_lof_lo, // for 2 band universal lnb 9750 Mhz (low band offset frequency)
unsigned int m_lof_hi, // for 2 band universal lnb 10600 Mhz (high band offset frequency)
m_lof_lo, // for 2 band universal lnb 9750 Mhz (low band offset frequency)
std::map<int, eDVBSatelliteSwitchParameters> m_satellites;
eDVBSatelliteDiseqcParameters m_diseqc_parameters;
eDVBSatelliteRotorParameters m_rotor_parameters;
std::map<int, eDVBSatelliteSwitchParameters> m_satellites;
eDVBSatelliteDiseqcParameters m_diseqc_parameters;
eDVBSatelliteRotorParameters m_rotor_parameters;
+
+ int m_prio; // to override automatic tuner management ... -1 is Auto
RESULT setLNBLOFH(int lofh);
RESULT setLNBThreshold(int threshold);
RESULT setLNBIncreasedVoltage(bool onoff);
RESULT setLNBLOFH(int lofh);
RESULT setLNBThreshold(int threshold);
RESULT setLNBIncreasedVoltage(bool onoff);
+ RESULT setLNBPrio(int prio);
/* DiSEqC Specific Parameters */
RESULT setDiSEqCMode(int diseqcmode);
RESULT setToneburst(int toneburst);
/* DiSEqC Specific Parameters */
RESULT setDiSEqCMode(int diseqcmode);
RESULT setToneburst(int toneburst);
sec.setLNBSlotMask(tunermask)
sec.setLNBSlotMask(tunermask)
+ sec.setLNBPrio(int(currLnb.prio.value))
+
# finally add the orbital positions
for y in lnbSat[x]:
self.addSatellite(sec, y)
# finally add the orbital positions
for y in lnbSat[x]:
self.addSatellite(sec, y)
nim.advanced.lnb[x].fastTurningBegin = ConfigDateTime(default=mktime(btime.timetuple()), formatstring = _("%H:%M"), increment = 600)
etime = datetime(1970, 1, 1, 19, 0);
nim.advanced.lnb[x].fastTurningEnd = ConfigDateTime(default=mktime(etime.timetuple()), formatstring = _("%H:%M"), increment = 600)
nim.advanced.lnb[x].fastTurningBegin = ConfigDateTime(default=mktime(btime.timetuple()), formatstring = _("%H:%M"), increment = 600)
etime = datetime(1970, 1, 1, 19, 0);
nim.advanced.lnb[x].fastTurningEnd = ConfigDateTime(default=mktime(etime.timetuple()), formatstring = _("%H:%M"), increment = 600)
+ prio_list = [ ("-1", _("Auto")) ]
+ for prio in range(65):
+ prio_list.append((str(prio), str(prio)))
+ for prio in range(14000,14065):
+ prio_list.append((str(prio), str(prio)))
+ for prio in range(19000,19065):
+ prio_list.append((str(prio), str(prio)))
+ nim.advanced.lnb[x].prio = ConfigSelection(default="-1", choices=prio_list)
elif slot.isCompatible("DVB-C"):
nim.configMode = ConfigSelection(
choices = {
elif slot.isCompatible("DVB-C"):
nim.configMode = ConfigSelection(
choices = {
self.list.append(getConfigListEntry(_("Threshold"), currLnb.threshold))
# self.list.append(getConfigListEntry(_("12V Output"), currLnb.output_12v))
self.list.append(getConfigListEntry(_("Increased voltage"), currLnb.increased_voltage))
self.list.append(getConfigListEntry(_("Threshold"), currLnb.threshold))
# self.list.append(getConfigListEntry(_("12V Output"), currLnb.output_12v))
self.list.append(getConfigListEntry(_("Increased voltage"), currLnb.increased_voltage))
+ self.list.append(getConfigListEntry(_("Priority"), currLnb.prio))
def fillAdvancedList(self):
self.list = [ ]
def fillAdvancedList(self):
self.list = [ ]