]> cloudbase.mooo.com Git - irmp.git/commitdiff
Removed support for IMON & Merlin keyboards
authorukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Mon, 12 Sep 2011 08:31:58 +0000 (08:31 +0000)
committerukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Mon, 12 Sep 2011 08:31:58 +0000 (08:31 +0000)
git-svn-id: svn://mikrocontroller.net/irmp@78 aeb2e35e-bfc4-4214-b83c-9e8de998ed28

irmp.c
irmp.h
irmpconfig.h

diff --git a/irmp.c b/irmp.c
index db87cc3ad6ad7cca69d659f6916afd5ca193e61d..13e7a1e701ee4c6c0b3f9f3f5ca9d53b67ad343f 100644 (file)
--- a/irmp.c
+++ b/irmp.c
@@ -373,9 +373,7 @@ typedef unsigned int16  uint16_t;
 #define IRMP_SUPPORT_MANCHESTER                 0\r
 #endif\r
 \r
-#if IRMP_SUPPORT_NETBOX_PROTOCOL == 1 ||                \\r
-    IRMP_SUPPORT_MERLIN_PROTOCOL == 1 ||                \\r
-    IRMP_SUPPORT_IMON_PROTOCOL == 1 \r
+#if IRMP_SUPPORT_NETBOX_PROTOCOL == 1\r
 #define IRMP_SUPPORT_SERIAL                     1\r
 #else\r
 #define IRMP_SUPPORT_SERIAL                     0\r
@@ -683,24 +681,6 @@ typedef unsigned int16  uint16_t;
 #define LEGO_0_PAUSE_LEN_MIN                    ((uint8_t)(F_INTERRUPTS * LEGO_0_PAUSE_TIME * MIN_TOLERANCE_40 + 0.5) - 1)\r
 #define LEGO_0_PAUSE_LEN_MAX                    ((uint8_t)(F_INTERRUPTS * LEGO_0_PAUSE_TIME * MAX_TOLERANCE_40 + 0.5) + 1)\r
 \r
-#define MERLIN_START_BIT_PULSE_LEN_MIN          ((uint8_t)(F_INTERRUPTS * MERLIN_START_BIT_PULSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
-#define MERLIN_START_BIT_PULSE_LEN_MAX          ((uint8_t)(F_INTERRUPTS * MERLIN_START_BIT_PULSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
-#define MERLIN_START_BIT_PAUSE_LEN_MIN          ((uint8_t)(F_INTERRUPTS * MERLIN_START_BIT_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
-#define MERLIN_START_BIT_PAUSE_LEN_MAX          ((uint8_t)(F_INTERRUPTS * MERLIN_START_BIT_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
-#define MERLIN_PULSE_LEN                        ((uint8_t)(F_INTERRUPTS * MERLIN_PULSE_TIME))\r
-#define MERLIN_PAUSE_LEN                        ((uint8_t)(F_INTERRUPTS * MERLIN_PAUSE_TIME))\r
-#define MERLIN_PULSE_REST_LEN                   ((uint8_t)(F_INTERRUPTS * MERLIN_PULSE_TIME / 4))\r
-#define MERLIN_PAUSE_REST_LEN                   ((uint8_t)(F_INTERRUPTS * MERLIN_PAUSE_TIME / 4))\r
-\r
-#define IMON_START_BIT_PULSE_LEN_MIN            ((uint8_t)(F_INTERRUPTS * IMON_START_BIT_PULSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
-#define IMON_START_BIT_PULSE_LEN_MAX            ((uint8_t)(F_INTERRUPTS * IMON_START_BIT_PULSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
-#define IMON_START_BIT_PAUSE_LEN_MIN            ((uint8_t)(F_INTERRUPTS * IMON_START_BIT_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
-#define IMON_START_BIT_PAUSE_LEN_MAX            ((uint8_t)(F_INTERRUPTS * IMON_START_BIT_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
-#define IMON_PULSE_LEN                          ((uint8_t)(F_INTERRUPTS * IMON_PULSE_TIME))\r
-#define IMON_PAUSE_LEN                          ((uint8_t)(F_INTERRUPTS * IMON_PAUSE_TIME))\r
-#define IMON_PULSE_REST_LEN                     ((uint8_t)(F_INTERRUPTS * IMON_PULSE_TIME / 4))\r
-#define IMON_PAUSE_REST_LEN                     ((uint8_t)(F_INTERRUPTS * IMON_PAUSE_TIME / 4))\r
-\r
 #define AUTO_FRAME_REPETITION_LEN               (uint16_t)(F_INTERRUPTS * AUTO_FRAME_REPETITION_TIME + 0.5)       // use uint16_t!\r
 \r
 #ifdef ANALYZE\r
