]> cloudbase.mooo.com Git - irmp.git/blobdiff - irmp.h
version 2.0.0-pre1: added NEC42 protocol
[irmp.git] / irmp.h
diff --git a/irmp.h b/irmp.h
index 5e0009226afc955f331c0d76d96265a37a0a48cd..b1235874a5f7d7ccaaa18a0075d4cdd795466f6b 100644 (file)
--- a/irmp.h
+++ b/irmp.h
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2009-2010 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmp.h,v 1.58 2011/02/25 15:24:06 fm Exp $\r
+ * $Id: irmp.h,v 1.59 2011/03/10 12:29:14 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
@@ -67,14 +67,15 @@ typedef uint8_t     PAUSE_LEN;
 #define IRMP_SIEMENS_PROTOCOL                   17              // Siemens, e.g. Gigaset\r
 #define IRMP_FDC_PROTOCOL                       18              // FDC keyboard\r
 #define IRMP_RCCAR_PROTOCOL                     19              // RC Car\r
-#define IRMP_JVC_PROTOCOL                       20              // JVC\r
+#define IRMP_JVC_PROTOCOL                       20              // JVC (NEC with 16 bits)\r
 #define IRMP_RC6A_PROTOCOL                      21              // RC6A, e.g. Kathrein, XBOX\r
 #define IRMP_NIKON_PROTOCOL                     22              // Nikon\r
 #define IRMP_RUWIDO_PROTOCOL                    23              // Ruwido, e.g. T-Home Mediareceiver\r
 #define IRMP_IR60_PROTOCOL                      24              // IR60 (SAB2008)\r
 #define IRMP_KATHREIN_PROTOCOL                  25              // Kathrein\r
 #define IRMP_NETBOX_PROTOCOL                    26              // Netbox keyboard (bitserial)\r
-#define IRMP_NEC16_PROTOCOL                     27              // NEC with 16 bits\r
+#define IRMP_NEC16_PROTOCOL                     27              // NEC with 16 bits (incl. sync)\r
+#define IRMP_NEC42_PROTOCOL                     28              // NEC with 42 bits\r
 #define IRMP_IMON_PROTOCOL                      99              // Imon (bitserial) PROTOTYPE!\r
 \r
 // some flags of struct IRMP_PARAMETER:\r
@@ -116,21 +117,24 @@ typedef uint8_t     PAUSE_LEN;
 #define NEC_LSB                                 1                               // LSB...MSB\r
 #define NEC_FLAGS                               0                               // flags\r
 \r
+#define NEC42_ADDRESS_OFFSET                    0                               // skip 0 bits\r
+#define NEC42_ADDRESS_LEN                      13                               // read 13 address bits\r
+#define NEC42_COMMAND_OFFSET                   26                               // skip 26 bits (2 x 13 address bits)\r
+#define NEC42_COMMAND_LEN                       8                               // read 8 command bits\r
+#define NEC42_COMPLETE_DATA_LEN                42                               // complete length (2 x 13 + 2 x 8)\r
+\r
 #define NEC16_ADDRESS_OFFSET                    0                               // skip 0 bits\r
 #define NEC16_ADDRESS_LEN                       8                               // read 8 address bits\r
 #define NEC16_COMMAND_OFFSET                    8                               // skip 8 bits (8 address)\r
 #define NEC16_COMMAND_LEN                       8                               // read 8 bits (8 command)\r
 #define NEC16_COMPLETE_DATA_LEN                 16                              // complete length\r
-#define NEC16_STOP_BIT                          1                               // has stop bit\r
-#define NEC16_LSB                               1                               // LSB...MSB\r
-#define NEC16_FLAGS                             0                               // flags\r
 \r
 #define SAMSUNG_START_BIT_PULSE_TIME            4500.0e-6                       // 4500 usec pulse\r
 #define SAMSUNG_START_BIT_PAUSE_TIME            4500.0e-6                       // 4500 usec pause\r
 #define SAMSUNG_PULSE_TIME                       550.0e-6                       //  550 usec pulse\r
 #define SAMSUNG_1_PAUSE_TIME                    1450.0e-6                       // 1450 usec pause\r
 #define SAMSUNG_0_PAUSE_TIME                     450.0e-6                       //  450 usec pause\r
-#define SAMSUNG_FRAME_REPEAT_PAUSE_TIME           45.0e-3                       // frame repeat after 45ms\r
+#define SAMSUNG_FRAME_REPEAT_PAUSE_TIME           25.0e-3                       // frame repeat after 25ms\r
 #define SAMSUNG_ADDRESS_OFFSET                   0                              // skip 0 bits\r
 #define SAMSUNG_ADDRESS_LEN                     16                              // read 16 address bits\r
 #define SAMSUNG_ID_OFFSET                       17                              // skip 16 + 1 sync bit\r