{
eDebug("(%d)tune", m_fe);
+ m_timeout->stop();
+
int res=0;
if (m_type == -1)
return -EINVAL;
res=prepare_cable(feparm);
if (!res)
+ {
+ m_sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT) );
m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
+ }
break;
}
case feTerrestrial:
}
res=prepare_terrestrial(feparm);
if (!res)
+ {
+ m_sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT) );
m_sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
+ }
break;
}
}
if (!res) // prepare ok
{
m_tuneTimer->start(0,true);
- m_timeout->stop();
m_sec_sequence.current() = m_sec_sequence.begin();
if (m_state != stateTuning)
{
eDVBSatelliteSwitchParameters &sw_param = sit->second;
bool doSetVoltageToneFrontend = true;
+ bool doSetFrontend = true;
int band=0,
linked_to=-1, // linked tuner
satpos_depends_to=-1,
else
{ // use normal turning mode
doSetVoltageToneFrontend=false;
+ doSetFrontend=false;
eSecCommand::rotor cmd;
eSecCommand::pair compare;
compare.voltage = VOLTAGE(13);
frontend.setData(1, ucsw);
frontend.setData(2, di_param.m_toneburst_param);
- if ( linked )
- return 0;
-
- if (doSetVoltageToneFrontend)
+ if (!linked && doSetVoltageToneFrontend)
{
eSecCommand::pair compare;
compare.voltage = voltage;
sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, tone) );
sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 15) );
+ }
+ if (doSetFrontend)
+ {
sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
}
-
frontend.setSecSequence(sec_sequence);
return 0;