@@ -760,8 +740,7 @@ irmp_protocol_names[IRMP_N_PROTOCOLS + 1] =
     "NEC16",\r
     "NEC42",\r
     "LEGO",\r
-    "THOMSON",\r
-    "MERLIN"\r
+    "THOMSON"\r
 };\r
 #endif\r
 \r
@@ -1504,31 +1483,6 @@ static const PROGMEM IRMP_PARAMETER lego_param =
 \r
 #endif\r
 \r
-#if IRMP_SUPPORT_MERLIN_PROTOCOL == 1\r
-\r
-static const PROGMEM IRMP_PARAMETER merlin_param =\r
-{\r
-    IRMP_MERLIN_PROTOCOL,                                               // protocol:        ir protocol\r
-    MERLIN_PULSE_LEN,                                                   // pulse_1_len_min: minimum length of pulse with bit value 1, here: exact value\r
-    MERLIN_PULSE_REST_LEN,                                              // pulse_1_len_max: maximum length of pulse with bit value 1, here: rest value\r
-    MERLIN_PAUSE_LEN,                                                   // pause_1_len_min: minimum length of pause with bit value 1, here: exact value\r
-    MERLIN_PAUSE_REST_LEN,                                              // pause_1_len_max: maximum length of pause with bit value 1, here: rest value\r
-    MERLIN_PULSE_LEN,                                                   // pulse_0_len_min: minimum length of pulse with bit value 0, here: exact value\r
-    MERLIN_PULSE_REST_LEN,                                              // pulse_0_len_max: maximum length of pulse with bit value 0, here: rest value\r
-    MERLIN_PAUSE_LEN,                                                   // pause_0_len_min: minimum length of pause with bit value 0, here: exact value\r
-    MERLIN_PAUSE_REST_LEN,                                              // pause_0_len_max: maximum length of pause with bit value 0, here: rest value\r
-    MERLIN_ADDRESS_OFFSET,                                              // address_offset:  address offset\r
-    MERLIN_ADDRESS_OFFSET + MERLIN_ADDRESS_LEN,                         // address_end:     end of address\r
-    MERLIN_COMMAND_OFFSET,                                              // command_offset:  command offset\r
-    MERLIN_COMMAND_OFFSET + MERLIN_COMMAND_LEN,                         // command_end:     end of command\r
-    MERLIN_COMPLETE_DATA_LEN,                                           // complete_len:    complete length of frame\r
-    MERLIN_STOP_BIT,                                                    // stop_bit:        flag: frame has stop bit\r
-    MERLIN_LSB,                                                         // lsb_first:       flag: LSB first\r
-    MERLIN_FLAGS                                                        // flags:           some flags\r
-};\r
-\r
-#endif\r
-\r
 #if IRMP_SUPPORT_THOMSON_PROTOCOL == 1\r
 \r
 static const PROGMEM IRMP_PARAMETER thomson_param =\r
@@ -1554,31 +1508,6 @@ static const PROGMEM IRMP_PARAMETER thomson_param =
 \r
 #endif\r
 \r
