SNR is supposed to be reported by the frontend drivers in dB, so print
it that way for drivers which implement it properly.
---
 util/femon/femon.c |   19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

--- dvb-apps-3ee111da5b3a.orig/util/femon/femon.c       2013-06-02 
14:05:00.988323437 +0200
+++ dvb-apps-3ee111da5b3a/util/femon/femon.c    2013-06-02 14:05:33.560792474 
+0200
@@ -102,11 +102,20 @@ int check_frontend (struct dvbfe_handle
                        fe_info.lock ? 'L' : ' ');
 
                if (human_readable) {
-                       printf ("signal %3u%% | snr %3u%% | ber %d | unc %d | ",
-                               (fe_info.signal_strength * 100) / 0xffff,
-                               (fe_info.snr * 100) / 0xffff,
-                               fe_info.ber,
-                               fe_info.ucblocks);
+                       // SNR should be in units of 0.1 dB but some drivers do
+                       // not follow that rule, thus this heuristic.
+                       if (fe_info.snr < 1000)
+                               printf ("signal %3u%% | snr %4.1fdB | ber %d | 
unc %d | ",
+                                       (fe_info.signal_strength * 100) / 
0xffff,
+                                       fe_info.snr / 10.,
+                                       fe_info.ber,
+                                       fe_info.ucblocks);
+                       else
+                               printf ("signal %3u%% | snr %3u%% | ber %d | 
unc %d | ",
+                                       (fe_info.signal_strength * 100) / 
0xffff,
+                                       (fe_info.snr * 100) / 0xffff,
+                                       fe_info.ber,
+                                       fe_info.ucblocks);
                } else {
                        printf ("signal %04x | snr %04x | ber %08x | unc %08x | 
",
                                fe_info.signal_strength,

-- 
Jean Delvare
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to