diff options
| author | Felix Domke <tmbinc@elitedvb.net> | 2009-02-13 14:47:08 +0100 |
|---|---|---|
| committer | Felix Domke <tmbinc@elitedvb.net> | 2009-02-13 14:47:08 +0100 |
| commit | a2897a03034c3a2c176df4fdd2f7f5d32d830270 (patch) | |
| tree | 1708335a44e013b79012a45e9827604f45c15920 /lib | |
| parent | 20007678238c8cfd9c7d74209f03e1c19f1ce58c (diff) | |
| parent | 64b5a4111134ff98a5cb22e481508a2045ec9cd3 (diff) | |
| download | enigma2-a2897a03034c3a2c176df4fdd2f7f5d32d830270.tar.gz enigma2-a2897a03034c3a2c176df4fdd2f7f5d32d830270.zip | |
Merge branch 'master' of git.opendreambox.org:/git/enigma2
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/dvb/frontend.cpp | 11 | ||||
| -rw-r--r-- | lib/dvb/frontend.h | 2 | ||||
| -rw-r--r-- | lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py | 2 | ||||
| -rw-r--r-- | lib/python/Tools/Transponder.py | 7 | ||||
| -rw-r--r-- | lib/service/servicedvb.cpp | 13 |
5 files changed, 15 insertions, 20 deletions
diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp index e0291ec1..5df17931 100644 --- a/lib/dvb/frontend.cpp +++ b/lib/dvb/frontend.cpp @@ -961,14 +961,15 @@ void PutToDict(ePyObject &dict, const char*key, const char *value) eDebug("could not create PyObject for %s", key); } -void fillDictWithSatelliteData(ePyObject dict, const FRONTENDPARAMETERS &parm, eDVBFrontend *fe) +void fillDictWithSatelliteData(ePyObject dict, const FRONTENDPARAMETERS &parm, long freq_offset, int orb_pos, int polarization) { - long freq_offset=0; long tmp=0; - fe->getData(eDVBFrontend::FREQ_OFFSET, freq_offset); int frequency = parm_frequency + freq_offset; PutToDict(dict, "frequency", frequency); PutToDict(dict, "symbol_rate", parm_u_qpsk_symbol_rate); + PutToDict(dict, "orbital_position", orb_pos); + PutToDict(dict, "polarization", polarization); + switch(parm_u_qpsk_fec_inner) { case FEC_1_2: tmp = eDVBFrontendParametersSatellite::FEC_1_2; break; @@ -1224,7 +1225,7 @@ void eDVBFrontend::getTransponderData(ePyObject dest, bool original) switch(m_type) { case feSatellite: - fillDictWithSatelliteData(dest, original?parm:front, this); + fillDictWithSatelliteData(dest, original?parm:front, m_data[FREQ_OFFSET], m_cur_orbpos, m_cur_pol); break; case feCable: fillDictWithCableData(dest, original?parm:front); @@ -1750,6 +1751,8 @@ RESULT eDVBFrontend::prepare_sat(const eDVBFrontendParametersSatellite &feparm, feparm.fec, feparm.orbital_position); #endif + m_cur_pol = feparm.polarisation; + m_cur_orbpos = feparm.orbital_position; parm_u_qpsk_symbol_rate = feparm.symbol_rate; switch (feparm.inversion) { diff --git a/lib/dvb/frontend.h b/lib/dvb/frontend.h index 81334886..b6e3b6a4 100644 --- a/lib/dvb/frontend.h +++ b/lib/dvb/frontend.h @@ -84,6 +84,8 @@ private: char m_sec_filename[128]; #endif FRONTENDPARAMETERS parm; + int m_cur_orbpos; // only valid when this is a DVB-S tuner + int m_cur_pol; // only valid when this is a DVB-S tuner int m_state; ePtr<iDVBSatelliteEquipmentControl> m_sec; ePtr<eSocketNotifier> m_sn; diff --git a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py index 6d2ddce3..fa533c0b 100644 --- a/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py +++ b/lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py @@ -355,7 +355,7 @@ class PositionerSetup(Screen): self["snr_bar"].update() self["ber_bar"].update() self["lock_state"].update() - transponderdata = ConvertToHumanReadable(self.tuner.getTransponderData()) + transponderdata = ConvertToHumanReadable(self.tuner.getTransponderData(), "DVB-S") self["frequency_value"].setText(str(transponderdata.get("frequency"))) self["symbolrate_value"].setText(str(transponderdata.get("symbol_rate"))) self["fec_value"].setText(str(transponderdata.get("fec_inner"))) diff --git a/lib/python/Tools/Transponder.py b/lib/python/Tools/Transponder.py index f37603c5..6868929c 100644 --- a/lib/python/Tools/Transponder.py +++ b/lib/python/Tools/Transponder.py @@ -1,8 +1,9 @@ from enigma import eDVBFrontendParametersSatellite, eDVBFrontendParametersCable, eDVBFrontendParametersTerrestrial -def ConvertToHumanReadable(tp): +def ConvertToHumanReadable(tp, type = None): ret = { } - type = tp.get("tuner_type", "None") + if type is None: + type = tp.get("tuner_type", "None") if type == "DVB-S": ret["tuner_type"] = _("Satellite") ret["inversion"] = { @@ -111,6 +112,8 @@ def ConvertToHumanReadable(tp): eDVBFrontendParametersTerrestrial.Inversion_Unknown : _("Auto"), eDVBFrontendParametersTerrestrial.Inversion_On : _("On"), eDVBFrontendParametersTerrestrial.Inversion_Off : _("Off")}[tp["inversion"]] + else: + print "ConvertToHumanReadable: no or unknown type in tpdata dict!" for x in tp.keys(): if not ret.has_key(x): ret[x] = tp[x] diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index 0f01b838..2cc9b79f 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -1855,20 +1855,7 @@ PyObject *eDVBServiceBase::getTransponderData(bool original) { ePtr<iDVBFrontend> fe; if(!channel->getFrontend(fe)) - { fe->getTransponderData(ret, original); - ePtr<iDVBFrontendParameters> feparm; - channel->getCurrentFrontendParameters(feparm); - if (feparm) - { - eDVBFrontendParametersSatellite osat; - if (!feparm->getDVBS(osat)) - { - PutToDict(ret, "orbital_position", osat.orbital_position); - PutToDict(ret, "polarization", osat.polarisation); - } - } - } } } else |