-#if IRMP_SUPPORT_IMON_PROTOCOL == 1\r
-\r
-static const PROGMEM IRMP_PARAMETER imon_param =\r
-{\r
-    IRMP_IMON_PROTOCOL,                                                 // protocol:        ir protocol\r
-    IMON_PULSE_LEN,                                                     // pulse_1_len_min: minimum length of pulse with bit value 1\r
-    IMON_PULSE_REST_LEN,                                                // pulse_1_len_max: maximum length of pulse with bit value 1\r
-    IMON_PAUSE_LEN,                                                     // pause_1_len_min: minimum length of pause with bit value 1\r
-    IMON_PAUSE_REST_LEN,                                                // pause_1_len_max: maximum length of pause with bit value 1\r
-    IMON_PULSE_LEN,                                                     // pulse_0_len_min: minimum length of pulse with bit value 0\r
-    IMON_PULSE_REST_LEN,                                                // pulse_0_len_max: maximum length of pulse with bit value 0\r
-    IMON_PAUSE_LEN,                                                     // pause_0_len_min: minimum length of pause with bit value 0\r
-    IMON_PAUSE_REST_LEN,                                                // pause_0_len_max: maximum length of pause with bit value 0\r
-    IMON_ADDRESS_OFFSET,                                                // address_offset:  address offset\r
-    IMON_ADDRESS_OFFSET + IMON_ADDRESS_LEN,                             // address_end:     end of address\r
-    IMON_COMMAND_OFFSET,                                                // command_offset:  command offset\r
-    IMON_COMMAND_OFFSET + IMON_COMMAND_LEN,                             // command_end:     end of command\r
-    IMON_COMPLETE_DATA_LEN,                                             // complete_len:    complete length of frame\r
-    IMON_STOP_BIT,                                                      // stop_bit:        flag: frame has stop bit\r
-    IMON_LSB,                                                           // lsb_first:       flag: LSB first\r
-    IMON_FLAGS                                                          // flags:           some flags\r
-};\r
-\r
-#endif\r
-\r
 static uint8_t                              irmp_bit;                   // current bit position\r
 static IRMP_PARAMETER                       irmp_param;\r
 \r
@@ -2399,18 +2328,6 @@ irmp_ISR (void)
                     else\r
 #endif // IRMP_SUPPORT_NETBOX_PROTOCOL == 1\r
 \r
-#if IRMP_SUPPORT_MERLIN_PROTOCOL == 1\r
-                    if (irmp_pulse_time >= MERLIN_START_BIT_PULSE_LEN_MIN && irmp_pulse_time <= MERLIN_START_BIT_PULSE_LEN_MAX &&\r
-                        irmp_pause_time >= MERLIN_START_BIT_PAUSE_LEN_MIN && irmp_pause_time <= MERLIN_START_BIT_PAUSE_LEN_MAX)\r
-                    {                                                           // it's MERLIN\r
-                        ANALYZE_PRINTF ("protocol = MERLIN, start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n",\r
-                                        MERLIN_START_BIT_PULSE_LEN_MIN, MERLIN_START_BIT_PULSE_LEN_MAX,\r
-                                        MERLIN_START_BIT_PAUSE_LEN_MIN, MERLIN_START_BIT_PAUSE_LEN_MAX);\r
-                        irmp_param_p = (IRMP_PARAMETER *) &merlin_param;\r
-                    }\r
-                    else\r
-#endif // IRMP_SUPPORT_MERLIN_PROTOCOL == 1\r
-\r
 #if IRMP_SUPPORT_LEGO_PROTOCOL == 1\r
                     if (irmp_pulse_time >= LEGO_START_BIT_PULSE_LEN_MIN && irmp_pulse_time <= LEGO_START_BIT_PULSE_LEN_MAX &&\r
                         irmp_pause_time >= LEGO_START_BIT_PAUSE_LEN_MIN && irmp_pause_time <= LEGO_START_BIT_PAUSE_LEN_MAX)\r
@@ -2423,18 +2340,6 @@ irmp_ISR (void)
                     else\r
 #endif // IRMP_SUPPORT_NEC_PROTOCOL == 1\r
 \r
