diff options
author | ukw | 2015-12-29 07:31:22 +0000 |
---|---|---|
committer | ukw | 2015-12-29 07:31:22 +0000 |
commit | 173b00a6f5d5c604471f9755d80c9181da15133c (patch) | |
tree | 47afc72154187fdb337718d2fc38244f80011e40 | |
parent | 113fbb47092b498f56d79aaaf4ac1476a3ff1c23 (diff) | |
download | irmp-173b00a6f5d5c604471f9755d80c9181da15133c.zip |
Version 2.9.7b: reduced the number of autorepeated frames to 0 for KASEIKYO and SAMSUNG32
git-svn-id: svn://mikrocontroller.net/irmp@173 aeb2e35e-bfc4-4214-b83c-9e8de998ed28
-rw-r--r-- | IR-Data/test-suite.sh | 5 | ||||
-rw-r--r-- | README.txt | 4 | ||||
-rw-r--r-- | irmp.c | 6 | ||||
-rw-r--r-- | irmpprotocols.h | 6 | ||||
-rw-r--r-- | irsnd.c | 23 |
5 files changed, 32 insertions, 12 deletions
diff --git a/IR-Data/test-suite.sh b/IR-Data/test-suite.sh index b0ffbb2..df2b3ae 100644 --- a/IR-Data/test-suite.sh +++ b/IR-Data/test-suite.sh @@ -99,9 +99,14 @@ for j in \ kathrein-15kHz.txt \ lg-air-15kHz.txt \ merlin-15kHz.txt \ + panasonic-vcr-15kHz.txt \ pentax-15kHz.txt \ + rc5-philipps-15kHz.txt \ + rc6a-siemens-15kHz.txt \ recs80-15kHz.txt \ saa3004-15kHz.txt \ + samsung-br-15kHz.txt \ + samsung32-tv-15kHz.txt \ samsung32-15kHz.txt \ samsung48-15kHz.txt \ sharp_15khz.txt \ @@ -1,8 +1,8 @@ IRMP - Infrared Multi Protocol Decoder
--------------------------------------
-Version IRMP: 2.9.7a 2015-11-18
-Version IRSND: 2.9.7a 2015-11-18
+Version IRMP: 2.9.7b 2015-11-30
+Version IRSND: 2.9.7b 2015-11-30
Dokumentation:
@@ -3,7 +3,7 @@ *
* Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmp.c,v 1.182 2015/11/18 08:27:50 fm Exp $
+ * $Id: irmp.c,v 1.183 2015/12/03 18:13:45 fm Exp $
*
* Supported AVR mikrocontrollers:
*
@@ -4558,7 +4558,7 @@ irmp_ISR (void) else
#endif
-#if IRMP_SUPPORT_KASEIKYO_PROTOCOL == 1
+#if 0 && IRMP_SUPPORT_KASEIKYO_PROTOCOL == 1 // fm 2015-12-02: don't ignore every 2nd frame
// if KASEIKYO protocol and the code will be repeated within 50 ms, we will ignore 2nd repetition frame
if (irmp_param.protocol == IRMP_KASEIKYO_PROTOCOL && repetition_frame_number == 1)
{
@@ -4571,7 +4571,7 @@ irmp_ISR (void) else
#endif
-#if IRMP_SUPPORT_SAMSUNG_PROTOCOL == 1
+#if 0 && IRMP_SUPPORT_SAMSUNG_PROTOCOL == 1 // fm 2015-12-02: don't ignore every 2nd frame
// if SAMSUNG32 or SAMSUNG48 protocol and the code will be repeated within 50 ms, we will ignore every 2nd frame
if ((irmp_param.protocol == IRMP_SAMSUNG32_PROTOCOL || irmp_param.protocol == IRMP_SAMSUNG48_PROTOCOL) && (repetition_frame_number & 0x01))
{
diff --git a/irmpprotocols.h b/irmpprotocols.h index 3b3ebfe..0e6a020 100644 --- a/irmpprotocols.h +++ b/irmpprotocols.h @@ -5,7 +5,7 @@ *
* Copyright (c) 2013-2015 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmpprotocols.h,v 1.43 2015/11/18 08:27:50 fm Exp $
+ * $Id: irmpprotocols.h,v 1.44 2015/11/30 09:31:54 fm Exp $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -194,7 +194,7 @@ typedef uint8_t PAUSE_LEN; #define SAMSUNG32_COMMAND_OFFSET 16 // skip 16 bits
#define SAMSUNG32_COMMAND_LEN 16 // read 16 command bits
#define SAMSUNG32_COMPLETE_DATA_LEN 32 // complete length
-#define SAMSUNG32_FRAMES 2 // SAMSUNG32 sends each frame 2 times // fm: correct?
+#define SAMSUNG32_FRAMES 1 // SAMSUNG32 sends one frame
#define SAMSUNG32_AUTO_REPETITION_PAUSE_TIME 47.0e-3 // repetition after 47 ms
#define SAMSUNG32_FRAME_REPEAT_PAUSE_TIME 47.0e-3 // frame repeat after 47ms
@@ -250,7 +250,7 @@ typedef uint8_t PAUSE_LEN; #define KASEIKYO_COMPLETE_DATA_LEN 48 // complete length
#define KASEIKYO_STOP_BIT 1 // has stop bit
#define KASEIKYO_LSB 1 // LSB...MSB?
-#define KASEIKYO_FRAMES 2 // KASEIKYO sends 1st frame 2 times
+#define KASEIKYO_FRAMES 1 // KASEIKYO sends 1 frame
#define KASEIKYO_FLAGS 0 // flags
/*---------------------------------------------------------------------------------------------------------------------------------------------------
@@ -8,12 +8,13 @@ * ATtiny87, ATtiny167
* ATtiny45, ATtiny85
* ATtiny44 ATtiny84
+ * ATtiny2313 ATtiny4313
* ATmega8, ATmega16, ATmega32
* ATmega162
* ATmega164, ATmega324, ATmega644, ATmega644P, ATmega1284, ATmega1284P
* ATmega88, ATmega88P, ATmega168, ATmega168P, ATmega328P
*
- * $Id: irsnd.c,v 1.97 2015/11/18 08:27:50 fm Exp $
+ * $Id: irsnd.c,v 1.99 2015/12/16 14:12:17 fm Exp $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -55,6 +56,17 @@ # error Wrong value for IRSND_OCx, choose IRSND_OC0A or IRSND_OC0B in irsndconfig.h
# endif // IRSND_OCx
+#elif defined (__AVR_ATtiny2313__) || defined (__AVR_ATtiny4313__) // ATtiny2313/4313 uses OC0A = PB2 or OC0B = PD5
+# if IRSND_OCx == IRSND_OC0A // OC0A
+# define IRSND_PORT_LETTER B
+# define IRSND_BIT_NUMBER 2
+# elif IRSND_OCx == IRSND_OC0B // OC0B
+# define IRSND_PORT_LETTER D
+# define IRSND_BIT_NUMBER 5
+# else
+# error Wrong value for IRSND_OCx, choose IRSND_OC0A or IRSND_OC0B in irsndconfig.h
+# endif // IRSND_OCx
+
#elif defined (__AVR_ATtiny87__) || defined (__AVR_ATtiny167__) // ATtiny87/167 uses OC0A = PA2
# if IRSND_OCx == IRSND_OC0A // OC0A
# define IRSND_PORT_LETTER A
@@ -64,18 +76,21 @@ # endif // IRSND_OCx
#elif defined (__AVR_ATmega8__) // ATmega8 uses only OC2 = PB3
-# if IRSND_OCx == IRSND_OC2 // OC0A
+# if IRSND_OCx == IRSND_OC2 // OC2
# define IRSND_PORT_LETTER B
# define IRSND_BIT_NUMBER 3
# else
# error Wrong value for IRSND_OCx, choose IRSND_OC2 in irsndconfig.h
# endif // IRSND_OCx
-#elif defined (__AVR_ATmega16__) || defined (__AVR_ATmega32__) // ATmega16|32 uses OC2 = PD7
+#elif defined (__AVR_ATmega16__) || defined (__AVR_ATmega32__) // ATmega16|32 uses OC0 = PB3 or OC2 = PD7
# if IRSND_OCx == IRSND_OC2 // OC2
# define IRSND_PORT_LETTER D
# define IRSND_BIT_NUMBER 7
+# elif IRSND_OCx == IRSND_OC0 // OC0
+# define IRSND_PORT_LETTER B
+# define IRSND_BIT_NUMBER 3
# else
-# error Wrong value for IRSND_OCx, choose IRSND_OC2 in irsndconfig.h
+# error Wrong value for IRSND_OCx, choose IRSND_OC2 or IRSND_OC0 in irsndconfig.h
# endif // IRSND_OCx
#elif defined (__AVR_ATmega162__) // ATmega162 uses OC2 = PB1 or OC0 = PB0
|