allow more complicated sat configuration
[enigma2.git] / lib / dvb / sec.h
index 18935b97d3da41944b35cd9038e591e1a48c4b8b..e630df9182281adae98e7e5fd37714e8fe3f1dff 100644 (file)
@@ -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;
@@ -265,7 +271,7 @@ public:
 private:
 #ifndef SWIG
        static eDVBSatelliteEquipmentControl *instance;
-       eDVBSatelliteLNBParameters m_lnbs[128]; // i think its enough
+       eDVBSatelliteLNBParameters m_lnbs[144]; // i think its enough
        int m_lnbidx; // current index for set parameters
        std::map<int, eDVBSatelliteSwitchParameters>::iterator m_curSat;
        eSmartPtrList<eDVBRegisteredFrontend> &m_avail_frontends;
@@ -282,7 +288,7 @@ public:
 #ifndef SWIG
        eDVBSatelliteEquipmentControl(eSmartPtrList<eDVBRegisteredFrontend> &avail_frontends);
        RESULT prepare(iDVBFrontend &frontend, FRONTENDPARAMETERS &parm, const eDVBFrontendParametersSatellite &sat, int frontend_id, unsigned int tunetimeout);
-       int canTune(const eDVBFrontendParametersSatellite &feparm, iDVBFrontend *, int frontend_id);
+       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
        static eDVBSatelliteEquipmentControl *getInstance() { return instance; }
@@ -322,7 +328,6 @@ 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; }