vanhofen
2 years ago
1 changed files with 99 additions and 0 deletions
@ -0,0 +1,99 @@ |
|||
diff -r 3d43b280298c util/femon/femon.c
|
|||
--- a/util/femon/femon.c Fri Mar 21 20:26:36 2014 +0100
|
|||
+++ b/util/femon/femon.c Mon Jan 02 23:51:01 2023 +0100
|
|||
@@ -42,6 +42,7 @@
|
|||
static char *usage_str = |
|||
"\nusage: femon [options]\n" |
|||
" -H : human readable output\n" |
|||
+ " -M : minimalized output\n"
|
|||
" -A : Acoustical mode. A sound indicates the signal quality.\n" |
|||
" -r : If 'Acoustical mode' is active it tells the application\n" |
|||
" is called remotely via ssh. The sound is heard on the 'real'\n" |
|||
@@ -52,6 +53,7 @@
|
|||
|
|||
int sleep_time=1000000; |
|||
int acoustical_mode=0; |
|||
+int minimalized=0;
|
|||
int remote=0; |
|||
|
|||
static void usage(void) |
|||
@@ -67,6 +69,8 @@
|
|||
struct dvbfe_info fe_info; |
|||
unsigned int samples = 0; |
|||
FILE *ttyFile=NULL; |
|||
+ time_t now;
|
|||
+ char *ntime = NULL;
|
|||
|
|||
// We dont write the "beep"-codes to stdout but to /dev/tty1. |
|||
// This is neccessary for Thin-Client-Systems or Streaming-Boxes |
|||
@@ -90,12 +94,23 @@
|
|||
|
|||
do { |
|||
if (dvbfe_get_info(fe, FE_STATUS_PARAMS, &fe_info, DVBFE_INFO_QUERYTYPE_IMMEDIATE, 0) != FE_STATUS_PARAMS) { |
|||
+ if (!minimalized)
|
|||
fprintf(stderr, "Problem retrieving frontend information: %m\n"); |
|||
} |
|||
|
|||
|
|||
+ now = time(NULL);
|
|||
+ ntime = asctime(gmtime(&now));
|
|||
+ ntime[strlen(ntime)-1] = '\0'; // Remove \n
|
|||
|
|||
if (human_readable) { |
|||
+ if (minimalized) {
|
|||
+ printf ("%s | sig %3u%% | snr %3u%% | ber %d",
|
|||
+ ntime,
|
|||
+ (fe_info.signal_strength * 100) / 0xffff,
|
|||
+ (fe_info.snr * 100) / 0xffff,
|
|||
+ fe_info.ber);
|
|||
+ } else {
|
|||
printf ("status %c%c%c%c%c | signal %3u%% | snr %3u%% | ber %d | unc %d | ", |
|||
fe_info.signal ? 'S' : ' ', |
|||
fe_info.carrier ? 'C' : ' ', |
|||
@@ -106,7 +121,15 @@
|
|||
(fe_info.snr * 100) / 0xffff, |
|||
fe_info.ber, |
|||
fe_info.ucblocks); |
|||
+ }
|
|||
} else { |
|||
+ if (minimalized) {
|
|||
+ printf ("%s | sig %04x | snr %04x | ber %08x",
|
|||
+ ntime,
|
|||
+ fe_info.signal_strength,
|
|||
+ fe_info.snr,
|
|||
+ fe_info.ber);
|
|||
+ } else {
|
|||
printf ("status %c%c%c%c%c | signal %04x | snr %04x | ber %08x | unc %08x | ", |
|||
fe_info.signal ? 'S' : ' ', |
|||
fe_info.carrier ? 'C' : ' ', |
|||
@@ -117,9 +140,11 @@
|
|||
fe_info.snr, |
|||
fe_info.ber, |
|||
fe_info.ucblocks); |
|||
+ }
|
|||
} |
|||
|
|||
if (fe_info.lock) |
|||
+ if (!minimalized)
|
|||
printf("FE_HAS_LOCK"); |
|||
|
|||
// create beep if acoustical_mode enabled |
|||
@@ -188,7 +213,7 @@
|
|||
int human_readable = 0; |
|||
int opt; |
|||
|
|||
- while ((opt = getopt(argc, argv, "rAHa:f:c:")) != -1) {
|
|||
+ while ((opt = getopt(argc, argv, "rAMHa:f:c:")) != -1) {
|
|||
switch (opt) |
|||
{ |
|||
default: |
|||
@@ -206,6 +231,9 @@
|
|||
case 'H': |
|||
human_readable = 1; |
|||
break; |
|||
+ case 'M':
|
|||
+ minimalized = 1;
|
|||
+ break;
|
|||
case 'A': |
|||
// Acoustical mode: we have to reduce the delay between |
|||
// checks in order to hear nice sound |
Loading…
Reference in new issue