-#if IRMP_SUPPORT_IMON_PROTOCOL == 1\r
-                    if (irmp_pulse_time >= IMON_START_BIT_PULSE_LEN_MIN && irmp_pulse_time <= IMON_START_BIT_PULSE_LEN_MAX &&\r
-                        irmp_pause_time >= IMON_START_BIT_PAUSE_LEN_MIN && irmp_pause_time <= IMON_START_BIT_PAUSE_LEN_MAX)\r
-                    {                                                           // it's IMON\r
-                        ANALYZE_PRINTF ("protocol = IMON, start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n",\r
-                                        IMON_START_BIT_PULSE_LEN_MIN, IMON_START_BIT_PULSE_LEN_MAX,\r
-                                        IMON_START_BIT_PAUSE_LEN_MIN, IMON_START_BIT_PAUSE_LEN_MAX);\r
-                        irmp_param_p = (IRMP_PARAMETER *) &imon_param;\r
-                    }\r
-                    else\r
-#endif // IRMP_SUPPORT_IMON_PROTOCOL == 1\r
-\r
                     {\r
                         ANALYZE_PRINTF ("protocol = UNKNOWN\n");\r
 //                      irmp_busy_flag = FALSE;\r
@@ -2642,15 +2547,6 @@ irmp_ISR (void)
                             got_light = TRUE;                                                       // this is a lie, but helps (generates stop bit)\r
                         }\r
                         else\r
-#if 1\r
-                        // MERLIN generates no stop bit, here is the timeout condition:\r
-                        if ((irmp_param.flags & IRMP_PARAM_FLAG_IS_SERIAL) && irmp_param.protocol == IRMP_MERLIN_PROTOCOL &&\r
-                            irmp_pause_time >= MERLIN_PULSE_LEN * (MERLIN_COMPLETE_DATA_LEN - irmp_bit))\r
-                        {\r
-                            got_light = TRUE;                                                       // this is a lie, but helps (generates stop bit)\r
-                        }\r
-                        else\r
-#endif\r
 #endif\r
 #if IRMP_SUPPORT_GRUNDIG_NOKIA_IR60_PROTOCOL == 1\r
                         if (irmp_param.protocol == IRMP_GRUNDIG_PROTOCOL && !irmp_param.stop_bit)\r
diff --git a/irmp.h b/irmp.h
index 7504907e03f9e625f0c1693becd9e37693284b7f..b694e26342ffbd99880a5037932c001a66ff98d6 100644 (file)
--- a/irmp.h
+++ b/irmp.h
@@ -73,11 +73,8 @@ typedef uint8_t     PAUSE_LEN;
 #define IRMP_NEC42_PROTOCOL                     28              // NEC with 42 bits\r
 #define IRMP_LEGO_PROTOCOL                      29              // LEGO Power Functions RC\r
 #define IRMP_THOMSON_PROTOCOL                   30              // Thomson\r
-#define IRMP_MERLIN_PROTOCOL                    31              // Pollin Merlin keyboard (bitserial)\r
 \r
-#define IRMP_N_PROTOCOLS                        31              // number of supported protocols\r
-\r
-#define IRMP_IMON_PROTOCOL                      99              // Imon (bitserial) PROTOTYPE!\r
+#define IRMP_N_PROTOCOLS                        30              // number of supported protocols\r
 \r
 // some flags of struct IRMP_PARAMETER:\r
 #define IRMP_PARAM_FLAG_IS_MANCHESTER           0x01\r
@@ -447,22 +444,6 @@ typedef uint8_t     PAUSE_LEN;
 #define NETBOX_LSB                              1                               // LSB\r
 #define NETBOX_FLAGS                            IRMP_PARAM_FLAG_IS_SERIAL       // flags\r
 \r
-#define MERLIN_START_BIT_PULSE_TIME              340.0e-6                       //  340 usec pulse\r
-#define MERLIN_START_BIT_PAUSE_TIME              300.0e-6                       //  300 usec pause\r
-#define MERLIN_PULSE_TIME                        380.0e-6                       //  380 usec pulse\r
-#define MERLIN_PAUSE_TIME                        310.0e-6                       //  310 usec pause\r
-#define MERLIN_FRAMES                           1                               // Merlin sends 1 frame\r
-#define MERLIN_AUTO_REPETITION_PAUSE_TIME       35.0e-3                         // auto repetition after 35ms\r
-#define MERLIN_FRAME_REPEAT_PAUSE_TIME          35.0e-3                         // frame repeat after 35ms\r
-#define MERLIN_ADDRESS_OFFSET                   0                               // skip 0 bits\r
-#define MERLIN_ADDRESS_LEN                      9                               // read 16 address bits\r
-#define MERLIN_COMMAND_OFFSET                   9                               // skip 16 bits\r
-#define MERLIN_COMMAND_LEN                      16                              // read 9 bits\r
-#define MERLIN_COMPLETE_DATA_LEN                25                              // complete length\r
-#define MERLIN_STOP_BIT                         0                               // has no stop bit\r
-#define MERLIN_LSB                              1                               // LSB\r
-#define MERLIN_FLAGS                            IRMP_PARAM_FLAG_IS_SERIAL       // flags\r
-\r
 #define LEGO_START_BIT_PULSE_TIME                158.0e-6                       //  158 usec pulse ( 6 x 1/38kHz)\r
 #define LEGO_START_BIT_PAUSE_TIME               1026.0e-6                       // 1026 usec pause (39 x 1/38kHz)\r
 #define LEGO_PULSE_TIME                          158.0e-6                       //  158 usec pulse ( 6 x 1/38kHz)\r
