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