Merge branch 'master' of git.opendreambox.org:/git/enigma2
authorghost <andreas.monzner@multimedia-labs.de>
Fri, 20 Feb 2009 01:23:57 +0000 (02:23 +0100)
committerghost <andreas.monzner@multimedia-labs.de>
Fri, 20 Feb 2009 01:23:57 +0000 (02:23 +0100)
lib/dvb/dvbtime.cpp
lib/dvb/sec.cpp
lib/dvb/sec.h
lib/python/Components/NimManager.py
lib/python/Components/config.py
lib/python/Plugins/SystemPlugins/SatelliteEquipmentControl/plugin.py

index d879cfa..89650f2 100644 (file)
@@ -145,7 +145,7 @@ eDVBLocalTimeHandler *eDVBLocalTimeHandler::instance;
 DEFINE_REF(eDVBLocalTimeHandler);
 
 eDVBLocalTimeHandler::eDVBLocalTimeHandler()
-       :m_time_ready(false), m_updateNonTunedTimer(eTimer::create(eApp))
+       :m_updateNonTunedTimer(eTimer::create(eApp)), m_time_ready(false)
 {
        if ( !instance )
                instance=this;
index ac1a202..8aa0631 100644 (file)
@@ -563,7 +563,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                compare.tone = iDVBFrontend::toneOff;
                                                sec_sequence.push_back( eSecCommand(eSecCommand::IF_TONE_GOTO, compare) );
                                                sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, iDVBFrontend::toneOff) );
-                                               sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
+                                               sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE_DISABLE_BEFORE_DISEQC]) );
 
                                                if (diseqc13V)
                                                        vlt = iDVBFrontend::voltage13;
@@ -705,7 +705,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                        compare.tone = iDVBFrontend::toneOff;
                                                        sec_sequence.push_back( eSecCommand(eSecCommand::IF_TONE_GOTO, compare) );
                                                        sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, iDVBFrontend::toneOff) );
-                                                       sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
+                                                       sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE_DISABLE_BEFORE_DISEQC]) );
 
                                                        compare.voltage = iDVBFrontend::voltageOff;
                                                        compare.steps = +4;
@@ -839,7 +839,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                                                compare.tone = tone;
                                                                sec_sequence.push_back( eSecCommand(eSecCommand::IF_TONE_GOTO, compare) );
                                                                sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, tone) );
-                                                               sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
+                                                               sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_FINAL_CONT_TONE_CHANGE]) );
                                                                sec_sequence.push_back( eSecCommand(eSecCommand::SET_FRONTEND) );
        
                                                                cmd.direction=1;  // check for running rotor
@@ -884,7 +884,7 @@ RESULT eDVBSatelliteEquipmentControl::prepare(iDVBFrontend &frontend, FRONTENDPA
                                compare.tone = tone;
                                sec_sequence.push_back( eSecCommand(eSecCommand::IF_TONE_GOTO, compare) );
                                sec_sequence.push_back( eSecCommand(eSecCommand::SET_TONE, tone) );
-                               sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_CONT_TONE]) );
+                               sec_sequence.push_back( eSecCommand(eSecCommand::SLEEP, m_params[DELAY_AFTER_FINAL_CONT_TONE_CHANGE]) );
                        }
 
                        sec_sequence.push_back( eSecCommand(eSecCommand::UPDATE_CURRENT_SWITCHPARMS) );
index 5bff6bf..5d96932 100644 (file)
@@ -271,7 +271,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
index 6dc49dc..75ad377 100644 (file)
@@ -835,9 +835,13 @@ class NimManager:
 def InitSecParams():
        config.sec = ConfigSubsection()
 
-       x = ConfigInteger(default=15, limits = (0, 9999))
-       x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_CONT_TONE, configElement.value))
-       config.sec.delay_after_continuous_tone_change = x
+       x = ConfigInteger(default=25, limits = (0, 9999))
+       x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_CONT_TONE_DISABLE_BEFORE_DISEQC, configElement.value))
+       config.sec.delay_after_continuous_tone_disable_before_diseqc = x
+
+       x = ConfigInteger(default=10, limits = (0, 9999))
+       x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_FINAL_CONT_TONE_CHANGE, configElement.value))
+       config.sec.delay_after_final_continuous_tone_change = x
 
        x = ConfigInteger(default=10, limits = (0, 9999))
        x.addNotifier(lambda configElement: secClass.setParam(secClass.DELAY_AFTER_FINAL_VOLTAGE_CHANGE, configElement.value))
index a6d3415..e3a29b5 100755 (executable)
@@ -279,6 +279,7 @@ class ConfigSelection(ConfigElement):
                if default is None:
                        default = self.choices.default()
 
+               self._descr = None
                self.default = self._value = self.last_value = default
                self.changed()
 
@@ -296,6 +297,7 @@ class ConfigSelection(ConfigElement):
                        self._value = value
                else:
                        self._value = self.default
+               self._descr = None
                self.changed()
 
        def tostring(self, val):
@@ -307,7 +309,7 @@ class ConfigSelection(ConfigElement):
        def setCurrentText(self, text):
                i = self.choices.index(self.value)
                self.choices[i] = text
-               self.description[text] = text
+               self._descr = self.description[text] = text
                self._value = text
 
        value = property(getValue, setValue)
@@ -336,13 +338,18 @@ class ConfigSelection(ConfigElement):
                self.value = self.choices[(i + 1) % nchoices]
 
        def getText(self):
-               descr = self.description[self.value]
+               if self._descr is not None:
+                       return self._descr
+               descr = self._descr = self.description[self.value]
                if descr:
                        return _(descr)
                return descr
 
        def getMulti(self, selected):
-               descr = self.description[self.value]
+               if self._descr is not None:
+                       descr = self._descr
+               else:
+                       descr = self._descr = self.description[self.value]
                if descr:
                        return ("text", _(descr))
                return ("text", descr)
index ec223d3..ec472e7 100644 (file)
@@ -25,7 +25,8 @@ class SecParameterSetup(Screen, ConfigListScreen):
                list = [
                        ("Delay after diseqc reset command", config.sec.delay_after_diseqc_reset_cmd),
                        ("Delay after diseqc peripherial poweron command", config.sec.delay_after_diseqc_peripherial_poweron_cmd),
-                       ("Delay after continuous tone change", config.sec.delay_after_continuous_tone_change),
+                       ("Delay after continuous tone disable before diseqc", config.sec.delay_after_continuous_tone_disable_before_diseqc),
+                       ("Delay after final continuous tone change", config.sec.delay_after_final_continuous_tone_change),
                        ("Delay after last voltage change", config.sec.delay_after_final_voltage_change),
                        ("Delay between diseqc commands", config.sec.delay_between_diseqc_repeats),
                        ("Delay after last diseqc command", config.sec.delay_after_last_diseqc_command),