diff options
-rw-r--r-- | Makefile | 33 | ||||
-rw-r--r-- | README | 1 | ||||
-rw-r--r-- | i18n.c | 11 | ||||
-rw-r--r-- | lcd.c | 81 | ||||
-rw-r--r-- | lcdkeyconf.h | 14 | ||||
-rw-r--r-- | lcdproc.c | 42 | ||||
-rw-r--r-- | lcdtranstbl.h | 272 | ||||
-rw-r--r-- | setup.c | 21 | ||||
-rw-r--r-- | setup.h | 7 |
9 files changed, 422 insertions, 60 deletions
@@ -1,7 +1,7 @@ # # Makefile for a Video Disk Recorder plugin # -# $Id$ +# $Id: Makefile 1.7 2003/12/21 15:47:41 kls Exp $ # The official name of this plugin. # This name will be used in the '-P...' option of VDR to load the plugin. @@ -13,14 +13,22 @@ PLUGIN = lcdproc VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ print $$6 }' | sed -e 's/[";]//g') +### The C++ compiler and options: + +CXX ?= g++ +CXXFLAGS ?= -O2 -Wall -Woverloaded-virtual + ### The directory environment: -DVBDIR = ../../../../DVB/ost/include +DVBDIR = ../../../../DVB VDRDIR = ../../.. -VDRINC = $(VDRDIR)/include LIBDIR = ../../lib TMPDIR = /tmp +### Allow user defined options to overwrite defaults: + +-include $(VDRDIR)/Make.config + ### The version number of VDR (taken from VDR's "config.h"): VDRVERSION = $(shell grep 'define VDRVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g') @@ -32,22 +40,23 @@ PACKAGE = vdr-$(ARCHIVE) ### Includes and Defines (add further entries here): -INCLUDES = -I$(VDRINC) -I$(DVBDIR) +INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include + +DEFINES += -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -DEFINES = -DPLUGIN_NAME_I18N='"$(PLUGIN)"' +ifeq ($(shell echo $(VDRVERSION)|sed -e 's/\([0-9]\.[0-9]\)\..*/\1/' ),1.2) + DEFINES += -DOLDVDR +endif ifdef LCDKEYCONF -DEFINES += -DLCD_EXT_KEY_CONF="\"$(LCDKEYCONF)\"" + DEFINES += -DLCD_EXT_KEY_CONF="\"$(LCDKEYCONF)\"" endif -### The object files (add further files here): -OBJS = $(PLUGIN).o lcd.o sockets.o i18n.o setup.o -### The C++ compiler and options: +### The object files (add further files here): -CXX ?= g++ -CXXFLAGS ?= -g -O2 -Wall -Woverloaded-virtual +OBJS = $(PLUGIN).o lcd.o sockets.o i18n.o setup.o ### Implicit rules: @@ -71,7 +80,7 @@ libvdr-$(PLUGIN).so: $(OBJS) $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ @cp $@ $(LIBDIR)/$@.$(VDRVERSION) -package: clean +dist: clean @-rm -rf $(TMPDIR)/$(ARCHIVE) @mkdir $(TMPDIR)/$(ARCHIVE) @cp -a * $(TMPDIR)/$(ARCHIVE) @@ -31,6 +31,7 @@ correctly, you can fix that by selecting a in the setup menu: (Charmap) 0 ... nomap no mapping, useful for the curses driver 1 ... hd44780 2 ... CFontz Thanks to Stephan Schreiber <stephan@sschreiber.de> +3 ... SGX120 Thanks to Harald Milz <hm@seneca.muc.de> lcdkeyconf.h is used to configure the plugin for a keypad. you can use a different file instead with @@ -16,6 +16,7 @@ const tI18nPhrase Phrases[] = { "No EPG info available.",// TODO "No EPG info available.",// TODO "No EPG info available.",// TODO + "No EPG info available.",// TODO }, { "Waiting for EPG info.", "Suche nach EPG Information.", @@ -32,6 +33,7 @@ const tI18nPhrase Phrases[] = { "Scanning for EPG info.",// TODO "Scanning for EPG info.",// TODO "Scanning for EPG info.",// TODO + "Scanning for EPG info.",// TODO }, { "FullCycle", "FullCycle",// TODO @@ -48,6 +50,7 @@ const tI18nPhrase Phrases[] = { "FullCycle",// TODO "FullCycle",// TODO "FullCycle",// TODO + "FullCycle",// TODO }, { "TimeDateCycle", "TimeDateCycle",// TODO @@ -64,6 +67,7 @@ const tI18nPhrase Phrases[] = { "TimeDateCycle",// TODO "TimeDateCycle",// TODO "TimeDateCycle",// TODO + "TimeDateCycle",// TODO }, { "VolumeKeep", "VolumeKeep",// TODO @@ -80,6 +84,7 @@ const tI18nPhrase Phrases[] = { "VolumeKeep",// TODO "VolumeKeep",// TODO "VolumeKeep",// TODO + "VolumeKeep",// TODO }, { "Scrollwait", "Scrollwait",// TODO @@ -96,6 +101,7 @@ const tI18nPhrase Phrases[] = { "Scrollwait",// TODO "Scrollwait",// TODO "Scrollwait",// TODO + "Scrollwait",// TODO }, { "Scrollspeed", "Scrollspeed",// TODO @@ -112,6 +118,7 @@ const tI18nPhrase Phrases[] = { "Scrollspeed",// TODO "Scrollspeed",// TODO "Scrollspeed",// TODO + "Scrollspeed",// TODO }, { "Charmap", "Charmap",// TODO @@ -128,6 +135,7 @@ const tI18nPhrase Phrases[] = { "Charmap",// TODO "Charmap",// TODO "Charmap",// TODO + "Charmap",// TODO }, { "AltShift", "AltShift",// TODO @@ -144,6 +152,7 @@ const tI18nPhrase Phrases[] = { "AltShift",// TODO "AltShift",// TODO "AltShift",// TODO + "AltShift",// TODO }, { "BackLight", "BackLight",// TODO @@ -160,6 +169,7 @@ const tI18nPhrase Phrases[] = { "BackLight",// TODO "BackLight",// TODO "BackLight",// TODO + "BackLight",// TODO }, { "OutputNumber", "OutputNumber",// TODO @@ -176,6 +186,7 @@ const tI18nPhrase Phrases[] = { "OutputNumber",// TODO "OutputNumber",// TODO "OutputNumber",// TODO + "OutputNumber",// TODO }, { NULL } }; @@ -353,6 +353,9 @@ void cLcd::SetRunning( bool nownext, const char *string1, const char *string2, c char line[1024]; char line1[1024]; + static char now1[LCDMAXWID+1]; + static char now2[LCDMAXWID+1]; + snprintf(line,1024,"%s %s%s%s", (string1==NULL || string1[0]=='\0')?" ":string1, (string2==NULL || string2[0]=='\0')?" ":string2, @@ -367,6 +370,7 @@ void cLcd::SetRunning( bool nownext, const char *string1, const char *string2, c cLcd::Split(line1,ThreadStateData.lcdbuffer[LCDMISC][2],ThreadStateData.lcdbuffer[LCDMISC][3]); ThreadStateData.lcddirty[LCDMISC][2]=true; ThreadStateData.lcddirty[LCDMISC][3]=true; EndMutualExclusion(); + cLcd::SetBuffer(LCDMISC,now1,now2,NULL,NULL); } else { BeginMutualExclusion(); cLcd::Split(line1,ThreadStateData.lcdbuffer[LCDTITLE][2],ThreadStateData.lcdbuffer[LCDTITLE][3]); @@ -377,8 +381,10 @@ void cLcd::SetRunning( bool nownext, const char *string1, const char *string2, c ThreadStateData.lcdfullbuffer[LCDTITLE][i++]='*'; ThreadStateData.lcdfullbuffer[LCDTITLE][i++]=' '; ThreadStateData.lcdfullbuffer[LCDTITLE][i]='\0'; + sprintf(now1,"%s",ThreadStateData.lcdbuffer[LCDTITLE][2]); + sprintf(now2,"%s",ThreadStateData.lcdbuffer[LCDTITLE][3]); EndMutualExclusion(); - cLcd::SetBuffer(LCDMISC,ThreadStateData.lcdbuffer[LCDTITLE][2],ThreadStateData.lcdbuffer[LCDTITLE][3],NULL,NULL); + } } @@ -599,19 +605,30 @@ void cLcd::GetTimeDateStat( char *string, unsigned int OutStateData[] ) { void cLcd::Action(void) { // LCD output thread unsigned int i,j, barx=1, bary=1, barl=0, ScrollState=0, ScrollLine=1, lasttitlelen=0; - int Current=0, Total=1, scrollpos=0, scrollcnt=0, scrollwaitcnt=10, lastAltShift=0, lastBackLight, keycnt=0; + int Current=0, Total=1, scrollpos=0, scrollcnt=0, scrollwaitcnt=10, lastAltShift=0, lastBackLight,lastPrio, lastPrioN, keycnt=0; struct timeval now, voltime; char workstring[1024], lastkeypressed='\0'; cLcd::ThreadStates PrevState=Menu; struct cLcd::StateData OutStateData; bool Lcddirty[LCDMAXSTATES][4]; bool LcdShiftkeyPressed=false; - + char priostring[35]; + // backlight init if ((lastBackLight=LcdSetup.BackLight)) sock_send_string(sock,"backlight on\n"); else sock_send_string(sock,"backlight off\n"); + + // prio init + if ( (lastPrio=LcdSetup.SetPrio) ) { + if (LcdSetup.SetPrio == 1) + sprintf(priostring,"screen_set VDR -priority %d\n", LcdSetup.ClientPrioN ); + else + sprintf(priostring,"screen_set VDR -priority %d\n", LcdSetup.ClientPrioH ); + sock_send_string(sock,priostring); + } + lastPrioN=LcdSetup.ClientPrioN; syslog(LOG_INFO, "LCD output thread started (pid=%d), display size: %dx%d", getpid(),hgt,wid); cLcd::Write(1," Welcome to V D R\0"); @@ -653,14 +670,16 @@ void cLcd::Action(void) { // LCD output thread gettimeofday(&now,NULL); // epg update - - if ( time(NULL) > nextLcdUpdate ) { + +#ifdef OLDVDR + + if ( time(NULL) > nextLcdUpdate ) { const cEventInfo *Present = NULL; cMutexLock MutexLock; const cSchedules *Schedules = cSIProcessor::Schedules(MutexLock); - if (Schedules) { + if (Schedules) { const cSchedule *Schedule = Schedules->GetSchedule(); - if (Schedule) { + if (Schedule) { const char *PresentTitle, *PresentSubtitle; PresentTitle = NULL; PresentSubtitle = NULL; if ((Present = Schedule->GetPresentEvent()) != NULL) { @@ -670,10 +689,41 @@ void cLcd::Action(void) { // LCD output thread if ( (!isempty(PresentTitle)) && (!isempty(PresentSubtitle)) ) SetRunning(false,Present->GetTimeString(),PresentTitle,PresentSubtitle); else if (!isempty(PresentTitle)) SetRunning(false,Present->GetTimeString(),PresentTitle); + } else + SetRunning(false,tr("No EPG info available."), NULL); + if ((Present = Schedule->GetFollowingEvent()) != NULL) + nextLcdUpdate=(Present->GetTime()<nextLcdUpdate)?Present->GetTime():nextLcdUpdate; + } + } + if ( nextLcdUpdate <= time(NULL) ) + nextLcdUpdate=(time(NULL)/60)*60+60; + else if ( nextLcdUpdate > time(NULL)+60 ) + nextLcdUpdate=(time(NULL)/60)*60+60; + } + +#else + + if ( time(NULL) > nextLcdUpdate ) { + cChannel *channel = Channels.GetByNumber(primaryDvbApi->CurrentChannel()); + const cEvent *Present = NULL; + cSchedulesLock schedulesLock; + const cSchedules *Schedules = cSchedules::Schedules(schedulesLock); + if (Schedules) { + const cSchedule *Schedule = Schedules->GetSchedule(channel->GetChannelID()); + if (Schedule) { + const char *PresentTitle, *PresentSubtitle; + PresentTitle = NULL; PresentSubtitle = NULL; + if ((Present = Schedule->GetPresentEvent()) != NULL) { + nextLcdUpdate=Present->StartTime()+Present->Duration(); + PresentTitle = Present->Title(); + PresentSubtitle = Present->ShortText(); + if ( (!isempty(PresentTitle)) && (!isempty(PresentSubtitle)) ) + SetRunning(false,Present->GetTimeString(),PresentTitle,PresentSubtitle); + else if (!isempty(PresentTitle)) SetRunning(false,Present->GetTimeString(),PresentTitle); } else SetRunning(false,tr("No EPG info available."), NULL); if ((Present = Schedule->GetFollowingEvent()) != NULL) - nextLcdUpdate=(Present->GetTime()<nextLcdUpdate)?Present->GetTime():nextLcdUpdate; + nextLcdUpdate=(Present->StartTime()<nextLcdUpdate)?Present->StartTime():nextLcdUpdate; } } if ( nextLcdUpdate <= time(NULL) ) @@ -682,6 +732,8 @@ void cLcd::Action(void) { // LCD output thread nextLcdUpdate=(time(NULL)/60)*60+60; } +#endif + // replaying if ( (now.tv_usec < WakeUpCycle) && (replayDvbApi) ) { @@ -770,6 +822,10 @@ void cLcd::Action(void) { // LCD output thread } } if (volume) OutStateData.State = Vol; + + // prio + + // modes switch (OutStateData.State) { @@ -863,15 +919,6 @@ void cLcd::Action(void) { // LCD output thread sock_send_string(sock,"screen_set VDR -heartbeat heart\n"); } - - - if ( LcdMaxKeys && (lastAltShift != LcdSetup.AltShift) ) { - lastAltShift=LcdSetup.AltShift; - if (lastAltShift) - sock_send_string(sock,"screen_set VDR -heartbeat slash\n"); - else - sock_send_string(sock,"screen_set VDR -heartbeat heart\n"); - } if ( !(keycnt=(keycnt+1)%4) ) lastkeypressed='\0'; diff --git a/lcdkeyconf.h b/lcdkeyconf.h index 1146c25..a4b49c1 100644 --- a/lcdkeyconf.h +++ b/lcdkeyconf.h @@ -2,8 +2,8 @@ #define LCD_KEYTBL_H // LCDproc keys -const unsigned int LcdMaxKeys = 0; -//const unsigned int LcdMaxKeys = 25; +//const unsigned int LcdMaxKeys = 0; +const unsigned int LcdMaxKeys = 25; const unsigned char LcdShiftKey = '#'; const unsigned char LcdUsedKeys[] = @@ -23,11 +23,11 @@ const eKeys LcdNormalMap[] = const eKeys LcdShiftMap[] = -{ kNone, kNone, kNone, kNone, kNone, - kNone, kNone, kNone, kNone, kNone, - kNone, kNone, kNone, kNone, kNone, - kNone, kNone, kNone, kNone, kNone, - kNone, kPower, kNone, kNone, kNone }; +{ kPlay, kPause, kStop, kRecord, kFastFwd, + kFastRew, kChanUp, kChanDn, kSchedule, kChannels, + kTimers, kRecordings, kSetup, kCommands, kNone, + kUser1, kUser2, kUser3, kUser4, kUser5, + kUser6, kUser7, kUser8, kUser9, kPower }; #endif @@ -16,7 +16,7 @@ #include "lcd.h" #include "lcdtranstbl.h" -static const char *VERSION = "0.0.9"; +static const char *VERSION = "0.0.10"; static const char *MAINMENUENTRY = NULL; static const char *DESCRIPTION = "LCDproc output"; @@ -45,7 +45,8 @@ static const char * OutputFunctionText[]= {"Off", "User2", "User3"}; -// --- + +static const char * PrioBackFunctionText[]= {"Off", "On", "Auto"}; class cLcdFeed : public cStatus { protected: @@ -339,15 +340,20 @@ cMenuSetupLcd::cMenuSetupLcd(void) { char str2[30]; newLcdSetup=LcdSetup; - Add(new cMenuEditIntItem( tr("FullCycle"), &newLcdSetup.FullCycle,LcdSetup.TimeCycle,999)); - Add(new cMenuEditIntItem( tr("TimeDateCycle"), &newLcdSetup.TimeCycle,0,LcdSetup.FullCycle)); - Add(new cMenuEditIntItem( tr("VolumeKeep"), &newLcdSetup.VolumeKeep,0,999)); - Add(new cMenuEditIntItem( tr("Scrollwait"), &newLcdSetup.Scrollwait,1,999)); - Add(new cMenuEditIntItem( tr("Scrollspeed"), &newLcdSetup.Scrollspeed,1,999)); - Add(new cMenuEditIntItem( tr("Charmap"), &newLcdSetup.Charmap,0,LCDMAXTRANSTBL-1 )); - Add(new cMenuEditBoolItem( tr("AltShift"), &newLcdSetup.AltShift)); - Add(new cMenuEditBoolItem( tr("BackLight"), &newLcdSetup.BackLight)); - Add(new cMenuEditIntItem( tr("OutputNumber"), &newLcdSetup.OutputNumber)); + Add(new cMenuEditIntItem( tr("FullCycle"), &newLcdSetup.FullCycle,1,999)); + Add(new cMenuEditIntItem( tr("TimeDateCycle"), &newLcdSetup.TimeCycle,0,LcdSetup.FullCycle)); + Add(new cMenuEditIntItem( tr("VolumeKeep"), &newLcdSetup.VolumeKeep,0,999)); + Add(new cMenuEditIntItem( tr("Scrollwait"), &newLcdSetup.Scrollwait,1,999)); + Add(new cMenuEditIntItem( tr("Scrollspeed"), &newLcdSetup.Scrollspeed,1,999)); + Add(new cMenuEditIntItem( tr("Charmap"), &newLcdSetup.Charmap,0,LCDMAXTRANSTBL-1 )); + Add(new cMenuEditBoolItem( tr("AltShift"), &newLcdSetup.AltShift)); + Add(new cMenuEditStraItem( tr("BackLight"), &newLcdSetup.BackLight, 3, PrioBackFunctionText)); + Add(new cMenuEditStraItem( tr("SetClientPriority"), &newLcdSetup.SetPrio, 3, PrioBackFunctionText)); + Add(new cMenuEditIntItem( tr("NormalClientPriority"),&newLcdSetup.ClientPrioN,0,255)); + Add(new cMenuEditIntItem( tr("HighClientPriority"), &newLcdSetup.ClientPrioH,0,255)); + Add(new cMenuEditIntItem( tr("BackLightWait"), &newLcdSetup.BackLightWait,1,99)); + Add(new cMenuEditIntItem( tr("PrioWait"), &newLcdSetup.PrioWait,1,99)); + Add(new cMenuEditIntItem( tr("OutputNumber"), &newLcdSetup.OutputNumber)); for (int i =0 ; i < newLcdSetup.OutputNumber; i++){ sprintf(str2,"%s %d",tr("OutputNumber"),i); Add(new cMenuEditStraTrItem( str2, &newLcdSetup.OutputFunction[i],14, OutputFunctionText)); @@ -365,7 +371,12 @@ void cMenuSetupLcd::Store(void) SetupStore("Charmap", LcdSetup.Charmap = newLcdSetup.Charmap); SetupStore("AltShift", LcdSetup.AltShift = newLcdSetup.AltShift); SetupStore("BackLight", LcdSetup.BackLight = newLcdSetup.BackLight); - SetupStore("OutputNumber", LcdSetup.OutputNumber = newLcdSetup.OutputNumber); + SetupStore("SetPrio", LcdSetup.SetPrio = newLcdSetup.SetPrio); + SetupStore("ClientPrioN", LcdSetup.ClientPrioN = newLcdSetup.ClientPrioN); + SetupStore("ClientPrioH", LcdSetup.ClientPrioH = newLcdSetup.ClientPrioH); + SetupStore("BackLightWait", LcdSetup.ClientPrioH = newLcdSetup.BackLightWait); + SetupStore("PrioWait", LcdSetup.ClientPrioH = newLcdSetup.PrioWait); + SetupStore("OutputNumber",LcdSetup.OutputNumber = newLcdSetup.OutputNumber); for (int i =0 ; i < newLcdSetup.OutputNumber; i++){ sprintf(str2,"OutputNumber %d",i); SetupStore(str2, LcdSetup.OutputFunction[i] = newLcdSetup.OutputFunction[i]); @@ -390,7 +401,12 @@ bool cPluginLcd::SetupParse(const char *Name, const char *Value) else if (!strcasecmp(Name, "Charmap")) LcdSetup.Charmap = atoi(Value); else if (!strcasecmp(Name, "AltShift")) LcdSetup.AltShift = atoi(Value); else if (!strcasecmp(Name, "BackLight")) LcdSetup.BackLight = atoi(Value); - else if (!strcasecmp(Name, "OutputNumber")) LcdSetup.OutputNumber = atoi(Value); + else if (!strcasecmp(Name, "SetPrio")) LcdSetup.SetPrio = atoi(Value); + else if (!strcasecmp(Name, "ClientPrioN")) LcdSetup.ClientPrioN = atoi(Value); + else if (!strcasecmp(Name, "ClientPrioH")) LcdSetup.ClientPrioH = atoi(Value); + else if (!strcasecmp(Name, "BackLightWait")) LcdSetup.BackLightWait = atoi(Value); + else if (!strcasecmp(Name, "PrioWait")) LcdSetup.PrioWait = atoi(Value); + else if (!strcasecmp(Name, "OutputNumber")) LcdSetup.OutputNumber= atoi(Value); else if (!strcasecmp(Name, "OutputNumber 0")) LcdSetup.OutputFunction[0] = atoi(Value); else if (!strcasecmp(Name, "OutputNumber 1")) LcdSetup.OutputFunction[1] = atoi(Value); else if (!strcasecmp(Name, "OutputNumber 2")) LcdSetup.OutputFunction[2] = atoi(Value); diff --git a/lcdtranstbl.h b/lcdtranstbl.h index 9acbf70..c25961d 100644 --- a/lcdtranstbl.h +++ b/lcdtranstbl.h @@ -1,7 +1,7 @@ #ifndef LCD_TRANSTBL_H #define LCD_TRANSTBL_H -#define LCDMAXTRANSTBL 3 +#define LCDMAXTRANSTBL 4 const unsigned char LcdTransTbl[LCDMAXTRANSTBL][256]={ @@ -797,7 +797,275 @@ newline,tab and friends are mapped to ' ' /* 252 ( 'ü' ) */ (unsigned char) 126, /* 253 ( 'ý' ) */ (unsigned char) 235, /* 254 ( 'þ' ) */ (unsigned char) 178, -/* 255 ( 'ÿ' ) */ (unsigned char) 183} +/* 255 ( 'ÿ' ) */ (unsigned char) 183}, + +/* +lcdtranstbl-SGX120L.h +nothing except '"' is mapped here, seems that somone does not understand '\"' ... +newline,tab and friends are mapped to ' ' +German Umlauts are mapped to characters set up in CHARS1.bmp +*/ + +{ +/* 0 ( '^@') */ (unsigned char) 0, +/* 1 ( '^A') */ (unsigned char) 1, +/* 2 ( '^B') */ (unsigned char) 2, +/* 3 ( '^C') */ (unsigned char) 3, +/* 4 ( '^D') */ (unsigned char) 4, +/* 5 ( '^E') */ (unsigned char) 5, +/* 6 ( '^F') */ (unsigned char) 6, +/* 7 ( '^G') */ (unsigned char) 7, +/* 8 ( '^H') */ (unsigned char) 8, +/* 9 ( '' ) */ (unsigned char) 32, +/* 10 ( '' ) */ (unsigned char) 32, +/* 11 ( '^K') */ (unsigned char) 32, +/* 12 ( '^L') */ (unsigned char) 32, +/* 13 ( '^M') */ (unsigned char) 32, +/* 14 ( '^N') */ (unsigned char) 14, +/* 15 ( '^O') */ (unsigned char) 15, +/* 16 ( '^P') */ (unsigned char) 16, +/* 17 ( '^Q') */ (unsigned char) 17, +/* 18 ( '^R') */ (unsigned char) 18, +/* 19 ( '^S') */ (unsigned char) 19, +/* 20 ( '^T') */ (unsigned char) 20, +/* 21 ( '^U') */ (unsigned char) 21, +/* 22 ( '^V') */ (unsigned char) 22, +/* 23 ( '^W') */ (unsigned char) 23, +/* 24 ( '^X') */ (unsigned char) 24, +/* 25 ( '^Y') */ (unsigned char) 25, +/* 26 ( '^Z') */ (unsigned char) 26, +/* 27 ( '^[') */ (unsigned char) 27, +/* 28 ( '^\') */ (unsigned char) 28, +/* 29 ( '^]') */ (unsigned char) 29, +/* 30 ( '^^') */ (unsigned char) 30, +/* 31 ( '^_') */ (unsigned char) 31, +/* 32 ( ' ' ) */ (unsigned char) 32, +/* 33 ( '!' ) */ (unsigned char) 33, +/* 34 ( '"' ) */ (unsigned char) 39, +/* 35 ( '#' ) */ (unsigned char) 35, +/* 36 ( '$' ) */ (unsigned char) 36, +/* 37 ( '%' ) */ (unsigned char) 37, +/* 38 ( '&' ) */ (unsigned char) 38, +/* 39 ( ''' ) */ (unsigned char) 39, +/* 40 ( '(' ) */ (unsigned char) 40, +/* 41 ( ')' ) */ (unsigned char) 41, +/* 42 ( '*' ) */ (unsigned char) 42, +/* 43 ( '+' ) */ (unsigned char) 43, +/* 44 ( ',' ) */ (unsigned char) 44, +/* 45 ( '-' ) */ (unsigned char) 45, +/* 46 ( '.' ) */ (unsigned char) 46, +/* 47 ( '/' ) */ (unsigned char) 47, +/* 48 ( '0' ) */ (unsigned char) 48, +/* 49 ( '1' ) */ (unsigned char) 49, +/* 50 ( '2' ) */ (unsigned char) 50, +/* 51 ( '3' ) */ (unsigned char) 51, +/* 52 ( '4' ) */ (unsigned char) 52, +/* 53 ( '5' ) */ (unsigned char) 53, +/* 54 ( '6' ) */ (unsigned char) 54, +/* 55 ( '7' ) */ (unsigned char) 55, +/* 56 ( '8' ) */ (unsigned char) 56, +/* 57 ( '9' ) */ (unsigned char) 57, +/* 58 ( ':' ) */ (unsigned char) 58, +/* 59 ( ';' ) */ (unsigned char) 59, +/* 60 ( '<' ) */ (unsigned char) 60, +/* 61 ( '=' ) */ (unsigned char) 61, +/* 62 ( '>' ) */ (unsigned char) 62, +/* 63 ( '?' ) */ (unsigned char) 63, +/* 64 ( '@' ) */ (unsigned char) 64, +/* 65 ( 'A' ) */ (unsigned char) 65, +/* 66 ( 'B' ) */ (unsigned char) 66, +/* 67 ( 'C' ) */ (unsigned char) 67, +/* 68 ( 'D' ) */ (unsigned char) 68, +/* 69 ( 'E' ) */ (unsigned char) 69, +/* 70 ( 'F' ) */ (unsigned char) 70, +/* 71 ( 'G' ) */ (unsigned char) 71, +/* 72 ( 'H' ) */ (unsigned char) 72, +/* 73 ( 'I' ) */ (unsigned char) 73, +/* 74 ( 'J' ) */ (unsigned char) 74, +/* 75 ( 'K' ) */ (unsigned char) 75, +/* 76 ( 'L' ) */ (unsigned char) 76, +/* 77 ( 'M' ) */ (unsigned char) 77, +/* 78 ( 'N' ) */ (unsigned char) 78, +/* 79 ( 'O' ) */ (unsigned char) 79, +/* 80 ( 'P' ) */ (unsigned char) 80, +/* 81 ( 'Q' ) */ (unsigned char) 81, +/* 82 ( 'R' ) */ (unsigned char) 82, +/* 83 ( 'S' ) */ (unsigned char) 83, +/* 84 ( 'T' ) */ (unsigned char) 84, +/* 85 ( 'U' ) */ (unsigned char) 85, +/* 86 ( 'V' ) */ (unsigned char) 86, +/* 87 ( 'W' ) */ (unsigned char) 87, +/* 88 ( 'X' ) */ (unsigned char) 88, +/* 89 ( 'Y' ) */ (unsigned char) 89, +/* 90 ( 'Z' ) */ (unsigned char) 90, +/* 91 ( '[' ) */ (unsigned char) 91, +/* 92 ( '\' ) */ (unsigned char) 92, +/* 93 ( ']' ) */ (unsigned char) 93, +/* 94 ( '^' ) */ (unsigned char) 94, +/* 95 ( '_' ) */ (unsigned char) 95, +/* 96 ( '`' ) */ (unsigned char) 96, +/* 97 ( 'a' ) */ (unsigned char) 97, +/* 98 ( 'b' ) */ (unsigned char) 98, +/* 99 ( 'c' ) */ (unsigned char) 99, +/* 100 ( 'd' ) */ (unsigned char) 100, +/* 101 ( 'e' ) */ (unsigned char) 101, +/* 102 ( 'f' ) */ (unsigned char) 102, +/* 103 ( 'g' ) */ (unsigned char) 103, +/* 104 ( 'h' ) */ (unsigned char) 104, +/* 105 ( 'i' ) */ (unsigned char) 105, +/* 106 ( 'j' ) */ (unsigned char) 106, +/* 107 ( 'k' ) */ (unsigned char) 107, +/* 108 ( 'l' ) */ (unsigned char) 108, +/* 109 ( 'm' ) */ (unsigned char) 109, +/* 110 ( 'n' ) */ (unsigned char) 110, +/* 111 ( 'o' ) */ (unsigned char) 111, +/* 112 ( 'p' ) */ (unsigned char) 112, +/* 113 ( 'q' ) */ (unsigned char) 113, +/* 114 ( 'r' ) */ (unsigned char) 114, +/* 115 ( 's' ) */ (unsigned char) 115, +/* 116 ( 't' ) */ (unsigned char) 116, +/* 117 ( 'u' ) */ (unsigned char) 117, +/* 118 ( 'v' ) */ (unsigned char) 118, +/* 119 ( 'w' ) */ (unsigned char) 119, +/* 120 ( 'x' ) */ (unsigned char) 120, +/* 121 ( 'y' ) */ (unsigned char) 121, +/* 122 ( 'z' ) */ (unsigned char) 122, +/* 123 ( '{' ) */ (unsigned char) 123, +/* 124 ( '|' ) */ (unsigned char) 124, +/* 125 ( '}' ) */ (unsigned char) 125, +/* 126 ( '~' ) */ (unsigned char) 126, +/* 127 ( '^?') */ (unsigned char) 127, +/* 128 ( '~@') */ (unsigned char) 128, +/* 129 ( '~A') */ (unsigned char) 129, +/* 130 ( '~B') */ (unsigned char) 130, +/* 131 ( '~C') */ (unsigned char) 131, +/* 132 ( '~D') */ (unsigned char) 132, +/* 133 ( '~E') */ (unsigned char) 133, +/* 134 ( '~F') */ (unsigned char) 134, +/* 135 ( '~G') */ (unsigned char) 135, +/* 136 ( '~H') */ (unsigned char) 136, +/* 137 ( '~I') */ (unsigned char) 137, +/* 138 ( '~J') */ (unsigned char) 138, +/* 139 ( '~K') */ (unsigned char) 139, +/* 140 ( '~L') */ (unsigned char) 140, +/* 141 ( '~M') */ (unsigned char) 141, +/* 142 ( '~N') */ (unsigned char) 142, +/* 143 ( '~O') */ (unsigned char) 143, +/* 144 ( '~P') */ (unsigned char) 144, +/* 145 ( '~Q') */ (unsigned char) 145, +/* 146 ( '~R') */ (unsigned char) 146, +/* 147 ( '~S') */ (unsigned char) 147, +/* 148 ( '~T') */ (unsigned char) 148, +/* 149 ( '~U') */ (unsigned char) 149, +/* 150 ( '~V') */ (unsigned char) 150, +/* 151 ( '~W') */ (unsigned char) 151, +/* 152 ( '~X') */ (unsigned char) 152, +/* 153 ( '~Y') */ (unsigned char) 153, +/* 154 ( '~Z') */ (unsigned char) 154, +/* 155 ( '~[') */ (unsigned char) 155, +/* 156 ( '~\') */ (unsigned char) 156, +/* 157 ( '~]') */ (unsigned char) 157, +/* 158 ( '~^') */ (unsigned char) 158, +/* 159 ( '~_') */ (unsigned char) 159, +/* 160 ( '| ') */ (unsigned char) 160, +/* 161 ( '¡' ) */ (unsigned char) 161, +/* 162 ( '¢' ) */ (unsigned char) 162, +/* 163 ( '£' ) */ (unsigned char) 163, +/* 164 ( '¤' ) */ (unsigned char) 164, +/* 165 ( '¥' ) */ (unsigned char) 165, +/* 166 ( '¦' ) */ (unsigned char) 166, +/* 167 ( '§' ) */ (unsigned char) 167, +/* 168 ( '¨' ) */ (unsigned char) 168, +/* 169 ( '©' ) */ (unsigned char) 169, +/* 170 ( 'ª' ) */ (unsigned char) 170, +/* 171 ( '«' ) */ (unsigned char) 171, +/* 172 ( '¬' ) */ (unsigned char) 172, +/* 173 ( '' ) */ (unsigned char) 173, +/* 174 ( '®' ) */ (unsigned char) 174, +/* 175 ( '¯' ) */ (unsigned char) 175, +/* 176 ( '°' ) */ (unsigned char) 176, +/* 177 ( '±' ) */ (unsigned char) 177, +/* 178 ( '²' ) */ (unsigned char) 178, +/* 179 ( '³' ) */ (unsigned char) 179, +/* 180 ( '´' ) */ (unsigned char) 180, +/* 181 ( 'µ' ) */ (unsigned char) 181, +/* 182 ( '¶' ) */ (unsigned char) 182, +/* 183 ( '·' ) */ (unsigned char) 183, +/* 184 ( '¸' ) */ (unsigned char) 184, +/* 185 ( '¹' ) */ (unsigned char) 185, +/* 186 ( 'º' ) */ (unsigned char) 186, +/* 187 ( '»' ) */ (unsigned char) 187, +/* 188 ( '¼' ) */ (unsigned char) 188, +/* 189 ( '½' ) */ (unsigned char) 189, +/* 190 ( '¾' ) */ (unsigned char) 190, +/* 191 ( '¿' ) */ (unsigned char) 191, +/* 192 ( 'À' ) */ (unsigned char) 192, +/* 193 ( 'Á' ) */ (unsigned char) 193, +/* 194 ( 'Â' ) */ (unsigned char) 194, +/* 195 ( 'Ã' ) */ (unsigned char) 195, +/* 196 ( 'Ä' ) */ (unsigned char) 132, +/* 197 ( 'Å' ) */ (unsigned char) 197, +/* 198 ( 'Æ' ) */ (unsigned char) 198, +/* 199 ( 'Ç' ) */ (unsigned char) 199, +/* 200 ( 'È' ) */ (unsigned char) 200, +/* 201 ( 'É' ) */ (unsigned char) 201, +/* 202 ( 'Ê' ) */ (unsigned char) 202, +/* 203 ( 'Ë' ) */ (unsigned char) 203, +/* 204 ( 'Ì' ) */ (unsigned char) 204, +/* 205 ( 'Í' ) */ (unsigned char) 205, +/* 206 ( 'Î' ) */ (unsigned char) 206, +/* 207 ( 'Ï' ) */ (unsigned char) 207, +/* 208 ( 'Ð' ) */ (unsigned char) 208, +/* 209 ( 'Ñ' ) */ (unsigned char) 209, +/* 210 ( 'Ò' ) */ (unsigned char) 210, +/* 211 ( 'Ó' ) */ (unsigned char) 211, +/* 212 ( 'Ô' ) */ (unsigned char) 212, +/* 213 ( 'Õ' ) */ (unsigned char) 213, +/* 214 ( 'Ö' ) */ (unsigned char) 133, +/* 215 ( '×' ) */ (unsigned char) 215, +/* 216 ( 'Ø' ) */ (unsigned char) 216, +/* 217 ( 'Ù' ) */ (unsigned char) 217, +/* 218 ( 'Ú' ) */ (unsigned char) 218, +/* 219 ( 'Û' ) */ (unsigned char) 219, +/* 220 ( 'Ü' ) */ (unsigned char) 134, +/* 221 ( 'Ý' ) */ (unsigned char) 221, +/* 222 ( 'Þ' ) */ (unsigned char) 222, +/* 223 ( 'ß' ) */ (unsigned char) 138, +/* 224 ( 'à' ) */ (unsigned char) 224, +/* 225 ( 'á' ) */ (unsigned char) 225, +/* 226 ( 'â' ) */ (unsigned char) 226, +/* 227 ( 'ã' ) */ (unsigned char) 227, +/* 228 ( 'ä' ) */ (unsigned char) 135, +/* 229 ( 'å' ) */ (unsigned char) 229, +/* 230 ( 'æ' ) */ (unsigned char) 230, +/* 231 ( 'ç' ) */ (unsigned char) 231, +/* 232 ( 'è' ) */ (unsigned char) 232, +/* 233 ( 'é' ) */ (unsigned char) 233, +/* 234 ( 'ê' ) */ (unsigned char) 234, +/* 235 ( 'ë' ) */ (unsigned char) 235, +/* 236 ( 'ì' ) */ (unsigned char) 236, +/* 237 ( 'í' ) */ (unsigned char) 237, +/* 238 ( 'î' ) */ (unsigned char) 238, +/* 239 ( 'ï' ) */ (unsigned char) 239, +/* 240 ( 'ð' ) */ (unsigned char) 240, +/* 241 ( 'ñ' ) */ (unsigned char) 241, +/* 242 ( 'ò' ) */ (unsigned char) 242, +/* 243 ( 'ó' ) */ (unsigned char) 243, +/* 244 ( 'ô' ) */ (unsigned char) 244, +/* 245 ( 'õ' ) */ (unsigned char) 245, +/* 246 ( 'ö' ) */ (unsigned char) 136, +/* 247 ( '÷' ) */ (unsigned char) 247, +/* 248 ( 'ø' ) */ (unsigned char) 248, +/* 249 ( 'ù' ) */ (unsigned char) 249, +/* 250 ( 'ú' ) */ (unsigned char) 250, +/* 251 ( 'û' ) */ (unsigned char) 251, +/* 252 ( 'ü' ) */ (unsigned char) 137, +/* 253 ( 'ý' ) */ (unsigned char) 253, +/* 254 ( 'þ' ) */ (unsigned char) 254, +/* 255 ( 'ÿ' ) */ (unsigned char) 255}, + + + }; @@ -4,14 +4,19 @@ cLcdSetup LcdSetup; cLcdSetup::cLcdSetup(void) { - FullCycle = 10; - TimeCycle = 7; - VolumeKeep = 15; - Scrollwait = 10; - Scrollspeed = 3; - Charmap = 0; - AltShift = 0; - BackLight = 1; + FullCycle = 10; + TimeCycle = 7; + VolumeKeep = 15; + Scrollwait = 10; + Scrollspeed = 3; + Charmap = 0; + AltShift = 0; + BackLight = 1; + ClientPrioN = 128; + ClientPrioH = 16; + SetPrio = 0; + BackLightWait = 0; + PrioWait = 0; OutputNumber = 0; for (int i = 0; i < LCDMAXOUTPUTS; i++) OutputFunction[i] = 0; @@ -12,7 +12,12 @@ public: int Scrollspeed; int Charmap; int AltShift; - int BackLight; + int BackLight; + int SetPrio; + int ClientPrioN; + int ClientPrioH; + int BackLightWait; + int PrioWait; int OutputNumber; int OutputFunction[LCDMAXOUTPUTS]; public: |