*\r
* Copyright (c) 2009-2010 Frank Meyer - frank(at)fli4l.de\r
*\r
- * $Id: irmp.h,v 1.41 2010/08/18 12:03:26 fm Exp $\r
+ * $Id: irmp.h,v 1.43 2010/08/31 15:22:24 fm Exp $\r
*\r
* ATMEGA88 @ 8 MHz\r
*\r
{\r
#endif\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
+\r
+#if (F_INTERRUPTS * IRMP_TIMEOUT_TIME_MS) / 1000000 >= 254\r
+typedef uint16_t PAUSE_LEN;\r
+#else\r
+typedef uint8_t PAUSE_LEN;\r
+#endif\r
+\r
+#define IRMP_TIMEOUT_LEN (PAUSE_LEN)(F_INTERRUPTS * IRMP_TIMEOUT_TIME + 0.5)\r
+\r
/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
* IR protocols\r
*---------------------------------------------------------------------------------------------------------------------------------------------------\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_RC6A_PROTOCOL 21 // RC6A, e.g. Kathrein, XBOX\r
\r
// some flags of struct IRMP_PARAMETER:\r
#define IRMP_PARAM_FLAG_IS_MANCHESTER 0x01\r
#define JVC_PULSE_TIME 560.0e-6 // 560 usec pulse\r
#define JVC_1_PAUSE_TIME 1690.0e-6 // 1690 usec pause\r
#define JVC_0_PAUSE_TIME 560.0e-6 // 560 usec pause\r
-#define JVC_FRAME_REPEAT_PAUSE_TIME 25.0e-3 // frame repeat after 25ms\r
+#define JVC_FRAME_REPEAT_PAUSE_TIME 22.0e-3 // frame repeat after 22ms\r
#define JVC_ADDRESS_OFFSET 0 // skip 0 bits\r
#define JVC_ADDRESS_LEN 4 // read 4 address bits\r
#define JVC_COMMAND_OFFSET 4 // skip 4 bits\r