X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/f9723e7fbf7669f063151eaf53bb1ee9f4189289..ec6cfceaa66fc2243e08001178c70fb5db9fcc50:/lib/dvb/sec.cpp diff --git a/lib/dvb/sec.cpp b/lib/dvb/sec.cpp index 1555090c..a668ebe7 100644 --- a/lib/dvb/sec.cpp +++ b/lib/dvb/sec.cpp @@ -25,7 +25,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA { int hi; eDebug("(very) ugly and hardcoded eDVBSatelliteEquipmentControl"); - + if (sat.frequency > 11700000) hi = 1; else @@ -50,24 +50,32 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA } parm.u.qpsk.SYMBOLRATE = sat.symbol_rate; - frontend.setVoltage((sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Vertical) ? iDVBFrontend::voltage13 : iDVBFrontend::voltage18); - eDVBDiseqcCommand diseqc; - + +#if HAVE_DVB_API_VERSION < 3 + diseqc.voltage = sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Vertical ? iDVBFrontend::voltage13 : iDVBFrontend::voltage18; + diseqc.tone = hi ? iDVBFrontend::toneOn : iDVBFrontend::toneOff; +#else + frontend.setVoltage(sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Vertical ? iDVBFrontend::voltage13 : iDVBFrontend::voltage18); +#endif + diseqc.len = 4; diseqc.data[0] = 0xe0; diseqc.data[1] = 0x10; diseqc.data[2] = 0x38; diseqc.data[3] = 0xF0; - + if (hi) diseqc.data[3] |= 1; - + if (sat.polarisation == eDVBFrontendParametersSatellite::Polarisation::Horizontal) diseqc.data[3] |= 2; frontend.sendDiseqc(diseqc); + +#if HAVE_DVB_API_VERSION > 2 frontend.setTone(hi ? iDVBFrontend::toneOn : iDVBFrontend::toneOff); +#endif return 0; }