aboutsummaryrefslogtreecommitdiff
path: root/lib/dvb/sec.cpp
diff options
context:
space:
mode:
authorAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-08-04 10:50:15 +0000
committerAndreas Monzner <andreas.monzner@multimedia-labs.de>2008-08-04 10:50:15 +0000
commitd58968e5ca43995658257b6e89f092c7572cde0a (patch)
tree4aef791be3ba82ab2f621f12fae30799bf39cb4c /lib/dvb/sec.cpp
parent62d86f1ac67bfd0391922d766fa62a1849f5ddb4 (diff)
downloadenigma2-d58968e5ca43995658257b6e89f092c7572cde0a.tar.gz
enigma2-d58968e5ca43995658257b6e89f092c7572cde0a.zip
fix tune failed problems on fast zap when a diseqc swicth is in use
Diffstat (limited to 'lib/dvb/sec.cpp')
-rw-r--r--lib/dvb/sec.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp
index 9e76bb90..3d8084c8 100644
--- a/lib/dvb/sec.cpp
+++ b/lib/dvb/sec.cpp
@@ -544,8 +544,9 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
// check if voltage is disabled
compare.voltage = iDVBFrontend::voltageOff;
- compare.steps = +4;
+ compare.steps = +5;
sec_sequence.push_back( eSecCommand(eSecCommand::IF_VOLTAGE_GOTO, compare) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::INVALIDATE_CURRENT_SWITCHPARMS) );
// voltage is changed... use DELAY_AFTER_VOLTAGE_CHANGE_BEFORE_SWITCH_CMDS
sec_sequence.push_back( eSecCommand(eSecCommand::SET_VOLTAGE, vlt) );
@@ -793,11 +794,14 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
}
}
else
+ {
+ sec_sequence.push_back( eSecCommand(eSecCommand::INVALIDATE_CURRENT_SWITCHPARMS) );
csw = band;
+ }
- sec_fe->setData(eDVBFrontend::CSW, csw);
- sec_fe->setData(eDVBFrontend::UCSW, ucsw);
- sec_fe->setData(eDVBFrontend::TONEBURST, di_param.m_toneburst_param);
+ sec_fe->setData(eDVBFrontend::NEW_CSW, csw);
+ sec_fe->setData(eDVBFrontend::NEW_UCSW, ucsw);
+ sec_fe->setData(eDVBFrontend::NEW_TONEBURST, di_param.m_toneburst_param);
if (doSetVoltageToneFrontend)
{
@@ -813,6 +817,8 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
}
+ sec_sequence.push_back( eSecCommand(eSecCommand::UPDATE_CURRENT_SWITCHPARMS) );
+
if (doSetFrontend)
{
sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT, tunetimeout) );