git.cweiske.de
/
enigma2.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
a4c3836
)
signal quality is SNR, signal power is AGC
author
Felix Domke
<tmbinc@elitedvb.net>
Tue, 11 Mar 2008 22:45:54 +0000
(22:45 +0000)
committer
Felix Domke
<tmbinc@elitedvb.net>
Tue, 11 Mar 2008 22:45:54 +0000
(22:45 +0000)
lib/dvb/frontend.cpp
patch
|
blob
|
history
lib/dvb/frontend.h
patch
|
blob
|
history
lib/dvb/idvb.h
patch
|
blob
|
history
lib/python/Components/Sources/FrontendStatus.py
patch
|
blob
|
history
lib/python/Components/TunerInfo.py
patch
|
blob
|
history
lib/service/iservice.h
patch
|
blob
|
history
diff --git
a/lib/dvb/frontend.cpp
b/lib/dvb/frontend.cpp
index af821cdbfffbed67136789cf8f4ca828c804ad4e..c8d6d15fe074879200f0f49b5285162c56c8ba5a 100644
(file)
--- a/
lib/dvb/frontend.cpp
+++ b/
lib/dvb/frontend.cpp
@@
-617,14
+617,14
@@
int eDVBFrontend::readFrontendData(int type)
eDebug("FE_READ_BER failed (%m)");
return ber;
}
eDebug("FE_READ_BER failed (%m)");
return ber;
}
- case signal
Power
:
+ case signal
Quality
:
{
uint16_t snr=0;
if (ioctl(m_fd, FE_READ_SNR, &snr) < 0 && errno != ERANGE)
eDebug("FE_READ_SNR failed (%m)");
return snr;
}
{
uint16_t snr=0;
if (ioctl(m_fd, FE_READ_SNR, &snr) < 0 && errno != ERANGE)
eDebug("FE_READ_SNR failed (%m)");
return snr;
}
- case signal
Power
dB: /* this will move into the driver */
+ case signal
Quality
dB: /* this will move into the driver */
{
uint16_t snr=0;
if (ioctl(m_fd, FE_READ_SNR, &snr) < 0 && errno != ERANGE)
{
uint16_t snr=0;
if (ioctl(m_fd, FE_READ_SNR, &snr) < 0 && errno != ERANGE)
@@
-669,11
+669,14
@@
int eDVBFrontend::readFrontendData(int type)
{
float snr_in_db=(snr-39075)/1764.7;
return (int)(snr_in_db * 100.0);
{
float snr_in_db=(snr-39075)/1764.7;
return (int)(snr_in_db * 100.0);
+ } else if (!strcmp(m_description, "Alps BSBE2"))
+ {
+ return (int)((snr >> 7) * 10.0);
} /* else
eDebug("no SNR dB calculation for frontendtype %s yet", m_description); */
return 0x12345678;
}
} /* else
eDebug("no SNR dB calculation for frontendtype %s yet", m_description); */
return 0x12345678;
}
- case signal
Quality
:
+ case signal
Power
:
{
uint16_t strength=0;
if (ioctl(m_fd, FE_READ_SIGNAL_STRENGTH, &strength) < 0 && errno != ERANGE)
{
uint16_t strength=0;
if (ioctl(m_fd, FE_READ_SIGNAL_STRENGTH, &strength) < 0 && errno != ERANGE)
@@
-1060,17
+1063,17
@@
void eDVBFrontend::getFrontendStatus(ePyObject dest)
PutToDict(dest, "tuner_locked", readFrontendData(locked));
PutToDict(dest, "tuner_synced", readFrontendData(synced));
PutToDict(dest, "tuner_bit_error_rate", readFrontendData(bitErrorRate));
PutToDict(dest, "tuner_locked", readFrontendData(locked));
PutToDict(dest, "tuner_synced", readFrontendData(synced));
PutToDict(dest, "tuner_bit_error_rate", readFrontendData(bitErrorRate));
- PutToDict(dest, "tuner_signal_
power", readFrontendData(signalPower
));
- int sig
PowerdB = readFrontendData(signalPower
dB);
- if (sig
Power
dB == 0x12345678) // not support yet
+ PutToDict(dest, "tuner_signal_
quality", readFrontendData(signalQuality
));
+ int sig
QualitydB = readFrontendData(signalQuality
dB);
+ if (sig
Quality
dB == 0x12345678) // not support yet
{
ePyObject obj=Py_None;
Py_INCREF(obj);
{
ePyObject obj=Py_None;
Py_INCREF(obj);
- PutToDict(dest, "tuner_signal_
power
_db", obj);
+ PutToDict(dest, "tuner_signal_
quality
_db", obj);
}
else
}
else
- PutToDict(dest, "tuner_signal_
power_db", sigPower
dB);
- PutToDict(dest, "tuner_signal_
quality", readFrontendData(signalQuality
));
+ PutToDict(dest, "tuner_signal_
quality_db", sigQuality
dB);
+ PutToDict(dest, "tuner_signal_
power", readFrontendData(signalPower
));
}
}
}
}
diff --git
a/lib/dvb/frontend.h
b/lib/dvb/frontend.h
index 5821e54da3efca6dd84b692a4401e5f7a132e11e..41de874b158e7c48b30c20274434439504e7b45b 100644
(file)
--- a/
lib/dvb/frontend.h
+++ b/
lib/dvb/frontend.h
@@
-118,7
+118,7
@@
public:
RESULT getData(int num, int &data);
RESULT setData(int num, int val);
RESULT getData(int num, int &data);
RESULT setData(int num, int val);
- int readFrontendData(int type); // bitErrorRate, signalPower, signal
Power
dB, signalQuality, locked, synced
+ int readFrontendData(int type); // bitErrorRate, signalPower, signal
Quality
dB, signalQuality, locked, synced
void getFrontendStatus(ePyObject dest);
void getTransponderData(ePyObject dest, bool original);
void getFrontendData(ePyObject dest);
void getFrontendStatus(ePyObject dest);
void getTransponderData(ePyObject dest, bool original);
void getFrontendData(ePyObject dest);
diff --git
a/lib/dvb/idvb.h
b/lib/dvb/idvb.h
index c18d2421ca83d9e911213789d5baa2ae397a579d..d16c9b48f893c881879598872e4174b75d0ac411 100644
(file)
--- a/
lib/dvb/idvb.h
+++ b/
lib/dvb/idvb.h
@@
-444,7
+444,7
@@
public:
enum { stateIdle, stateTuning, stateFailed, stateLock, stateLostLock };
enum { toneOff, toneOn };
enum { voltageOff, voltage13, voltage18, voltage13_5, voltage18_5 };
enum { stateIdle, stateTuning, stateFailed, stateLock, stateLostLock };
enum { toneOff, toneOn };
enum { voltageOff, voltage13, voltage18, voltage13_5, voltage18_5 };
- enum { bitErrorRate, signalPower, signalQuality, locked, synced, frontendNumber, signal
Power
dB };
+ enum { bitErrorRate, signalPower, signalQuality, locked, synced, frontendNumber, signal
Quality
dB };
};
SWIG_IGNORE(iDVBFrontend);
};
SWIG_IGNORE(iDVBFrontend);
diff --git
a/lib/python/Components/Sources/FrontendStatus.py
b/lib/python/Components/Sources/FrontendStatus.py
index 8e29030ac5455d3ca6d13dda9287f83b8ec074fa..3e469e0da9b4fc5142bd1c2ca6ca7c340bd58a59 100644
(file)
--- a/
lib/python/Components/Sources/FrontendStatus.py
+++ b/
lib/python/Components/Sources/FrontendStatus.py
@@
-20,9
+20,9
@@
class FrontendStatus(Source):
if not status:
self.invalidate()
else:
if not status:
self.invalidate()
else:
- self.snr = status.get("tuner_signal_
power
")
- self.snr_db = status.get("tuner_signal_
power
_db")
- self.agc = status.get("tuner_signal_
quality
")
+ self.snr = status.get("tuner_signal_
quality
")
+ self.snr_db = status.get("tuner_signal_
quality
_db")
+ self.agc = status.get("tuner_signal_
power
")
self.ber = status.get("tuner_bit_error_rate")
self.lock = status.get("tuner_locked")
self.changed((self.CHANGED_ALL, ))
self.ber = status.get("tuner_bit_error_rate")
self.lock = status.get("tuner_locked")
self.changed((self.CHANGED_ALL, ))
diff --git
a/lib/python/Components/TunerInfo.py
b/lib/python/Components/TunerInfo.py
index 24950221ef217cbe19e31fdb341840ed1d78de81..d8b4d064f6c210c247af54535df2f08ab626a68d 100644
(file)
--- a/
lib/python/Components/TunerInfo.py
+++ b/
lib/python/Components/TunerInfo.py
@@
-73,9
+73,9
@@
class TunerInfo(GUIComponent):
def getValue(self, what):
if self.statusDict:
if what == self.SNR:
def getValue(self, what):
if self.statusDict:
if what == self.SNR:
- return self.statusDict.get("tuner_signal_power", 0)
- elif what == self.AGC:
return self.statusDict.get("tuner_signal_quality", 0)
return self.statusDict.get("tuner_signal_quality", 0)
+ elif what == self.AGC:
+ return self.statusDict.get("tuner_signal_power", 0)
elif what == self.BER:
return self.statusDict.get("tuner_bit_error_rate", 0)
elif what == self.LOCK:
elif what == self.BER:
return self.statusDict.get("tuner_bit_error_rate", 0)
elif what == self.LOCK:
@@
-86,9
+86,9
@@
class TunerInfo(GUIComponent):
feinfo = service.frontendInfo()
if feinfo is not None:
if what == self.SNR:
feinfo = service.frontendInfo()
if feinfo is not None:
if what == self.SNR:
- return feinfo.getFrontendInfo(iFrontendInformation.signalPower)
- elif what == self.AGC:
return feinfo.getFrontendInfo(iFrontendInformation.signalQuality)
return feinfo.getFrontendInfo(iFrontendInformation.signalQuality)
+ elif what == self.AGC:
+ return feinfo.getFrontendInfo(iFrontendInformation.signalPower)
elif what == self.BER:
return feinfo.getFrontendInfo(iFrontendInformation.bitErrorRate)
elif what == self.LOCK:
elif what == self.BER:
return feinfo.getFrontendInfo(iFrontendInformation.bitErrorRate)
elif what == self.LOCK:
@@
-97,9
+97,9
@@
class TunerInfo(GUIComponent):
frontend = self.frontendfkt()
if frontend:
if what == self.SNR:
frontend = self.frontendfkt()
if frontend:
if what == self.SNR:
- return frontend.readFrontendData(iFrontendInformation.signalPower)
- elif what == self.AGC:
return frontend.readFrontendData(iFrontendInformation.signalQuality)
return frontend.readFrontendData(iFrontendInformation.signalQuality)
+ elif what == self.AGC:
+ return frontend.readFrontendData(iFrontendInformation.signalPower)
elif what == self.BER:
return frontend.readFrontendData(iFrontendInformation.bitErrorRate)
elif what == self.LOCK:
elif what == self.BER:
return frontend.readFrontendData(iFrontendInformation.bitErrorRate)
elif what == self.LOCK:
diff --git
a/lib/service/iservice.h
b/lib/service/iservice.h
index f367f6ad0af16efb27792abcf128e5c1f64cfdae..462f3dc516f316d036c532c8aea5ac37bf743669 100644
(file)
--- a/
lib/service/iservice.h
+++ b/
lib/service/iservice.h
@@
-355,7
+355,7
@@
public:
lockState,
syncState,
frontendNumber,
lockState,
syncState,
frontendNumber,
- signal
Power
dB,
+ signal
Quality
dB,
};
};
};
};