@@ -493,22 +474,6 @@ typedef uint8_t     PAUSE_LEN;
 #define THOMSON_LSB                             0                               // MSB...LSB\r
 #define THOMSON_FLAGS                           0                               // flags\r
 \r
-#define IMON_START_BIT_PULSE_TIME               1333.0e-6                       // 1333 usec pulse\r
-#define IMON_START_BIT_PAUSE_TIME               1172.0e-6                       // 1333 usec pause\r
-#define IMON_PULSE_TIME                          500.0e-6                       //  500 usec pulse\r
-#define IMON_PAUSE_TIME                          500.0e-6                       //  500 usec pause\r
-#define IMON_FRAMES                             1                               // Imon sends 1 frame\r
-#define IMON_AUTO_REPETITION_PAUSE_TIME         35.0e-3                         // auto repetition after 35ms\r
-#define IMON_FRAME_REPEAT_PAUSE_TIME            35.0e-3                         // frame repeat after 35ms\r
-#define IMON_ADDRESS_OFFSET                     0                               // skip 0 bits\r
-#define IMON_ADDRESS_LEN                        0                               // read 0 address bits\r
-#define IMON_COMMAND_OFFSET                     26                              // skip 26 bits\r
-#define IMON_COMMAND_LEN                        16                              // read last 16 bits, ignore rest\r
-#define IMON_COMPLETE_DATA_LEN                  42                              // complete length, last is stop bit\r
-#define IMON_STOP_BIT                           1                               // has stop bit\r
-#define IMON_LSB                                1                               // LSB\r
-#define IMON_FLAGS                              IRMP_PARAM_FLAG_IS_SERIAL       // flags\r
-\r
 #define AUTO_FRAME_REPETITION_TIME              80.0e-3                         // SIRCS/SAMSUNG32/NUBERT: automatic repetition after 25-50ms\r
                                                                                 // KASEIKYO: automatic repetition after 75ms\r
 \r
index 5958c8fe4583e84ecdb7a0bc88699fcfa1ef89e5..5afe094ffe7418cd8bb196a1d0290260a25c173a 100644 (file)
@@ -70,8 +70,6 @@
 #define IRMP_SUPPORT_THOMSON_PROTOCOL           0       // Thomson              >= 10000                 ~250 bytes\r
 #define IRMP_SUPPORT_NIKON_PROTOCOL             0       // NIKON camera         >= 10000                 ~250 bytes\r
 #define IRMP_SUPPORT_NETBOX_PROTOCOL            0       // Netbox keyboard      >= 10000                 ~400 bytes (PROTOTYPE!)\r
-#define IRMP_SUPPORT_MERLIN_PROTOCOL            0       // Merlin keyboard      >= 10000                 ~400 bytes (PROTOTYPE!)\r
-#define IRMP_SUPPORT_IMON_PROTOCOL              0       // IMON keyboard        >= 10000                 ~400 bytes (PROTOTYPE!)\r
 #define IRMP_SUPPORT_FDC_PROTOCOL               0       // FDC3402 keyboard     >= 10000 (better 15000)  ~150 bytes (~400 in combination with RC5)\r
 #define IRMP_SUPPORT_RCCAR_PROTOCOL             0       // RC Car               >= 10000 (better 15000)  ~150 bytes (~500 in combination with RC5)\r
 #define IRMP_SUPPORT_RUWIDO_PROTOCOL            0       // RUWIDO, T-Home       >= 15000                 ~550 bytes\r