git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix DVB-T inversion
[enigma2.git]
/
lib
/
dvb
/
sec.cpp
diff --git
a/lib/dvb/sec.cpp
b/lib/dvb/sec.cpp
index 464a845ab5af06978128eb6f86e4522a1075b5b2..f24783c89fb7e62f0834f75461a893d740797be8 100644
(file)
--- a/
lib/dvb/sec.cpp
+++ b/
lib/dvb/sec.cpp
@@
-95,7
+95,7
@@
eDVBSatelliteEquipmentControl::eDVBSatelliteEquipmentControl(eSmartPtrList<eDVBR
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite &sat, iDVBFrontend *fe, int frontend_id )
{
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite &sat, iDVBFrontend *fe, int frontend_id )
{
- int ret=0;
+ int ret=0
, satcount=0
;
for (int idx=0; idx <= m_lnbidx; ++idx )
{
for (int idx=0; idx <= m_lnbidx; ++idx )
{
@@
-104,6
+104,8
@@
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
{
eDVBSatelliteDiseqcParameters &di_param = lnb_param.m_diseqc_parameters;
{
eDVBSatelliteDiseqcParameters &di_param = lnb_param.m_diseqc_parameters;
+ satcount += lnb_param.m_satellites.size();
+
std::map<int, eDVBSatelliteSwitchParameters>::iterator sit =
lnb_param.m_satellites.find(sat.orbital_position);
if ( sit != lnb_param.m_satellites.end())
std::map<int, eDVBSatelliteSwitchParameters>::iterator sit =
lnb_param.m_satellites.find(sat.orbital_position);
if ( sit != lnb_param.m_satellites.end())
@@
-138,20
+140,14
@@
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
csw |= band;
if ( di_param.m_diseqc_mode == eDVBSatelliteDiseqcParameters::V1_2 ) // ROTOR
csw |= band;
if ( di_param.m_diseqc_mode == eDVBSatelliteDiseqcParameters::V1_2 ) // ROTOR
- {
- rotor=true;
- if ( curRotorPos == sat.orbital_position )
- ret=20; // rotor on correct orbpos = prio 20
- else
- ret=10; // rotor must turn to correct orbpos = prio 10
- }
- else
- ret = 30; // no rotor = prio 30
+ rotor = true;
+
+ ret = 1000;
}
else
{
csw = band;
}
else
{
csw = band;
- ret =
40; // no diseqc = prio 40
+ ret =
2000;
}
if (linked_to != -1) // check for linked tuners..
}
if (linked_to != -1) // check for linked tuners..
@@
-221,6
+217,8
@@
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
}
}
}
}
}
}
+ if (ret && satcount)
+ ret -= (satcount-1);
return ret;
}
return ret;
}