From 56d9bdd39ed36c36e9a61411b86c76d5228b2133 Mon Sep 17 00:00:00 2001 From: sicarius Date: Sun, 11 Feb 2007 18:32:03 +0000 Subject: Added lot's of code-files used during work --- source/ct-Bot/include/rc5-codes.h | 591 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 591 insertions(+) create mode 100644 source/ct-Bot/include/rc5-codes.h (limited to 'source/ct-Bot/include/rc5-codes.h') diff --git a/source/ct-Bot/include/rc5-codes.h b/source/ct-Bot/include/rc5-codes.h new file mode 100644 index 0000000..9bf3b41 --- /dev/null +++ b/source/ct-Bot/include/rc5-codes.h @@ -0,0 +1,591 @@ +/* + * c't-Sim - Robotersimulator fuer den c't-Bot + * + * This program is free software; you can redistribute it + * and/or modify it under the terms of the GNU General + * Public License as published by the Free Software + * Foundation; either version 2 of the License, or (at your + * option) any later version. + * This program is distributed in the hope that it will be + * useful, but WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307, USA. + * + */ + +/*! @file rc5-codes.h + * @brief RC5-Fernbedienungscodes + * @author Andreas Merkle (mail@blue-andi.de) + * @date 15.02.06 + * Wer diese Datei angepasst hat, kann Sie durch einen .cvsignore Eintrag schützen. + * Dann Ueberschreibt Eclipse Sie nicht mehr automatisch +*/ + +#ifndef RC5CODE_H_ +#define RC5CODE_H_ + +#define RC5_TOGGLE 0x0800 /*!< Das RC5-Toggle-Bit */ +#define RC5_ADDRESS 0x07C0 /*!< Der Adressbereich */ +#define RC5_COMMAND 0x103F /*!< Der Kommandobereich */ + +/* Im Normalbetrieb hilft die Beschränkung der RC5_MASK auf RC5_COMMAND dem Bot, + * moeglichst viele FBs zu erkennen. + * Zum erfassen neuer Codes sollte man unbedingt RC5_MASK auf (RC5_COMMAND|RC5_ADDRESS) setzen */ + +// Normalbetrieb +#define RC5_MASK (RC5_COMMAND) /*!< Welcher Teil des Kommandos wird ausgewertet? */ +// Erfassen neuer FB-Codes +//#define RC5_MASK (RC5_COMMAND|RC5_ADDRESS) /*!< Welcher Teil des Kommandos wird ausgewertet? */ + + + +/*! + * Definition RC5-Codes verschiedener Fernbedienungen. Wer eine neue FB + * einfuegen will, sollte + * + * - eine Definition per cut&paste duplizieren, + * - eine geeignete Konstante RC_HAVE_{Herstellername}_{Fernbedienungsname} + * waehlen, + * - diese Konstante in die obere Liste der FB-Selektion eintragen, + * - die alte FB-Konstante im kopierten Bereich ersetzen, + * - festlegen, ob die FB ein Jog-Dial hat, ob der RC5_NOT_AVAIL-Code + * wirklich nie von der FB generiert werden kann (0xFFFF ist meisst ok) + * - die eigentlichen, herausgefunden Codes eintragen. + * + * Ist das erledigt, und funktioniert die neue FB-Definition, kann diese + * in der c't-bot-Entwicklerliste vorgestellt werden. (mb/18.03.2006) + */ + +/* Nur auf dem realen Bot gibt es verschiedene FBs */ +#ifdef MCU + + // Dies ist die Standard-Fernbedienung unter anderem fuer den Sim + #define RC_HAVE_HQ_RC_UNIVERS29_334 + + //#define RC_HAVE_HAUPPAUGE_WINTV + //#define RC_HAVE_HAUPPAUGE_MediaMPV + //#define RC_HAVE_CONRAD_PROMO8 + //#define RC_HAVE_VIVANCO_UR89 + //#define RC_HAVE_VIVANCO_UR89_TV_CODE_089 + //#define RC_HAVE_Technisat_TTS35AI + //#define RC_HAVE_LIFETEC_LT3607 + #else + // Dies ist die Standard-Fernbedienung unter anderem fuer den Sim + #define RC_HAVE_HQ_RC_UNIVERS29_334 + //#define RC_HAVE_DEFAULT + +#endif + + + +// Code um zu kennzeichnen, dass eine Taste nicht vorhanden ist +#define RC5_NOT_AVAIL (0xFFFF) /*!< Code fuer Taste nicht vorhanden */ + + + +/*! + * Default-Fernbedienung + * HQ RC Univers 29, Geraetecode 334 + */ + +#ifdef RC_HAVE_HQ_RC_UNIVERS29_334 + #define RC5_CODE_PWR (0x118C & RC5_MASK) /*!< Taste An/Aus */ + + #define RC5_CODE_0 (0x1180 & RC5_MASK) /*!< Taste 0 /10*/ + #define RC5_CODE_1 (0x1181 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x1182 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x1183 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x1184 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x1185 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x1186 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x1187 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x1188 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x1189 & RC5_MASK) /*!< Taste 9 */ + #define RC5_CODE_11 (0x118A & RC5_MASK) /*!< Taste 11 /1-*/ + #define RC5_CODE_12 (0x11A3 & RC5_MASK) /*!< Taste 12 /2-*/ + + #define RC5_CODE_GREEN (0x01BA & RC5_MASK) /*!< Gruene Taste */ + #define RC5_CODE_RED (0x01BD & RC5_MASK) /*!< Rote Taste */ + #define RC5_CODE_YELLOW (0x01B1 & RC5_MASK) /*!< Gelbe Taste */ + #define RC5_CODE_BLUE (0x01B0 & RC5_MASK) /*!< Blaue Taste */ + + #define RC5_CODE_I_II (0x11AB & RC5_MASK) /*!< I/II-Taste */ + #define RC5_CODE_TV_VCR (0x11B8 & RC5_MASK) /*!< TV/VCR-Taste */ + + #define RC5_CODE_DOT (0x11AB & RC5_MASK) /*!< Taste mit rundem Punkt */ + + #define RC5_CODE_PLAY (0x11B5 & RC5_MASK) /*!< PLAY-Taste */ + #define RC5_CODE_STILL (0x11A9 & RC5_MASK) /*!< Pause Taste */ + #define RC5_CODE_STOP (0x11B6 & RC5_MASK) /*!< Pause Taste */ + #define RC5_CODE_BWD (0x11B2 & RC5_MASK) /*!< Backward Taste */ + #define RC5_CODE_FWD (0x11B4 & RC5_MASK) /*!< Forward Taste */ + + #define RC5_CODE_CH_PC (0x11BF & RC5_MASK) /*!< CH*P/C Taste */ + #define RC5_CODE_MUTE (0x01BF & RC5_MASK) /*!< Mute-Taste */ + + #define RC5_VOL_PLUS (0x1190 & RC5_MASK) /*!< Vol + Taste */ + #define RC5_VOL_MINUS (0x1191 & RC5_MASK) /*!< Vol - Taste */ + + #define RC5_CH_PLUS (0x11A0 & RC5_MASK) /*!< Ch + Taste */ + #define RC5_CH_MINUS (0x11A1 & RC5_MASK) /*!< Ch - Taste */ + + + #define RC5_CODE_UP RC5_CODE_STILL /*!< Taste Hoch */ + #define RC5_CODE_DOWN RC5_CODE_STOP /*!< Taste Runter */ + #define RC5_CODE_LEFT RC5_CODE_BWD /*!< Taste Links */ + #define RC5_CODE_RIGHT RC5_CODE_FWD /*!< Taste Rechts */ +#endif + +/*! + * Default-Fernbedienung + * HQ RC Univers 29, Geraetecode 335 + */ + +#ifdef RC_HAVE_HQ_RC_UNIVERS29_335 + #define RC5_CODE_PWR (0x100C & RC5_MASK) /*!< Taste An/Aus */ + + #define RC5_CODE_0 (0x1000 & RC5_MASK) /*!< Taste 0 /10*/ + #define RC5_CODE_1 (0x1001 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x1002 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x1003 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x1004 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x1005 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x1006 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x1007 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x1008 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x1009 & RC5_MASK) /*!< Taste 9 */ + #define RC5_CODE_11 (0x100A & RC5_MASK) /*!< Taste 11 /1-*/ + #define RC5_CODE_12 (0x1003 & RC5_MASK) /*!< Taste 12 /2-*/ + + #define RC5_CODE_GREEN (0x101E & RC5_MASK) /*!< Gruene Taste */ + #define RC5_CODE_RED (0x101D & RC5_MASK) /*!< Rote Taste */ + #define RC5_CODE_YELLOW (0x1027 & RC5_MASK) /*!< Gelbe Taste */ + #define RC5_CODE_BLUE (0x101C & RC5_MASK) /*!< Blaue Taste */ + + #define RC5_CODE_I_II (0x1023 & RC5_MASK) /*!< I/II-Taste */ + #define RC5_CODE_TV_VCR (0x1038 & RC5_MASK) /*!< TV/VCR-Taste */ + + #define RC5_CODE_DOT (0x1037 & RC5_MASK) /*!< Taste mit rundem Punkt */ + + #define RC5_CODE_PLAY (0x11B5 & RC5_MASK) /*!< PLAY-Taste */ + #define RC5_CODE_STILL (0x1029 & RC5_MASK) /*!< Pause Taste */ + #define RC5_CODE_STOP (0x1036 & RC5_MASK) /*!< Pause Taste */ + #define RC5_CODE_BWD (0x1032 & RC5_MASK) /*!< Backward Taste */ + #define RC5_CODE_FWD (0x1034 & RC5_MASK) /*!< Forward Taste */ + + #define RC5_CODE_CH_PC (0x100B & RC5_MASK) /*!< CH*P/C Taste */ + #define RC5_CODE_MUTE (0x003F & RC5_MASK) /*!< Mute-Taste */ + + #define RC5_VOL_PLUS (0x1010 & RC5_MASK) /*!< Vol + Taste */ + #define RC5_VOL_MINUS (0x1011 & RC5_MASK) /*!< Vol - Taste */ + + #define RC5_CH_PLUS (0x1020 & RC5_MASK) /*!< Ch + Taste */ + #define RC5_CH_MINUS (0x1021 & RC5_MASK) /*!< Ch - Taste */ + + + #define RC5_CODE_UP RC5_CODE_STILL /*!< Taste Hoch */ + #define RC5_CODE_DOWN RC5_CODE_STOP /*!< Taste Runter */ + #define RC5_CODE_LEFT RC5_CODE_BWD /*!< Taste Links */ + #define RC5_CODE_RIGHT RC5_CODE_FWD /*!< Taste Rechts */ +#endif + +/*! + * Fernbedienung Hauppauge (simple WinTV-Karten Fernbedienung) + */ + +#ifdef RC_HAVE_HAUPPAUGE_WINTV + #define RC_HAVE_CODES /*!< Definiert Codes */ + #undef JOG_DIAL /*!< Hat keinen Jog Dial */ + + #define RC5_CODE_0 (0x1000 & RC5_MASK) /*!< Taste 0 */ + #define RC5_CODE_1 (0x1001 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x1002 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x1003 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x1004 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x1005 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x1006 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x1007 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x1008 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x1009 & RC5_MASK) /*!< Taste 9 */ + + #define RC5_CODE_PWR (0x1026 & RC5_MASK) /*!< Taste Minimize */ + #define RC5_CODE_FULL (0x102E & RC5_MASK) /*!< Taste Full Screen */ + #define RC5_CODE_SOURCE (0x1022 & RC5_MASK) /*!< Taste Source */ + + #define RC5_CODE_UP (0x1020 & RC5_MASK) /*!< Taste CH + */ + #define RC5_CODE_DOWN (0x1021 & RC5_MASK) /*!< Taste CH - */ + #define RC5_CODE_LEFT (0x1011 & RC5_MASK) /*!< Taste VOL- */ + #define RC5_CODE_RIGHT (0x1010 & RC5_MASK) /*!< Taste VOL+ */ + + #define RC5_CODE_FWD RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + #define RC5_CODE_BWD RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + #define RC5_CODE_RED RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + #define RC5_CODE_GREEN RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + #define RC5_CODE_YELLOW RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + #define RC5_CODE_BLUE RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + + #define RC5_CODE_I_II RC5_CODE_SOURCE + #define RC5_CODE_TV_VCR RC5_CODE_FULL +#endif /* RC_HAVE_HAUPPAUGE_WINTV */ + +#ifdef RC_HAVE_HAUPPAUGE_MediaMPV + #define RC_HAVE_CODES /*!< Definiert Codes */ + #undef JOG_DIAL /*!< Hat keinen Jog Dial */ + + #define RC5_CODE_0 (0x17C0 & RC5_MASK) /*!< Taste 0 */ + #define RC5_CODE_1 (0x17C1 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x17C2 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x17C3 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x17C4 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x17C5 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x17C6 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x17C7 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x17C8 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x17C9 & RC5_MASK) /*!< Taste 9 */ + + #define RC5_CODE_SELECT RC5_NOT_AVAIL /*!< Taste Source */ + + #define RC5_CODE_UP (0x17E0 & RC5_MASK) /*!< Taste CH + */ + #define RC5_CODE_DOWN (0x17E1 & RC5_MASK) /*!< Taste CH - */ + #define RC5_CODE_LEFT (0x17D1 & RC5_MASK) /*!< Taste VOL- */ + #define RC5_CODE_RIGHT (0x17D0 & RC5_MASK) /*!< Taste VOL+ */ + + #define RC5_CODE_OK (0x17E5 & RC5_MASK) /*!< Taste OK */ + + #define RC5_CODE_PWR (0x17FD & RC5_MASK) /*!< Taste An/Aus */ + + #define RC5_CODE_RED (0x17CB & RC5_MASK) /*!< Taste Rot */ + #define RC5_CODE_GREEN (0x17EE & RC5_MASK) /*!< Taste Gruen */ + #define RC5_CODE_YELLOW (0x17F8 & RC5_MASK) /*!< Taste Gelb */ + #define RC5_CODE_BLUE (0x17E9 & RC5_MASK) /*!< Taste Blau */ + + #define RC5_CODE_FWD (0x17F4 & RC5_MASK) /*!< Taste >> */ + #define RC5_CODE_BWD (0x17F2 & RC5_MASK) /*!< Taste << */ + #define RC5_CODE_PLAY (0x17F5 & RC5_MASK) /*!< Taste > */ + #define RC5_CODE_RECORD (0x17F7 & RC5_MASK) /*!< Taste Aufnahme */ + #define RC5_CODE_STOP (0x17F6 & RC5_MASK) /*!< Taste Stop */ + #define RC5_CODE_WAIT (0x17F0 & RC5_MASK) /*!< Taste Pause */ + #define RC5_CODE_REPLAY (0x17E4 & RC5_MASK) /*!< Taste Anfang |< */ + #define RC5_CODE_SKIP (0x17DE & RC5_MASK) /*!< Taste Ende >| */ + + #define RC5_CODE_MUTE (0x17CF & RC5_MASK) /*!< Taste Mute */ + #define RC5_CODE_VIEW (0x17CC & RC5_MASK) /*!< Taste View zwischen Mute und Full */ + #define RC5_CODE_FULL (0x17FC & RC5_MASK) /*!< Taste Full */ + + #define RC5_CODE_BACK (0x17DF & RC5_MASK) /*!< Taste Back/Exit */ + #define RC5_CODE_MENU (0x17CD & RC5_MASK) /*!< Taste Menue */ + #define RC5_CODE_GO (0x17FB & RC5_MASK) /*!< Taste GO */ + + #define RC5_CODE_I_II RC5_CODE_SELECT + #define RC5_CODE_TV_VCR RC5_CODE_VIEW + #define RC5_CH_PLUS RC5_CODE_BWD /*!< Taste fuer Transprtfach schliessen */ + #define RC5_CH_MINUS RC5_CODE_FWD /*!< Taste fuer Transportfach oeffnen */ + +#endif /* RC_HAVE_HAUPPAUGE_MediaMPV */ + +/*! + * Fernbedienung Conrad Promo 8 + */ + +#ifdef RC_HAVE_CONRAD_PROMO8 + #define RC_HAVE_CODES /*!< Definiert Codes */ + #undef JOG_DIAL /*!< Hat keinen Jog Dial */ + + #define RC5_CODE_0 (0x3000 & RC5_MASK) /*!< Taste 0 */ + #define RC5_CODE_1 (0x3001 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x3002 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x3003 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x3004 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x3005 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x3006 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x3007 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x3008 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x3009 & RC5_MASK) /*!< Taste 9 */ + + #define RC5_CODE_UP (0x2010 & RC5_MASK) /*!< Taste Hoch */ + #define RC5_CODE_DOWN (0x2011 & RC5_MASK) /*!< Taste Runter */ + #define RC5_CODE_LEFT (0x2015 & RC5_MASK) /*!< Taste Links */ + #define RC5_CODE_RIGHT (0x2016 & RC5_MASK) /*!< Taste Rechts */ + + #define RC5_CODE_ENTER (0x2017 & RC5_MASK) /*!< Enter-Taste*/ + #define RC5_CODE_PWR (0x100C & RC5_MASK) /*!< Enter Taste als Ersatz fuer Taste An/Aus */ + + #define RC5_CODE_RED (0x202B & RC5_MASK) /*!< Rote Taste */ + #define RC5_CODE_GREEN (0x202C & RC5_MASK) /*!< Gruene Taste */ + #define RC5_CODE_YELLOW (0x202D & RC5_MASK) /*!< Gelbe Taste */ + #define RC5_CODE_BLUE (0x202E & RC5_MASK) /*!< Blaue Taste */ + #define RC5_CODE_VIEW (0x2012 & RC5_MASK) /*!< Instant View Taste */ + + + #define RC5_CODE_SELECT (0x300D & RC5_MASK) /*!< Select Taste */ + #define RC5_CODE_BWD (0x3011 & RC5_MASK) /*!< Backward Taste */ + #define RC5_CODE_FWD (0x3010 & RC5_MASK) /*!< Forward Taste */ + + #define RC5_CH_PLUS (0x1020 & RC5_MASK) /*!< Ch + Taste */ + #define RC5_CH_MINUS (0x1021 & RC5_MASK) /*!< Ch - Taste */ + + #define RC5_CODE_I_II RC5_CODE_SELECT + #define RC5_CODE_TV_VCR RC5_CODE_VIEW +#endif + +/*! + * Fernbedienung VIVANCO UR89, vor Verwendung auf VCR druecken + * @author Andreas Staudenmayer + */ +#ifdef RC_HAVE_VIVANCO_UR89 + #define RC_HAVE_CODES /*!< Definiert Codes */ + #undef JOG_DIAL /*!< Hat keinen Jog Dial */ + + #define RC5_CODE_0 (0x1140 & RC5_MASK) /*!< Taste 0 */ + #define RC5_CODE_1 (0x1141 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x1142 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x1143 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x1144 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x1145 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x1146 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x1147 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x1148 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x1149 & RC5_MASK) /*!< Taste 9 */ + + #define RC5_CODE_PWR (0x114C & RC5_MASK) /*!< Taste An, Aus */ + #define RC5_CODE_VIEW RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + #define RC5_CODE_SELECT RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + + #define RC5_CODE_UP (0x1160 & RC5_MASK) /*!< Taste Hoch */ + #define RC5_CODE_DOWN (0x1161 & RC5_MASK) /*!< Taste Runter */ + #define RC5_CODE_LEFT (0x0171 & RC5_MASK) /*!< Taste Links */ + #define RC5_CODE_RIGHT (0x0170 & RC5_MASK) /*!< Taste Rechts */ + + #define RC5_CODE_FWD RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + #define RC5_CODE_BWD RC5_NOT_AVAIL /*!< Taste nicht vorhanden */ + #define RC5_CODE_RED (0x1172 & RC5_MASK) /*!< rote Taste */ + #define RC5_CODE_GREEN (0x1176 & RC5_MASK) /*!< gruene Taste */ + #define RC5_CODE_YELLOW (0x1175 & RC5_MASK) /*!< gelbe Taste */ + #define RC5_CODE_BLUE (0x1174 & RC5_MASK) /*!< blaue Taste */ + + #define RC5_CODE_I_II RC5_CODE_SELECT + #define RC5_CODE_TV_VCR RC5_CODE_VIEW +#endif /* RC_HAVE_VIVANCO_UR89 */ + + +/*! + * Fernbedienung VIVANCO UR89, TV Modus (Alle Tasten funktionieren) + * vor Verwendung fuer TV den Code 089 auf der Fernbedienung programmieren + * @author Ulrich Scheffler + */ +#ifdef RC_HAVE_VIVANCO_UR89_TV_CODE_089 + #define RC_HAVE_CODES /*!< Definiert Codes */ + #undef JOG_DIAL /*!< Hat keinen Jog Dial */ + + #define RC5_NOT_AVAIL (0xFFFF) /*!< Code fuer Taste nicht vorhanden */ + /* Jede Taste bekommt erstmal die Bezeichnung, die aufgedruckt ist */ + #define RC5_CODE_PWR (0x100C & RC5_MASK) /*!< Taste An/Aus-Symbol (rot)*/ + #define RC5_CODE_MUTE (0x100D & RC5_MASK) /*!< Taste Mute-Symbol (gruen) */ + #define RC5_CODE_CH_PLUS (0x1020 & RC5_MASK) /*!< Taste CH + (blau) */ + #define RC5_CODE_CH_MINUS (0x1021 & RC5_MASK) /*!< Taste CH - (blau) */ + #define RC5_CODE_VOL_MINUS (0x1011 & RC5_MASK) /*!< Taste VOL - (blau) */ + #define RC5_CODE_VOL_PLUS (0x1010 & RC5_MASK) /*!< Taste VOL + (blau) */ + #define RC5_CODE_BOX_WITH_DOT (0x0017 & RC5_MASK) /*!< Taste Quadrat mit Punkt */ + #define RC5_CODE_TV_VCR (0x1038 & RC5_MASK) /*!< Taste TV/VCR (gleicher Code wie Taste A.B) */ + #define RC5_CODE_0 (0x1000 & RC5_MASK) /*!< Taste 0 */ + #define RC5_CODE_1 (0x1001 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x1002 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x1003 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x1004 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x1005 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x1006 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x1007 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x1008 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x1009 & RC5_MASK) /*!< Taste 9 */ + #define RC5_CODE_RETURN (0x1022 & RC5_MASK) /*!< Taste Return-Symbol (gleicher Code wie Taste EXIT) */ + #define RC5_CODE_A_DOT_B (0x1038 & RC5_MASK) /*!< Taste A.B (gleicher Code wie Taste TV/VCR) */ + #define RC5_CODE_WAIT (0x002F & RC5_MASK) /*!< Taste Pause-Symbol */ + #define RC5_CODE_GREEN (0x002C & RC5_MASK) /*!< Taste Gruen & Stop-Symbol */ + #define RC5_CODE_RECORD (0x102E & RC5_MASK) /*!< Taste Aufnahme-Symbol */ + #define RC5_CODE_BOX (0x103F & RC5_MASK) /*!< Taste Quadrat */ + #define RC5_CODE_RED (0x002B & RC5_MASK) /*!< Taste Rot & << */ + #define RC5_CODE_YELLOW (0x002D & RC5_MASK) /*!< Taste Gelb & > */ + #define RC5_CODE_BLUE (0x002E & RC5_MASK) /*!< Taste Blau & >> */ + #define RC5_CODE_BOX_WITH_3_EQUAL_LINES (0x103C & RC5_MASK) /*!< Taste Quadrat mit 3 gleichlangen Linien */ + #define RC5_CODE_GREEN_UP (0x0010 & RC5_MASK) /*!< Taste hoch (gruen) */ + #define RC5_CODE_GREEN_LEFT (0x0015 & RC5_MASK) /*!< Taste links (gruen) */ + #define RC5_CODE_GREEN_RIGHT (0x0016 & RC5_MASK) /*!< Taste rechts (gruen) */ + #define RC5_CODE_GREEN_DOWN (0x0011 & RC5_MASK) /*!< Taste runter (gruen) */ + #define RC5_CODE_BOX_WITH_BOX (0x1029 & RC5_MASK) /*!< Taste Quadrat mit innerem Rechteck und Pfeilen */ + #define RC5_CODE_BOX_WITH_3_UNEQUAL_LINES (0x102E & RC5_MASK) /*!< Taste Quadrat mit 3 ungleichlangen Linien */ + #define RC5_CODE_OK (0x1023 & RC5_MASK) /*!< Taste OK (gruen) */ + #define RC5_CODE_MENU (0x0012 & RC5_MASK) /*!< Taste MENU */ + #define RC5_CODE_EXIT (0x1022 & RC5_MASK) /*!< Taste EXIT (gleicher Code wie Taste Return) */ + + /* Vorhandene Tasten werden hier mit der Wunsch-Funktion belegt (Umwidmung)*/ + #define RC5_CODE_UP RC5_CODE_CH_PLUS /*!< Taste CH + wird genutzt fuer UP-Funktion */ + #define RC5_CODE_DOWN RC5_CODE_CH_MINUS /*!< Taste CH - wird genutzt fuer DOWN-Funktion */ + #define RC5_CODE_LEFT RC5_CODE_VOL_MINUS /*!< Taste VOL - wird genutzt fuer LEFT-Funktion */ + #define RC5_CODE_RIGHT RC5_CODE_VOL_PLUS /*!< Taste VOL + wird genutzt fuer RIGHT-Funktion */ + #define RC5_CODE_VIEW RC5_CODE_TV_VCR /*!< Taste TV/VCR & A.B werden genutzt fuer VIEW-Funktion*/ + #define RC5_CODE_SELECT RC5_CODE_RETURN /*!< Taste Return & Exit werden genutzt fuer SELECT-Funktion */ + #define RC5_CODE_BWD RC5_CODE_GREEN_LEFT /*!< Taste links (gruen) wird genutzt fuer BWD-Funktion (backward)*/ + #define RC5_CODE_FWD RC5_CODE_GREEN_RIGHT /*!< Taste rechts (gruen) wird genutzt fuer FWD-Funktion (forward)*/ + + #define RC5_CODE_I_II RC5_CODE_SELECT + #define RC5_CODE_TV_VCR RC5_CODE_VIEW +#endif /* RC_HAVE_VIVANCO_UR89_TV_CODE_089 */ + +/*! + * Fernbedienung Technisat_TTS35AI (Receiver Digit CIP) + * @author Joerg Bullmann + */ +#ifdef RC_HAVE_Technisat_TTS35AI + #define RC_HAVE_CODES /*!< Definiert Codes */ + #undef JOG_DIAL /*!< Hat keinen Jog Dial */ + + #define RC5_NOT_AVAIL (0xFFFF) /*!< Code fuer Taste nicht vorhanden */ + + #define RC5_CODE_0 (0x1289 & RC5_MASK) /*!< Taste 0 */ + #define RC5_CODE_1 (0x1281 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x1282 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x1283 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x1284 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x1285 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x1286 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x1287 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x1288 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x1289 & RC5_MASK) /*!< Taste 9 */ + + #define RC5_CODE_PWR (0x128C & RC5_MASK) /*!< Taste An, Aus */ + #define RC5_CODE_INFO (0x028F & RC5_MASK) /*!< Taste i */ + #define RC5_CODE_OK (0x0297 & RC5_MASK) /*!< Taste ok */ + + #define RC5_CODE_UP (0x12A0 & RC5_MASK) /*!< Taste Hoch */ + #define RC5_CODE_DOWN (0x12A1 & RC5_MASK) /*!< Taste Runter */ + #define RC5_CODE_LEFT (0x1291 & RC5_MASK) /*!< Taste Links */ + #define RC5_CODE_RIGHT (0x1290 & RC5_MASK) /*!< Taste Rechts */ + + #define RC5_CODE_TV (0x0293 & RC5_MASK) /*!< Taste TV */ + #define RC5_CODE_MENU (0x0292 & RC5_MASK) /*!< Taste Menu */ + #define RC5_CODE_RED (0x02AB & RC5_MASK) /*!< rote Taste */ + #define RC5_CODE_GREEN (0x02AC & RC5_MASK) /*!< gruene Taste */ + #define RC5_CODE_YELLOW (0x02AD & RC5_MASK) /*!< gelbe Taste */ + #define RC5_CODE_BLUE (0x02AE & RC5_MASK) /*!< blaue Taste */ + + #define RC5_CODE_FWD RC5_CODE_TV /*!< Taste TV - umgewidmet als FWD-Taste */ + #define RC5_CODE_BWD RC5_CODE_MENU /*!< Taste Menu - umgewidmet als BWD-Taste */ + #define RC5_CODE_TV_VCR RC5_CODE_INFO /*!< Taste INFO - umgewidmet als View-Taste */ + #define RC5_CODE_I_II RC5_CODE_OK /*!< Taste OK - umgewidmet als Select-Taste */ + +#endif /* RC_HAVE_Technisat_TTS35AI */ + +/*! + * Fernbedienung Lifetec LT3607 (aeltere, lernfaehige Medion-Fernbedienung) + */ +#ifdef RC_HAVE_LIFETEC_LT3607 + #define RC_HAVE_CODES /*!< Definiert Codes */ + #undef JOG_DIAL /*!< Hat keinen Jog Dial */ + + #define RC5_MASK (RC5_COMMAND) + #define RC5_NOT_AVAIL (0xFFFF) /*!< Code fuer Taste nicht vorhanden */ + + #define RC5_CODE_0 (0x3000 & RC5_MASK) /*!< Taste 0 */ + #define RC5_CODE_1 (0x3001 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x3002 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x3003 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x3004 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x3005 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x3006 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x3007 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x3008 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x3009 & RC5_MASK) /*!< Taste 9 */ + + #define RC5_CODE_PWR (0x300C & RC5_MASK) /*!< Taste Power */ + #define RC5_CODE_VIEW (0x303F & RC5_MASK) /*!< Taste OSD */ + #define RC5_CODE_SELECT (0x303C & RC5_MASK) /*!< Taste Videotext */ + #define RC5_CH_PLUS (0x3020 & RC5_MASK) /*!< Ch + Taste */ + #define RC5_CH_MINUS (0x3021 & RC5_MASK) /*!< Ch - Taste */ + + #define RC5_CODE_UP (0x3020 & RC5_MASK) /*!< Taste CH + */ + #define RC5_CODE_DOWN (0x3021 & RC5_MASK) /*!< Taste CH - */ + #define RC5_CODE_LEFT (0x3011 & RC5_MASK) /*!< Taste VOL- */ + #define RC5_CODE_RIGHT (0x3010 & RC5_MASK) /*!< Taste VOL+ */ + #define RC5_CODE_I_II (0x3038 & RC5_MASK) /*!< A/B-Taste */ + #define RC5_CODE_FWD (0x302B & RC5_MASK) /*!< Taste Mischbild */ + #define RC5_CODE_BWD (0x302E & RC5_MASK) /*!< Taste Ueberblenden */ + #define RC5_CODE_RED (0x3037 & RC5_MASK) /*!< Taste FRWD / Rot */ + #define RC5_CODE_GREEN (0x3036 & RC5_MASK) /*!< Taste STOP / Gruen */ + #define RC5_CODE_YELLOW (0x3032 & RC5_MASK) /*!< Taste PLAY / Gelb */ + #define RC5_CODE_BLUE (0x3034 & RC5_MASK) /*!< Taste FFWD / Blau */ + #define RC5_CODE_TV_VCR RC5_NOT_AVAIL +#endif /* RC_HAVE_LIFETEC_LT3607 */ + +/*! + * Default-Philips-Fernbedienung mit Jog-Dial-Rad + */ + +#ifdef RC_HAVE_DEFAULT /*!< Default RC5-Codes falls keine FB definiert wurde */ + + #undef JOG_DIAL + + #define RC5_CODE_0 (0x3940 & RC5_MASK) /*!< Taste 0 */ + #define RC5_CODE_1 (0x3941 & RC5_MASK) /*!< Taste 1 */ + #define RC5_CODE_2 (0x3942 & RC5_MASK) /*!< Taste 2 */ + #define RC5_CODE_3 (0x3943 & RC5_MASK) /*!< Taste 3 */ + #define RC5_CODE_4 (0x3944 & RC5_MASK) /*!< Taste 4 */ + #define RC5_CODE_5 (0x3945 & RC5_MASK) /*!< Taste 5 */ + #define RC5_CODE_6 (0x3946 & RC5_MASK) /*!< Taste 6 */ + #define RC5_CODE_7 (0x3947 & RC5_MASK) /*!< Taste 7 */ + #define RC5_CODE_8 (0x3948 & RC5_MASK) /*!< Taste 8 */ + #define RC5_CODE_9 (0x3949 & RC5_MASK) /*!< Taste 9 */ + + #define RC5_CODE_UP (0x2950 & RC5_MASK) /*!< Taste Hoch */ + #define RC5_CODE_DOWN (0x2951 & RC5_MASK) /*!< Taste Runter */ + #define RC5_CODE_LEFT (0x2955 & RC5_MASK) /*!< Taste Links */ + #define RC5_CODE_RIGHT (0x2956 & RC5_MASK) /*!< Taste Rechts */ + + #define RC5_CODE_PWR (0x394C & RC5_MASK) /*!< Taste An/Aus */ + + #define RC5_CODE_RED (0x100B & RC5_MASK) /*!< Rote Taste */ + #define RC5_CODE_GREEN (0x102E & RC5_MASK) /*!< Gruene Taste */ + #define RC5_CODE_YELLOW (0x1038 & RC5_MASK) /*!< Gelbe Taste */ + #define RC5_CODE_BLUE (0x1029 & RC5_MASK) /*!< Blaue Taste */ + #define RC5_CODE_VIEW (0x000F & RC5_MASK) /*!< Instant View Taste */ + + #define RC5_CODE_SELECT (0x100B & RC5_MASK) /*!< Select Taste */ + + #define RC5_CODE_BWD (0x1025 & RC5_MASK) /*!< Backward Taste */ + #define RC5_CODE_FWD (0x1026 & RC5_MASK) /*!< Forward Taste */ + + #define RC5_CODE_I_II RC5_CODE_SELECT + #define RC5_CODE_TV_VCR RC5_CODE_VIEW + + #define RC5_CH_PLUS RC5_NOT_AVAIL /*!< Ch + Taste */ + #define RC5_CH_MINUS RC5_NOT_AVAIL /*!< Ch - Taste */ + + #ifdef JOG_DIAL + /* Jogdial geht nur inkl. Adresscode */ + #undef RC5_MASK + #define RC5_MASK (RC5_COMMAND | RC5_ADDRESS) + + #define RC5_CODE_JOG_MID (0x3969 & RC5_MASK) /*!< Taste Jog-Dial Mitte */ + #define RC5_CODE_JOG_L1 (0x3962 & RC5_MASK) /*!< Taste Jog-Dial Links 1 */ + #define RC5_CODE_JOG_L2 (0x396F & RC5_MASK) /*!< Taste Jog-Dial Links 2 */ + #define RC5_CODE_JOG_L3 (0x395F & RC5_MASK) /*!< Taste Jog-Dial Links 3 */ + #define RC5_CODE_JOG_L4 (0x3A6C & RC5_MASK) /*!< Taste Jog-Dial Links 4 */ + #define RC5_CODE_JOG_L5 (0x3A6B & RC5_MASK) /*!< Taste Jog-Dial Links 5 */ + #define RC5_CODE_JOG_L6 (0x396C & RC5_MASK) /*!< Taste Jog-Dial Links 6 */ + #define RC5_CODE_JOG_L7 (0x3A6A & RC5_MASK) /*!< Taste Jog-Dial Links 7 */ + + #define RC5_CODE_JOG_R1 (0x3968 & RC5_MASK) /*!< Taste Jog-Dial Rechts 1 */ + #define RC5_CODE_JOG_R2 (0x3975 & RC5_MASK) /*!< Taste Jog-Dial Rechts 2 */ + #define RC5_CODE_JOG_R3 (0x396A & RC5_MASK) /*!< Taste Jog-Dial Rechts 3 */ + #define RC5_CODE_JOG_R4 (0x3A6D & RC5_MASK) /*!< Taste Jog-Dial Rechts 4 */ + #define RC5_CODE_JOG_R5 (0x3A6E & RC5_MASK) /*!< Taste Jog-Dial Rechts 5 */ + #define RC5_CODE_JOG_R6 (0x396E & RC5_MASK) /*!< Taste Jog-Dial Rechts 6 */ + #define RC5_CODE_JOG_R7 (0x3A6F & RC5_MASK) /*!< Taste Jog-Dial Rechts 7 */ + #endif /* JOG_DIAL */ + +#endif /* !RC_HAVE_CODES */ + +#endif /* RC5CODE_H_ */ -- cgit v1.2.3