summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorukw2010-06-15 11:55:50 +0000
committerukw2010-06-15 11:55:50 +0000
commit586dc529cebb8b3a7e3e6ce18bca15d6a5df2160 (patch)
tree9ab31e9240ab2b939728d4b93c12d7feade7e25e
parent48664931c4d9371a7be6735227011e54954f79cc (diff)
downloadirmp-586dc529cebb8b3a7e3e6ce18bca15d6a5df2160.zip
Version 1.6.5: handle uint8_t overflow above 15395 Hz
git-svn-id: svn://mikrocontroller.net/irmp@29 aeb2e35e-bfc4-4214-b83c-9e8de998ed28
-rw-r--r--IR-Data/rc-car-20kHz.txt36
-rw-r--r--IR-Data/rc-car.txt36
-rw-r--r--irmp.c8
-rw-r--r--irmpconfig.h4
4 files changed, 78 insertions, 6 deletions
diff --git a/IR-Data/rc-car-20kHz.txt b/IR-Data/rc-car-20kHz.txt
new file mode 100644
index 0000000..d627186
--- /dev/null
+++ b/IR-Data/rc-car-20kHz.txt
@@ -0,0 +1,36 @@
+# Scan einer IR Fernbedienung für Modellfahrzeuge.
+#
+# Eine Fernbedienung kann eine Senderadresse von 0 bis 3 haben,
+# daher 4 Fahrzeuge.
+# Es können 3 AD Werte und 8 Schalterstellungen gesendet werden.
+# Die oberen zwei bits scheinen festzulegen, was gesendet wird.
+# Davon ausgehend das ein langer Puls, 900µS, 1 entspricht,
+# 00, 10, 01, hier werden die AD Werte gesendet
+# 11, dann werden die Schalterstellungen gesendet.
+# Die nächsten zwei bits sind dann die vier möglichen Adressen.
+# Hier folgen Scans der Schalterstellungen.
+# Grundstellung ID 0:
+0000000000000000000000000000000000000000111111111111111111111111111111111111111000000000001111111111111111110000000000011111111111111111110000000000011111111111111111100000000000111111111111111111100000000001111111111111111111000000000001111111111111111111000000000011111111111111111110000000000011111111111111111110000000000111111111000000000001111111110000000000011111111100000000000111111111000000000011111111100000000000111111111111111111
+#Grundstellung ID 1:
+0000000000000000000000000000000000000000011111111111111111111111111111111111110000000000000111111111111111110000000000001111111111111111100000000000011111111000000000000111111111111111110000000000000111111111111111110000000000001111111111111111110000000000011111111111111111100000000000001111111111111111000000000000011111110000000000001111111100000000000011111110000000000000111111100000000000011111111111111111000000000000011111111111111111
+#Grundstellung ID 2:
+0000000000000000000000000000000000000000111111111111111111111111111111111111111000000000011111111111111111110000000000111111111111111111110000000000111111111111111111110000000000111111111000000000011111111111111111110000000000111111111111111111110000000000111111111111111111100000000001111111111111111111100000000001111111110000000000111111111100000000001111111110000000000011111111110000000000111111111111111111100000000001111111111111111111
+#Grundstellung ID 3:
+000000000000000000000000000000000000000001111111111111111111111111111111111111110000000000111111111111111111100000000000111111111111111111000000000001111111110000000000111111111100000000001111111111111111111000000000001111111111111111111100000000001111111111111111111000000000011111111111111111110000000000111111111000000000001111111110000000000011111111100000000001111111111000000000011111111110000000000111111111111111111111
+Ab hier alles nur ID 3:
+# Funktion 1:
+000000000000000000000000000000000000000000111111111111111111111111111111111111110000000000011111111111111111000000000000011111111111111111000000000000111111110000000000000111111000000000000001111110000000000001111111111111111110000000000001111111111111111100000000000001111111111111111100000000000011111111000000000000111111100000000000011111111000000000000111111100000000000011111111111111111000000000000011111111111111111111
+# Funktion 2:
+0000000000000000000000000000000000000001111111111111111111111111111111111111111000000000011111111111111111110000000000111111111111111111110000000001111111111100000000011111111110000000000111111111111111111100000000001111111111000000000011111111111111111111000000000111111111111111111110000000000111111111100000000001111111111000000000111111111100000000001111111111000000000011111111111111111110000000000111111111111111
+# Funktion 3:
+000000000000000000000000000000000000000001111111111111111111111111111111111111100000000000111111111111111111000000000001111111111111111111000000000001111111110000000000000111111000000000000111111111111111111000000000000111111111111111110000000000001111111000000000000011111111111111111000000000000111111110000000000001111111000000000000111111110000000000001111111100000000000011111111111111111000000000000011111111111111111111
+# Funktion 4:
+000000000000000000000000000000000000000001111111111111111111111111111111111111100000000000001111111111111111000000000000111111111111111111000000000000111111110000000000011111111000000000000111111111111111111000000000001111111111111111111000000000001111111111111111110000000000011111111100000000000111111110000000000001111111100000000000011111110000000000001111111100000000000011111111111111111100000000000111111111111111111111
+# Funktion 5:
+0000000000000000000000000000000000000000011111111111111111111111111111111111111000000000001111111111111111111000000000001111111111111111110000000000001111111100000000000011111111000000000001111111111111111110000000000001111111111111111110000000000011111111111111111100000000000011111111111111111000000000000111111110000000000011111111100000000000111111110000000000001111111111111111110000000000011111111111111111110000000000111111111111111111
+# Funktion 6:
+0000000000000000000000000000000000000000011111111111111111111111111111111111111000000000000011111111111111110000000000000111111111111111110000000000000011111100000000000001111100000000000000111111111111111110000000000011111111111111111000000000000001111111111111111100000000000111111111111111111000000000000011111110000000000001111111000000000000011111111111111110000000000000111111110000000000000111111111111111100000000000011111111111111111
+# Funktion 7:
+0000000000000000000000000000000000000000001111111111111111111111111111111111111000000000000111111111111111111000000000000111111111111111110000000000001111111000000000000011111110000000000001111111111111111110000000000001111111111111111100000000000001111111111111111000000000000011111111111111111000000000000011111111111111111000000000001111111100000000000011111111000000000000111111100000000000011111111111111111100000000000111111111111111111
+# Funktion 8:
+0000000000000000000000000000000000000000011111111111111111111111111111111111111000000000001111111111111111110000000000001111111111111111110000000000001111111100000000000111111111000000000001111111111111111110000000000011111111111111111110000000000011111111111111111100000000000111111111111111111000000000000111111110000000000011111111111111111110000000000011111111000000000000111111110000000000011111111111111111100000000000111111111111111111
diff --git a/IR-Data/rc-car.txt b/IR-Data/rc-car.txt
new file mode 100644
index 0000000..c4549bd
--- /dev/null
+++ b/IR-Data/rc-car.txt
@@ -0,0 +1,36 @@
+# Scan einer IR Fernbedienung für Modellfahrzeuge.
+#
+# Eine Fernbedienung kann eine Senderadresse von 0 bis 3 haben,
+# daher 4 Fahrzeuge.
+# Es können 3 AD Werte und 8 Schalterstellungen gesendet werden.
+# Die oberen zwei bits scheinen festzulegen, was gesendet wird.
+# Davon ausgehend das ein langer Puls, 900µS, 1 entspricht,
+# 00, 10, 01, hier werden die AD Werte gesendet
+# 11, dann werden die Schalterstellungen gesendet.
+# Die nächsten zwei bits sind dann die vier möglichen Adressen.
+# Hier folgen Scans der Schalterstellungen.
+# Grundstellung ID 0:
+0000000000000000000011111111111111111111000000111111111000000111111111100000011111111100000011111111110000011111111110000001111111111000001111111111000000111111111100000111110000001111100000011111000000111110000011111000000111111111
+#Grundstellung ID 1:
+00000000000000000000011111111111111111110000000111111111000000111111111000000111100000011111111100000001111111110000001111111110000001111111110000000111111110000000111100000011110000001111000000011110000001111111110000000111111111
+#Grundstellung ID 2:
+0000000000000000000011111111111111111111000001111111111000001111111111000001111111111000001111100000111111111100000111111111100000111111111100000111111111100000111110000011111000001111100000011111000001111111111000001111111111
+#Grundstellung ID 3:
+00000000000000000000011111111111111111111000001111111111000000111111111000000111110000011111000001111111111000000111111111100000111111111100000111111111100000111110000001111100000011111000001111100000111110000011111111111
+Ab hier alles nur ID 3:
+# Funktion 1:
+000000000000000000000111111111111111111100000011111111100000001111111110000001111000000011100000001110000001111111110000001111111110000000111111111000000111100000011110000001111000000111100000011111111100000001111111111
+# Funktion 2:
+0000000000000000000011111111111111111111000001111111111000001111111111000001111110000011111000001111111111000001111100000111111111100000111111111100000111110000011111000001111100000111110000011111111110000011111111
+# Funktion 3:
+0000000000000000000001111111111111111111000000111111111000000111111111100000011111000000011100000011111111100000011111111100000011110000000111111111000000111100000011110000001111000000111100000011111111100000001111111111
+# Funktion 4:
+000000000000000000000111111111111111111100000001111111100000011111111100000011110000001111000000111111111000000111111111100000011111111100000011111000000111100000011110000001111000000111100000011111111100000011111111111
+# Funktion 5:
+00000000000000000000011111111111111111110000001111111111000000111111111000000111100000011110000001111111110000001111111110000001111111110000001111111110000001111000000111110000001111000000111111111000000111111111100000111111111
+# Funktion 6:
+00000000000000000000011111111111111111110000000111111110000000111111111000000011100000001110000000111111111000000111111111000000011111111100000011111111100000001111000000111100000001111111100000001111000000011111111000000111111111
+# Funktion 7:
+000000000000000000000111111111111111111100000011111111100000011111111100000011110000000111100000011111111100000011111111100000001111111100000001111111110000000111111111000000111100000011110000001111000000111111111000000111111111
+# Funktion 8:
+000000000000000000000111111111111111111100000011111111100000011111111100000011110000001111100000011111111100000011111111110000001111111110000001111111110000001111000000111111111100000011110000001111000000111111111000000111111111
diff --git a/irmp.c b/irmp.c
index b691d71..8418b28 100644
--- a/irmp.c
+++ b/irmp.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2009-2010 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmp.c,v 1.50 2010/06/14 22:00:51 fm Exp $
+ * $Id: irmp.c,v 1.51 2010/06/15 12:01:20 fm Exp $
*
* ATMEGA88 @ 8 MHz
*
@@ -328,10 +328,10 @@ typedef unsigned int16 uint16_t;
#define IRMP_SUPPORT_MANCHESTER 0
#endif
-#define IRMP_TIMEOUT_TIME 16000.0e-6 // timeout after 16 ms darkness
-#define IRMP_TIMEOUT_TIME_MS 16L // timeout after 16 ms darkness
+#define IRMP_TIMEOUT_TIME 16500.0e-6 // timeout after 16.5 ms darkness
+#define IRMP_TIMEOUT_TIME_MS 16500L // timeout after 16.5 ms darkness
-#if (F_INTERRUPTS * IRMP_TIMEOUT_TIME_MS) / 1000 >= 255
+#if (F_INTERRUPTS * IRMP_TIMEOUT_TIME_MS) / 1000000 >= 254
#define IRMP_TIMEOUT_LEN (uint16_t)(F_INTERRUPTS * IRMP_TIMEOUT_TIME + 0.5)
typedef uint16_t PAUSE_LEN;
#else
diff --git a/irmpconfig.h b/irmpconfig.h
index b522ff3..e72c76f 100644
--- a/irmpconfig.h
+++ b/irmpconfig.h
@@ -3,7 +3,7 @@
*
* Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmpconfig.h,v 1.21 2010/06/14 22:01:49 fm Exp $
+ * $Id: irmpconfig.h,v 1.22 2010/06/15 12:02:52 fm Exp $
*
* ATMEGA88 @ 8 MHz
*
@@ -46,7 +46,7 @@
#define IRMP_SUPPORT_BANG_OLUFSEN_PROTOCOL 1 // flag: support Bang & Olufsen uses ~200 bytes
#define IRMP_SUPPORT_GRUNDIG_PROTOCOL 1 // flag: support Grundig uses ~150 bytes
#define IRMP_SUPPORT_NOKIA_PROTOCOL 1 // flag: support Nokia uses ~150 bytes
-#define IRMP_SUPPORT_FDC_PROTOCOL 0 // flag: support FDC3402 keyboard uses ~100 bytes
+#define IRMP_SUPPORT_FDC_PROTOCOL 0 // flag: support FDC3402 keyboard uses ~50 bytes
#define IRMP_SUPPORT_RCCAR_PROTOCOL 0 // flag: support RC car uses ~150 bytes
/*---------------------------------------------------------------------------------------------------------------------------------------------------