git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
some fixes
[enigma2.git]
/
lib
/
dvb
/
sec.cpp
diff --git
a/lib/dvb/sec.cpp
b/lib/dvb/sec.cpp
index d504fcb2f0d8e9e84b2d39fdfb7d8e50a0f58e26..0b40ae5096197719181766e216bc63b66c3e3cd9 100644
(file)
--- a/
lib/dvb/sec.cpp
+++ b/
lib/dvb/sec.cpp
@@
-138,7
+138,8
@@
int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite
if ( di_param.m_committed_cmd < eDVBSatelliteDiseqcParameters::SENDNO )
csw = 0xF0 | (csw << 2);
if ( di_param.m_committed_cmd < eDVBSatelliteDiseqcParameters::SENDNO )
csw = 0xF0 | (csw << 2);
- csw |= band;
+ if (di_param.m_committed_cmd <= eDVBSatelliteDiseqcParameters::SENDNO)
+ csw |= band;
if ( di_param.m_diseqc_mode == eDVBSatelliteDiseqcParameters::V1_2 ) // ROTOR
{
if ( di_param.m_diseqc_mode == eDVBSatelliteDiseqcParameters::V1_2 ) // ROTOR
{
@@
-287,6
+288,8
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
else
parm.FREQUENCY = sat.frequency - lnb_param.m_lof_lo;
else
parm.FREQUENCY = sat.frequency - lnb_param.m_lof_lo;
+ parm.FREQUENCY = abs(parm.FREQUENCY);
+
if (sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Horizontal)
band |= 2;
if (sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Horizontal)
band |= 2;
@@
-353,7
+356,8
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
if ( di_param.m_committed_cmd < eDVBSatelliteDiseqcParameters::SENDNO )
csw = 0xF0 | (csw << 2);
if ( di_param.m_committed_cmd < eDVBSatelliteDiseqcParameters::SENDNO )
csw = 0xF0 | (csw << 2);
- csw |= band;
+ if (di_param.m_committed_cmd <= eDVBSatelliteDiseqcParameters::SENDNO)
+ csw |= band;
bool send_csw =
(di_param.m_committed_cmd != eDVBSatelliteDiseqcParameters::SENDNO);
bool send_csw =
(di_param.m_committed_cmd != eDVBSatelliteDiseqcParameters::SENDNO);
@@
-395,7
+399,10
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
}
if (changed_csw)
{
}
if (changed_csw)
{
- if ( di_param.m_use_fast && (lastcsw & 0xF0) && ((csw / 4) == (lastcsw / 4)) )
+ if ( di_param.m_use_fast
+ && di_param.m_committed_cmd < eDVBSatelliteDiseqcParameters::SENDNO
+ && (lastcsw & 0xF0)
+ && ((csw / 4) == (lastcsw / 4)) )
eDebug("dont send committed cmd (fast diseqc)");
else
{
eDebug("dont send committed cmd (fast diseqc)");
else
{