]> cloudbase.mooo.com Git - irmp.git/blobdiff - irmpprotocols.h
Version 2.4.0:
[irmp.git] / irmpprotocols.h
index 3b8484feadaa5d35c9a14ce1ad5b32bcd0fb2540..f97a701dfbcd154f09e34ff575e93f04c87bba24 100644 (file)
@@ -5,7 +5,7 @@
  *\r
  * Copyright (c) 2013 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmpprotocols.h,v 1.14 2013/04/09 11:59:12 fm Exp $\r
+ * $Id: irmpprotocols.h,v 1.17 2014/02/20 14:55:17 fm Exp $\r
  *\r
  * This program is free software; you can redistribute it and/or modify\r
  * it under the terms of the GNU General Public License as published by\r
 #define IRMP_ORTEK_PROTOCOL                     33              // ORTEK - Hama\r
 #define IRMP_TELEFUNKEN_PROTOCOL                34              // Telefunken (1560)\r
 #define IRMP_ROOMBA_PROTOCOL                    35              // iRobot Roomba vacuum cleaner\r
+#define IRMP_RCMM32_PROTOCOL                    36              // Fujitsu-Siemens (Activy remote control)\r
+#define IRMP_RCMM24_PROTOCOL                    37              // Fujitsu-Siemens (Activy keyboard)\r
+#define IRMP_RCMM12_PROTOCOL                    38              // Fujitsu-Siemens (Activy keyboard)\r
 \r
-#define IRMP_N_PROTOCOLS                        35              // number of supported protocols\r
+#define IRMP_N_PROTOCOLS                        38              // number of supported protocols\r
 \r
 /*---------------------------------------------------------------------------------------------------------------------------------------------------\r
  * timing constants:\r
@@ -681,7 +684,34 @@ typedef uint8_t     PAUSE_LEN;
 #define ROOMBA_STOP_BIT                         0                               // has stop bit\r
 #define ROOMBA_LSB                              0                               // MSB...LSB\r
 #define ROOMBA_FLAGS                            0                               // flags\r
+#define ROOMBA_FRAMES                           8                               // ROOMBA sends 8 frames (this is a lie, but more comfortable)\r
 \r
+/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ * RC-MM (32, 24, or 12 bit)\r
+ *---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ */\r
+#define RCMM32_START_BIT_PULSE_TIME              500.0e-6                       // 500 usec pulse\r
+#define RCMM32_START_BIT_PAUSE_TIME              220.0e-6                       // 220 usec pause\r
+#define RCMM32_PULSE_TIME                        230.0e-6                       // 230 usec pulse\r
+#define RCMM32_00_PAUSE_TIME                     220.0e-6                       // 220 usec pause\r
+#define RCMM32_01_PAUSE_TIME                     380.0e-6                       // 380 usec pause\r
+#define RCMM32_10_PAUSE_TIME                     550.0e-6                       // 550 usec pause\r
+#define RCMM32_11_PAUSE_TIME                     720.0e-6                       // 720 usec pause\r
+\r
+#define RCMM32_FRAME_REPEAT_PAUSE_TIME            80.0e-3                       // frame repeat after 80 ms\r
+#define RCMM32_ADDRESS_OFFSET                    0                              // skip 0 bits\r
+#define RCMM32_ADDRESS_LEN                      16                              // read 16 address bits\r
+#define RCMM32_COMMAND_OFFSET                   17                              // skip 17 bits\r
+#define RCMM32_COMMAND_LEN                      15                              // read 15 bits\r
+#define RCMM32_COMPLETE_DATA_LEN                32                              // complete length\r
+#define RCMM32_STOP_BIT                         1                               // has stop bit\r
+#define RCMM32_LSB                              0                               // LSB...MSB\r
+#define RCMM32_FLAGS                            0                               // flags\r
+\r
+/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ * Frame Repetitions:\r
+ *---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ */\r
 #define AUTO_FRAME_REPETITION_TIME              80.0e-3                         // SIRCS/SAMSUNG32/NUBERT: automatic repetition after 25-50ms\r
 \r
 #endif // _IRMP_PROTOCOLS_H_\r