public inbox for linux-media@vger.kernel.org
 help / color / mirror / Atom feed
* [linux-dvb] Acoustical mode for femon
@ 2009-12-23 21:20 Maximilian Seesslen
  2009-12-27 22:24 ` Manu Abraham
  2009-12-28  6:12 ` VDR User
  0 siblings, 2 replies; 4+ messages in thread
From: Maximilian Seesslen @ 2009-12-23 21:20 UTC (permalink / raw)
  To: linux-dvb

[-- Attachment #1: Type: text/plain, Size: 467 bytes --]

Hi List,

find attached a patch that adds a "Acoustical mode" to femon.
The monitoring application produces a sound indicating the signal quality. The 
higher the beep the better the signal quality.
This is useful while mounting the antenna for finding the best position without 
having to look at the monitor or without even having a monitor.


--
Maximilian Seeßlen
Ludwigstrasse 9
D-87437 Kempten

+49 831 687 510 2
+49 174 233 644 3
seesslen.net

[-- Attachment #2: femon.diff --]
[-- Type: text/x-patch, Size: 2612 bytes --]

diff -r dd1b701fcacc util/femon/femon.c
--- a/util/femon/femon.c	Sat Dec 05 22:51:46 2009 +0100
+++ b/util/femon/femon.c	Wed Dec 23 22:17:40 2009 +0100
@@ -42,10 +42,17 @@
 static char *usage_str =
     "\nusage: femon [options]\n"
     "     -H        : human readable 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"
+    "                 machine but. The user has to be root.\n"
     "     -a number : use given adapter (default 0)\n"
     "     -f number : use given frontend (default 0)\n"
     "     -c number : samples to take (default 0 = infinite)\n\n";
 
+int sleep_time=1000000;
+int acoustical_mode=0;
+int remote=0;
 
 static void usage(void)
 {
@@ -59,6 +66,27 @@
 {
 	struct dvbfe_info fe_info;
 	unsigned int samples = 0;
+	FILE *ttyFile=NULL;
+	
+	// We dont write the "beep"-codes to stdout but to /dev/tty1.
+	// This is neccessary for Thin-Client-Systems or Streaming-Boxes
+	// where the computer does not have a monitor and femon is called via ssh.
+	if(acoustical_mode)
+	{
+	    if(remote)
+	    {
+		ttyFile=fopen("/dev/tty1","w");
+	        if(!ttyFile)
+		{
+		    fprintf(stderr, "Could not open /dev/tty1. No access rights?\n");
+		    exit(-1);
+		}
+	    }
+	    else
+	    {
+		ttyFile=stdout;
+	    }
+	}
 
 	do {
 		if (dvbfe_get_info(fe, FE_STATUS_PARAMS, &fe_info, DVBFE_INFO_QUERYTYPE_IMMEDIATE, 0) != FE_STATUS_PARAMS) {
@@ -94,12 +122,24 @@
 		if (fe_info.lock)
 			printf("FE_HAS_LOCK");
 
+		// create beep if acoustical_mode enabled
+		if(acoustical_mode)
+		{
+		    int signal=(fe_info.signal_strength * 100) / 0xffff;
+		    fprintf( ttyFile, "\033[10;%d]\a", 500+(signal*2));
+		    // printf("Variable : %d\n", signal);
+		    fflush(ttyFile);
+		}
+
 		printf("\n");
 		fflush(stdout);
-		usleep(1000000);
+		usleep(sleep_time);
 		samples++;
 	} while ((!count) || (count-samples));
-
+	
+	if(ttyFile)
+	    fclose(ttyFile);
+	
 	return 0;
 }
 
@@ -148,7 +188,7 @@
 	int human_readable = 0;
 	int opt;
 
-       while ((opt = getopt(argc, argv, "Ha:f:c:")) != -1) {
+       while ((opt = getopt(argc, argv, "rAHa:f:c:")) != -1) {
 		switch (opt)
 		{
 		default:
@@ -166,6 +206,15 @@
 		case 'H':
 			human_readable = 1;
 			break;
+		case 'A':
+			// Acoustical mode: we have to reduce the delay between
+			// checks in order to hear nice sound
+			sleep_time=5000;
+			acoustical_mode=1;
+			break;
+		case 'r':
+			remote=1;
+			break;
 		}
 	}
 

[-- Attachment #3: Type: text/plain, Size: 228 bytes --]

_______________________________________________
linux-dvb users mailing list
For V4L/DVB development, please use instead linux-media@vger.kernel.org
linux-dvb@linuxtv.org
http://www.linuxtv.org/cgi-bin/mailman/listinfo/linux-dvb

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2009-12-28 21:56 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-23 21:20 [linux-dvb] Acoustical mode for femon Maximilian Seesslen
2009-12-27 22:24 ` Manu Abraham
2009-12-28  6:12 ` VDR User
2009-12-28 21:47   ` Mika Laitio

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox