]> git.webhop.me Git - logomask.git/commitdiff
logomask: add RC Support for more Hardware
authorGetAway <get-away@t-online.de>
Sat, 17 Mar 2018 12:20:07 +0000 (13:20 +0100)
committerGetAway <get-away@t-online.de>
Sat, 17 Mar 2018 12:20:07 +0000 (13:20 +0100)
use only with 1280x720 / higher resolution
is not implemented yet

please build with -DHAVE_ARM_HARDWARE
                  -DHAVE_COOL_HARDWARE

- bump version logomask 1.3
- bump version logoset 1.3a

io.c
io.h
logomask.c
logomask.h
logoset.c
logoset.h
rc_device.h [new file with mode: 0644]
starter_logomask.c

diff --git a/io.c b/io.c
index 67f8553f987324374b4c58fad918398ccce5eee8..81c3d8b29f3fdaf3e15c0763ddca1feffccefe93 100644 (file)
--- a/io.c
+++ b/io.c
@@ -17,8 +17,7 @@
 #include <linux/input.h>
 
 #include "io.h"
-
-#define RC_DEVICE      "/dev/input/nevis_ir"
+#include "rc_device.h"
 
 extern int instance;
 struct input_event ev;
@@ -27,10 +26,12 @@ static int rc;
 
 int InitRC(void)
 {
-       rc = open(RC_DEVICE, O_RDONLY);
+       rc = open(RC_DEVICE, O_RDONLY | O_CLOEXEC);
+       if(rc == -1)
+               rc = open(RC_DEVICE_FALLBACK, O_RDONLY | O_CLOEXEC);
        if(rc == -1)
        {
-               perror("msgbox <open remote control>");
+               perror("logomask <open remote control>");
                exit(1);
        }
        fcntl(rc, F_SETFL, O_NONBLOCK | O_SYNC);
diff --git a/io.h b/io.h
index d7914d4f4e97f11216121e42e03dc12704738ca8..8ff506a06c49f08d1a6a6f0f60ad4c752a78fa7f 100644 (file)
--- a/io.h
+++ b/io.h
@@ -2,10 +2,9 @@
 
 #define __IO_H__
 
-#define RC_DEVICE      "/dev/input/nevis_ir"
-
 int InitRC(void);
 int CloseRC(void);
 int RCKeyPressed(void);
+int GetRCCode();
 
 #endif
index 3f1e23b8872812b8e83da927b615ec94521406e0..eb12efda8d406cf5fe3587d2cf2c6fe85b425739 100644 (file)
@@ -7,10 +7,8 @@ extern int FSIZE_BIG;
 extern int FSIZE_MED;
 extern int FSIZE_SMALL;
 
-#define NCF_FILE "/var/tuxbox/config/neutrino.conf"
-#define CFG_FILE "/var/tuxbox/config/logomask.conf"
 
-#define CL_VERSION  "1.2"
+#define CL_VERSION  "1.3"
 #define MAX_MASK 16
 
 //                                     TRANSP, BLACK,  RED,    GREEN,  YELLOW, BLUE,   MAGENTA, TURQUOISE,
@@ -170,7 +168,15 @@ int main (int argc, char **argv)
                        tv=3;
                --tv;
 
-               fb = open(FB_DEVICE, O_RDWR);
+               /* open Framebuffer */
+               fb=open(FB_DEVICE, O_RDWR);
+               if (fb < 0)
+                       fb=open(FB_DEVICE_FALLBACK, O_RDWR);
+
+               if (fb < 0) {
+                       perror("logomask <open framebuffer>");
+                       exit(1);
+               }
 
                if(ioctl(fb, FBIOGET_FSCREENINFO, &fix_screeninfo) == -1)
                {
index 6931a246d7dfdfff09e6cc146665b08e8f2b9b4c..de2a8109c2df3d2f64fd88315778420be6df00e6 100644 (file)
 #include <sys/socket.h>
 #include <sys/un.h>
 
+#ifndef FB_DEVICE
+#define FB_DEVICE      "/dev/fb/0"
+#endif
+#ifndef FB_DEVICE_FALLBACK
+#define FB_DEVICE_FALLBACK     "/dev/fb0"
+#endif
+#ifndef CONFIGDIR
+#define CONFIGDIR "/var/tuxbox/config"
+#endif
+
+#define NCF_FILE CONFIGDIR "/neutrino.conf"
+#define CFG_FILE CONFIGDIR "/logomask.conf"
+
+#define BUFSIZE 4096
+
 // rc codes
 
 #undef KEY_EPG
@@ -89,8 +104,4 @@ extern unsigned char *lfb, *lbb;
 struct fb_fix_screeninfo fix_screeninfo;
 struct fb_var_screeninfo var_screeninfo;
 
-#define FB_DEVICE      "/dev/fb/0"
-
-#define BUFSIZE 4096
-
 #endif
index 3ff0d82081f6a02c48769ba3dfd5d932021b6d6b..001e163289fea5a3f487ebcc9e10e6244b88116a 100644 (file)
--- a/logoset.c
+++ b/logoset.c
@@ -11,13 +11,13 @@ extern int FSIZE_BIG;
 extern int FSIZE_MED;
 extern int FSIZE_SMALL;
 
-static unsigned char NCF_FILE[]="/var/tuxbox/config/neutrino.conf";
-static unsigned char CFG_FILE[]="/var/tuxbox/config/logomask.conf";
-static unsigned char AST_FILE[]="/var/etc/init.d/S9L_logomask";
-static unsigned char AST_TEXT[]="#!/bin/sh\n(sleep 20; logomask) &\n";
-unsigned char FONT[64]= "/share/fonts/pakenham.ttf";
+static unsigned char NCF_FILE[] = CONFIGDIR "/neutrino.conf";
+static unsigned char CFG_FILE[] = CONFIGDIR "/logomask.conf";
+static unsigned char AST_FILE[] = "/var/etc/init.d/S9L_logomask";
+static unsigned char AST_TEXT[] = "#!/bin/sh\n(sleep 20; logomask) &\n";
+unsigned char FONT[64] = FONTDIR "/pakenham.ttf";
 
-#define CL_VERSION  "1.2a"
+#define CL_VERSION  "1.3a"
 #define MAX_MASK 16
 
 //                                     TRANSP, BLACK,  RED,    GREEN,  YELLOW, BLUE,   MAGENTA, TURQUOISE,
index 0afacd6e387658d57d298e600ef3eb25966ade47..7cd01364a5f658f8048bcaf3b112640cb20db4e4 100644 (file)
--- a/logoset.h
+++ b/logoset.h
 #include FT_CACHE_H
 #include FT_CACHE_SMALL_BITMAPS_H
 
+#ifndef FB_DEVICE
+#define FB_DEVICE      "/dev/fb/0"
+#endif
+#ifndef FB_DEVICE_FALLBACK
+#define FB_DEVICE_FALLBACK     "/dev/fb0"
+#endif
+#ifndef CONFIGDIR
+#define CONFIGDIR "/var/tuxbox/config"
+#endif
+#ifndef FONTDIR
+#define FONTDIR        "/share/fonts"
+#endif
+
+#define BUFSIZE 4096
+
 // rc codes
 
 #undef KEY_EPG
@@ -113,8 +128,4 @@ extern int TABULATOR;
 struct fb_fix_screeninfo fix_screeninfo;
 struct fb_var_screeninfo var_screeninfo;
 
-#define FB_DEVICE      "/dev/fb/0"
-
-#define BUFSIZE 4096
-
 #endif
diff --git a/rc_device.h b/rc_device.h
new file mode 100644 (file)
index 0000000..bad11e3
--- /dev/null
@@ -0,0 +1,21 @@
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#if HAVE_COOL_HARDWARE
+#define RC_DEVICE "/dev/input/nevis_ir"
+#define RC_DEVICE_FALLBACK "/dev/input/event0"
+
+#elif HAVE_SPARK_HARDWARE
+#define RC_DEVICE "/dev/input/nevis_ir"
+#define RC_DEVICE_FALLBACK "/dev/input/event1"
+
+#elif HAVE_DUCKBOX_HARDWARE
+#define RC_DEVICE "/dev/input/event0"
+#define RC_DEVICE_FALLBACK "/dev/input/event1"
+#else
+#define RC_DEVICE "/dev/input/event1"
+#define RC_DEVICE_FALLBACK "/dev/input/event0"
+
+#endif
+
index 2d3371289db948468e7d5dd724c70a476e688f67..ea3a6133a2f87cd043ce033bb9322fd5d05291e8 100644 (file)
@@ -26,7 +26,7 @@
 #include <plugin.h>
 #define SCRIPT "logomask"
 
-int main(void)
+void main(void)
 {
         int ret, pid, status;
         pid=fork();
@@ -38,7 +38,7 @@ int main(void)
                 fprintf(stderr, "[%s.so] forked, executing %s\n", SCRIPT, SCRIPT);
                 for (ret=3 ; ret < 255; ret++)
                        close (ret);
-                        ret = system("/bin/logomask.sh");
+                        ret = system("logomask.sh");
                         if (ret)
                                 fprintf(stderr, "[%s.so] script return code: %d (%m)\n", SCRIPT, ret);
                         else
@@ -50,5 +50,4 @@ int main(void)
         fprintf(stderr, "[%s.so] parent, waitpid() returned..\n", SCRIPT);
         if (WIFEXITED(status))
                 fprintf(stderr, "[%s.so] child returned with status %d\n", SCRIPT, WEXITSTATUS(status));
-        return 0;
 }