From: GetAway Date: Sat, 17 Mar 2018 12:20:07 +0000 (+0100) Subject: logomask: add RC Support for more Hardware X-Git-Url: https://git.webhop.me/?a=commitdiff_plain;h=db0bf0a17465846316246c7fee5b5100088ba77f;p=logomask.git logomask: add RC Support for more Hardware 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 --- diff --git a/io.c b/io.c index 67f8553..81c3d8b 100644 --- a/io.c +++ b/io.c @@ -17,8 +17,7 @@ #include #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 "); + perror("logomask "); exit(1); } fcntl(rc, F_SETFL, O_NONBLOCK | O_SYNC); diff --git a/io.h b/io.h index d7914d4..8ff506a 100644 --- 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 diff --git a/logomask.c b/logomask.c index 3f1e23b..eb12efd 100644 --- a/logomask.c +++ b/logomask.c @@ -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 "); + exit(1); + } if(ioctl(fb, FBIOGET_FSCREENINFO, &fix_screeninfo) == -1) { diff --git a/logomask.h b/logomask.h index 6931a24..de2a810 100644 --- a/logomask.h +++ b/logomask.h @@ -18,6 +18,21 @@ #include #include +#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 diff --git a/logoset.c b/logoset.c index 3ff0d82..001e163 100644 --- 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, diff --git a/logoset.h b/logoset.h index 0afacd6..7cd0136 100644 --- a/logoset.h +++ b/logoset.h @@ -20,6 +20,21 @@ #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 index 0000000..bad11e3 --- /dev/null +++ b/rc_device.h @@ -0,0 +1,21 @@ +#ifdef HAVE_CONFIG_H +#include +#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 + diff --git a/starter_logomask.c b/starter_logomask.c index 2d33712..ea3a613 100644 --- a/starter_logomask.c +++ b/starter_logomask.c @@ -26,7 +26,7 @@ #include #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; }