X-Git-Url: http://code.vuplus.com/gitweb/?a=blobdiff_plain;f=lib%2Fdvb%2Fsec.h;h=35213b39e1e65ea986f62e090efa0811e0b842d9;hb=fb245070e55dcdcdf54d3db1961d8cc7264f5779;hp=31415c4254923dd89ffc477b344f336b3c9093f6;hpb=452fdf6b7875f8185960f9b1649ba3d8fad4ab24;p=vuplus_dvbapp diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h index 31415c4..35213b3 100644 --- a/lib/dvb/sec.h +++ b/lib/dvb/sec.h @@ -19,15 +19,21 @@ public: MEASURE_IDLE_INPUTPOWER, MEASURE_RUNNING_INPUTPOWER, IF_MEASURE_IDLE_WAS_NOT_OK_GOTO, IF_INPUTPOWER_DELTA_GOTO, UPDATE_CURRENT_ROTORPARAMS, INVALIDATE_CURRENT_ROTORPARMS, + UPDATE_CURRENT_SWITCHPARMS, INVALIDATE_CURRENT_SWITCHPARMS, IF_ROTORPOS_VALID_GOTO, IF_TUNER_LOCKED_GOTO, IF_TONE_GOTO, IF_NOT_TONE_GOTO, - START_TUNE_TIMEOUT + START_TUNE_TIMEOUT, + SET_ROTOR_MOVING, + SET_ROTOR_STOPPED }; int cmd; struct rotor { - int deltaA; // difference in mA between running and stopped rotor + union { + int deltaA; // difference in mA between running and stopped rotor + int lastSignal; + }; int okcount; // counter int steps; // goto steps int direction; @@ -180,6 +186,7 @@ class eDVBSatelliteRotorParameters #endif public: enum { NORTH, SOUTH, EAST, WEST }; + enum { FAST, SLOW }; #ifndef SWIG eDVBSatelliteRotorParameters() { setDefaultOptions(); } @@ -187,6 +194,7 @@ public: { bool m_use; // can we use rotor inputpower to detect rotor running state ? __u8 m_delta; // delta between running and stopped rotor + unsigned int m_turning_speed; // SLOW, FAST, or fast turning epoch }; eDVBSatelliteRotorInputpowerParameters m_inputpower_parameters; @@ -201,6 +209,7 @@ public: void setDefaultOptions() // set default rotor options { + m_inputpower_parameters.m_turning_speed = FAST; // fast turning m_inputpower_parameters.m_use = true; m_inputpower_parameters.m_delta = 60; m_gotoxx_parameters.m_lo_direction = EAST; @@ -240,6 +249,7 @@ class eDVBRegisteredFrontend; class eDVBSatelliteEquipmentControl: public iDVBSatelliteEquipmentControl { + DECLARE_REF(eDVBSatelliteEquipmentControl); public: enum { DELAY_AFTER_CONT_TONE=0, // delay after continuous tone change @@ -267,6 +277,7 @@ private: eSmartPtrList &m_avail_frontends; bool m_rotorMoving; int m_not_linked_slot_mask; + bool m_canMeasureInputPower; #endif #ifdef SWIG eDVBSatelliteEquipmentControl(); @@ -276,8 +287,7 @@ private: public: #ifndef SWIG eDVBSatelliteEquipmentControl(eSmartPtrList &avail_frontends); - DECLARE_REF(eDVBSatelliteEquipmentControl); - RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id); + RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int tunetimeout); int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id); bool currentLNBValid() { return m_lnbidx > -1 && m_lnbidx < (int)(sizeof(m_lnbs) / sizeof(eDVBSatelliteLNBParameters)); } #endif @@ -307,6 +317,7 @@ public: RESULT setLaDirection(int direction); RESULT setUseInputpower(bool onoff); RESULT setInputpowerDelta(int delta); // delta between running and stopped rotor + RESULT setRotorTurningSpeed(int speed); // set turning speed.. /* Satellite Specific Parameters */ RESULT addSatellite(int orbital_position); RESULT setVoltageMode(int mode); @@ -317,9 +328,9 @@ public: RESULT setTunerDepends(int from, int to); void setSlotNotLinked(int tuner_no); - PyObject *get_exclusive_satellites(int tu1, int tu2); void setRotorMoving(bool); // called from the frontend's bool isRotorMoving(); + bool canMeasureInputPower() { return m_canMeasureInputPower; } }; #endif