X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/4cdb4528bbff583dc193f24508157e96a0d95c59..e9db1fd8163a6a18c9e9f8a4c0319e2985cba03e:/lib/service/servicedvb.cpp diff --git a/lib/service/servicedvb.cpp b/lib/service/servicedvb.cpp index c3bd1e69..542e6359 100644 --- a/lib/service/servicedvb.cpp +++ b/lib/service/servicedvb.cpp @@ -1152,7 +1152,7 @@ int eDVBServicePlay::getFrontendInfo(int w) return fe->readFrontendData(w); } -PyObject *eDVBServicePlay::getFrontendTransponderData() +PyObject *eDVBServicePlay::getFrontendData(bool original) { PyObject *ret=0; @@ -1161,9 +1161,35 @@ PyObject *eDVBServicePlay::getFrontendTransponderData() { ePtr fe; if(!channel->getFrontend(fe)) - ret = fe->readTransponderData(); + { + ret = fe->readTransponderData(original); + if (ret) + { + ePtr feparm; + channel->getCurrentFrontendParameters(feparm); + if (feparm) + { + eDVBFrontendParametersSatellite osat; + if (!feparm->getDVBS(osat)) + { + void PutToDict(PyObject *, const char*, long); + void PutToDict(PyObject *, const char*, const char*); + PutToDict(ret, "orbital_position", osat.orbital_position); + const char *tmp = "UNKNOWN"; + switch(osat.polarisation) + { + case eDVBFrontendParametersSatellite::Polarisation::Horizontal: tmp="HORIZONTAL"; break; + case eDVBFrontendParametersSatellite::Polarisation::Vertical: tmp="VERTICAL"; break; + case eDVBFrontendParametersSatellite::Polarisation::CircularLeft: tmp="CIRCULAR_LEFT"; break; + case eDVBFrontendParametersSatellite::Polarisation::CircularRight: tmp="CIRCULAR_RIGHT"; break; + default:break; + } + PutToDict(ret, "polarization", tmp); + } + } + } + } } - if (!ret) { ret = Py_None;