]> cloudbase.mooo.com Git - irmp.git/blobdiff - irmp.h
Version 2.1.2:
[irmp.git] / irmp.h
diff --git a/irmp.h b/irmp.h
index b694e26342ffbd99880a5037932c001a66ff98d6..1e54f2c80fd0d1d6b80622fcbdfe9d3fd9c3d2e2 100644 (file)
--- a/irmp.h
+++ b/irmp.h
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2009-2011 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmp.h,v 1.65 2011/09/08 13:22:16 fm Exp $\r
+ * $Id: irmp.h,v 1.72 2012/02/24 14:24:27 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
 #ifndef _WC_IRMP_H_\r
 #define _WC_IRMP_H_\r
 \r
+#if defined(__18CXX)                                                        // Microchip C18 declaration of missing typedef\r
+typedef unsigned char                           uint8_t;\r
+typedef unsigned int                            uint16_t;\r
+#endif //Microchip C18\r
+\r
 /*---------------------------------------------------------------------------------------------------------------------------------------------------\r
  * timing constants:\r
  *---------------------------------------------------------------------------------------------------------------------------------------------------\r
  */\r
-#define IRMP_TIMEOUT_TIME                       16500.0e-6                  // timeout after 16.5 ms darkness\r
-#define IRMP_TIMEOUT_TIME_MS                    16500L                      // timeout after 16.5 ms darkness\r
+// fm 22.09.2011: may not be more than 16000L, otherwise some JVC codes will not be accepted\r
+#define IRMP_TIMEOUT_TIME                       15500.0e-6                  // timeout after 15.5 ms darkness\r
+#define IRMP_TIMEOUT_TIME_MS                    15500L                      // timeout after 15.5 ms darkness\r
 \r
 #if IRMP_SUPPORT_NIKON_PROTOCOL == 1\r
 #define IRMP_TIMEOUT_NIKON_TIME                 29500.0e-6                  // 2nd timeout after 29.5 ms darkness (only for NIKON!)\r
@@ -130,8 +136,9 @@ typedef uint8_t     PAUSE_LEN;
 #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_1_PAUSE_TIME                    1650.0e-6                       // 1650 usec pause\r
+#define SAMSUNG_0_PAUSE_TIME                     550.0e-6                       //  550 usec pause\r
+\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
@@ -147,9 +154,9 @@ typedef uint8_t     PAUSE_LEN;
 #define SAMSUNG32_COMMAND_OFFSET                16                              // skip 16 bits\r
 #define SAMSUNG32_COMMAND_LEN                   16                              // read 16 command bits\r
 #define SAMSUNG32_COMPLETE_DATA_LEN             32                              // complete length\r
-#define SAMSUNG32_FRAMES                        2                               // SAMSUNG32 sends each frame 2 times\r
+#define SAMSUNG32_FRAMES                        1                               // SAMSUNG32 sends each frame 1 times\r
 #define SAMSUNG32_AUTO_REPETITION_PAUSE_TIME    47.0e-3                         // repetition after 47 ms\r
-#define SAMSUNG32_FRAME_REPEAT_PAUSE_TIME       47.0e-3                         // frame repeat after 40ms\r
+#define SAMSUNG32_FRAME_REPEAT_PAUSE_TIME       47.0e-3                         // frame repeat after 47ms\r
 \r
 #define MATSUSHITA_START_BIT_PULSE_TIME         3488.0e-6                       // 3488 usec pulse\r
 #define MATSUSHITA_START_BIT_PAUSE_TIME         3488.0e-6                       // 3488 usec pause\r
@@ -304,7 +311,7 @@ typedef uint8_t     PAUSE_LEN;
 #define GRUNDIG_NOKIA_IR60_FLAGS                (IRMP_PARAM_FLAG_IS_MANCHESTER | IRMP_PARAM_FLAG_1ST_PULSE_IS_1)  // flags\r
 \r
 #define GRUNDIG_FRAMES                          2                               // GRUNDIG sends each frame 1+1 times\r
-#define GRUNDIG_AUTO_REPETITION_PAUSE_TIME        20.0e-3                       // repetition after 20ms\r
+#define GRUNDIG_AUTO_REPETITION_PAUSE_TIME      20.0e-3                         // repetition after 20ms\r
 #define GRUNDIG_ADDRESS_OFFSET                  0                               // no address\r
 #define GRUNDIG_ADDRESS_LEN                     0                               // no address\r
 #define GRUNDIG_COMMAND_OFFSET                  1                               // skip 1 start bit\r
@@ -312,13 +319,15 @@ typedef uint8_t     PAUSE_LEN;
 #define GRUNDIG_COMPLETE_DATA_LEN               10                              // complete length: 1 start bit + 9 data bits\r
 \r
 #define NOKIA_FRAMES                            3                               // NOKIA sends each frame 1 + 1 + 1 times\r
-#define NOKIA_AUTO_REPETITION_PAUSE_TIME          20.0e-3                       // repetition after 20ms\r
+#define NOKIA_AUTO_REPETITION_PAUSE_TIME        20.0e-3                         // repetition after 20ms\r
 #define NOKIA_ADDRESS_OFFSET                    9                               // skip 9 bits (1 start bit + 8 data bits)\r
 #define NOKIA_ADDRESS_LEN                       8                               // 7 address bits\r
 #define NOKIA_COMMAND_OFFSET                    1                               // skip 1 bit (1 start bit)\r
 #define NOKIA_COMMAND_LEN                       8                               // read 8 command bits\r
 #define NOKIA_COMPLETE_DATA_LEN                 17                              // complete length: 1 start bit + 8 address bits + 8 command bits\r
 \r
+#define IR60_FRAMES                             2                               // IR60 sends each frame 1+1 times\r
+#define IR60_AUTO_REPETITION_PAUSE_TIME         22.2e-3                         // repetition after 22.2ms\r
 #define IR60_TIMEOUT_TIME                       5000.0e-6                       // timeout grundig frame, switch to IR60\r
 #define IR60_ADDRESS_OFFSET                     0                               // skip 1 bits\r
 #define IR60_ADDRESS_LEN                        0                               // read 0 address bits\r