]> cloudbase.mooo.com Git - irmp.git/commitdiff
Version 1.6.0: added FDC protocol, corrected DENON timing
authorukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Wed, 9 Jun 2010 00:03:03 +0000 (00:03 +0000)
committerukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Wed, 9 Jun 2010 00:03:03 +0000 (00:03 +0000)
git-svn-id: svn://mikrocontroller.net/irmp@21 aeb2e35e-bfc4-4214-b83c-9e8de998ed28

13 files changed:
IR-Data/denon-15kHz.txt [new file with mode: 0644]
IR-Data/fdc-15kHz.txt [new file with mode: 0644]
IR-Data/nec-skymaster-dt500.txt [new file with mode: 0644]
IR-Data/test-suite.sh
README.txt
irmp.c
irmp.exe
irmp.h
irmpconfig.h
irsnd.c
irsnd.exe
irsndconfig.h
makefile.lnx

diff --git a/IR-Data/denon-15kHz.txt b/IR-Data/denon-15kHz.txt
new file mode 100644 (file)
index 0000000..b06c3a1
--- /dev/null
@@ -0,0 +1,20 @@
+# 0008 030c\r
+000001111111111100001111111111111111111111111110000011111111110000011111111111000011111111111100001111111111111111111111111110000111111111111111111111111110000011111111111000001111111111100001111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111100000111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111000001111111111111111111111111100000111111111110000011111111110000011111111111000011111111111100000111111111100000111111111111111111111111110000011111111111111111111111111000001111111111111111111111111100000111111111111111111111111110000011111111111000011111111111000001111111111111111111111111110000111111111111111111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000011111111111000001111111111111111111111111110000111111111110000011111111111000001111111111000001111111111111111111111111100000111111111111111111111111111000011111111111000011111111111000001111111111100000111111111110000111111111111111111111111111000001111111111111111111111111100001111111111100000111111111110000111111111111111\r
+# 0008 008c\r
+00001111111111100000111111111111111111111111111000011111111111000001111111111100001111111111100000111111111110000111111111111000011111111111111111111111111100001111111111100001111111111110000111111111110000011111111111111111111111111000001111111111111111111111111100000111111111110000111111111111000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111100001111111111111111111111111110000111111111110000011111111111000011111111111000001111111111111111111111111100000111111111111111111111111110000011111111111000001111111111111111111111111100001111111111111111111111111110000111111111111111111111111111000001111111111100001111111111100000111111111111111111111111110000011111111111111111111111111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111100000111111111111111111111111110000011111111111000011111111111100001111111111100000111111111110000111111111110000011111111111111111111111111000001111111111100000111111111110000111111111110000111111111111111111111111111000001111111111111111111111111100000111111111110000111111111110000011111111111111\r
+# 0008 028c\r
+000001111111111100000111111111111111111111111110000011111111111000011111111111000001111111111100001111111111111111111111111110000111111111111000011111111111111111111111111100001111111111100000111111111110000111111111110000011111111111111111111111111000001111111111111111111111111100000111111111110000111111111111000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111100001111111111111111111111111110000111111111110000011111111111000011111111111000001111111111100000111111111111111111111111110000111111111111000011111111111111111111111111100001111111111111111111111111110000111111111111111111111111111000011111111111000001111111111100001111111111111111111111111110000111111111111111111111111111000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111100000111111111111111111111111110000011111111111000011111111111000001111111111100001111111111111111111111111110000111111111110000011111111111111111111111111000001111111111100000111111111110000111111111110000011111111111111111111111111000001111111111111111111111111100000111111111110000111111111110000011111111111111\r
+# 0008 031c\r
+000001111111111100001111111111111111111111111110000111111111110000011111111111000011111111111100001111111111111111111111111110000111111111111111111111111111000011111111111000001111111111100001111111111100000111111111111111111111111110000011111111111111111111111111000001111111111111111111111111100000111111111110000111111111111000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111100001111111111111111111111111110000111111111110000011111111111000011111111111000001111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111111111111111111110000111111111110000011111111111000011111111111100001111111111111111111111111110000011111111111111111111111111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111000001111111111111111111111111110000111111111110000011111111111000001111111111100001111111111111111111111111110000111111111111111111111111111000001111111111100001111111111110000111111111110000011111111111111111111111111100001111111111111111111111111110000111111111111111111111111111000001111111111100000111111111110000111111111111111\r
+# 0008 024c\r
+000001111111111100001111111111111111111111111110000111111111110000011111111111000011111111111100001111111111111111111111111100000111111111110000011111111111000011111111111111111111111111100001111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111100000111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111000001111111111111111111111111100000111111111110000111111111110000011111111111000011111111111100001111111111111111111111111100000111111111111111111111111110000011111111111000001111111111111111111111111100001111111111111111111111111110000011111111111000011111111111000001111111111111111111111111100000111111111111111111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000011111111111000001111111111111111111111111110000111111111110000111111111111000011111111111000001111111111111111111111111100000111111111110000111111111110000011111111111111111111111111000001111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111100000111111111110000111111111111111\r
+# 0008 02cc\r
+0000011111111111000011111111111111111111111111100001111111111100000111111111110000111111111111000011111111111111111111111111100001111111111100000111111111111111111111111110000011111111111111111111111111000001111111111100001111111111100000111111111111111111111111110000011111111111111111111111111100001111111111100001111111111110000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000111111111111000011111111111111111111111111100001111111111100000111111111110000111111111110000011111111111000001111111111111111111111111100001111111111110000111111111110000011111111111111111111111111000001111111111111111111111111100000111111111110000111111111110000011111111111111111111111111100001111111111111111111111111100000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000111111111111000011111111111111111111111111100001111111111100000111111111110000111111111110000011111111111111111111111111000001111111111100000111111111111111111111111110000111111111111111111111111111000001111111111100001111111111100000111111111111111111111111110000011111111111111111111111111000001111111111100001111111111110000111111111111111\r
+# 0008 01cc\r
+000001111111111100001111111111111111111111111110000011111111111000011111111111000001111111111100000111111111110000111111111111111111111111111000001111111111111111111111111110000111111111111111111111111111000011111111111100001111111111100000111111111111111111111111110000011111111111111111111111111100001111111111100000111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111110000011111111111111111111111111000011111111111100001111111111100000111111111110000111111111111111111111111111000011111111111000001111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111110000011111111111111111111111111000001111111111100001111111111100000111111111110000111111111110000011111111111111111111111111000001111111111111111111111111100000111111111111111111111111111000011111111111000011111111111100001111111111111111111111111110000111111111111111111111111111000011111111111000001111111111100001111111111111111111\r
+# 0008 00cc\r
+000011111111111000001111111111111111111111111110000111111111110000011111111111000011111111111000001111111111100001111111111100000111111111111111111111111110000011111111111111111111111111000001111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111100000111111111110000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111000011111111111111111111111111100001111111111110000111111111110000011111111111000011111111111111111111111111100001111111111111111111111111110000111111111110000011111111111000011111111111111111111111111100001111111111111111111111111110000011111111111000011111111111000011111111111111111111111111100000111111111111111111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111000001111111111111111111111111100000111111111110000111111111111000011111111111000001111111111100001111111111100000111111111111111111111111110000011111111111111111111111111000001111111111100001111111111100000111111111111111111111111111000011111111111111111111111111000001111111111100001111111111110000111111111111111\r
+# 0008 012c\r
+000001111111111100001111111111111111111111111110000111111111110000011111111111000011111111111100001111111111100001111111111111111111111111110000011111111111000011111111111000001111111111111111111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111100000111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111000001111111111111111111111111100000111111111110000111111111110000011111111111000011111111111111111111111111100001111111111100000111111111111111111111111111000011111111111111111111111111100001111111111100001111111111111111111111111110000011111111111000011111111111000001111111111111111111111111100000111111111111111111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000011111111111000001111111111111111111111111110000111111111110000111111111111000011111111111000001111111111100001111111111111111111111111110000111111111110000011111111111000001111111111111111111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111100000111111111110000111111111111111\r
+# 0006 018c\r
+000001111111111100001111111111111111111111111110000111111111110000011111111111000011111111111100001111111111100001111111111111111111111111110000011111111111111111111111111000001111111111100001111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111100000111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111000001111111111111111111111111100001111111111110000111111111110000011111111111000011111111111111111111111111100001111111111100000111111111110000011111111111111111111111111000001111111111111111111111111100001111111111111111111111111110000011111111111000011111111111000001111111111111111111111111100000111111111111111111111111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000011111111111000001111111111111111111111111110000111111111110000111111111111000011111111111000001111111111100001111111111111111111111111110000111111111111111111111111111000011111111111000001111111111100000111111111110000111111111111111111111111111000011111111111111111111111111100001111111111100000111111111110000111111111111111\r
diff --git a/IR-Data/fdc-15kHz.txt b/IR-Data/fdc-15kHz.txt
new file mode 100644 (file)
index 0000000..00a4a27
--- /dev/null
@@ -0,0 +1,42 @@
+# 1\r
+000000000000000000000111111111000111111100011111111000111111100011111110001111111000111111100011000011000110001100011000111000110001100011000110000110001100011000110001110001100011000110001100001111111000110001100011000111000110001100011111110001100011111111000111111100011111110001111111000111111100011111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000011111111110001111111000111111100011111110001111111000111111110001111111000110001100011000111000110001100011000111000110001100011000110001110001100011111110001111111000111111100011111111000110001111111000110001100011100011000110001100011111110001110001111111000111111100011111110001111111000111111110001111111000111111111111111\r
+# 2\r
+0000000000000000000001111111111000111111100011111110001111111000111111100011111111000111111100011000110001100011100011000110001100011000111000110001100011000111000110001100011000110001110001111111000111111100011000110001110001100011000110001110001100011111110001111111000111111100011111110001111111100011111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111000111111110001111111000111111100011111110001111111000110000110001100011000110001110001100011000110001100011100011000110001100011111111000111111100011111110001111111000111111100011111110001110001100011000110001100011100011000110001111111000111111100001111111000111111100011111110001111111000111111111111111111\r
+# 3\r
+0000000000000000000001111111111000111111100011111110001111111000111111110001111111000111111100011000110001110001100011000110001110001100011000110001100011100011000110001100011000011000110001100011000111111110001100011000110001100011100011111110001111111000110001111111000111111110001111111000111111100011111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111111000111111100011111110001111111000111111100011111110001111111100011000110001100011000111000110001100011000111000110001100011000110001110001111111000111111100011111110001111111000111000110001111111000110001100011100011000110001111111000111111100011100011111110001111111000111111100011111110001111111000111111111111111111\r
+# 4\r
+00000000000000000000011111111110001111111000111111100011111110001111111000111111100011111111000110001100011000110000110001100011000110001110001100011000110001100001100011000110001100011100011111110001100011111110001100011100011000110001100011000111111110001100011111110001111111000111111100011111111000111111100011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111000111111110001111111000111111100011111110001111111000110000110001100011000110001110001100011000110001100001100011000110001100011111111000111111100011111110001111111000111111100011000111111110001100011000110001100001100011000111111100011000111111100001111111000111111100011111110001111111000111111111111111111111\r
+# 5\r
+000000000000000000000111111111100011111110001111111000111111100011111111000111111100011111110001100011000111000110001100011000110001110001100011000110001110001100011000110001100011100011000110001111111000111111100011100011000110001100011100011111110001100011000111111100011111111000111111100011111110001111111000111111111111111111\r
+# 6\r
+000000000000000000000111111111000111111110001111111000111111100011111110001111111000111111100011100011000110001100011100011000110001100011000111000110001100011000111000110001100011000110001111111100011111110001111111000110001100011100011000110001100011000011000111111100011111110001111111000111111100011111111000111111111111111111\r
+# 7\r
+00000000000000000000011111111110001111111000111111100011111110001111111100011111110001111111000110001100011100011000110001100011000111000110001100011000111000110001100011000110001110001100011000110001110001111111000110001100011000111000111111100011111110001111111000110001111111000011111110001111111000111111100011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111111000111111100011111110001111111000111111100011111110001111111100011000110001100011000011000110001100011000111000110001100011000110000110001111111000111111100011111110001111111000111000110001100011111110001100011100011000110001111111000111111100011111111000110001111111000111111100011111110001111111100011111111111111111111\r
+# 8\r
+000000000000000000000111111111100011111110001111111000111111100011111110001111111100011111110001100011000110001110001100011000110001110001100011000110001100011100011000110001100011000011000111111100011000110001111111000011000110001100011000111000111111100011111110001100011111110001111111100011111110001111111000111111111111111111\r
+# 9\r
+000000000000000000000111111111100011111110001111111000111111100011111110001111111000111111110001100011000110001110001100011000110001100011100011000110001100011100011000110001100011000111000110001111111000110001111111000111000110001100011000111111100011100011111110001100011111110001111111000111111110001111111000111111111111111111\r
+# 0\r
+0000000000000000000001111111111000111111100011111110001111111000111111100011111111000111111100011000110001100011100011000110001100011000111000110001100011000111000110001100011000110001110001111111000111111100011000111111100011100011000110001100011100011000111111100011000111111100011111110001111111100011111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111000011111110001111111000111111100011111110001111111000111000110001100011000110001110001100011000110001110001100011000110001100011111111000111111100011111110001111111000111111100011111110001110001111111000110001100011000011000110001100011111110001110001111111000111111100011111110001111111000111111111111111111\r
+# Q\r
+000000000000000000000111111111100011111110001111111000111111100011111110001111111100011111110001100011000110001110001100011000110001100001100011000110001100011100011000110001100011000111000111111100011000110001110001111111000110001100011000111000111111100011111110001111111000110001111111000011111110001111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111000111111110001111111000111111100011111110001111111000110001110001100011000110001110001100011000110001100011100011000110001100011111110000111111100011111110001111111000111111100011000111000110001111111000110001100011100011000111111100011111110001111111000111000111111100011111110001111111000111111111111111\r
+# W\r
+000000000000000000000111111111100011111110001111111000111111100011111110001111111100011111110001100011000110001110001100011000110001110001100011000110001100011100011000110001100011100011000110001111111000110001110001111111000110001100011000111111110001100011111110001111111000110001111111100011111110001111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111000111111110001111111000111111100011111110001111111000111000110001100011000110001110001100011000110001110001100011000110001100011111111000111111100011111110001111111000110001111111000111000110001111111000110001110001100011111110001100011111110001111111000011000111111100011111110001111111000111111111111111\r
+# E\r
+0000000000000000000001111111110001111111100011111110001111111000111111100011111110001111111000111000110001100011000111000110001100011000110001110001100011000110001110001100011000110001100011111111000111111100011000110001111111000111000110001100011000110001111111100011111110001100011111110001111111000111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000011111111110001111111000111111100011111111000111111100011111110001111111000110001100001100011000110001100011100011000110001100011000011000110001100011111110001111111000111111110001111111000111111100011111110001100011100011111110001100011000110001110001100011111110001111111000110001111111100011111110001111111000111111111111111111\r
+# R\r
+0000000000000000000001111111111000111111100011111110001111111000111111100011111110000111111100011000110001100011100011000110001100011000111000110001100011000111000110001100011000110001110001100011000111111100011000111111110001100011000110001111111000111111110001100011111110001100011111110001111111100011111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111000111111110001111111000111111100011111110001111111000111000110001100011000110001110001100011000110001110001100011000110001100011111111000111111100011111110001111111000110001110001111111000110001111111000110001110001100011111110001111111000110001111111000111000111111100011111110001111111000111111111111111111\r
+# T\r
+000000000000000000000111111111100011111110001111111000111111100011111110001111111000111111110001100011000110001100011100011000110001100011100011000110001100011000111000110001100011000111000111111100011000111111100011000111111110001100011000110001100011111111000110001111111000110001111111000111111110001111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111000111111100011111111000111111100011111110001111111000110001110001100011000110001100011100011000110001100011100011000110001100011111110001111111100011111110001111111000111111100011000111111100011100011111110001100011000111000110001111111000110001111111000111000111111100011111110001111111000111111111111111\r
+# Z\r
+0000000000000000000001111111110001111111000111111110001111111000111111100011111110001111111000110000110001100011000110001110001100011000110001100001100011000110001100011100011000110001100011000011111110001111111000110001111111000110001110001100011111110001100011000011111110001100011111110001111111000111111100011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111111000111111100011111110001111111000111111100011111111000111111100011000110001100011100011000110001100011000011000110001100011000111000110001111111000111111100011111110001111111000011000111111100011111110001100011111110001110001100011000111111100011000011000111111100011000111111100011111110001111111100011111111111111111111\r
+# U\r
+000000000000000000000111111111100011111110001111111000111111100011111111000111111100011111110001100011000111000110001100011000110001110001100011000110001110001100011000110001100011100011000111111100011111110001111111000111000111111100011000110001100011100011000110001111111000111000111111100011111110001111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111100011111110001111111000111111100011111110001111111000111000110001100011000111000110001100011000110001110001100011000110001110001111111000111111100011111110001111111000111111100011111111000111111100011000111111100011000111000110001100011000110001111111100011000111111100011111110001111111000111111111111111\r
+# I\r
+0000000000000000000011111111110001111111000111111100011111111000111111100011111110001111111000110001110001100011000110001100011100011000110001100011100011000110001100011000111000110001100011000111000110001111111000111111100011000111000110001111111000111111100011111110001100001100011111110001111111000111111100011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111111000111111100011111110001111111000111111100011111110001111111100011000110001100011000111000110001100011000111000110001100011000110001110001111111000111111100011111110001111111000111000110001100011111110001111111000111000110001100011111110001111111000111111110001100011000111111100011111110001111111000011111111111111111111\r
+# O\r
+0000000000000000000001111111111000111111100011111110001111111000111111100011111111000111111100011000110001100011100011000110001100011000111000110001100011000111000110001100011000110001110001111111000110001100011111110001111111100011000110001100011000011111110001111111000110001100011111110001111111100011111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111000111111110001111111000111111100011111110001111111000111000110001100011000110001110001100011000110001110001100011000110001100011111111000111111100011111110001111111000111111100011000111000111111100011111110001100011000111000110001111111000111111100011000111000111111100011111110001111111000111111111111111111\r
+# P\r
+000000000000000000001111111111000111111100011111110001111111000111111100001111111000111111100011000110001100001100011000110001100011100011000110001100011000011000110001100011000111000110001100011111110001100011111111000111111100011000110001100011111111000110001111111000110001100011111111000111111100011111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000001111111110001111111000111111110001111111000111111100011111110001111111000110001110001100011000110001110001100011000110001100011100011000110001100011111110001111111100011111110001111111000110001111111000111000111111100011111110001100011000111000111111100011000111111100011000111000111111100011111110001111111000111111111111111111\r
+# Leertaste\r
+00000000000000000000111111111100011111110001111111000111111110001111111000111111100011111110001100011100011000110001100011000111000110001100011000111000110001100011000110001110001100011000111111100011000111111110001111111000111111100011111110001100011100011000111111100011000110001110001100011111110001111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000011111111110001111111000111111100011111110001111111000111111110001111111000110001100011000111000110001100011000111000110001100011000110001110001100011111110001111111000111111100011111111000111111100011000111111100011111110001111111000111111110001100011000110001111111000111000110001100011000111111100001111111000111111111111111111111\r
diff --git a/IR-Data/nec-skymaster-dt500.txt b/IR-Data/nec-skymaster-dt500.txt
new file mode 100644 (file)
index 0000000..64a46ad
--- /dev/null
@@ -0,0 +1,20 @@
+# Fernbedienung fuer DVB-T Receiver Skymaster DT 500\r
+#Taste 1: lange gedrueckt gehalten\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111100000001111100000001111000000011111000000011110000000011110000000111110000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111100000001111111111111111000000011111111111111111000000111111111111111110000001111111111111111100000001111000000011111000000011111111111111110000000111110000000111100000001111111111111111000000011111111111111110000000111110000000111110000000111111111111111100000001111000000001111111111111111000000011111111111111110000000111100000001111100000001111111111111111000000011111111111111110000000111110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111\r
+#Taste 2:\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111110000000111110000000111100000001111100000001111100000001111000000011111000000011111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111110000001111100000001111100000001111100000011111000000011111111111111110000000111111111111111100000000111100000001111100000001111111111111111000000111111111111111110000000111111111111111100000001111111111111111000000011111000000011110000000011111111111111110000000111111111111111100000001111000000011111111111111111111\r
+1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111000000011111111111111111111111111111111111111111111111111\r
+#Taste 3:\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111110000000111110000000111110000000111100000001111100000001111000000011111000000011111111111111110000000111111111111111100000001111111111111111000000001111111111111111000000011111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111110000000111110000000111100000001111111111111111000000001111000000011111111111111110000000111111111111111100000001111100000001111100000001111111111111111000000011111111111111110000000111100000000111111111111111100000001111000000011111000000011111111111111110000000111111111111111100000001111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111000000011111111111111\r
+#Taste 4:\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111100000000111100000001111100000001111000000011111000000011110000000111110000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111100000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111100000001111100000001111000000011111111111111110000000111111111111111110000000111100000001111111111111111000000011111111111111110000000011110000000111100000000111111111111111100000001111000000011111000000011111111111111110000000111100000000111100000001111111111111111000000011111111111111110000000111110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111000000011111111111111111\r
+#Taste 5:\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111110000000011110000000111110000000111100000001111100000001111000000011111000000011111111111111110000000111111111111111100000001111111111111111000000001111111111111111000000011111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111110000000111100000000111111111111111100000001111000000011111111111111110000000111110000000111111111111111100000001111100000001111000000011111111111111110000000011110000000111111111111111100000001111100000001111111111111111000000011111000000011111111111111110000000111111111111111100000001111000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111000000011111111111111\r
+#Taste 6:\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111110000000111110000000111100000001111100000001111000000011111000000011111000000011111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111100000001111111111111111000000001111111111111111000000011111111111111110000000111100000001111100000001111100000001111000000011111111111111110000000111110000000111111111111111100000001111000000001111000000011111111111111110000000111111111111111100000001111111111111111100000001111000000011111111111111110000000011110000000111111111111111100000001111111111111111000000011111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111100000001111111111111111\r
+#Taste 7:\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111110000000111110000000111100000001111100000001111000000011111000000011111000000011111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111110000000111100000001111100000001111111111111111000000011111111111111110000000111110000000111111111111111100000001111000000001111000000011111111111111110000000111111111111111100000000111100000001111100000001111111111111111000000011110000000111111111111111110000000111111111111111100000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111110000000111111111111111\r
+#Taste 8:\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111110000000111110000001111100000001111100000011111000000011111000000011111000000111111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111100000001111111111111111100000011111111111111111000000011111111111111110000000111100000000111100000001111111111111111000000011111111111111110000000111111111111111110000001111100000001111111111111111000000011111000000011110000000011111111111111110000000111100000001111100000011111000000011111111111111111000000111110000000111111111111111100000001111111111111111100000011111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111110000000111111111111111\r
+#Taste 9:\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111110000000111110000000111100000001111100000001111000000011111000000011110000000111111111111111110000000111111111111111100000001111111111111111000000011111111111111110000000111111111111111100000001111111111111111100000011111111111111111000000011111111111111110000000111100000000111100000001111111111111111000000011111000000011111000000011110000000111111111111111100000001111100000001111000000011111111111111111000000011110000000111111111111111100000000111111111111111100000001111111111111111000000011110000000111111111111111110000000111111111111111100000001111000000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111000000011111111111111\r
index 461c6889d5e77c4e1c3dd70ec4f6e5767dda3e6d..a54440cb74ec5dc8af1c06c5a94c859856109dd8 100644 (file)
@@ -8,7 +8,7 @@
 #\r
 # Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de\r
 #\r
