X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/56ac7a4a764a4251a851778df09967405aa9a930..734e981d5e0f8723f4fb3aed0a5e9c4fc69fc0dc:/lib/dvb/sec.h diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h index 2efd0b49..5d73bb7b 100644 --- a/lib/dvb/sec.h +++ b/lib/dvb/sec.h @@ -25,7 +25,8 @@ public: IF_TONE_GOTO, IF_NOT_TONE_GOTO, START_TUNE_TIMEOUT, SET_ROTOR_MOVING, - SET_ROTOR_STOPPED + SET_ROTOR_STOPPED, + DELAYED_CLOSE_FRONTEND }; int cmd; struct rotor @@ -103,6 +104,10 @@ public: { secSequence.push_back(cmd); } + void push_back(eSecCommandList &list) + { + secSequence.insert(end(), list.begin(), list.end()); + } void clear() { secSequence.clear(); @@ -245,6 +250,24 @@ public: int m_prio; // to override automatic tuner management ... -1 is Auto #endif +public: +#define guard_offset_min -8000 +#define guard_offset_max 8000 +#define guard_offset_step 8000 +#define MAX_SATCR 8 +#define MAX_LNBNUM 32 + + int SatCR_positions; + int SatCR_idx; + unsigned int SatCRvco; + unsigned int UnicableTuningWord; + unsigned int UnicableConfigWord; + int old_frequency; + int old_polarisation; + int old_orbital_position; + int guard_offset_old; + int guard_offset; + int LNBNum; }; class eDVBRegisteredFrontend; @@ -254,7 +277,8 @@ class eDVBSatelliteEquipmentControl: public iDVBSatelliteEquipmentControl DECLARE_REF(eDVBSatelliteEquipmentControl); public: enum { - DELAY_AFTER_CONT_TONE=0, // delay after continuous tone change + DELAY_AFTER_CONT_TONE_DISABLE_BEFORE_DISEQC=0, // delay after continuous tone disable before diseqc command + DELAY_AFTER_FINAL_CONT_TONE_CHANGE, // delay after continuous tone change before tune DELAY_AFTER_FINAL_VOLTAGE_CHANGE, // delay after voltage change at end of complete sequence DELAY_BETWEEN_DISEQC_REPEATS, // delay between repeated diseqc commands DELAY_AFTER_LAST_DISEQC_CMD, // delay after last diseqc command @@ -280,7 +304,7 @@ private: int m_lnbidx; // current index for set parameters std::map::iterator m_curSat; eSmartPtrList &m_avail_frontends, &m_avail_simulate_frontends; - bool m_rotorMoving; + int m_rotorMoving; int m_not_linked_slot_mask; bool m_canMeasureInputPower; #endif @@ -293,6 +317,7 @@ public: #ifndef SWIG eDVBSatelliteEquipmentControl(eSmartPtrList &avail_frontends, eSmartPtrList &avail_simulate_frontends); RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int tunetimeout); + void prepareTurnOffSatCR(iDVBFrontend &frontend, int satcr); // used for unicable int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id, int *highest_score_lnb=0); bool currentLNBValid() { return m_lnbidx > -1 && m_lnbidx < (int)(sizeof(m_lnbs) / sizeof(eDVBSatelliteLNBParameters)); } #endif @@ -307,6 +332,7 @@ public: RESULT setLNBThreshold(int threshold); RESULT setLNBIncreasedVoltage(bool onoff); RESULT setLNBPrio(int prio); + RESULT setLNBNum(int LNBNum); /* DiSEqC Specific Parameters */ RESULT setDiSEqCMode(int diseqcmode); RESULT setToneburst(int toneburst); @@ -324,6 +350,13 @@ public: RESULT setUseInputpower(bool onoff); RESULT setInputpowerDelta(int delta); // delta between running and stopped rotor RESULT setRotorTurningSpeed(int speed); // set turning speed.. +/* Unicable Specific Parameters */ + RESULT setLNBSatCR(int SatCR_idx); + RESULT setLNBSatCRvco(int SatCRvco); + RESULT setLNBSatCRpositions(int SatCR_positions); + RESULT getLNBSatCR(); + RESULT getLNBSatCRvco(); + RESULT getLNBSatCRpositions(); /* Satellite Specific Parameters */ RESULT addSatellite(int orbital_position); RESULT setVoltageMode(int mode); @@ -334,7 +367,7 @@ public: RESULT setTunerDepends(int from, int to); void setSlotNotLinked(int tuner_no); - void setRotorMoving(bool); // called from the frontend's + void setRotorMoving(int, bool); // called from the frontend's bool isRotorMoving(); bool canMeasureInputPower() { return m_canMeasureInputPower; } };