X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/7ea97a85b8a5bc5a6f1fb75cb2c6335644b4ebc0..699d41f217b6d8e91dce499964f8c1a69f5602ed:/lib/dvb/sec.h diff --git a/lib/dvb/sec.h b/lib/dvb/sec.h index 6b205a9d..f03999d8 100644 --- a/lib/dvb/sec.h +++ b/lib/dvb/sec.h @@ -9,23 +9,44 @@ class eSecCommand { public: enum { - NONE, SLEEP, SET_VOLTAGE, SET_TONE, SEND_DISEQC, SEND_TONEBURST, IF_LOCK_GOTO, IF_NOT_LOCK_GOTO, SET_FRONTEND + NONE, SLEEP, SET_VOLTAGE, SET_TONE, GOTO, + SEND_DISEQC, SEND_TONEBURST, SET_FRONTEND, + MEASURE_IDLE_INPUTPOWER, MEASURE_RUNNING_INPUTPOWER, + IF_TIMEOUT_GOTO, IF_INPUTPOWER_DELTA_GOTO, + UPDATE_CURRENT_ROTORPARAMS, SET_TIMEOUT }; int cmd; + struct rotor + { + int deltaA; // difference in mA between running and stopped rotor + int okcount; // counter + int steps; // goto steps + int direction; + }; union { + int val; + int steps; + int timeout; int voltage; int tone; int toneburst; int msec; + rotor measure; eDVBDiseqcCommand diseqc; }; + eSecCommand( int cmd ) + :cmd(cmd) + {} eSecCommand( int cmd, int val ) - :cmd(cmd), voltage(val) + :cmd(cmd), val(val) {} eSecCommand( int cmd, eDVBDiseqcCommand diseqc ) :cmd(cmd), diseqc(diseqc) {} + eSecCommand( int cmd, rotor measure ) + :cmd(cmd), measure(measure) + {} eSecCommand() :cmd(NONE) {} @@ -79,7 +100,7 @@ class eDVBSatelliteDiseqcParameters { public: enum { AA=0, AB=1, BA=2, BB=3, SENDNO=4 /* and 0xF0 .. 0xFF*/ }; // DiSEqC Parameter - int m_commited_cmd; + int m_committed_cmd; enum t_diseqc_mode { NONE=0, V1_0=1, V1_1=2, V1_2=3, SMATV=4 }; // DiSEqC Mode t_diseqc_mode m_diseqc_mode; @@ -135,13 +156,21 @@ public: std::map< int, int, Orbital_Position_Compare > m_rotor_position_table; /* mapping orbitalposition <-> number stored in rotor */ - void setDefaultOptions(); // set default rotor options + void setDefaultOptions() // set default rotor options + { + m_inputpower_parameters.m_use = true; + m_inputpower_parameters.m_threshold = 60; + m_gotoxx_parameters.m_can_use = true; + m_gotoxx_parameters.m_lo_direction = EAST; + m_gotoxx_parameters.m_la_direction = NORTH; + m_gotoxx_parameters.m_longitude = 0.0; + m_gotoxx_parameters.m_latitude = 0.0; + } }; class eDVBSatelliteParameters { public: - eDVBSatelliteDiseqcParameters m_diseqc_parameters; eDVBSatelliteRotorParameters m_rotor_parameters; eDVBSatelliteSwitchParameters m_switch_parameters; }; @@ -159,6 +188,7 @@ public: bool m_increased_voltage; // use increased voltage ( 14/18V ) std::map m_satellites; + eDVBSatelliteDiseqcParameters m_diseqc_parameters; }; class eDVBSatelliteEquipmentControl: public iDVBSatelliteEquipmentControl