-# $Id: test-suite.sh,v 1.7 2010/05/28 08:26:13 fm Exp $\r
+# $Id: test-suite.sh,v 1.9 2010/06/08 22:22:13 fm Exp $\r
 #----------------------------------------------------------------------------\r
 \r
 for j in                            \\r
@@ -23,7 +23,6 @@ for j in                            \
     RC5-Taste.txt                   \\r
     Samsung_DVD_Rec_00062C.txt      \\r
     Samsung_TV.txt                  \\r
-    Siemens-Gigaset-M740AV.txt      \\r
     Sony-RM-S-310.txt               \\r
     sony-rm-s311.txt                \\r
     Sony-RM-U305C.txt               \\r
@@ -37,6 +36,7 @@ for j in                            \
     denon.txt                       \\r
     elta_radio.txt                  \\r
     nec-repetition.txt              \\r
+    nec-skymaster-dt500.txt        \\r
     nec.txt                         \\r
     nubert-subwoofer.txt            \\r
     orion_vcr_07660BM070.txt        \\r
@@ -52,10 +52,26 @@ do
     echo "testing $j ..."\r
     if ../irmp < $j | grep -q error\r
     then\r
-        ../irmp < $j | grep error\r
-        echo "test failed"\r
-        exit 1\r
+       ../irmp < $j | grep error\r
+       echo "test failed"\r
+       exit 1\r
     fi\r
 done\r
+\r
+for j in                               \\r
+    Siemens-Gigaset-M740AV-15kHz.txt   \\r
+    bo_beolink1000-15kHz.txt           \\r
+    denon-15kHz.txt                    \\r
+    fdc-15kHz.txt\r
+do\r
+    echo "testing $j ..."\r
+    if ../irmp-15kHz < $j | grep -q error\r
+    then\r
+       ../irmp-15kHz < $j | grep error\r
+       echo "test failed"\r
+       exit 1\r
+    fi\r
+done\r
+\r
 echo "all tests successful"\r
 exit 0\r
index 6a7a0782152bf698b286295305b14c24e5a2ee49..bef0a1f2586eec8b53bf1a7dca55b1a0b1c8dba6 100644 (file)
@@ -1,8 +1,8 @@
 IRMP - Infrared Multi Protocol Decoder\r
 --------------------------------------\r
 \r
-Version IRMP:  1.5.0  26.05.2010\r
-Version IRSND: 1.5.0  26.05.2010\r
+Version IRMP:  1.6.0  09.06.2010\r
+Version IRSND: 1.6.0  09.06.2010\r
 \r
 Dokumentation:\r
  \r
diff --git a/irmp.c b/irmp.c
index 01421c9d265bbf556416c92ca9fbed90cc21a34b..4e45d5176cb762bf8b7fdccddcb726aec52d91b7 100644 (file)
--- a/irmp.c
+++ b/irmp.c
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2009-2010 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmp.c,v 1.33 2010/06/02 13:18:03 fm Exp $\r
+ * $Id: irmp.c,v 1.35 2010/06/08 22:22:36 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
  *\r
  *   data "0":                 data "1":\r
  *   ------________________    ------______________\r
- *   275us      1050us         275us   1900us\r
+ *   275us       775us         275us   1900us\r
  *\r
  *---------------------------------------------------------------------------------------------------------------------------------------------------\r
  *\r
@@ -426,12 +426,12 @@ typedef unsigned int16  uint16_t;
 #define RC5_BIT_LEN_MIN                         ((uint8_t)(F_INTERRUPTS * RC5_BIT_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
 #define RC5_BIT_LEN_MAX                         ((uint8_t)(F_INTERRUPTS * RC5_BIT_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
 \r
-#define DENON_PULSE_LEN_MIN                     ((uint8_t)(F_INTERRUPTS * DENON_PULSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
-#define DENON_PULSE_LEN_MAX                     ((uint8_t)(F_INTERRUPTS * DENON_PULSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
-#define DENON_1_PAUSE_LEN_MIN                   ((uint8_t)(F_INTERRUPTS * DENON_1_PAUSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
-#define DENON_1_PAUSE_LEN_MAX                   ((uint8_t)(F_INTERRUPTS * DENON_1_PAUSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
-#define DENON_0_PAUSE_LEN_MIN                   ((uint8_t)(F_INTERRUPTS * DENON_0_PAUSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
-#define DENON_0_PAUSE_LEN_MAX                   ((uint8_t)(F_INTERRUPTS * DENON_0_PAUSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
+#define DENON_PULSE_LEN_MIN                     ((uint8_t)(F_INTERRUPTS * DENON_PULSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define DENON_PULSE_LEN_MAX                     ((uint8_t)(F_INTERRUPTS * DENON_PULSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define DENON_1_PAUSE_LEN_MIN                   ((uint8_t)(F_INTERRUPTS * DENON_1_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define DENON_1_PAUSE_LEN_MAX                   ((uint8_t)(F_INTERRUPTS * DENON_1_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define DENON_0_PAUSE_LEN_MIN                   ((uint8_t)(F_INTERRUPTS * DENON_0_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define DENON_0_PAUSE_LEN_MAX                   ((uint8_t)(F_INTERRUPTS * DENON_0_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
 \r
 #define RC6_START_BIT_PULSE_LEN_MIN             ((uint8_t)(F_INTERRUPTS * RC6_START_BIT_PULSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
 #define RC6_START_BIT_PULSE_LEN_MAX             ((uint8_t)(F_INTERRUPTS * RC6_START_BIT_PULSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
@@ -466,32 +466,32 @@ typedef unsigned int16  uint16_t;
 #define NUBERT_0_PAUSE_LEN_MIN                  ((uint8_t)(F_INTERRUPTS * NUBERT_0_PAUSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
 #define NUBERT_0_PAUSE_LEN_MAX                  ((uint8_t)(F_INTERRUPTS * NUBERT_0_PAUSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
 \r
-#define BANG_OLUFSEN_START_BIT1_PULSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT1_PULSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_START_BIT1_PULSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT1_PULSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_START_BIT1_PAUSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT1_PAUSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_START_BIT1_PAUSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT1_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_START_BIT2_PULSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT2_PULSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_START_BIT2_PULSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT2_PULSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_START_BIT2_PAUSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT2_PAUSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_START_BIT2_PAUSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT2_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_START_BIT3_PULSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT3_PULSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_START_BIT3_PULSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT3_PULSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_START_BIT3_PAUSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT3_PAUSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_START_BIT3_PAUSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT3_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_START_BIT4_PULSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT4_PULSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_START_BIT4_PULSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT4_PULSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_START_BIT4_PAUSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT4_PAUSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_START_BIT4_PAUSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT4_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_PULSE_LEN_MIN              ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_PULSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_PULSE_LEN_MAX              ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_PULSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_1_PAUSE_LEN_MIN            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_1_PAUSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_1_PAUSE_LEN_MAX            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_1_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_0_PAUSE_LEN_MIN            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_0_PAUSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_0_PAUSE_LEN_MAX            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_0_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_R_PAUSE_LEN_MIN            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_R_PAUSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_R_PAUSE_LEN_MAX            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_R_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
-#define BANG_OLUFSEN_TRAILER_BIT_PAUSE_LEN_MIN  ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_TRAILER_BIT_PAUSE_TIME * MIN_TOLERANCE_05 + 0.5) - 1)\r
-#define BANG_OLUFSEN_TRAILER_BIT_PAUSE_LEN_MAX  ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_TRAILER_BIT_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1)\r
+#define BANG_OLUFSEN_START_BIT1_PULSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT1_PULSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_START_BIT1_PULSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT1_PULSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_START_BIT1_PAUSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT1_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_START_BIT1_PAUSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT1_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_START_BIT2_PULSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT2_PULSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_START_BIT2_PULSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT2_PULSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_START_BIT2_PAUSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT2_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_START_BIT2_PAUSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT2_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_START_BIT3_PULSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT3_PULSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_START_BIT3_PULSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT3_PULSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_START_BIT3_PAUSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT3_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_START_BIT3_PAUSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT3_PAUSE_TIME * MAX_TOLERANCE_05 + 0.5) + 1) // 10% is too big (uint8_t)\r
+#define BANG_OLUFSEN_START_BIT4_PULSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT4_PULSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_START_BIT4_PULSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT4_PULSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_START_BIT4_PAUSE_LEN_MIN   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT4_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_START_BIT4_PAUSE_LEN_MAX   ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_START_BIT4_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_PULSE_LEN_MIN              ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_PULSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_PULSE_LEN_MAX              ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_PULSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_1_PAUSE_LEN_MIN            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_1_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_1_PAUSE_LEN_MAX            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_1_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_0_PAUSE_LEN_MIN            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_0_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_0_PAUSE_LEN_MAX            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_0_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_R_PAUSE_LEN_MIN            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_R_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_R_PAUSE_LEN_MAX            ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_R_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
+#define BANG_OLUFSEN_TRAILER_BIT_PAUSE_LEN_MIN  ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_TRAILER_BIT_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1)\r
+#define BANG_OLUFSEN_TRAILER_BIT_PAUSE_LEN_MAX  ((uint8_t)(F_INTERRUPTS * BANG_OLUFSEN_TRAILER_BIT_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1)\r
 \r
 #define GRUNDIG_OR_NOKIA_START_BIT_LEN_MIN      ((uint8_t)(F_INTERRUPTS * GRUNDIG_OR_NOKIA_BIT_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
 #define GRUNDIG_OR_NOKIA_START_BIT_LEN_MAX      ((uint8_t)(F_INTERRUPTS * GRUNDIG_OR_NOKIA_BIT_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
@@ -505,13 +505,26 @@ typedef unsigned int16  uint16_t;
 #define SIEMENS_BIT_LEN_MIN                     ((uint8_t)(F_INTERRUPTS * SIEMENS_BIT_TIME * 1 + 0.5) - 1)\r
 #define SIEMENS_BIT_LEN_MAX                     ((uint8_t)(F_INTERRUPTS * SIEMENS_BIT_TIME * 1 + 0.5) + 1)\r
 \r
+#define FDC_START_BIT_PULSE_LEN_MIN             ((uint8_t)(F_INTERRUPTS * FDC_START_BIT_PULSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
+#define FDC_START_BIT_PULSE_LEN_MAX             ((uint8_t)(F_INTERRUPTS * FDC_START_BIT_PULSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
+#define FDC_START_BIT_PAUSE_LEN_MIN             ((uint8_t)(F_INTERRUPTS * FDC_START_BIT_PAUSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
+#define FDC_START_BIT_PAUSE_LEN_MAX             ((uint8_t)(F_INTERRUPTS * FDC_START_BIT_PAUSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
+#define FDC_REPEAT_START_BIT_PAUSE_LEN_MIN      ((uint8_t)(F_INTERRUPTS * FDC_REPEAT_START_BIT_PAUSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
+#define FDC_REPEAT_START_BIT_PAUSE_LEN_MAX      ((uint8_t)(F_INTERRUPTS * FDC_REPEAT_START_BIT_PAUSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
+#define FDC_PULSE_LEN_MIN                       ((uint8_t)(F_INTERRUPTS * FDC_PULSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
+#define FDC_PULSE_LEN_MAX                       ((uint8_t)(F_INTERRUPTS * FDC_PULSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
+#define FDC_1_PAUSE_LEN_MIN                     ((uint8_t)(F_INTERRUPTS * FDC_1_PAUSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
+#define FDC_1_PAUSE_LEN_MAX                     ((uint8_t)(F_INTERRUPTS * FDC_1_PAUSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
+#define FDC_0_PAUSE_LEN_MIN                     ((uint8_t)(F_INTERRUPTS * FDC_0_PAUSE_TIME * MIN_TOLERANCE_20 + 0.5) - 1)\r
+#define FDC_0_PAUSE_LEN_MAX                     ((uint8_t)(F_INTERRUPTS * FDC_0_PAUSE_TIME * MAX_TOLERANCE_20 + 0.5) + 1)\r
+\r
 #define AUTO_FRAME_REPETITION_LEN               (uint16_t)(F_INTERRUPTS * AUTO_FRAME_REPETITION_TIME + 0.5)       // use uint16_t!\r
 \r
 #ifdef DEBUG\r
 #define DEBUG_PUTCHAR(a)                        { if (! silent) { putchar (a);          } }\r
 #define DEBUG_PRINTF(...)                       { if (! silent) { printf (__VA_ARGS__); } }\r
-static int silent;\r
-static int time_counter;\r
+static int      silent;\r
+static int      time_counter;\r
 #else\r
 #define DEBUG_PUTCHAR(a)\r
 #define DEBUG_PRINTF(...)\r
@@ -1017,6 +1030,30 @@ static PROGMEM IRMP_PARAMETER siemens_param =
 \r
 #endif\r
 \r
+#if IRMP_SUPPORT_FDC_PROTOCOL == 1\r
+\r
+static PROGMEM IRMP_PARAMETER fdc_param =\r
+{\r
+    IRMP_FDC_PROTOCOL,                                                  // protocol:        ir protocol\r
+    FDC_PULSE_LEN_MIN,                                                  // pulse_1_len_min: minimum length of pulse with bit value 1\r
+    FDC_PULSE_LEN_MAX,                                                  // pulse_1_len_max: maximum length of pulse with bit value 1\r
+    FDC_1_PAUSE_LEN_MIN,                                                // pause_1_len_min: minimum length of pause with bit value 1\r
+    FDC_1_PAUSE_LEN_MAX,                                                // pause_1_len_max: maximum length of pause with bit value 1\r
+    FDC_PULSE_LEN_MIN,                                                  // pulse_0_len_min: minimum length of pulse with bit value 0\r
+    FDC_PULSE_LEN_MAX,                                                  // pulse_0_len_max: maximum length of pulse with bit value 0\r
+    FDC_0_PAUSE_LEN_MIN,                                                // pause_0_len_min: minimum length of pause with bit value 0\r
+    FDC_0_PAUSE_LEN_MAX,                                                // pause_0_len_max: maximum length of pause with bit value 0\r
+    FDC_ADDRESS_OFFSET,                                                 // address_offset:  address offset\r
+    FDC_ADDRESS_OFFSET + FDC_ADDRESS_LEN,                               // address_end:     end of address\r
+    FDC_COMMAND_OFFSET,                                                 // command_offset:  command offset\r
+    FDC_COMMAND_OFFSET + FDC_COMMAND_LEN,                               // command_end:     end of command\r
+    FDC_COMPLETE_DATA_LEN,                                              // complete_len:    complete length of frame\r
+    FDC_STOP_BIT,                                                       // stop_bit:        flag: frame has stop bit\r
+    FDC_LSB                                                             // lsb_first:       flag: LSB first\r
+};\r
+\r
+#endif\r
+\r
 static uint8_t                              irmp_bit;                   // current bit position\r
 static IRMP_PARAMETER                       irmp_param;\r
 \r
@@ -1472,6 +1509,17 @@ irmp_ISR (void)
                     }\r
                     else\r
 #endif // IRMP_SUPPORT_SIEMENS_PROTOCOL == 1\r
+#if IRMP_SUPPORT_FDC_PROTOCOL == 1\r
+                    if (irmp_pulse_time >= FDC_START_BIT_PULSE_LEN_MIN && irmp_pulse_time <= FDC_START_BIT_PULSE_LEN_MAX &&\r
+                        irmp_pause_time >= FDC_START_BIT_PAUSE_LEN_MIN && irmp_pause_time <= FDC_START_BIT_PAUSE_LEN_MAX)\r
+                    {\r
+                        DEBUG_PRINTF ("protocol = FDC, start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n",\r
+                                        FDC_START_BIT_PULSE_LEN_MIN, FDC_START_BIT_PULSE_LEN_MAX,\r
+                                        FDC_START_BIT_PAUSE_LEN_MIN, FDC_START_BIT_PAUSE_LEN_MAX);\r
+                        irmp_param_p = (IRMP_PARAMETER *) &fdc_param;\r
+                    }\r
+                    else\r
+#endif // IRMP_SUPPORT_NEC_PROTOCOL == 1\r
 \r
                     {\r
                         DEBUG_PRINTF ("protocol = UNKNOWN\n");\r
@@ -2264,6 +2312,8 @@ print_timings (void)
             GRUNDIG_OR_NOKIA_START_BIT_LEN_MIN, GRUNDIG_OR_NOKIA_START_BIT_LEN_MAX, GRUNDIG_OR_NOKIA_PRE_PAUSE_LEN_MIN, GRUNDIG_OR_NOKIA_PRE_PAUSE_LEN_MAX);\r
     printf ("SIEMENS        1               %3d - %3d           %3d - %3d\n",\r
             SIEMENS_START_BIT_LEN_MIN, SIEMENS_START_BIT_LEN_MAX, SIEMENS_START_BIT_LEN_MIN, SIEMENS_START_BIT_LEN_MAX);\r
+    printf ("FDC            1               %3d - %3d           %3d - %3d\n",\r
+            FDC_START_BIT_PULSE_LEN_MIN, FDC_START_BIT_PULSE_LEN_MAX, FDC_START_BIT_PAUSE_LEN_MIN, FDC_START_BIT_PAUSE_LEN_MAX);\r
 }\r
 \r
 int\r
index 58062aaf74daf3e4b72f7a7428fb19afd299da0d..c178079c297bc25d85e1d5ddafcb3201767afd56 100644 (file)
Binary files a/irmp.exe and b/irmp.exe differ
diff --git a/irmp.h b/irmp.h
index 91283aa2635c9ac5a9e99939d04dd32bee0f1aa7..ba3beb7b16f98a9265f29c9277dd80cc90540b2d 100644 (file)
--- a/irmp.h
+++ b/irmp.h
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2009-2010 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmp.h,v 1.23 2010/06/02 13:18:03 fm Exp $\r
+ * $Id: irmp.h,v 1.26 2010/06/08 23:34:14 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
@@ -43,6 +43,7 @@ extern "C"
 #define IRMP_GRUNDIG_PROTOCOL                   15                              // Grundig\r
 #define IRMP_NOKIA_PROTOCOL                     16                              // Nokia\r
 #define IRMP_SIEMENS_PROTOCOL                   17                              // Siemens, e.g. Gigaset\r
+#define IRMP_FDC_PROTOCOL                       18                              // FDC keyboard\r
 \r
 #define SIRCS_START_BIT_PULSE_TIME              2400.0e-6                       // 2400 usec pulse\r
 #define SIRCS_START_BIT_PAUSE_TIME               600.0e-6                       //  600 usec pause\r
@@ -153,7 +154,7 @@ extern "C"
 \r
 #define DENON_PULSE_TIME                        275.0e-6                        //  275 usec pulse\r
 #define DENON_1_PAUSE_TIME                      1900.0e-6                       // 1900 usec pause\r
-#define DENON_0_PAUSE_TIME                      1050.0e-6                       // 1050 usec pause\r
+#define DENON_0_PAUSE_TIME                       775.0e-6                       //  775 usec pause\r
 #define DENON_FRAMES                            2                               // DENON sends each frame 2 times\r
 #define DENON_AUTO_REPETITION_PAUSE_TIME          65.0e-3                       // inverted repetition after 65ms\r
 #define DENON_FRAME_REPEAT_PAUSE_TIME             65.0e-3                       // frame repeat after 65ms\r
@@ -264,6 +265,20 @@ extern "C"
 #define SIEMENS_STOP_BIT                        0                               // has no stop bit\r
 #define SIEMENS_LSB                             0                               // MSB...LSB\r
 \r
+#define FDC_START_BIT_PULSE_TIME                1390.0e-6                       // 1390 usec pulse\r
+#define FDC_START_BIT_PAUSE_TIME                 640.0e-6                       //  640 usec pause\r
+#define FDC_PULSE_TIME                           200.0e-6                       //  200 usec pulse\r
+#define FDC_1_PAUSE_TIME                         475.0e-6                       //  475 usec pause\r
+#define FDC_0_PAUSE_TIME                         145.0e-6                       //  145 usec pause\r
+#define FDC_FRAME_REPEAT_PAUSE_TIME               40.0e-3                       // frame repeat after 40ms\r
+#define FDC_ADDRESS_OFFSET                       0                              // skip 0 bits\r
+#define FDC_ADDRESS_LEN                         16                              // read 16 address bits\r
+#define FDC_COMMAND_OFFSET                      25                              // skip 25 bits (16 address + 9 0-bits)\r
+#define FDC_COMMAND_LEN                         12                              // read 12 bits\r
+#define FDC_COMPLETE_DATA_LEN                   40                              // complete length\r
+#define FDC_STOP_BIT                            1                               // has stop bit\r
+#define FDC_LSB                                 1                               // LSB...MSB\r
+\r
 #define AUTO_FRAME_REPETITION_TIME              50.0e-3                         // SIRCS/SAMSUNG32/NUBERT: automatic repetition after 25-50ms\r
 \r
 #define TRUE                                    1\r
index 9954398ab659858857f702a1d6e828e1809aed8f..1f074aefb62955fffbda56a6a0aaa889202d91c4 100644 (file)
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmpconfig.h,v 1.8 2010/05/28 11:23:19 fm Exp $\r
+ * $Id: irmpconfig.h,v 1.11 2010/06/08 23:34:14 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
@@ -21,7 +21,9 @@
  * Change F_INTERRUPTS if you change the number of interrupts per second, F_INTERRUPTS should be in the range from 10000 to 15000\r
  *---------------------------------------------------------------------------------------------------------------------------------------------------\r
  */\r
+#ifndef F_INTERRUPTS\r
 #define F_INTERRUPTS                            10000   // interrupts per second\r
+#endif\r
 \r
 /*---------------------------------------------------------------------------------------------------------------------------------------------------\r
  * Change settings from 1 to 0 if you want to disable one or more decoders.\r
  * 0 disable decoder\r
  *---------------------------------------------------------------------------------------------------------------------------------------------------\r
  */\r
-#define IRMP_SUPPORT_SIRCS_PROTOCOL             1       // flag: support SIRCS                      uses ~100 bytes\r
-#define IRMP_SUPPORT_NEC_PROTOCOL               1       // flag: support NEC + APPLE                uses ~250 bytes\r
-#define IRMP_SUPPORT_SAMSUNG_PROTOCOL           1       // flag: support Samsung + Samsung32        uses ~250 bytes\r
-#define IRMP_SUPPORT_MATSUSHITA_PROTOCOL        1       // flag: support Matsushita                 uses  ~50 bytes\r
-#define IRMP_SUPPORT_KASEIKYO_PROTOCOL          1       // flag: support Kaseikyo                   uses  ~50 bytes\r
-#define IRMP_SUPPORT_RECS80_PROTOCOL            1       // flag: support RECS80                     uses  ~50 bytes\r
-#define IRMP_SUPPORT_RC5_PROTOCOL               1       // flag: support RC5                        uses ~250 bytes\r
-#define IRMP_SUPPORT_DENON_PROTOCOL             1       // flag: support DENON                      uses ~250 bytes\r
-#define IRMP_SUPPORT_RC6_PROTOCOL               1       // flag: support RC6                        uses ~200 bytes\r
-#define IRMP_SUPPORT_RECS80EXT_PROTOCOL         1       // flag: support RECS80EXT                  uses  ~50 bytes\r
-#define IRMP_SUPPORT_NUBERT_PROTOCOL            1       // flag: support NUBERT                     uses  ~50 bytes\r
-#define IRMP_SUPPORT_BANG_OLUFSEN_PROTOCOL      1       // flag: support Bang & Olufsen             uses ~200 bytes\r
-#define IRMP_SUPPORT_GRUNDIG_PROTOCOL           1       // flag: support Grundig                    uses ~150 bytes\r
-#define IRMP_SUPPORT_NOKIA_PROTOCOL             1       // flag: support Nokia                      uses ~150 bytes\r
-#define IRMP_SUPPORT_SIEMENS_PROTOCOL           1       // flag: support Siemens Gigaset            uses ~150 bytes\r
+#define IRMP_SUPPORT_SIRCS_PROTOCOL             1       // flag: support SIRCS                 uses ~100 bytes\r
+#define IRMP_SUPPORT_NEC_PROTOCOL               1       // flag: support NEC + APPLE           uses ~250 bytes\r
+#define IRMP_SUPPORT_SAMSUNG_PROTOCOL           1       // flag: support Samsung + Samsung32   uses ~250 bytes\r
+#define IRMP_SUPPORT_MATSUSHITA_PROTOCOL        1       // flag: support Matsushita            uses  ~50 bytes\r
+#define IRMP_SUPPORT_KASEIKYO_PROTOCOL          1       // flag: support Kaseikyo              uses  ~50 bytes\r
+#define IRMP_SUPPORT_RECS80_PROTOCOL            1       // flag: support RECS80                uses  ~50 bytes\r
+#define IRMP_SUPPORT_RC5_PROTOCOL               1       // flag: support RC5                   uses ~250 bytes\r
+#define IRMP_SUPPORT_DENON_PROTOCOL             1       // flag: support DENON                 uses ~250 bytes\r
+#define IRMP_SUPPORT_RC6_PROTOCOL               1       // flag: support RC6                   uses ~200 bytes\r
+#define IRMP_SUPPORT_RECS80EXT_PROTOCOL         1       // flag: support RECS80EXT             uses  ~50 bytes\r
+#define IRMP_SUPPORT_NUBERT_PROTOCOL            1       // flag: support NUBERT                uses  ~50 bytes\r
+#define IRMP_SUPPORT_BANG_OLUFSEN_PROTOCOL      1       // flag: support Bang & Olufsen        uses ~200 bytes\r
+#define IRMP_SUPPORT_GRUNDIG_PROTOCOL           1       // flag: support Grundig               uses ~150 bytes\r
+#define IRMP_SUPPORT_NOKIA_PROTOCOL             1       // flag: support Nokia                 uses ~150 bytes\r
+\r
+/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ * THE FOLLOWING DECODERS WORK ONLY FOR F_INTERRUPTS > 14500!\r
+ *---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ */\r
+#if F_INTERRUPTS >= 14500\r
+#define IRMP_SUPPORT_SIEMENS_PROTOCOL           1       // flag: support Siemens Gigaset       uses ~150 bytes\r
+#define IRMP_SUPPORT_FDC_PROTOCOL               1       // flag: support FDC keyboard          uses ~150 bytes\r
+#else\r
+#define IRMP_SUPPORT_SIEMENS_PROTOCOL           0       // DO NOT CHANGE! F_INTERRUPTS too low!\r
+#define IRMP_SUPPORT_FDC_PROTOCOL               0       // DO NOT CHANGE! F_INTERRUPTS too low!\r
+#endif\r
 \r
 /*---------------------------------------------------------------------------------------------------------------------------------------------------\r
  * Change hardware pin here:\r
diff --git a/irsnd.c b/irsnd.c
index 6856da8b2de3aa0caeb034ea4806e4afce313f60..2df0b02a529ce6cb736bef24e8fc8807a272f2b2 100644 (file)
--- a/irsnd.c
+++ b/irsnd.c
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irsnd.c,v 1.15 2010/06/02 13:18:03 fm Exp $\r
+ * $Id: irsnd.c,v 1.16 2010/06/08 23:34:14 fm Exp $\r
  *\r
  * This program is free software; you can redistribute it and/or modify\r
  * it under the terms of the GNU General Public License as published by\r
@@ -153,6 +153,13 @@ typedef unsigned short    uint16_t;
 #define IRSND_FREQ_56_KHZ                       (uint8_t) ((F_CPU / 56000 / 2) - 1)\r
 #define IRSND_FREQ_455_KHZ                      (uint8_t) ((F_CPU / 455000 / 2) - 1)\r
 \r
+#define FDC_START_BIT_PULSE_LEN                 (uint8_t)(F_INTERRUPTS * FDC_START_BIT_PULSE_TIME + 0.5)\r
+#define FDC_START_BIT_PAUSE_LEN                 (uint8_t)(F_INTERRUPTS * FDC_START_BIT_PAUSE_TIME + 0.5)\r
+#define FDC_PULSE_LEN                           (uint8_t)(F_INTERRUPTS * FDC_PULSE_TIME + 0.5)\r
+#define FDC_1_PAUSE_LEN                         (uint8_t)(F_INTERRUPTS * FDC_1_PAUSE_TIME + 0.5)\r
+#define FDC_0_PAUSE_LEN                         (uint8_t)(F_INTERRUPTS * FDC_0_PAUSE_TIME + 0.5)\r
+#define FDC_FRAME_REPEAT_PAUSE_LEN              (uint16_t)(F_INTERRUPTS * FDC_FRAME_REPEAT_PAUSE_TIME + 0.5)                // use uint16_t!\r
+\r
 static volatile uint8_t                         irsnd_busy;\r
 static volatile uint8_t                         irsnd_protocol;\r
 static volatile uint8_t                         irsnd_buffer[6];\r
@@ -475,6 +482,21 @@ irsnd_send_data (IRMP_DATA * irmp_data_p)
             irsnd_busy      = TRUE;\r
             break;\r
         }\r
+#endif\r
+#if IRSND_SUPPORT_FDC_PROTOCOL == 1\r
+        case IRMP_FDC_PROTOCOL:\r
+        {\r
+            address = bitsrevervse (irmp_data_p->address, FDC_ADDRESS_LEN);\r
+            command = bitsrevervse (irmp_data_p->command, FDC_COMMAND_LEN);\r
+\r
+            irsnd_buffer[0] = (address & 0xFF00) >> 8;                                                          // AAAAAAAA\r
+            irsnd_buffer[1] = (address & 0x00FF);                                                               // AAAAAAAA\r
+            irsnd_buffer[2] = 0;                                                                                // 00000000\r
+            irsnd_buffer[3] = (command &  0x0FE0) >> 5;                                                         // 0CCCCCCC\r
+            irsnd_buffer[4] = ((command & 0x001F) << 3) | 0x07;                                                 // CCCCC111\r
+            irsnd_busy      = TRUE;\r
+            break;\r
+        }\r
 #endif\r
         default:\r
         {\r
@@ -849,6 +871,24 @@ irsnd_ISR (void)
                         irsnd_set_freq (IRSND_FREQ_36_KHZ);\r
                         break;\r
                     }\r
+#endif\r
+#if IRSND_SUPPORT_FDC_PROTOCOL == 1\r
+                    case IRMP_FDC_PROTOCOL:\r
+                    {\r
+                        startbit_pulse_len          = FDC_START_BIT_PULSE_LEN;\r
+                        startbit_pause_len          = FDC_START_BIT_PAUSE_LEN;\r
+                        complete_data_len           = FDC_COMPLETE_DATA_LEN;\r
+                        pulse_1_len                 = FDC_PULSE_LEN;\r
+                        pause_1_len                 = FDC_1_PAUSE_LEN;\r
+                        pulse_0_len                 = FDC_PULSE_LEN;\r
+                        pause_0_len                 = FDC_0_PAUSE_LEN;\r
+                        has_stop_bit                = FDC_STOP_BIT;\r
+                        n_auto_repetitions          = 1;                                            // 1 frame\r
+                        auto_repetition_pause_len   = 0;\r
+                        repeat_frame_pause_len      = FDC_FRAME_REPEAT_PAUSE_LEN;\r
+                        irsnd_set_freq (IRSND_FREQ_38_KHZ);\r
+                        break;\r
+                    }\r
 #endif\r
                     default:\r
                     {\r
@@ -893,11 +933,14 @@ irsnd_ISR (void)
 #if IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL == 1\r
                 case IRMP_BANG_OLUFSEN_PROTOCOL:\r
 #endif\r
+#if IRSND_SUPPORT_NEC_PROTOCOL == 1\r
+                case IRMP_FDC_PROTOCOL:\r
+#endif\r
 \r
 \r
 #if IRSND_SUPPORT_SIRCS_PROTOCOL == 1  || IRSND_SUPPORT_NEC_PROTOCOL == 1 || IRSND_SUPPORT_SAMSUNG_PROTOCOL == 1 || IRSND_SUPPORT_MATSUSHITA_PROTOCOL == 1 || \\r
     IRSND_SUPPORT_RECS80_PROTOCOL == 1 || IRSND_SUPPORT_RECS80EXT_PROTOCOL == 1 || IRSND_SUPPORT_DENON_PROTOCOL == 1 || IRSND_SUPPORT_NUBERT_PROTOCOL == 1 || \\r
-    IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL == 1\r
+    IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL == 1 || IRSND_SUPPORT_FDC_PROTOCOL == 1\r
                 {\r
                     if (pulse_counter == 0)\r
                     {\r
index 0ba3dc21d2a8fa40648822703cbb26fc7815bf4d..7864c5e1ad54b08b97de0b1343bf6653ce321827 100644 (file)
Binary files a/irsnd.exe and b/irsnd.exe differ
index c2a8e2d5513077a48c5c41805493e9be25909142..253a30828863073d24e6f54ef945fe5366f13129 100644 (file)
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irsndconfig.h,v 1.5 2010/06/02 13:25:22 fm Exp $\r
+ * $Id: irsndconfig.h,v 1.6 2010/06/08 23:34:14 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
  *---------------------------------------------------------------------------------------------------------------------------------------------------\r
  */\r
 \r
+/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ * Change F_INTERRUPTS if you change the number of interrupts per second, F_INTERRUPTS should be in the range from 10000 to 15000\r
+ *---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ */\r
+#ifndef F_INTERRUPTS\r
+#define F_INTERRUPTS                            10000   // interrupts per second\r
+#endif\r
+\r
 /*---------------------------------------------------------------------------------------------------------------------------------------------------\r
  * Change settings from 1 to 0 if you want to disable one or more encoders.\r
  * This saves program space.\r
 #define IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL     1       // flag: support Bang&Olufsen           uses ~250 bytes\r
 #define IRSND_SUPPORT_GRUNDIG_PROTOCOL          1       // flag: support Grundig                uses ~300 bytes\r
 #define IRSND_SUPPORT_NOKIA_PROTOCOL            1       // flag: support Nokia                  uses ~400 bytes\r
+\r
+/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ * THE FOLLOWING ENCODERS WORK ONLY FOR F_INTERRUPTS > 14500!\r
+ *---------------------------------------------------------------------------------------------------------------------------------------------------\r
+ */\r
+#if F_INTERRUPTS >= 14500\r
 #define IRSND_SUPPORT_SIEMENS_PROTOCOL          1       // flag: support Siemens, e.g. Gigaset  uses ~150 bytes\r
+#define IRSND_SUPPORT_FDC_PROTOCOL              1       // flag: support FDC infrared keyboard  uses ~150 bytes\r
+#else\r
+#define IRSND_SUPPORT_SIEMENS_PROTOCOL          0       // DO NOT CHANGE! F_INTERRUPTS too low!\r
+#define IRSND_SUPPORT_FDC_PROTOCOL              0       // DO NOT CHANGE! F_INTERRUPTS too low!\r
+#endif\r
+\r
 \r
 /*---------------------------------------------------------------------------------------------------------------------------------------------------\r
  * Change hardware pin here:\r
@@ -50,9 +70,3 @@
 #define IRSND_DDR           DDRB                        // ddr B\r
 #define IRSND_BIT           3                           // OC2A\r
 #endif // __AVR...\r
-\r
-/*---------------------------------------------------------------------------------------------------------------------------------------------------\r
- * Change F_INTERRUPTS if you change the number of interrupts per second, F_INTERRUPTS should be in the range from 10000 to 15000\r
- *---------------------------------------------------------------------------------------------------------------------------------------------------\r
- */\r
-#define F_INTERRUPTS                            10000   // interrupts per second\r
index 8f9bcd3f35cea6d358ead4a20f0df32fe1cf37c2..3b774d4e65a7a3e3a088ab4d8a5d0cdd6e90697d 100644 (file)
@@ -7,12 +7,21 @@
 #\r
 # Copyright (c) 2010 Frank Meyer - frank(at)fli4l.de\r
 #\r
-# $Id: makefile.lnx,v 1.3 2010/05/26 08:34:30 fm Exp $\r
+# $Id: makefile.lnx,v 1.5 2010/06/08 23:34:14 fm Exp $\r
 #----------------------------------------------------------------------------\r
-all:   irmp irsnd\r
+all:   irmp irmp-15kHz irsnd irsnd-15kHz\r
 \r
 irmp: irmp.c irmp.h irmpconfig.h\r
-       cc -Wall irmp.c -o irmp\r
+       cc -Wall -DF_INTERRUPTS=10000 irmp.c -o irmp\r
+\r
+irmp-15kHz: irmp.c irmp.h irmpconfig.h\r
+       cc -Wall -DF_INTERRUPTS=15000 irmp.c -o irmp-15kHz\r
 \r
 irsnd: irsnd.c irsnd.h irmp.h irsndconfig.h\r
-       cc -Wall irsnd.c -o irsnd\r
+       cc -Wall -DF_INTERRUPTS=10000 irsnd.c -o irsnd\r
+\r
+irsnd-15kHz: irsnd.c irsnd.h irmp.h irsndconfig.h\r
+       cc -Wall -DF_INTERRUPTS=15000 irsnd.c -o irsnd-15kHz\r
+\r
+clean:\r
+       rm -f irmp irmp-15kHz irsnd irsnd-15kHz\r