]> cloudbase.mooo.com Git - irmp.git/commitdiff
Version 2.3.2: improved detection of DENON frames
authorukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Tue, 6 Nov 2012 10:20:07 +0000 (10:20 +0000)
committerukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Tue, 6 Nov 2012 10:20:07 +0000 (10:20 +0000)
git-svn-id: svn://mikrocontroller.net/irmp@107 aeb2e35e-bfc4-4214-b83c-9e8de998ed28

README.txt
irmp.c

index 354a56b40745f0743b8c8aee5fd121b4b5f2767e..d431f7e747ee0e60dc8e69eb0ca77efca8ef9a93 100644 (file)
@@ -1,7 +1,7 @@
 IRMP - Infrared Multi Protocol Decoder\r
 --------------------------------------\r
 \r
-Version IRMP:  2.3.1 26.10.2012\r
+Version IRMP:  2.3.2 06.11.2012\r
 Version IRSND: 2.3.2 29.10.2012\r
 \r
 Dokumentation:\r
diff --git a/irmp.c b/irmp.c
index a921aac4a8e9af949085ce5972333e179968a1f1..ab3d59f7c0626ce90abc79b434f784545eeb4343 100644 (file)
--- a/irmp.c
+++ b/irmp.c
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2009-2012 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmp.c,v 1.129 2012/10/26 08:09:37 fm Exp $\r
+ * $Id: irmp.c,v 1.130 2012/11/06 10:19:41 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
@@ -3070,9 +3070,17 @@ irmp_ISR (void)
                         }\r
                         else\r
                         {\r
-                            ANALYZE_PRINTF ("%8.3fms waiting for inverted command repetition\n", (double) (time_counter * 1000) / F_INTERRUPTS);\r
+                            if ((irmp_tmp_command & 0x03) == 0)\r
+                            {\r
+                                ANALYZE_PRINTF ("%8.3fms waiting for inverted command repetition\n", (double) (time_counter * 1000) / F_INTERRUPTS);\r
+                                last_irmp_denon_command = irmp_tmp_command;\r
+                            }\r
+                            else\r
+                            {\r
+                                ANALYZE_PRINTF ("%8.3fms got unexpected inverted command, ignoring it\n", (double) (time_counter * 1000) / F_INTERRUPTS);\r
+                                last_irmp_denon_command = 0;\r
+                            }\r
                             irmp_ir_detected = FALSE;\r
-                            last_irmp_denon_command = irmp_tmp_command;\r
                             repetition_len = 0;\r
                         }\r
                     }\r
@@ -3804,6 +3812,7 @@ main (int argc, char ** argv)
         else if (ch == '\n')\r
         {\r
             IRMP_PIN = 0xff;\r
+            time_counter = 0;\r
 \r
             if (list && pause > 0)\r
             {\r
@@ -3823,6 +3832,8 @@ main (int argc, char ** argv)
         }\r
         else if (ch == '#')\r
         {\r
+            time_counter = 0;\r
+\r
             if (analyze)\r
             {\r
                 while ((ch = getchar()) != '\n' && ch != EOF)\r