summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorukw2010-05-16 21:55:40 +0000
committerukw2010-05-16 21:55:40 +0000
commit592411d112f43e31c7c6179f8a98a6d319c75925 (patch)
tree3a7e6742a26b8cd01c2bd228ee52403072c6d539
parent46dd89b73055232942379e65afbb1dab5f95c445 (diff)
downloadirmp-592411d112f43e31c7c6179f8a98a6d319c75925.zip
Version 1.3.0: added Grundig protocol, fixed auto repetition detection for SIRCS, SAMSUNG32, NUBERT
git-svn-id: svn://mikrocontroller.net/irmp@11 aeb2e35e-bfc4-4214-b83c-9e8de998ed28
-rw-r--r--IR-Data/Grundig_TP715.txt56
-rw-r--r--IR-Data/Grundig_TP715_SatTV.txt56
-rw-r--r--IR-Data/Grundig_TP715_Video.txt21
-rw-r--r--IR-Data/Grundig_TP715_lange.txt6
-rw-r--r--IR-Data/Sony_RM-S315_lange.txt8
-rw-r--r--IR-Data/test-suite.sh69
-rw-r--r--README.txt2
-rw-r--r--irmp.c202
-rw-r--r--irmp.exebin20480 -> 22016 bytes
-rw-r--r--irmp.h13
-rw-r--r--irmpconfig.h3
11 files changed, 388 insertions, 48 deletions
diff --git a/IR-Data/Grundig_TP715.txt b/IR-Data/Grundig_TP715.txt
new file mode 100644
index 0000000..ca272ad
--- /dev/null
+++ b/IR-Data/Grundig_TP715.txt
@@ -0,0 +1,56 @@
+# Power
+000000011111111111111111111111111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000011111111110000000000001111111111000000111110000001111100000001111000000111110000000111100000001111000000011111111111111
+# 1
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111110000001111111111000000011110000000111110000000000011111111111000000111110000001111100000011111000000111111111111111
+# 2
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111111111100000000000011111111110000000111100000000000011111111111000000111110000001111100000011111000000111111111111111
+# 3
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111110000001111100000011111111111000000111110000000000011111111111000000111110000001111100000011111000000111111111111111
+# 4
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111111111110000001111100000000000111111111110000000000011111111111000000111110000001111100000011111000000111111111111111
+# 5
+000000111111111111111111111111110000000111100000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111111111000000000000111111111100000000000011111111110000000111100000001111100000011111000000111111111111111
+# 6
+000000011111111111111111111111111000000111110000001111100000011111000000011110000000111100000001111000000111110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000011111111110000000000011111000000111111111110000000000011111111111000000111110000001111100000011111000000111111111111111
+# 7
+000000011111111111111111111111111000000111110000000111100000011111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011110000000111100000001111000000011111111110000000000001111111111000000011110000000111100000001111000000111111111111111
+# 8
+000000011111111111111111111111111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011111111110000000111100000001111000000000000111110000001111111111000000011110000000111100000001111000000011111111111111
+# 9
+000000011111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000011110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000011110000001111111111100000011111000000000001111100000011111111111000000111110000001111100000011111000000111111111111111
+# 0
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111111111100000001111000000011110000000111100000000000011111111110000000111110000001111100000011111000000111111111111111
+# Info
+000000111111111111111111111111111000000111110000011111100000111111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111110000001111111111100000000000111110000001111111111100000000000111111111110000001111100000011111000000111111111111111
+# Mute
+000000011111111111111111111111111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011110000000111111111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111
+# P+
+000000111111111111111111111111110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111110000000111111111100000000000011111111110000000000001111111111000000000000111111111100000001111000000011110000000111111111111111
+# Volume +
+000000111111111111111111111111110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000001111000000011110000000000001111111111000000011110000000111100000001111000000011110000000111111111111111
+# OK
+000000111111111111111111111111110000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000001111000000011110000000111100000011111000000011110000000111100000011111000000111110000001111111111111111
+# Volume -
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111111111111111000000111110000001111111111100000011111000000000001111111111100000011111000000111110000001111100000011111000000111111111111111
+# P-
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111111111111111000000111110000001111100000011111111111000000000001111111111100000000000111111111110000001111100000011111000000111111111111111
+# Aux
+000000111111111111111111111111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111110000001111110000011111100000111111000001111111111100000011111000000111110000001111100000011111000000111110000001111111111111111
+# TXT
+000000111111111111111111111111110000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000001111000000011110000000111100000000000011111000000111111111100000001111000000011111000000111111111111111
+# rot
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111110000000000011111111111000000000001111100000011111000000111111111110000001111100000011111000000111111111111111
+# grün
+000000111111111111111111111111111000000111110000001111100000111111000001111110000011111100000111111000001111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111110000000000111111000001111110000001111100000011111000000111111111110000001111100000011111000001111111111111111
+# gelb
+000000111111111111111111111111111000000111110000001111100000011111000001111110000011111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000011111100000011111111110000000000011111100000011111000000111111111110000001111100000011111000001111111111111111
+# blau
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111111111111111000000111111111110000000000011111000000111110000001111111111100000000000111111111110000001111100000011111000000111111111111111
+# farbe -
+000000111111111111111111111111111000001111110000011111100000111111000001111110000011111100000111111000001111110000011111100000111111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111111111100000000001111110000001111111111100000111111000001111110000011111100000111111000001111111111111111
+# farbe +
+000000111111111111111111111111110000000111100000001111000000011110000000111100000011111100000111111000001111110000011111100000111111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000011111000000000001111110000011111111111000000111110000001111100000011111000000111110000001111111111111111
+# helligkeit -
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111100000011111111111000000000011111111111100000111111000001111110000011111100000111111000001111111111111111
+# helligkeit +
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111110000000000011111111111000000000001111111111100000011111000000111110000001111100000011111000000111111111111111
diff --git a/IR-Data/Grundig_TP715_SatTV.txt b/IR-Data/Grundig_TP715_SatTV.txt
new file mode 100644
index 0000000..2b1c05b
--- /dev/null
+++ b/IR-Data/Grundig_TP715_SatTV.txt
@@ -0,0 +1,56 @@
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111111111100000000000011111111110000000111110000001111100000011111000000000001111111111100000011111000000111111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111100000011111100000111111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111111111000000011110000000111100000000000011111111110000000000011111111111000000011110000000111111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111100000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000000000011111111110000000111100000000000011111111110000000000001111111111000000011110000000111111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111110000000111100000001111000000011111111110000000111100000000000011111111110000000000001111111111000000011110000000111111111111111
+
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000001111000000000000111111111100000000000011111111110000000000001111111111100000011111000000111111111111111
+
+000000011111111111111111111111111000000011110000001111100000011111000000111110000001111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011110000000111111111100000000000011111111110000000000011111111111000000000000111111111100000001111000000011111111111111
+
+000000111111111111111111111111111000000111110000001111100000011111000000011110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000011111111110000000000011111000000011111111110000000000011111111111000000000001111111111100000011111000000111111111111111
+
+000000111111111111111111111111111000000111110000001111100000011111000000011110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111110000001111100000011111000000111111111110000000000011111111111000000000001111111111100000011111000000111111111111111
+
+000000011111111111111111111111111000000111110000001111100000011111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000011111111110000001111100000011111000000000001111100000011111111111000000000000111111111100000011111000000111111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111100000001111000000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111111111000000011110000000000001111100000011111111110000000000001111111111000000011110000000111111111111111
+
+000000011111111111111111111111111000000011110000001111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000011111111110000001111100000011111000000111110000000000011111111111000000000000111111111100000011111000000011111111111111
+
+000000011111111111111111111111111000000111110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000011110000000111111111100000000000011110000000111111111100000000000011110000000111111111100000001111000000011111111111111
+
+000000011111111111111111111111111000000111110000001111100000001111000000111110000000111100000011111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000011110000000111111111100000011111000000011110000000111100000011111000000000001111111111100000011111000000111111111111111
+
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111111111100000000000011111111110000000000001111111111000000000000111110000001111111111100000011111000000111111111111111
+
+000000111111111111111111111111110000000111100000001111000000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111111111100000001111000000011110000000000001111111111000000011110000000000001111111111000000011110000000111111111111111
+
+000000011111111111111111111111111000000111110000001111100000011111000000011110000001111100000011111000000111110000001111100000011111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111111111110000001111100000011111000000111110000001111100000011111000000000001111111111100000001111000000011111111111111
+
+000000011111111111111111111111111000000111110000000111100000001111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000011110000000111111111100000011111000000000001111111111100000001111000000000001111111111100000011111000000111111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111100000011111111110000000000001111111111000000000000111110000001111111111000000011110000000111111111111111
+
+000000011111111111111111111111111000000111110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011110000000111100000001111000000011111111110000000111100000001111000000000000111111111100000001111000000011111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000001111000000011110000000111100000000000011111000000111110000001111111111000000011110000000111111111111111
+
+000000011111111111111111111111111000000111110000001111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000011111111110000000000011111111111000000000000111100000001111000000011110000000111111111100000001111000000011111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111100000001111000000011110000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000000000011111000000111110000001111100000011111000000111110000001111111111000000011110000000111111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111100000011111111110000000000001111100000001111000000011110000001111111111000000011110000000111111111111111
+
+000000011111111111111111111111111000000011110000000111100000001111000000111110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011111111110000000000001111000000011110000000111111111100000000000111110000000111111111100000001111000000011111111111111
+
+000000011111111111111111111111111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011110000000111111111100000000000011110000000111111111100000001111000000000000111111111100000001111000000011111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000001111000000000000111110000001111111111000000011110000000000001111111111000000011110000000111111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111100000011111111110000000000001111111111000000011110000000000001111111111000000011110000000111111111111111
+
+000000011111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111110000000000011111111111000000000001111111111100000011111000000000001111111111100000011111000000111111111111111
+
diff --git a/IR-Data/Grundig_TP715_Video.txt b/IR-Data/Grundig_TP715_Video.txt
new file mode 100644
index 0000000..92bc8f6
--- /dev/null
+++ b/IR-Data/Grundig_TP715_Video.txt
@@ -0,0 +1,21 @@
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111111111100000000000011111111110000000111110000001111100000011111000000111110000000000011111111111000000111111111111111
+
+000000011111111111111111111111111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011111111110000000111100000000000111111000000111111111100000001111000000111110000000000001111111111000000011111111111111
+
+000000011111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111110000001111111111100000000000111110000000111111111100000011111000000111110000000000001111111111000000111111111111111
+
+000000111111111111111111111111110000000111100000001111000000011110000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111100000011111111110000000000001111111111000000011110000000111100000000000011111111110000000111111111111111
+
+000000011111111111111111111111111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011110000000111111111100000000000011111111110000000000001111111111000000011110000000000001111111111000000011111111111111
+
+000000011111111111111111111111111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011111111110000000111100000001111000000000000111110000001111111111000000011110000000000001111111111000000011111111111111
+
+000000011111111111111111111111111000000011110000001111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011111111110000000000001111111111000000000000111111111100000001111000000011110000000000001111111111000000011111111111111
+
+000000011111111111111111111111111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011110000000111100000001111000000011111111110000000000001111111111000000011110000000000011111111111000000011111111111111
+
+000000011111111111111111111111111000000011110000000111100000001111000000011110000000111100000001111000000011110000000111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111000000011111111110000000111100000000000011111111110000000000001111111111000000011110000000000001111111111000000011111111111111
+
+000000111111111111111111111111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111111111000000011111000000111110000000000011111111111000000111110000000000011111111111000000111111111111111
+
+000000011111111111111111111111111000000111110000001111100000011111000000111110000001111100000001111000000111110000001111100000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111111000000111111111110000000000011111111111000000111110000000000011111111111000000111110000000000011111111111000000111111111111111 \ No newline at end of file
diff --git a/IR-Data/Grundig_TP715_lange.txt b/IR-Data/Grundig_TP715_lange.txt
new file mode 100644
index 0000000..6f83777
--- /dev/null
+++ b/IR-Data/Grundig_TP715_lange.txt
@@ -0,0 +1,6 @@
+# 1 lange (wird in IRMP als 11 Dezimal ausgewertet)
+00000011111111111111111111111111100000111111000000111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111111111111111000000111110000001111111111100000111111000000111110000000000011111111111000000111110000001111100000011111000000111111111111111111111000000111111111111111111111111111000000111110000001111111111100000011111000000111110000000000011111111111000000111110000001111100000011111000000011111111111111111000000111111000001111110000011111111111111
+# 2 lange (wird in IRMP als 12 Dezimal ausgewertet)
+0000001111111111111111111111111110000001111100000011111000000111110000001111100000011111000000111110000001111100000011111000000111111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111111111111111100000111111111111000000000001111111111100000011111000000000001111111111100000011111000000111110000001111100000011111111111111111111100000011111111111111111111111111100000011111111111000000000001111111111100000011111000000000001111111111100000011111000000111111000000111110000001111111111111111100011111000000111110000001111100000011111111111111000000111111111111111111111111111000000111111111110000000000011111111111000000111110000000000011111111111000000111110000001111100000011111000000111111111111111111
+# 0 ganz lange (wird in IRMP als 10 Dezimal ausgewertet)
+000001111111111111111111111111111000001111110000011111100000011111000000111110000001111100000011111000000111110000001111110000011111100000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111111111111111110000001111111111100000111111000001111110000011111100000000000111111111110000001111100000011111000000111110000001111111111111111111110000001111111111111111111111111110000001111111111100000011111000000111110000001111100000000000111111111111000001111110000011111100000111111000001111111111111111110001111110000011111100000011111000000111111111111111111111000000111111111111111111111111111000000111111111110000011111100000011111000000111110000000000011111111111000000111110000001111110000011111100000111111111111111111000111111000001111110000011111100000111111111111110000001111111111111111111111111110000011111111111100000111111000001111110000011111100000000000111111111110000001111100000011111000000111110000001111111111111111110001111100000011111100000111111000001111111111111100000111111111111111111111111111100000111111111110000001111110000011111100000111111000000000011111111111100000111111000001111110000001111100000011111111111111111100011111000000111110000001111100000011111111111111000001111111111111111111111111110000001111111111100000011111000000111110000001111100000000000111111111111000001111110000011111100000111111000001111111111111111111000111111000001111110000001111100000011111111111111111111100000011111111111111111111111111100000011111111111000001111110000001111100000011111000000000001111111111100000011111000000111111000001111110000011111111111111111100011111100000111111000001111110000011111111111111
diff --git a/IR-Data/Sony_RM-S315_lange.txt b/IR-Data/Sony_RM-S315_lange.txt
new file mode 100644
index 0000000..a95945d
--- /dev/null
+++ b/IR-Data/Sony_RM-S315_lange.txt
@@ -0,0 +1,8 @@
+# Volume+ lange
+00000000000000000000000000111110000000011111000000000000001111100000001111100000000111110000000000000011111000000011111000000001111100000001111100000001111110000000111110000000011111000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000111110000000111110000000000000011111000000001111100000001111100000000000000111110000000111111000000011111000000011111100000001111100000000111110000000111110000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000001111100000000111110000000000000111110000000011111000000011111000000000000001111100000000111110000000111110000000011111000000011111000000001111100000000111110000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000011111000000001111100000000000000111110000000111110000000011111000000000000001111100000001111100000000111110000000111110000000011111000000011111000000001111100000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000011111000000011111000000000000001111100000000111110000000111110000000000000011111000000011111100000001111100000000111110000000111110000000011111000000011111000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000111110000000011111000000000000011111000000001111100000001111100000000000000111110000000011111000000011111000000001111100000001111100000000111110000000111111000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000001111100000000111110000000000000011111000000011111000000011111100000000000001111110000000111110000000011111000000011111000000011111100000001111100000000111110000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000001111100000001111100000000000000111110000000011111000000011111000000000000001111100000001111100000000111110000000011111000000011111000000001111100000001111100000000000000111111111111111111
+#Volume- lange
+000000000000000000000000001111100000000000000111110000000000000011111000000011111100000001111100000000000000111110000000111110000000011111000000011111000000001111100000001111110000000111110000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000011111100000000000001111100000000000000111110000000011111000000011111000000000000001111100000001111110000000111110000000011111000000011111000000001111100000001111100000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000011111000000000000001111100000000000001111110000000111110000000111111000000000000011111100000001111100000001111110000000111110000000111111000000011111000000011111100000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000111110000000000000011111000000000000001111100000001111110000000111110000000000000011111000000011111000000001111100000001111110000000111110000000111111000000011111000000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000001111110000000000000111111000000000000011111000000001111100000001111100000000000000111110000000111111000000011111000000001111100000001111100000000111110000000111110000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000001111100000000000000111110000000000000111111000000011111000000011111100000000000001111110000000111110000000111111000000011111000000011111100000001111100000000111110000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000011111000000000000001111100000000000000111110000000111111000000011111000000000000001111100000001111100000000111110000000111111000000011111000000011111100000001111100000000000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000111111000000000000011111100000000000001111100000000111110000000111110000000000000011111000000011111100000001111100000000111110000000111110000000011111000000011111100000000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000111110000000000000011111000000000000011111100000001111100000001111110000000000000111111000000011111000000011111100000001111100000001111110000000111110000000011111000000000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+#Tuner Preset+ lange
+000000000000000000000000001111100000001111110000000111110000000011111000000011111000000000000001111100000000111110000000111110000000000000011111000000011111100000000000001111100000000000000111110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000011111000000001111100000001111110000000111110000000111111000000000000011111000000001111100000001111110000000000000111110000000011111000000000000011111100000000000001111110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000011111000000011111000000001111100000001111100000000111110000000000000111111000000011111000000001111100000000000001111110000000111110000000000000011111000000000000001111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000111110000000111111000000011111000000011111100000001111100000000000000111110000000111111000000011111000000000000001111100000001111110000000000000111110000000000000011111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000001111100000000111110000000111111000000011111000000011111100000000000001111100000000111110000000111111000000000000011111000000001111100000000000001111110000000000000111111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000001111100000001111100000000111110000000111110000000011111000000000000011111100000001111100000000111110000000000000011111000000011111000000000000001111100000000000000111110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000011111000000001111100000001111100000001111110000000111110000000000000011111000000011111100000001111100000000000000111110000000011111000000000000011111000000000000001111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000111110000000011111000000011111100000001111100000001111110000000000000111110000000011111000000011111100000000000001111100000000111110000000000000011111000000000000011111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000111110000000111110000000011111000000011111000000001111100000000000001111110000000111110000000011111000000000000011111100000001111100000000000000111110000000000000011111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
+#Tuner Preset- lange
+000000000000000000000000001111100000000000000111110000000111110000000011111000000011111100000000000001111100000000111110000000111110000000000000011111000000001111100000000000001111110000000000000111110000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000011111000000000000001111100000001111110000000111110000000011111000000000000011111100000001111100000001111110000000000000111111000000011111000000000000001111100000000000001111110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000011111000000000000011111100000001111100000001111110000000111110000000000000011111000000011111100000001111100000000000000111110000000111110000000000000011111000000000000001111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000111110000000000000011111000000011111000000001111100000001111110000000000000111110000000011111000000011111000000000000001111100000000111110000000000000011111000000000000011111000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000001111100000000000000111110000000011111000000011111000000001111100000000000001111110000000111110000000011111000000000000011111100000001111100000000000000111110000000000000111111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000011111100000000000001111110000000111110000000011111000000011111000000000000001111100000001111110000000111110000000000000011111000000011111000000000000001111100000000000000111110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000011111000000000000001111100000001111100000000111110000000111111000000000000011111000000001111100000001111100000000000000111110000000011111000000000000001111100000000000001111100000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000111110000000000000011111000000001111100000001111100000000111110000000000000111111000000011111000000011111100000000000000111110000000111110000000000000011111000000000000011111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000001111110000000000000011111000000011111000000001111100000001111100000000000000111110000000011111000000011111000000000000001111100000001111100000000000000111110000000000000011111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111
diff --git a/IR-Data/test-suite.sh b/IR-Data/test-suite.sh
index 353c4d3..d6f20e6 100644
--- a/IR-Data/test-suite.sh
+++ b/IR-Data/test-suite.sh
@@ -1,42 +1,45 @@
#! /bin/sh
for j in \
- DK_Digital.txt \
- Matsushita.txt \
- Panasonic-Blue-Ray.txt \
- RC5-Taste.txt \
- Samsung_DVD_Rec_00062C.txt \
- Samsung_TV.txt \
- Sony-RM-S-310.txt \
- sony-rm-s311.txt \
- Sony-RM-U305C.txt \
- Sony-RMT-D142P-DVD.txt \
- Sony-RMT-V406.txt \
- Sony_Bravia_RM-ED0009.txt \
- Sony_Bravia_RM-ED0009_new.txt \
- Yamaha-RAV388.txt \
- apple.txt \
- bo_beolink1000-10kHz.txt \
- denon.txt \
- elta_radio.txt \
- nec-repetition.txt \
- nec.txt \
- nubert-subwoofer.txt \
- orion_vcr_07660BM070.txt \
- panasonic-scan.txt \
- rc5.txt \
- rc5x-79.txt \
- rc5x.txt \
- rc6-hold.txt \
- rc6.txt \
- sharp-denon.txt \
- sharp-denon2.txt
+ DK_Digital.txt \
+ Grundig_TP715.txt \
+ Grundig_TP715_SatTV.txt \
+ Grundig_TP715_Video.txt \
+ Matsushita.txt \
+ Panasonic-Blue-Ray.txt \
+ RC5-Taste.txt \
+ Samsung_DVD_Rec_00062C.txt \
+ Samsung_TV.txt \
+ Sony-RM-S-310.txt \
+ sony-rm-s311.txt \
+ Sony-RM-U305C.txt \
+ Sony-RMT-D142P-DVD.txt \
+ Sony-RMT-V406.txt \
+ Sony_Bravia_RM-ED0009.txt \
+ Sony_Bravia_RM-ED0009_new.txt \
+ Yamaha-RAV388.txt \
+ apple.txt \
+ bo_beolink1000-10kHz.txt \
+ denon.txt \
+ elta_radio.txt \
+ nec-repetition.txt \
+ nec.txt \
+ nubert-subwoofer.txt \
+ orion_vcr_07660BM070.txt \
+ panasonic-scan.txt \
+ rc5.txt \
+ rc5x-79.txt \
+ rc5x.txt \
+ rc6-hold.txt \
+ rc6.txt \
+ sharp-denon.txt \
+ sharp-denon2.txt
do
echo "testing $j ..."
if ../irmp < $j | grep -q error
then
- ../irmp < $j | grep error
- echo "test failed"
- exit 1
+ ../irmp < $j | grep error
+ echo "test failed"
+ exit 1
fi
done
echo "all tests successful"
diff --git a/README.txt b/README.txt
index a01a7fe..c99a129 100644
--- a/README.txt
+++ b/README.txt
@@ -1,7 +1,7 @@
IRMP - Infrared Multi Protocol Decoder
--------------------------------------
-Version IRMP: 1.2.1 28.04.2010
+Version IRMP: 1.3.0 16.05.2010
Version IRSND: 1.2.1 28.04.2010
Dokumentation:
diff --git a/irmp.c b/irmp.c
index 470a2f9..7c1225f 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.20 2010/04/19 13:42:17 fm Exp $
+ * $Id: irmp.c,v 1.24 2010/05/16 21:58:13 fm Exp $
*
* ATMEGA88 @ 8 MHz
*
@@ -23,6 +23,7 @@
* NUBERT - Nubert Subwoofer System
* B&O - Bang & Olufsen
* PANASONIC - Panasonic (older, yet not implemented)
+ * Grundig - Grundig
*
*---------------------------------------------------------------------------------------------------------------------------------------------------
*
@@ -208,6 +209,21 @@
*
*---------------------------------------------------------------------------------------------------------------------------------------------------
*
+ * Grundig
+ * -------
+ *
+ * frame: 1 start packet + n info packets + 1 stop packet
+ * packet: 1 pre bit + 1 start bit + 9 data bits + no stop bit
+ * data of start packet: 9 x 1
+ * data of info packet: 9 command bits
+ * data of stop packet: 9 x 1
+ *
+ * pre bit: start bit data "0": data "1":
+ * ------____________ ------______ ______------ ------______
+ * 528us 2639us 528us 528us 528us 528us 528us 528us
+ *
+ *---------------------------------------------------------------------------------------------------------------------------------------------------
+ *
* PANASONIC (older protocol, yet not implemented, see also MATSUSHITA, timing very similar)
* -----------------------------------------------------------------------------------------
*
@@ -459,12 +475,20 @@ typedef unsigned int16 uint16_t;
#define BANG_OLUFSEN_TRAILER_BIT_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_TRAILER_BIT_PAUSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)
#define BANG_OLUFSEN_TRAILER_BIT_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_TRAILER_BIT_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)
+#define GRUNDIG_START_BIT_LEN_MIN ((uint8_t)(F_INTERRUPTS * GRUNDIG_BIT_TIME * MIN_TOLERANCE_20 + 0.5) - 1)
+#define GRUNDIG_START_BIT_LEN_MAX ((uint8_t)(F_INTERRUPTS * GRUNDIG_BIT_TIME * MAX_TOLERANCE_20 + 0.5) + 1)
+#define GRUNDIG_BIT_LEN_MIN ((uint8_t)(F_INTERRUPTS * GRUNDIG_BIT_TIME * MIN_TOLERANCE_20 + 0.5) - 1)
+#define GRUNDIG_BIT_LEN_MAX ((uint8_t)(F_INTERRUPTS * GRUNDIG_BIT_TIME * MAX_TOLERANCE_20 + 0.5) + 1)
+#define GRUNDIG_PRE_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * GRUNDIG_PRE_PAUSE_TIME * MIN_TOLERANCE_20 + 0.5) + 1)
+#define GRUNDIG_PRE_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * GRUNDIG_PRE_PAUSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)
+
#define AUTO_REPETITION_LEN (uint16_t)(F_INTERRUPTS * AUTO_REPETITION_TIME + 0.5) // use uint16_t!
#ifdef DEBUG
#define DEBUG_PUTCHAR(a) { if (! silent) { putchar (a); } }
#define DEBUG_PRINTF(...) { if (! silent) { printf (__VA_ARGS__); } }
static int silent;
+static int time_counter;
#else
#define DEBUG_PUTCHAR(a)
#define DEBUG_PRINTF(...)
@@ -930,6 +954,30 @@ static PROGMEM IRMP_PARAMETER bang_olufsen_param =
#endif
+#if IRMP_SUPPORT_GRUNDIG_PROTOCOL == 1
+
+static PROGMEM IRMP_PARAMETER grundig_param =
+{
+ IRMP_GRUNDIG_PROTOCOL,
+ GRUNDIG_BIT_LEN_MIN,
+ GRUNDIG_BIT_LEN_MAX,
+ GRUNDIG_BIT_LEN_MIN,
+ GRUNDIG_BIT_LEN_MAX,
+ 1, // tricky: use this as stop bit length
+ 1,
+ 1,
+ 1,
+ GRUNDIG_ADDRESS_OFFSET,
+ GRUNDIG_ADDRESS_OFFSET + GRUNDIG_ADDRESS_LEN,
+ GRUNDIG_COMMAND_OFFSET,
+ GRUNDIG_COMMAND_OFFSET + GRUNDIG_COMMAND_LEN,
+ GRUNDIG_COMPLETE_DATA_LEN,
+ GRUNDIG_STOP_BIT,
+ GRUNDIG_LSB
+};
+
+#endif
+
static uint8_t irmp_bit; // current bit position
static IRMP_PARAMETER irmp_param;
@@ -1093,6 +1141,7 @@ irmp_ISR (void)
static uint16_t last_irmp_address = 0xFFFF; // save last irmp address to recognize key repetition
static uint16_t last_irmp_command = 0xFFFF; // save last irmp command to recognize key repetition
static uint16_t repetition_counter; // SIRCS repeats frame 2-5 times with 45 ms pause
+ static uint8_t repetition_frame_number;
#if IRMP_SUPPORT_DENON_PROTOCOL == 1
static uint16_t last_irmp_denon_command; // save last irmp command to recognize DENON frame repetition
#endif
@@ -1107,6 +1156,10 @@ irmp_ISR (void)
#endif
uint8_t irmp_input; // input value
+#ifdef DEBUG
+ time_counter++;
+#endif
+
irmp_input = input(IRMP_PIN);
irmp_logIsr(irmp_input); // log ir signal, if IRMP_LOGGING defined
@@ -1344,6 +1397,20 @@ irmp_ISR (void)
else
#endif // IRMP_SUPPORT_BANG_OLUFSEN_PROTOCOL == 1
+#if IRMP_SUPPORT_GRUNDIG_PROTOCOL == 1
+ if (irmp_pulse_time >= GRUNDIG_START_BIT_LEN_MIN && irmp_pulse_time <= GRUNDIG_START_BIT_LEN_MAX &&
+ irmp_pause_time >= GRUNDIG_PRE_PAUSE_LEN_MIN && irmp_pause_time <= GRUNDIG_PRE_PAUSE_LEN_MAX)
+ { // it's GRUNDIG
+ DEBUG_PRINTF ("protocol = GRUNDIG, pre bit timings: pulse: %3d - %3d, pause: %3d - %3d\n",
+ GRUNDIG_START_BIT_LEN_MIN, GRUNDIG_START_BIT_LEN_MAX,
+ GRUNDIG_PRE_PAUSE_LEN_MIN, GRUNDIG_PRE_PAUSE_LEN_MAX);
+ irmp_param_p = (IRMP_PARAMETER *) &grundig_param;
+ last_pause = irmp_pause_time;
+ last_value = 1;
+ }
+ else
+#endif // IRMP_SUPPORT_GRUNDIG_PROTOCOL == 1
+
{
DEBUG_PRINTF ("protocol = UNKNOWN\n");
irmp_start_bit_detected = 0; // wait for another start bit...
@@ -1386,14 +1453,14 @@ irmp_ISR (void)
{
if (irmp_pause_time > RC5_START_BIT_LEN_MAX && irmp_pause_time <= 2 * RC5_START_BIT_LEN_MAX)
{
- DEBUG_PRINTF ("[bit %2d: pulse = %3d, pause = %3d] ", irmp_bit, irmp_pulse_time, irmp_pause_time);
+ DEBUG_PRINTF ("%8d [bit %2d: pulse = %3d, pause = %3d] ", time_counter, irmp_bit, irmp_pulse_time, irmp_pause_time);
DEBUG_PUTCHAR ('1');
DEBUG_PUTCHAR ('\n');
irmp_store_bit (1);
}
else if (! last_value)
{
- DEBUG_PRINTF ("[bit %2d: pulse = %3d, pause = %3d] ", irmp_bit, irmp_pulse_time, irmp_pause_time);
+ DEBUG_PRINTF ("%8d [bit %2d: pulse = %3d, pause = %3d] ", time_counter, irmp_bit, irmp_pulse_time, irmp_pause_time);
DEBUG_PUTCHAR ('0');
DEBUG_PUTCHAR ('\n');
irmp_store_bit (0);
@@ -1402,10 +1469,31 @@ irmp_ISR (void)
else
#endif // IRMP_SUPPORT_RC5_PROTOCOL == 1
+#if IRMP_SUPPORT_GRUNDIG_PROTOCOL == 1
+ if (irmp_param.protocol == IRMP_GRUNDIG_PROTOCOL)
+ {
+ if (irmp_pause_time > GRUNDIG_START_BIT_LEN_MAX && irmp_pause_time <= 2 * GRUNDIG_START_BIT_LEN_MAX)
+ {
+ DEBUG_PRINTF ("%8d [bit %2d: pulse = %3d, pause = %3d] ", time_counter, irmp_bit, irmp_pulse_time, irmp_pause_time);
+ DEBUG_PUTCHAR ('0');
+ DEBUG_PUTCHAR ('\n');
+ irmp_store_bit (0);
+ }
+ else if (! last_value)
+ {
+ DEBUG_PRINTF ("%8d [bit %2d: pulse = %3d, pause = %3d] ", time_counter, irmp_bit, irmp_pulse_time, irmp_pause_time);
+ DEBUG_PUTCHAR ('1');
+ DEBUG_PUTCHAR ('\n');
+ irmp_store_bit (1);
+ }
+ }
+ else
+#endif // IRMP_SUPPORT_GRUNDIG_PROTOCOL == 1
+
#if IRMP_SUPPORT_DENON_PROTOCOL == 1
if (irmp_param.protocol == IRMP_DENON_PROTOCOL)
{
- DEBUG_PRINTF ("[bit %2d: pulse = %3d, pause = %3d] ", irmp_bit, irmp_pulse_time, irmp_pause_time);
+ DEBUG_PRINTF ("%8d [bit %2d: pulse = %3d, pause = %3d] ", time_counter, irmp_bit, irmp_pulse_time, irmp_pause_time);
if (irmp_pause_time >= DENON_1_PAUSE_LEN_MIN && irmp_pause_time <= DENON_1_PAUSE_LEN_MAX)
{ // pause timings correct for "1"?
@@ -1488,6 +1576,15 @@ irmp_ISR (void)
}
else
#endif
+#if IRMP_SUPPORT_GRUNDIG_PROTOCOL == 1
+ if (irmp_param.protocol == IRMP_GRUNDIG_PROTOCOL &&
+ irmp_pause_time > 2 * GRUNDIG_BIT_LEN_MAX && irmp_bit >= GRUNDIG_COMPLETE_DATA_LEN - 2 && !irmp_param.stop_bit)
+ { // special rc5 decoder
+ got_light = TRUE; // this is a lie, but generates a stop bit ;-)
+ irmp_param.stop_bit = TRUE; // set flag
+ }
+ else
+#endif
if (irmp_pause_time > IRMP_TIMEOUT_LEN) // timeout?
{ // yes...
if (irmp_bit == irmp_param.complete_len - 1 && irmp_param.stop_bit == 0)
@@ -1512,7 +1609,7 @@ irmp_ISR (void)
if (got_light)
{
- DEBUG_PRINTF ("[bit %2d: pulse = %3d, pause = %3d] ", irmp_bit, irmp_pulse_time, irmp_pause_time);
+ DEBUG_PRINTF ("%8d [bit %2d: pulse = %3d, pause = %3d] ", time_counter, irmp_bit, irmp_pulse_time, irmp_pause_time);
#if IRMP_SUPPORT_RC5_PROTOCOL == 1
if (irmp_param.protocol == IRMP_RC5_PROTOCOL) // special rc5 decoder
@@ -1552,6 +1649,44 @@ irmp_ISR (void)
else
#endif
+#if IRMP_SUPPORT_GRUNDIG_PROTOCOL == 1
+ if (irmp_param.protocol == IRMP_GRUNDIG_PROTOCOL) // special Grundig decoder
+ {
+ if (irmp_pulse_time > GRUNDIG_BIT_LEN_MAX && irmp_pulse_time <= 2 * GRUNDIG_BIT_LEN_MAX)
+ {
+ DEBUG_PUTCHAR ('0');
+ irmp_store_bit (0);
+ DEBUG_PUTCHAR ('1');
+ DEBUG_PUTCHAR ('\n');
+ irmp_store_bit (1);
+ last_value = 1;
+ }
+
+ else // if (irmp_pulse_time >= GRUNDIG_BIT_LEN_MIN && irmp_pulse_time <= GRUNDIG_BIT_LEN_MAX)
+ {
+ uint8_t grundig_value;
+
+ if (last_pause > GRUNDIG_BIT_LEN_MAX && last_pause <= 2 * GRUNDIG_BIT_LEN_MAX)
+ {
+ grundig_value = last_value ? 0 : 1;
+ last_value = grundig_value;
+ }
+ else
+ {
+ grundig_value = last_value;
+ }
+
+ DEBUG_PUTCHAR (grundig_value + '0');
+ DEBUG_PUTCHAR ('\n');
+ irmp_store_bit (grundig_value);
+ }
+
+ last_pause = irmp_pause_time;
+ wait_for_space = 0;
+ }
+ else
+#endif
+
#if IRMP_SUPPORT_RC6_PROTOCOL == 1
if (irmp_param.protocol == IRMP_RC6_PROTOCOL) // special rc6 decoder
{
@@ -1781,17 +1916,48 @@ irmp_ISR (void)
if (irmp_bit == irmp_param.complete_len && irmp_param.stop_bit == 0) // enough bits received?
{
- // if SIRCS/SAMSUNG32 protocol and the code will be repeated within 50 ms, we will ignore it.
- if ((irmp_param.protocol == IRMP_SIRCS_PROTOCOL ||
- irmp_param.protocol == IRMP_SAMSUNG32_PROTOCOL ||
- irmp_param.protocol == IRMP_NUBERT_PROTOCOL) &&
- last_irmp_command == irmp_tmp_command && repetition_counter < AUTO_REPETITION_LEN)
+ if (last_irmp_command == irmp_tmp_command && repetition_counter < AUTO_REPETITION_LEN)
+ {
+ repetition_frame_number++;
+ }
+ else
{
- DEBUG_PRINTF ("code skipped, recognized SIRCS, SAMSUNG32 or NUBERT repetition, counter = %d, auto repetition len = %d\n",
- repetition_counter, AUTO_REPETITION_LEN);
+ repetition_frame_number = 0;
+ }
+
+#if IRMP_SUPPORT_SIRCS_PROTOCOL == 1
+ // if SIRCS protocol and the code will be repeated within 50 ms, we will ignore 2nd and 3rd repetition frame
+ if (irmp_param.protocol == IRMP_SIRCS_PROTOCOL && (repetition_frame_number == 1 || repetition_frame_number == 2))
+ {
+ DEBUG_PRINTF ("code skipped: SIRCS auto repetition frame #%d, counter = %d, auto repetition len = %d\n",
+ repetition_frame_number + 1, repetition_counter, AUTO_REPETITION_LEN);
+ repetition_counter = 0;
+ }
+ else
+#endif
+
+#if IRMP_SUPPORT_SAMSUNG_PROTOCOL == 1
+ // if SAMSUNG32 protocol and the code will be repeated within 50 ms, we will ignore every 2nd frame
+ if (irmp_param.protocol == IRMP_SAMSUNG32_PROTOCOL && (repetition_frame_number & 0x01))
+ {
+ DEBUG_PRINTF ("code skipped: SAMSUNG32 auto repetition frame #%d, counter = %d, auto repetition len = %d\n",
+ repetition_frame_number + 1, repetition_counter, AUTO_REPETITION_LEN);
+ repetition_counter = 0;
+ }
+ else
+#endif
+
+#if IRMP_SUPPORT_NUBERT_PROTOCOL == 1
+ // if NUBERT protocol and the code will be repeated within 50 ms, we will ignore it.
+ if (irmp_param.protocol == IRMP_NUBERT_PROTOCOL && (repetition_frame_number & 0x01))
+ {
+ DEBUG_PRINTF ("code skipped: NUBERT auto repetition frame #%d, counter = %d, auto repetition len = %d\n",
+ repetition_frame_number + 1, repetition_counter, AUTO_REPETITION_LEN);
repetition_counter = 0;
}
else
+#endif
+
{
DEBUG_PRINTF ("code detected, length = %d\n", irmp_bit);
irmp_ir_detected = TRUE;
@@ -1816,6 +1982,16 @@ irmp_ISR (void)
}
else
#endif // IRMP_SUPPORT_DENON_PROTOCOL
+
+#if IRMP_SUPPORT_GRUNDIG_PROTOCOL == 1
+ if (irmp_param.protocol == IRMP_GRUNDIG_PROTOCOL && irmp_tmp_command == 0x01ff) // only start frame?
+ {
+ DEBUG_PRINTF ("Detected start frame, ignoring it\n");
+ irmp_ir_detected = FALSE;
+ // last_irmp_grundig_command = irmp_tmp_command;
+ }
+ else
+#endif // IRMP_SUPPORT_DENON_PROTOCOL
{
#if IRMP_SUPPORT_NEC_PROTOCOL == 1
if (irmp_param.protocol == IRMP_NEC_PROTOCOL && irmp_bit == 0) // repetition frame
@@ -1912,6 +2088,8 @@ print_timings (void)
BANG_OLUFSEN_START_BIT3_PULSE_LEN_MIN, BANG_OLUFSEN_START_BIT3_PULSE_LEN_MAX, BANG_OLUFSEN_START_BIT3_PAUSE_LEN_MIN, BANG_OLUFSEN_START_BIT3_PAUSE_LEN_MAX);
printf ("BANG_OLUFSEN 4 %3d - %3d %3d - %3d\n",
BANG_OLUFSEN_START_BIT4_PULSE_LEN_MIN, BANG_OLUFSEN_START_BIT4_PULSE_LEN_MAX, BANG_OLUFSEN_START_BIT4_PAUSE_LEN_MIN, BANG_OLUFSEN_START_BIT4_PAUSE_LEN_MAX);
+ printf ("GRUNDIG 1 %3d - %3d %3d - %3d\n",
+ GRUNDIG_START_BIT_LEN_MIN, GRUNDIG_START_BIT_LEN_MAX, GRUNDIG_PRE_PAUSE_LEN_MIN, GRUNDIG_PRE_PAUSE_LEN_MAX);
}
int
diff --git a/irmp.exe b/irmp.exe
index 62438b0..93e51e7 100644
--- a/irmp.exe
+++ b/irmp.exe
Binary files differ
diff --git a/irmp.h b/irmp.h
index 67a9895..6f718f8 100644
--- a/irmp.h
+++ b/irmp.h
@@ -3,7 +3,7 @@
*
* Copyright (c) 2009-2010 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmp.h,v 1.13 2010/04/16 09:23:29 fm Exp $
+ * $Id: irmp.h,v 1.14 2010/05/15 17:13:07 fm Exp $
*
* ATMEGA88 @ 8 MHz
*
@@ -40,6 +40,7 @@ extern "C"
#define IRMP_RECS80EXT_PROTOCOL 12 // Philips, Technisat, Thomson, Nordmende, Telefunken, Saba
#define IRMP_NUBERT_PROTOCOL 13 // Nubert
#define IRMP_BANG_OLUFSEN_PROTOCOL 14 // Bang & Olufsen
+#define IRMP_GRUNDIG_PROTOCOL 15 // Grundig
#define SIRCS_START_BIT_PULSE_TIME 2400.0e-6 // 2400 usec pulse
#define SIRCS_START_BIT_PAUSE_TIME 600.0e-6 // 600 usec pause
@@ -212,6 +213,16 @@ extern "C"
#define BANG_OLUFSEN_STOP_BIT 1 // has stop bit
#define BANG_OLUFSEN_LSB 0 // MSB...LSB
+#define GRUNDIG_BIT_TIME 528.0e-6 // 528 usec pulse/pause
+#define GRUNDIG_PRE_PAUSE_TIME 2639.0e-6 // 2639 usec pause after pre bit
+#define GRUNDIG_ADDRESS_OFFSET 0 // skip 2 bits (2nd start + 1 toggle)
+#define GRUNDIG_ADDRESS_LEN 0 // read 5 address bits
+#define GRUNDIG_COMMAND_OFFSET 1 // skip 2 bits (1 start bit)
+#define GRUNDIG_COMMAND_LEN 9 // read 9 command bits
+#define GRUNDIG_COMPLETE_DATA_LEN 10 // complete length: 1 start bit + 9 data bits
+#define GRUNDIG_STOP_BIT 0 // has no stop bit
+#define GRUNDIG_LSB 1 // MSB...LSB
+
#define AUTO_REPETITION_TIME 50.0e-3 // SIRCS or SAMSUNG32: automatic repetition after 45-50ms
#define TRUE 1
diff --git a/irmpconfig.h b/irmpconfig.h
index 8bcf3a3..bc9d972 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.3 2010/04/12 13:26:46 fm Exp $
+ * $Id: irmpconfig.h,v 1.5 2010/05/15 17:56:24 fm Exp $
*
* ATMEGA88 @ 8 MHz
*
@@ -42,6 +42,7 @@
#define IRMP_SUPPORT_RECS80EXT_PROTOCOL 1 // flag: support RECS80EXT uses ~50 bytes
#define IRMP_SUPPORT_NUBERT_PROTOCOL 1 // flag: support NUBERT uses ~50 bytes
#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
/*---------------------------------------------------------------------------------------------------------------------------------------------------
* Change hardware pin here: