X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/af6a8a3a102ff0230fcc6d90ad213e2e7d706fa8..e1342ca063df18d3b933420150d06b86ea506bb3:/lib/dvb/frontend.cpp diff --git a/lib/dvb/frontend.cpp b/lib/dvb/frontend.cpp index f44b3fba..7f9fc40f 100644 --- a/lib/dvb/frontend.cpp +++ b/lib/dvb/frontend.cpp @@ -536,13 +536,13 @@ void fillDictWithSatelliteData(PyObject *dict, const FRONTENDPARAMETERS &parm, e { int freq_offset=0; int csw=0; + const char *fec=0; fe->getData(0, csw); fe->getData(9, freq_offset); int frequency = parm.frequency + freq_offset; PutToDict(dict, "frequency", frequency); - PutToDict(dict, "inversion", parm.inversion); PutToDict(dict, "symbol_rate", parm.u.qpsk.symbol_rate); - const char *fec=0; + switch(parm.u.qpsk.fec_inner) { case FEC_1_2: @@ -570,20 +570,68 @@ void fillDictWithSatelliteData(PyObject *dict, const FRONTENDPARAMETERS &parm, e void fillDictWithCableData(PyObject *dict, const FRONTENDPARAMETERS &parm) { -/* -#define parm.frequency parm.Frequency -#define parm.inversion parm.Inversion -#define parm.u.qam.symbol_rate parm.u.qam.SymbolRate -#define parm.u.qam.fec_inner parm.u.qam.FEC_inner -#define parm.u.qam.modulation parm.u.qam.QAM -*/ + const char *tmp=0; + PutToDict(dict, "frequency", parm.frequency/1000); + PutToDict(dict, "symbol_rate", parm.u.qam.symbol_rate); + switch(parm.u.qam.fec_inner) + { + case FEC_NONE: + tmp = "FEC_NONE"; + break; + case FEC_1_2: + tmp = "FEC_1_2"; + break; + case FEC_2_3: + tmp = "FEC_2_3"; + break; + case FEC_3_4: + tmp = "FEC_3_4"; + break; + case FEC_5_6: + tmp = "FEC_5_6"; + break; + case FEC_7_8: + tmp = "FEC_7_8"; + break; + case FEC_8_9: + tmp = "FEC_8_9"; + break; + default: + case FEC_AUTO: + tmp = "FEC_AUTO"; + break; + } + PutToDict(dict, "fec_inner", tmp); + switch(parm.u.qam.modulation) + { + case QAM_16: + tmp = "QAM_16"; + break; + case QAM_32: + tmp = "QAM_32"; + break; + case QAM_64: + tmp = "QAM_64"; + break; + case QAM_128: + tmp = "QAM_128"; + break; + case QAM_256: + tmp = "QAM_256"; + break; + default: + case QAM_AUTO: + tmp = "QAM_AUTO"; + break; + } + PutToDict(dict, "modulation", tmp); } void fillDictWithTerrestrialData(PyObject *dict, const FRONTENDPARAMETERS &parm) { + const char *tmp=0; + PutToDict(dict, "frequency", parm.frequency); /* -#define parm.frequency parm.Frequency -#define parm.inversion parm.Inversion #define parm.u.ofdm.bandwidth parm.u.ofdm.bandWidth #define parm.u.ofdm.code_rate_LP parm.u.ofdm.LP_CodeRate #define parm.u.ofdm.code_rate_HP parm.u.ofdm.HP_CodeRate @@ -601,9 +649,9 @@ PyObject *eDVBFrontend::readTransponderData(bool original) if (ret) { bool read=m_fd != -1; - const char *tmp = "unknown"; + const char *tmp=0; - PutToDict(ret, "tuner number", m_fe); + PutToDict(ret, "tuner_number", m_fe); switch(m_type) { @@ -611,54 +659,70 @@ PyObject *eDVBFrontend::readTransponderData(bool original) tmp = "DVB-S"; break; case feCable: - tmp="DVB-C"; + tmp = "DVB-C"; break; case feTerrestrial: - tmp="DVB-T"; + tmp = "DVB-T"; break; default: + tmp = "UNKNOWN"; read=false; break; } - PutToDict(ret, "tuner type", tmp); + PutToDict(ret, "tuner_type", tmp); if (read) { FRONTENDPARAMETERS front; - tmp = "unknown"; + tmp = "UNKNOWN"; switch(m_state) { case stateIdle: - tmp="idle"; + tmp="IDLE"; break; case stateTuning: - tmp="tuning"; + tmp="TUNING"; break; case stateFailed: - tmp="failed"; + tmp="FAILED"; break; case stateLock: - tmp="lock"; + tmp="LOCKED"; break; case stateLostLock: - tmp="lostlock"; + tmp="LOSTLOCK"; break; default: break; } - PutToDict(ret, "tuner state", tmp); + PutToDict(ret, "tuner_state", tmp); - PutToDict(ret, "tuner locked", readFrontendData(Locked)); - PutToDict(ret, "tuner synced", readFrontendData(Synced)); - PutToDict(ret, "tuner bit_error_rate", readFrontendData(bitErrorRate)); - PutToDict(ret, "tuner signal_power", readFrontendData(signalPower)); - PutToDict(ret, "tuner signal_quality", readFrontendData(signalQuality)); + PutToDict(ret, "tuner_locked", readFrontendData(Locked)); + PutToDict(ret, "tuner_synced", readFrontendData(Synced)); + PutToDict(ret, "tuner_bit_error_rate", readFrontendData(bitErrorRate)); + PutToDict(ret, "tuner_signal_power", readFrontendData(signalPower)); + PutToDict(ret, "tuner_signal_quality", readFrontendData(signalQuality)); if (!original && ioctl(m_fd, FE_GET_FRONTEND, &front)<0) eDebug("FE_GET_FRONTEND (%m)"); else { + tmp = "INVERSION_AUTO"; + switch(parm.inversion) + { + case INVERSION_ON: + tmp = "INVERSION_ON"; + break; + case INVERSION_OFF: + tmp = "INVERSION_OFF"; + break; + default: + break; + } + if (tmp) + PutToDict(ret, "inversion", tmp); + switch(m_type) { case feSatellite: