eDVBRegisteredFrontend *satpos_depends_to_fe = (eDVBRegisteredFrontend*) satpos_depends_ptr;
long satpos_depends_rotor_pos;
satpos_depends_to_fe->m_frontend->getData(eDVBFrontend::ROTOR_POS, satpos_depends_rotor_pos);
- if (satpos_depends_rotor_pos == -1 /* we dont know the rotor position yet */
+ if (!rotor || satpos_depends_rotor_pos == -1 /* we dont know the rotor position yet */
|| satpos_depends_rotor_pos != sat.orbital_position ) // not the same orbital position?
{
ret = 0;
{
if (satpos_depends_to_fe->m_inuse) // if the dependent frontend is in use?
{
- if (rotor_pos != sat.orbital_position) // new orbital position not equal to current orbital pos?
+ if (!rotor || rotor_pos != sat.orbital_position) // new orbital position not equal to current orbital pos?
ret=0;
}
}
// get current orb pos of the tuner with rotor connection
long satpos_depends_rotor_pos;
satpos_depends_to_fe->m_frontend->getData(eDVBFrontend::ROTOR_POS, satpos_depends_rotor_pos);
- if (satpos_depends_rotor_pos == -1 /* we dont know the rotor position yet */
+ if (!rotor || satpos_depends_rotor_pos == -1 /* we dont know the rotor position yet */
|| satpos_depends_rotor_pos != sat.orbital_position ) // not the same orbital position?
{
ret = 0;
eDVBSatelliteSwitchParameters &sw_param = sit->second;
bool doSetFrontend = true;
bool doSetVoltageToneFrontend = true;
- bool forceStaticMode = true;
bool forceChanged = false;
bool needDiSEqCReset = false;
long band=0,
sec_sequence.push_back( eSecCommand(eSecCommand::START_TUNE_TIMEOUT, tunetimeout) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
}
-
- if (forceStaticMode)
- {
- sec_sequence.push_front( eSecCommand(eSecCommand::SET_POWER_LIMITING_MODE, eSecCommand::modeStatic) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SET_POWER_LIMITING_MODE, eSecCommand::modeDynamic) );
- }
+
+ sec_sequence.push_front( eSecCommand(eSecCommand::SET_POWER_LIMITING_MODE, eSecCommand::modeStatic) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 500) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SET_POWER_LIMITING_MODE, eSecCommand::modeDynamic) );
+
frontend.setSecSequence(sec_sequence);
return 0;