diff options
| author | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-03-03 13:59:56 +0000 |
|---|---|---|
| committer | Andreas Monzner <andreas.monzner@multimedia-labs.de> | 2006-03-03 13:59:56 +0000 |
| commit | af6a8a3a102ff0230fcc6d90ad213e2e7d706fa8 (patch) | |
| tree | 1c2d6a115cacfe99292fb8599a03e2c9a20f0a4f /lib/dvb/sec.cpp | |
| parent | 88a6749020acfb921ae70f714e995af74e72c47c (diff) | |
| download | enigma2-af6a8a3a102ff0230fcc6d90ad213e2e7d706fa8.tar.gz enigma2-af6a8a3a102ff0230fcc6d90ad213e2e7d706fa8.zip | |
implement readFrontendData method to get a python dictionary containing data
about current used transponder/frontend (frontend state, frontend type, lock
state, sync state, frequency, symbolrate, fec_innter...)
when it is called with True as param it returns the original transponder data
(written to tuner) otherwise it reads the current data out of the frontend
(corrected tuner data)
Diffstat (limited to 'lib/dvb/sec.cpp')
| -rw-r--r-- | lib/dvb/sec.cpp | 57 |
1 files changed, 6 insertions, 51 deletions
diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp index 4d6558da..6d11f44e 100644 --- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -3,15 +3,9 @@ #include <lib/dvb/rotor_calc.h> #if HAVE_DVB_API_VERSION < 3 -#define INVERSION Inversion #define FREQUENCY Frequency -#define FEC_INNER FEC_inner -#define SYMBOLRATE SymbolRate #else -#define INVERSION inversion #define FREQUENCY frequency -#define FEC_INNER fec_inner -#define SYMBOLRATE symbol_rate #endif #include <lib/base/eerror.h> @@ -126,7 +120,7 @@ int eDVBSatelliteEquipmentControl::canTune(const eDVBFrontendParametersSatellite if ( sat.frequency > lnb_param.m_lof_threshold ) band |= 1; - if (sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Horizontal) + if (!(sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical)) band |= 2; bool rotor=false; @@ -344,56 +338,17 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA parm.FREQUENCY = abs(parm.FREQUENCY); - if (sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Horizontal) - band |= 2; - - switch (sat.inversion) - { - case eDVBFrontendParametersCable::Inversion::On: - parm.INVERSION = INVERSION_ON; - break; - case eDVBFrontendParametersCable::Inversion::Off: - parm.INVERSION = INVERSION_OFF; - break; - default: - case eDVBFrontendParametersCable::Inversion::Unknown: - parm.INVERSION = INVERSION_AUTO; - break; - } + frontend.setData(9, sat.frequency - parm.FREQUENCY); - switch (sat.fec) - { - default: - case eDVBFrontendParametersSatellite::FEC::fNone: - eDebug("no fec set.. assume auto"); - case eDVBFrontendParametersSatellite::FEC::fAuto: - parm.u.qpsk.FEC_INNER = FEC_AUTO; - break; - case eDVBFrontendParametersSatellite::FEC::f1_2: - parm.u.qpsk.FEC_INNER = FEC_1_2; - break; - case eDVBFrontendParametersSatellite::FEC::f2_3: - parm.u.qpsk.FEC_INNER = FEC_2_3; - break; - case eDVBFrontendParametersSatellite::FEC::f3_4: - parm.u.qpsk.FEC_INNER = FEC_3_4; - break; - case eDVBFrontendParametersSatellite::FEC::f5_6: - parm.u.qpsk.FEC_INNER = FEC_5_6; - break; - case eDVBFrontendParametersSatellite::FEC::f7_8: - parm.u.qpsk.FEC_INNER = FEC_7_8; - break; - } - - parm.u.qpsk.SYMBOLRATE = sat.symbol_rate; + if (!(sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical)) + band |= 2; if ( sw_param.m_voltage_mode == eDVBSatelliteSwitchParameters::_14V - || ( sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Vertical + || ( sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical && sw_param.m_voltage_mode == eDVBSatelliteSwitchParameters::HV ) ) voltage = VOLTAGE(13); else if ( sw_param.m_voltage_mode == eDVBSatelliteSwitchParameters::_18V - || ( sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Horizontal + || ( !(sat.polarisation & eDVBFrontendParametersSatellite::Polarisation::Vertical) && sw_param.m_voltage_mode == eDVBSatelliteSwitchParameters::HV ) ) voltage = VOLTAGE(18); if ( (sw_param.m_22khz_signal == eDVBSatelliteSwitchParameters::ON) |
