aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2009-02-13 14:59:35 +0100
committerFelix Domke <tmbinc@elitedvb.net>2009-02-13 14:59:35 +0100
commit09dca95c63c7c9df2ccf08332f11b69673156e5b (patch)
treed3d11a0d051eeddf2142210d703934cbc0e1056d
parent320af8d597644b9e7e21d0faef6143cfc62fc441 (diff)
parenta2897a03034c3a2c176df4fdd2f7f5d32d830270 (diff)
downloadenigma2-09dca95c63c7c9df2ccf08332f11b69673156e5b.tar.gz
enigma2-09dca95c63c7c9df2ccf08332f11b69673156e5b.zip
Merge branch 'master' of /home/tmbinc/enigma2-git
-rw-r--r--lib/dvb/frontend.cpp11
-rw-r--r--lib/dvb/frontend.h2
-rw-r--r--lib/python/Plugins/SystemPlugins/PositionerSetup/plugin.py2
-rw-r--r--lib/python/Tools/Transponder.py7
-rw-r--r--lib/service/servicedvb.cpp13
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