git.cweiske.de
/
enigma2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
use cElementTree instead of minidom for xml parsing (thx to Moritz Venn)
[enigma2.git]
/
lib
/
dvb
/
sec.cpp
diff --git
a/lib/dvb/sec.cpp
b/lib/dvb/sec.cpp
index 35a8d04a37a8ab5309338a02dd8bd06af441d059..39124b34b8a1cb7ec357d8dca3656528d31270b7 100644
(file)
--- a/
lib/dvb/sec.cpp
+++ b/
lib/dvb/sec.cpp
@@
-388,6
+388,11
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
iDVBFrontend *sec_fe=&frontend;
eDVBRegisteredFrontend *linked_fe = 0;
eDVBSatelliteDiseqcParameters::t_diseqc_mode diseqc_mode = di_param.m_diseqc_mode;
iDVBFrontend *sec_fe=&frontend;
eDVBRegisteredFrontend *linked_fe = 0;
eDVBSatelliteDiseqcParameters::t_diseqc_mode diseqc_mode = di_param.m_diseqc_mode;
+ eDVBSatelliteSwitchParameters::t_voltage_mode voltage_mode = sw_param.m_voltage_mode;
+ bool diseqc13V = voltage_mode == eDVBSatelliteSwitchParameters::HV_13;
+
+ if (diseqc13V)
+ voltage_mode = eDVBSatelliteSwitchParameters::HV;
frontend.getData(eDVBFrontend::SATPOS_DEPENDS_PTR, satposDependPtr);
frontend.getData(eDVBFrontend::SATPOS_DEPENDS_PTR, satposDependPtr);
@@
-437,13
+442,13
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
if (!(sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical))
band |= 2;
if (!(sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical))
band |= 2;
- if (
sw_param.m_
voltage_mode == eDVBSatelliteSwitchParameters::_14V
+ if ( voltage_mode == eDVBSatelliteSwitchParameters::_14V
|| ( sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical
|| ( sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical
- &&
sw_param.m_
voltage_mode == eDVBSatelliteSwitchParameters::HV ) )
+ && voltage_mode == eDVBSatelliteSwitchParameters::HV ) )
voltage = VOLTAGE(13);
voltage = VOLTAGE(13);
- else if (
sw_param.m_
voltage_mode == eDVBSatelliteSwitchParameters::_18V
+ else if ( voltage_mode == eDVBSatelliteSwitchParameters::_18V
|| ( !(sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical)
|| ( !(sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical)
- &&
sw_param.m_
voltage_mode == eDVBSatelliteSwitchParameters::HV ) )
+ && voltage_mode == eDVBSatelliteSwitchParameters::HV ) )
voltage = VOLTAGE(18);
if ( (sw_param.m_22khz_signal == eDVBSatelliteSwitchParameters::ON)
|| ( sw_param.m_22khz_signal == eDVBSatelliteSwitchParameters::HILO && (band&1) ) )
voltage = VOLTAGE(18);
if ( (sw_param.m_22khz_signal == eDVBSatelliteSwitchParameters::ON)
|| ( sw_param.m_22khz_signal == eDVBSatelliteSwitchParameters::HILO && (band&1) ) )
@@
-597,7
+602,9
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, iDVBFrontend::toneOff) );
sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, iDVBFrontend::toneOff) );
sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
- if ( RotorCmd != -1 && RotorCmd != lastRotorCmd )
+ if (diseqc13V)
+ vlt = iDVBFrontend::voltage13;
+ else if ( RotorCmd != -1 && RotorCmd != lastRotorCmd )
{
if (rotor_param.m_inputpower_parameters.m_use)
vlt = VOLTAGE(18); // in input power mode set 18V for measure input power
{
if (rotor_param.m_inputpower_parameters.m_use)
vlt = VOLTAGE(18); // in input power mode set 18V for measure input power
@@
-637,11
+644,11
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
diseqc.data[2] = 0;
// diseqc reset
sec_sequence.push_back( eSecCommand(eSecCommand::SEND_DISEQC, diseqc) );
diseqc.data[2] = 0;
// diseqc reset
sec_sequence.push_back( eSecCommand(eSecCommand::SEND_DISEQC, diseqc) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP,
50
) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP,
m_params[DELAY_AFTER_DISEQC_RESET_CMD]
) );
diseqc.data[2] = 3;
// diseqc peripherial powersupply on
sec_sequence.push_back( eSecCommand(eSecCommand::SEND_DISEQC, diseqc) );
diseqc.data[2] = 3;
// diseqc peripherial powersupply on
sec_sequence.push_back( eSecCommand(eSecCommand::SEND_DISEQC, diseqc) );
- sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP,
150
) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP,
m_params[DELAY_AFTER_DISEQC_PERIPHERIAL_POWERON_CMD]
) );
}
for (int seq_repeat = 0; seq_repeat < (di_param.m_seq_repeat?2:1); ++seq_repeat)
}
for (int seq_repeat = 0; seq_repeat < (di_param.m_seq_repeat?2:1); ++seq_repeat)
@@
-894,8
+901,8
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
csw = band;
}
csw = band;
}
-
if (sendDiSEqC)
-
sec_sequence.push_front( eSecCommand(eSecCommand::SET_POWER_LIMITING_MODE, eSecCommand::modeStatic) );
+
//
if (sendDiSEqC)
+ sec_sequence.push_front( eSecCommand(eSecCommand::SET_POWER_LIMITING_MODE, eSecCommand::modeStatic) );
sec_fe->setData(eDVBFrontend::NEW_CSW, csw);
sec_fe->setData(eDVBFrontend::NEW_UCSW, ucsw);
sec_fe->setData(eDVBFrontend::NEW_CSW, csw);
sec_fe->setData(eDVBFrontend::NEW_UCSW, ucsw);
@@
-923,8
+930,9
@@
RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
}
sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
}
- if (sendDiSEqC)
- sec_sequence.push_back( eSecCommand(eSecCommand::SET_POWER_LIMITING_MODE, eSecCommand::modeDynamic) );
+// if (sendDiSEqC)
+ sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, 50) );
+ sec_sequence.push_back( eSecCommand(eSecCommand::SET_POWER_LIMITING_MODE, eSecCommand::modeDynamic) );
frontend.setSecSequence(sec_sequence);
frontend.setSecSequence(sec_sequence);