From 93ba2e012efb687bfd4387ee9f5b35dd456aa1f4 Mon Sep 17 00:00:00 2001 From: ukw Date: Thu, 22 Sep 2011 10:26:04 +0000 Subject: [PATCH] Version 2.0.2: improved jvc decoder (type 2 and 3) git-svn-id: svn://mikrocontroller.net/irmp@83 aeb2e35e-bfc4-4214-b83c-9e8de998ed28 --- IR-Data/jvc.txt | 20 ++++---- IR-Data/test-suite.sh | 20 ++++---- README.txt | 2 +- irmp.c | 103 +++++++++++++++++++++++++++++------------- irmp.h | 12 +++-- irmpconfig.h | 72 +++++++++++++++-------------- irsnd.c | 2 +- irsndconfig.h | 2 +- main.c | 2 +- 9 files changed, 142 insertions(+), 93 deletions(-) diff --git a/IR-Data/jvc.txt b/IR-Data/jvc.txt index bbe67f5..d2b3f79 100644 --- a/IR-Data/jvc.txt +++ b/IR-Data/jvc.txt @@ -63,33 +63,33 @@ # blau (VT) -Taste auf JVC FB 2.Versuch 0000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000111110000001111100000111111111111111100000111110000001111100000111111111111111100000111111111111111100000111111111111111100000011111111111111100000011111111111111100000011111111111111100000011111000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000001111110000011111000000111110000011111111111111110000011111000000111110000011111111111111110000011111111111111110000011111111111111110000011111111111111110000011111111111111110000011111111111111110000011111100000111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111100000111111111111111100000011111000001111100000011111000001111111111111111000001111100000011111000001111111111111111000001111111111111111000001111111111111111000001111111111111111000001111111111111111000000111111111111111000000111110000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000111110000001111100000111111111111111100000111110000001111100000111111111111111100000111111111111111100000111111111111111100000011111111111111100000011111111111111100000011111111111111100000011111000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000000111111111111110000001111100000011110000001111100000011111111111111100000011110000001111100000011110000000111111111111110000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111111111111111000000111100000011111000000111100000001111111111111100000001111111111111100000001111111111111100000001111111111111100000001111111111111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # Text (VT) -Taste auf JVC FB 1.Versuch -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111110000011111111111111110000011111111111111110000011111100000111110000001111100000111111111111111100000111110000001111100000111111111111111100000111111111111111100000111110000001111100000011111111111111100000011110000001111100000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000001111111111111100000011111000001111100000011111000000111111111111111000001111100000011111000000111111111111111000000111111111111111000000111100000011111000000111111111111111000000111100000011111000000111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000001111100000011111000000111100000011111111111111100000011111000000111100000011111111111111100000011111111111111110000011111000001111110000011111111111111110000011111000000111110000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111100000011111111111111100000011111000001111100000011111000001111111111111111000001111110000011111000001111111111111111000001111111111111111000001111110000011111000001111111111111111000001111110000011111000001111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000001111110000011111000001111110000011111111111111110000011111000001111110000011111111111111110000001111111111111110000011111000000111110000001111111111111110000011111000000111110000011111000000111111111111111100111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111111111111111000000111100000011111000000111100000001111111111111100000001111111111111100000001111111111111100000001111111111111100000001111111111111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111111000001111100000011111000001111111111111111000001111100000011111000001111111111111111000001111111111111111000001111100000011111000000111111111111111000000111100000011111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000011111111111111000000111110000011111000000111110000001111111111111110000011111000000111110000001111111111111110000001111111111111110000001111000000111110000001111111111111110000001111000000111110000001111100000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111111110000011111111111111110000011111000000111110000001111000000111111111111111000000111110000001111000000111111111111111000000111111111111111100000111110000011111100000111111111111111100000111110000001111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000000111111111111111000000111110000011111000000111110000011111111111111110000011111100000111110000011111111111111110000011111111111111110000011111100000111110000011111111111111110000011111100000111110000011111100000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000011111100000111110000011111100000111111111111111100000111110000011111100000111111111111111100000011111111111111100000111110000001111100000011111111111111100000111110000001111100000111110000001111111111111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111111111111111000000111100000011111000000111100000001111111111111100000001111111111111100000001111111111111100000001111111111111100000001111111111111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # Text (VT) -Taste auf JVC FB 2.Versuch -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111000000011110000001111000000011111111111111000000011110000001111000000011111111111111000000011111111111111000000011110000001111000000011111111111111000000011110000001111000000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000001111000000111110000001111111111111110000001111000000111110000001111111111111110000001111111111111110000001111000000111110000001111111111111110000001111000000111110000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000001111111111111110000001111111111111110000001111000000111110000001111000000111111111111111000000111110000001111000000111111111111111000000111111111111111000000111110000001111000000011111111111111000000011110000001111000000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000001111000000111110000001111111111111110000001111000000111110000001111111111111110000001111111111111110000001111000000011110000001111111111111110000001111000000011110000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000001111111111111110000001111111111111110000001111000000111110000001111000000111111111111111000000111110000001111000000111111111111111000000111111111111111000000111110000001111000000111111111111111000000111110000001111000000111110000001111111111111111100111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111111111111111000000111100000011111000000111100000001111111111111100000001111111111111100000001111111111111100000001111111111111100000001111111111111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011110000000111100000011110000000111111111111110000000111100000011110000000111111111111110000000111111111111110000000111100000011110000000111111111111110000000111100000011110000000111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000011110000001111100000011111111111111100000011110000001111100000011111111111111100000011111111111111100000011110000001111100000011111111111111100000011110000001111100000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111100000011111111111111100000011110000001111100000011110000001111111111111110000001111100000011110000001111111111111110000001111111111111110000001111100000011110000000111111111111110000000111100000011110000000111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111000000011110000001111100000011111111111111100000011110000001111100000011111111111111100000011111111111111100000011110000000111100000011111111111111100000011110000000111100000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111100000011111111111111100000011110000001111100000011110000001111111111111110000001111100000011110000001111111111111110000001111111111111110000001111100000011110000001111111111111110000001111100000011110000001111100000011111111111111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111111111111111000000111100000011111000000111100000001111111111111100000001111111111111100000001111111111111100000001111111111111100000001111111111111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # Standard (die heisst wirklich so) -Taste auf JVC FB 1.Versuch 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111110000000111111111111110000000111111111111110000000111100000011110000000111100000011111000000111100000011111000001111111111111111000000111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011110000000111100000011110000000111100000011110000000111100000011111111111111100000011111000000111100000011111111111111100000011111111111111100000011111111111111100000011111111111111100000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000111111111111110000000111111111111110000000111100000011110000000111100000011110000000111100000011110000000111111111111110000000111100000011110000000111111111111110000000111111111111111000000111111111111111000000111111111111111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011110000000111100000011110000000111100000011110000000111100000011111111111111100000011110000000111100000011111111111111100000011111111111111100000011111111111111100000011111111111111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000111111111111110000001111111111111110000001111100000011110000001111100000011110000000111100000011110000000111111111111110000000111100000011110000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111111111111111000000111100000011111000000111100000001111111111111100000001111111111111100000001111111111111100000001111111111111100000001111111111111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # Standard (die heisst wirklich so) -Taste auf JVC FB 2.Versuch 000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111000000111111111111111000000011111111111111000000011110000001111000000111110000001111000000111110000001111000000111111111111111000000011110000001111100000111111111111111100000011111111111111100000011111111111111100000011111111111111100000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000011110000001111100000011110000001111100000011110000001111111111111110000000111100000011111000001111111111111111000001111111111111111000001111111111111111000001111111111111111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011110000000111100000011111000000111100000011111000000111100000011111111111111100000001111000000111100000001111111111111100000001111111111111100000001111111111111100000001111111111111110000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000001111000000111100000001111000000111100000001111000000111111111111111000000111100000001111000000111111111111111000000011111111111111000000011111111111111000000011111111111111000000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111110000011111111111111110000001111000000111110000001111000000111110000001111000000011110000011111111111111110000001111000000111110000011111111111111110000011111111111111110000001111111111111110000001111111111111110000001111100000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111100000111110000011111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # AV -Taste auf JVC FB 1.Versuch -00000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111100000011111111111111100000001111111111111100000001110000000111100000011110000000111100000011111000000111100000001111111111111100000001111111111111100000001111000000111100000001111111111111100000001111000000111100000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111000000011111111111111000000011110000001111000000011110000001111100000011110000000111100000011111111111111100000011111111111111100000011110000000111100000011111111111111100000011110000000111100000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000001111000000111100000001111000000111110000001111000000111111111111111000000111111111111111000000111110000001111000000111111111111111000000011110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000000111100000111110000001111100000011110000001111100000011110000001111111111111111000001111111111111111000001111100000011111000001111111111111111000001111100000011111000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111111110000011111111111111110000011111000000111110000011111000000111110000011111000000111110000011111111111111110000011111111111111110000011111000000111110000001111111111111110000001111100000111110000001111100000111111111111111100111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111100000111110000011111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111000000111111111111111000000011111111111111000000011100000001111000000111100000001111000000111110000001111000000011111111111111000000011111111111111000000011110000001111000000011111111111111000000011110000001111000000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000111111111111110000000111111111111110000000111100000011110000000111100000011111000000111100000001111000000111111111111111000000111111111111111000000111100000001111000000111111111111111000000111100000001111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111000000011110000001111000000011110000001111100000011110000001111111111111110000001111111111111110000001111100000011110000001111111111111110000000111100000011110000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000001111000001111100000011111000000111100000011111000000111100000011111111111111110000011111111111111110000011111000000111110000011111111111111110000011111000000111110000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111110000001111100000111110000001111100000111110000001111100000111111111111111100000111111111111111100000111110000001111100000011111111111111100000011111000001111100000011111000001111111111111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111100000111110000011111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # AV -Taste auf JVC FB 2.Versuch -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000011110000001111100000011110000001111100000011110000001111111111111110000001111111111111110000001111100000011110000001111111111111110000001111100000011110000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000011111000000111100000011111111111111100000011111111111111100000011111000000111100000011111111111111100000011111000000111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000001111000000111110000001111000000111110000001111000000111111111111111000000111111111111111000000111110000001111000000111111111111111000000111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000011110000001111100000011110000001111100000011110000001111111111111110000001111111111111110000001111100000011110000001111111111111110000001111100000011110000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111111110000011111111111111110000011111000000111110000011111000000111110000011111000000111110000011111111111111110000011111111111111110000011111000000111110000001111111111111110000001111100000111110000001111100000111111111111111100111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111100000111110000011111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000011111000000111100000011111111111111100000011111111111111100000011111000000111100000011111111111111100000011111000000111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000001111000000111110000001111000000111110000001111000000111111111111111000000111111111111111000000111110000001111000000111111111111111000000111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000011110000001111100000011110000001111100000011110000001111111111111110000001111111111111110000001111100000011110000001111111111111110000001111100000011110000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000011111000000111100000011111111111111100000011111111111111100000011111000000111100000011111111111111100000011111000000111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111110000001111100000111110000001111100000111110000001111100000111111111111111100000111111111111111100000111110000001111100000011111111111111100000011111000001111100000011111000001111111111111111000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111100000111110000011111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # Menue -Taste auf JVC FB 1.Versuch 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000001111000000111110000001111000000111111111111111000000111110000001111111111111110000001111111111111110000001111111111111110000001111111111111110000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000001111000000111100000001111000000111100000001111000000111100000001111111111111100000001111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000001111111111111100000001111111111111100000011111000000111100000011111000000111100000011111000000111100000011111000000111111111111111000000111100000001111111111111110000001111111111111110000001111111111111110000001111111111111110000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111111000001111100000011111000001111100000011111000001111100000011111000001111100000011111111111111100000011111000001111111111111111000001111111111111111000001111111111111111000000111111111111111000000111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000011111000000111100000011111000000111111111111111000000111110000011111111111111110000011111111111111110000011111111111111110000001111111111111110000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111100000111110000011111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # Menue -Taste auf JVC FB 2.Versuch 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111110000001111111111111110000001111111111111111000001111100000111111000001111100000111111000001111100000111111000001111100000011111111111111100000011111000001111111111111111000001111111111111111000001111111111111111000000111111111111111000000111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000011111000000111100000011111000000111111111111111000000111100000011111111111111100000001111111111111100000001111111111111100000001111111111111100000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000111111111111110000000111111111111110000000111100000011110000000111100000011111000000111100000001111000000111100000001111111111111100000001111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111110000001111100000111110000001111100000111111000001111100000111111000000111111111111111000001111100000011111111111111100000011111111111111100000001111111111111100000001111111111111100000011111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000011111000000111100000011111000000111111111111111000000111110000011111111111111110000011111111111111110000011111111111111110000001111111111111110000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111100000111110000011111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # UP -Taste (Steuerkreuz = P+) auf JVC FB 1.Versuch -00000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111110000001111100000111111000001111100000011111000001111100000011111111111111100000011111000001111100000011111111111111100000011111111111111100000111111000001111100000011111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000001111100000011111000001111100000011111000001111100000011111000001111111111111111000001111100000011111000001111111111111111000001111111111111111000001111110000011111000001111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111111110000011111111111111110000011111000001111110000011111000001111110000011111000001111110000011111111111111110000011111000001111110000011111111111111110000011111111111111110000011111000000111110000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111100000111110000011111100000111110000011111100000111110000011111100000111111111111111100000111110000011111100000111111111111111100000111111111111111100000111110000001111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000011110000000111100000011111000000111100000011111000000111111111111111000000111100000011111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000001111000000111100000001111000000111100000001111000000111100000001111111111111100000001111000000111100000001111111111111100000001111111111111110000001111000000111110000001111000000111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111000001111111111111111000001111111111111111000001111100000011111000001111110000011111000000111110000011111000000111111111111111000000111110000011111000000111111111111111000000111111111111111000001111110000011111000000111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111111110000011111111111111110000011111000000111110000011111000000111110000011111000000111110000011111111111111110000011111000000111110000011111111111111110000011111111111111110000011111100000111110000011111100000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111110000011111100000111110000011111100000111110000011111100000111111111111111100000111110000011111100000111111111111111100000111111111111111100000111110000001111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111111000001111100000111111000001111100000111111000001111100000111111000001111111111111111000001111100000111111000001111111111111111000001111111111111111000001111100000011111000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000001111000000111110000001111000000111110000001111111111111110000001111000000111110000001111111111111110000001111111111111110000001111000000111110000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000011110000001111000000011110000001111000000011110000001111000000011111111111111000000011110000001111000000011111111111111000000011111111111111100000011110000001111100000011110000001111111111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # UP -Taste (Steuerkreuz = P+) auf JVC FB 2.Versuch -00000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111111000001111100000111111000001111100000111111000001111100000111111111111111100000111111000001111100000111111111111111100000111111111111111100000111111000001111100000111111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000001111100000111111000001111100000111111000001111100000111111000001111111111111111000001111100000011111000001111111111111111000001111111111111111000001111100000011111000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111111000001111100000011111000001111100000011111000001111100000011111111111111100000011111000001111100000011111111111111100000011111111111111100000011111000001111100000011111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000001111100000011111000001111100000011111000000111100000011111000000111111111111111000000111110000011111000000111111111111111000000111111111111111000000111110000011111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111111110000011111111111111110000011111000000111110000011111000000111110000011111000000111110000011111111111111110000011111000000111110000011111111111111110000011111111111111110000011111000000111110000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111000000111110000001111100000111111111111111100000111111111111111100000111110000001111100000011110000001111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111000001111111111111111000001111111111111111000001111110000011111000001111110000011111000001111110000011111000001111111111111111000001111110000011111000001111111111111111000001111111111111111000001111110000011111000001111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111111110000011111111111111110000011111000001111110000011111000001111110000011111000001111110000011111111111111110000011111000000111110000011111111111111110000011111111111111110000011111000000111110000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000001111110000011111000000111110000011111000000111110000011111000000111111111111111000000111110000011111000000111111111111111000000111111111111111000000111110000011111000000111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111111110000011111111111111110000011111000000111110000011111000000111110000001111000000111110000001111111111111110000001111100000111110000001111111111111110000001111111111111110000001111100000111110000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111110000001111100000111110000001111100000111110000001111100000111111111111111100000111110000001111100000111111111111111100000111111111111111100000111110000001111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000111110000001111100000111110000001111100000111110000001111111111111110000001111100000011111000001111111111111111000001111111111111111000001111100000011111000000111100000011111111111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # DOWN -Taste (Steuerkreuz = P-) auf JVC FB 1.Versuch -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111110000000111111111111110000000111111111111110000001111100000011110000001111100000011111000000111100000011111000000111100000011111000000111100000011111111111111100000011111111111111100000011111000000111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111000000111110000001111000000111110000001111000000111110000001111000000111110000001111000000111111111111111000000111111111111111100000011110000001111100000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000011111000000111100000001111000000111100000001111000000111111111111111000000111111111111111000000111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011110000001111100000011110000001111100000011110000001111100000011110000001111100000011111000000111111111111111000000111111111111111000000111100000011111000000111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000001111000000111110000001111000000111110000001111000000111110000001111000000111110000001111111111111110000001111111111111110000001111100000011110000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111000000111110000001111100000111111111111111100000111111111111111100000111110000001111100000011110000001111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111100000001111111111111100000001111111111111100000011111000000111100000011111000000111110000001111000000111110000001111000000111110000001111000000111111111111111000000111111111111111000000111110000001111000000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011110000001111100000011110000001111100000011110000001111100000011110000001111100000011110000001111111111111110000001111111111111111000000111100000011111000000111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000001111000000111110000001111000000111110000001111000000011110000001111000000011110000001111111111111110000001111111111111110000001111100000011110000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000011111000000111100000011111000000111100000011111000000111110000001111111111111110000001111111111111110000001111000000111110000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000011110000001111100000011110000001111100000011110000001111100000011110000001111100000011111111111111100000011111111111111100000011111000000111100000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000111110000001111100000111110000001111100000111110000001111111111111110000001111100000011111000001111111111111111000001111111111111111000001111100000011111000000111100000011111111111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # DOWN -Taste (Steuerkreuz = P-) auf JVC FB 2.Versuch -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111000000011110000001111000000011110000001111000000011110000001111000000011110000001111000000011111111111111000000011111111111111000000011110000001111000000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111000000011111111111111000000011110000001111000000011110000001111000000011110000001111000000011110000001111000000011110000001111111111111110000001111111111111110000001111000000011110000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000011110000000111100000011110000000111100000011110000000111100000011110000000111100000011111111111111100000011111111111111100000011110000000111100000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000011111000000111100000011111000000111100000011111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111000000011111111111111000000111110000011111000000111110000011111000000111110000011111000000111110000011111000000111110000001111111111111110000001111111111111110000011111000000111110000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111000000111110000001111100000111111111111111100000111111111111111100000111110000001111100000011110000001111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011110000000111100000011110000000111100000011110000000111100000011110000000111100000011110000000111111111111110000000111111111111110000000111100000011110000000111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000111111111111110000000111111111111110000000111100000011110000000111100000011110000000111100000011110000000111100000011110000000111100000011111111111111100000011111111111111100000011110000000111100000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000001111000000111100000001111000000111100000001111000000111100000001111000000111111111111111000000111111111111111000000111100000001111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000001111000000111110000001111000000111110000001111000000111110000001111000000111110000001111111111111110000001111111111111110000001111000000111110000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000111111111111110000000111111111111110000001111100000111110000001111100000111110000001111100000111110000001111100000111110000001111100000011111111111111100000011111111111111100000111110000001111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000111110000001111100000111110000001111100000111110000001111111111111110000001111100000011111000001111111111111111000001111111111111111000001111100000011111000000111100000011111111111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # LEFT -Taste (Steuerkreuz = leiser) auf JVC FB 1.Versuch -0000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111110000011111111111111110000011111111111111110000001111100000111110000011111100000111110000011111100000111110000011111111111111110000011111111111111110000001111111111111110000001111111111111110000001111111111111110000001111100000111110000001111100000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000011111000000111110000011111100000111110000011111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111110000001111100000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000011111000000111110000001111100000111110000001111100000111110000001111111111111110000001111111111111110000000111111111111110000000111111111111110000000111111111111110000001111100000111110000001111100000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111111111111111100000111110000011111100000111110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111110000011111111111111110000011111000000111110000011111000000111110000011111000000111110000011111111111111110000011111111111111110000001111111111111110000001111111111111110000001111111111111110000001111000000111110000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111000000111110000001111100000111111111111111100000111111111111111100000111110000001111100000011110000001111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111100000111111111111111100000111111111111111100000011111000001111100000111111000001111100000111111000001111100000111111111111111100000111111111111111100000011111111111111100000011111111111111100000011111111111111100000011111000001111100000011111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000111110000001111100000111111000001111100000111111000001111111111111111000001111111111111111000001111111111111111000001111111111111111000001111111111111111000001111100000011111000000111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000111110000001111100000011111000001111100000011111000001111100000011111111111111100000011111111111111100000001111111111111100000001111111111111100000001111111111111100000011111000001111100000011111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000011111111111111110000011111111111111110000001111100000111110000001111100000111110000001111100000111110000001111111111111111000001111111111111111000001111111111111111000001111111111111111000001111111111111111000001111100000111111000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111100000111111111111111100000111110000001111100000111110000001111100000111110000001111100000111111111111111100000111111111111111100000011111111111111100000011111111111111100000011111111111111100000011110000001111100000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000111110000001111100000111110000001111100000111110000001111111111111110000001111100000011111000001111111111111111000001111111111111111000001111100000011111000000111100000011111111111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # LEFT -Taste (Steuerkreuz = leiser) auf JVC FB 2.Versuch -0000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111110000000111111111111110000000111111111111110000001111100000011110000001111100000011110000001111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111100000001111000000111100000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000000111100000011111000000111100000011111000000111100000001111111111111100000001111111111111100000011111111111111100000001111111111111100000001111111111111110000001111000000111110000001111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000001111000000111100000001111000000111100000001111000000111111111111111000000111111111111111000000011111111111111000000111111111111111000000111111111111111000000111110000001111000000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000001111111111111100000001111111111111100000001111000000111100000001111000000111100000001111000000111100000001111111111111100000001111111111111110000001111111111111110000001111111111111110000001111111111111110000001111000000111110000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000000111111111111111000001111111111111111000001111100000011111000000111100000011111000001111100000011111000000111111111111111000001111111111111111000001111111111111111000001111111111111111000001111111111111111000001111100000011111000000111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000011111000000111110000011111000000111110000011111000000111111111111111000000111110000001111100000111111111111111100000111111111111111100000111110000001111100000011110000001111111111111111111001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 +00000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111100000001111111111111100000001111111111111100000011111000000111100000011111000000111100000011111000000111110000001111111111111110000001111111111111110000001111111111111110000001111111111111110000001111111111111110000001111000000011110000001111000000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111110000001111000000111110000001111000000111110000001111000000011111111111111000000011111111111111000000111111111111111000000011111111111111000000011111111111111100000011110000001111100000011110000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111000000011110000001111000000011110000001111000000011110000001111111111111110000001111111111111110000000111111111111110000001111111111111110000001111111111111110000001111100000011110000000111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000011111111111111000000011111111111111000000011110000001111000000011110000001111000000011110000001111000000011111111111111000000011111111111111100000011111111111111100000011111111111111100000011111111111111100000011110000001111100000011110000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000001111111111111110000011111111111111110000011111000000111110000001111000000111110000011111000000111110000001111111111111110000011111111111111110000011111111111111110000011111111111111110000011111111111111110000011111000000111110000001111100000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000111110000001111100000111110000001111100000111110000001111111111111110000001111100000011111000001111111111111111000001111111111111111000001111100000011111000000111100000011111111111111111110001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # RIGHT -Taste (Steuerkreuz = lauter) auf JVC FB 1.Versuch 00000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111100000011111111111111100000011111111111111100000011111000001111100000011111000001111100000011111000001111100000011111000001111111111111111000001111111111111111000001111111111111111000001111111111111111000001111100000011111000001111110000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000001111111111111111000001111111111111111000001111100000111111000001111100000111111000001111100000111111000001111100000111111111111111100000111111111111111100000111111111111111100000011111111111111100000011111000001111100000011111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000011111111111111100000011111111111111100000111111000001111100000111111000001111100000111111000001111100000111111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000001111100000011111000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111110000001111111111111110000001111111111111110000001111100000011110000001111100000011111000001111100000011111000001111100000011111111111111100000011111111111111100000011111111111111100000011111111111111100000011111000001111100000011111000001111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111100000111111111111111100000111111111111111100000111110000001111100000111110000001111100000011111000001111100000011111000001111111111111111000001111111111111111000001111111111111111000001111111111111111000001111100000011111000001111100000011111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000001111100000011111000001111100000011111000001111100000011111000001111110000001111111111111110000001111111111111110000001111111111111110000001111111111111110000011111000000111110000011111000000111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111000000111111111111111000000111111111111111000000111100000011111000000111100000001111111111111100000011111000000111100000001111111111111100000011111000000111111111111111000000111111111111111000000111111111111111000000111111111111111000000111110000001111000000111111111111111111 # RIGHT -Taste (Steuerkreuz = lauter) auf JVC FB 2.Versuch diff --git a/IR-Data/test-suite.sh b/IR-Data/test-suite.sh index a35a0b7..94a7974 100644 --- a/IR-Data/test-suite.sh +++ b/IR-Data/test-suite.sh @@ -70,9 +70,9 @@ do echo "testing $j ..." if tmpsrc/irmp -v < $j | grep -q error then - tmpsrc/irmp -v < $j | grep error - echo "test failed" - exit 1 + tmpsrc/irmp -v < $j | grep error + echo "test failed" + exit 1 fi done @@ -84,15 +84,15 @@ for j in \ kathrein-15kHz.txt \ recs80-15kHz.txt \ t-home-mediareceiver-15kHz.txt \ - universal-15kHz.txt \ + universal-15kHz.txt \ xbox360-15kHz.txt do echo "testing $j ..." if tmpsrc/irmp-15kHz -v < $j | grep -q error then - tmpsrc/irmp-15kHz -v < $j | grep error - echo "test failed" - exit 1 + tmpsrc/irmp-15kHz -v < $j | grep error + echo "test failed" + exit 1 fi done @@ -104,9 +104,9 @@ do echo "testing $j ..." if tmpsrc/irmp-20kHz -v < $j | grep -q error then - tmpsrc/irmp-20kHz -v < $j | grep error - echo "test failed" - exit 1 + tmpsrc/irmp-20kHz -v < $j | grep error + echo "test failed" + exit 1 fi done diff --git a/README.txt b/README.txt index 2a880df..61fa72c 100644 --- a/README.txt +++ b/README.txt @@ -1,7 +1,7 @@ IRMP - Infrared Multi Protocol Decoder -------------------------------------- -Version IRMP: 2.0.1 20.09.2011 +Version IRMP: 2.0.2 22.09.2011 Version IRSND: 2.0.1 20.09.2011 Dokumentation: diff --git a/irmp.c b/irmp.c index 208e22d..020860f 100644 --- a/irmp.c +++ b/irmp.c @@ -3,7 +3,7 @@ * * Copyright (c) 2009-2011 Frank Meyer - frank(at)fli4l.de * - * $Id: irmp.c,v 1.108 2011/09/09 11:59:39 fm Exp $ + * $Id: irmp.c,v 1.110 2011/09/22 10:19:44 fm Exp $ * * ATMEGA88 @ 8 MHz * @@ -297,6 +297,10 @@ *--------------------------------------------------------------------------------------------------------------------------------------------------- */ +#if defined(__18CXX) +#define PIC_C18 // Microchip C18 Compiler +#endif + #if defined(__PCM__) || defined(__PCB__) || defined(__PCH__) // CCS PIC Compiler instead of AVR #define PIC_CCS_COMPILER #endif @@ -325,14 +329,17 @@ typedef unsigned short uint16_t; #else -#ifdef PIC_CCS_COMPILER +#if defined (PIC_CCS_COMPILER) || defined(PIC_C18) #include -typedef unsigned int8 uint8_t; -typedef unsigned int16 uint16_t; #define PROGMEM #define memcpy_P memcpy +#if defined (PIC_CCS_COMPILER) +typedef unsigned int8 uint8_t; +typedef unsigned int16 uint16_t; +#endif + #else // AVR: #include @@ -342,7 +349,7 @@ typedef unsigned int16 uint16_t; #include #include -#endif // PIC_CCS_COMPILER +#endif // PIC_CCS_COMPILER or PIC_C18 #endif // windows #endif // unix @@ -427,18 +434,18 @@ typedef unsigned int16 uint16_t; #define SIRCS_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * SIRCS_PAUSE_TIME * MIN_TOLERANCE_10 + 0.5) - 1) #define SIRCS_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * SIRCS_PAUSE_TIME * MAX_TOLERANCE_10 + 0.5) + 1) -#define NEC_START_BIT_PULSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_START_BIT_PULSE_TIME * MIN_TOLERANCE_40 + 0.5) - 1) -#define NEC_START_BIT_PULSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_START_BIT_PULSE_TIME * MAX_TOLERANCE_40 + 0.5) + 1) -#define NEC_START_BIT_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_START_BIT_PAUSE_TIME * MIN_TOLERANCE_40 + 0.5) - 1) -#define NEC_START_BIT_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_START_BIT_PAUSE_TIME * MAX_TOLERANCE_40 + 0.5) + 1) -#define NEC_REPEAT_START_BIT_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_REPEAT_START_BIT_PAUSE_TIME * MIN_TOLERANCE_40 + 0.5) - 1) -#define NEC_REPEAT_START_BIT_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_REPEAT_START_BIT_PAUSE_TIME * MAX_TOLERANCE_40 + 0.5) + 1) -#define NEC_PULSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_PULSE_TIME * MIN_TOLERANCE_40 + 0.5) - 1) -#define NEC_PULSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_PULSE_TIME * MAX_TOLERANCE_40 + 0.5) + 1) -#define NEC_1_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_1_PAUSE_TIME * MIN_TOLERANCE_40 + 0.5) - 1) -#define NEC_1_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_1_PAUSE_TIME * MAX_TOLERANCE_40 + 0.5) + 1) -#define NEC_0_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_0_PAUSE_TIME * MIN_TOLERANCE_40 + 0.5) - 1) -#define NEC_0_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_0_PAUSE_TIME * MAX_TOLERANCE_40 + 0.5) + 1) +#define NEC_START_BIT_PULSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_START_BIT_PULSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1) +#define NEC_START_BIT_PULSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_START_BIT_PULSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1) +#define NEC_START_BIT_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_START_BIT_PAUSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1) +#define NEC_START_BIT_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_START_BIT_PAUSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1) +#define NEC_REPEAT_START_BIT_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_REPEAT_START_BIT_PAUSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1) +#define NEC_REPEAT_START_BIT_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_REPEAT_START_BIT_PAUSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1) +#define NEC_PULSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_PULSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1) +#define NEC_PULSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_PULSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1) +#define NEC_1_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_1_PAUSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1) +#define NEC_1_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_1_PAUSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1) +#define NEC_0_PAUSE_LEN_MIN ((uint8_t)(F_INTERRUPTS * NEC_0_PAUSE_TIME * MIN_TOLERANCE_30 + 0.5) - 1) +#define NEC_0_PAUSE_LEN_MAX ((uint8_t)(F_INTERRUPTS * NEC_0_PAUSE_TIME * MAX_TOLERANCE_30 + 0.5) + 1) // autodetect nec repetition frame within 50 msec: // NEC seems to send the first repetition frame after 40ms, further repetition frames after 100 ms #if 0 @@ -1537,10 +1544,10 @@ static uint8_t IRMP_PIN; void irmp_init (void) { -#ifndef PIC_CCS_COMPILER +#if !defined(PIC_CCS_COMPILER) && !defined(PIC_C18) // only AVR IRMP_PORT &= ~(1<= JVC_START_BIT_PULSE_LEN_MIN && irmp_pulse_time <= JVC_START_BIT_PULSE_LEN_MAX && irmp_pause_time >= JVC_REPEAT_START_BIT_PAUSE_LEN_MIN && irmp_pause_time <= JVC_REPEAT_START_BIT_PAUSE_LEN_MAX) { - ANALYZE_PRINTF ("protocol = NEC or JVC repeat frame, start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n", + ANALYZE_PRINTF ("protocol = NEC or JVC (type 1) repeat frame, start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n", JVC_START_BIT_PULSE_LEN_MIN, JVC_START_BIT_PULSE_LEN_MAX, JVC_REPEAT_START_BIT_PAUSE_LEN_MIN, JVC_REPEAT_START_BIT_PAUSE_LEN_MAX); irmp_param_p = (IRMP_PARAMETER *) &nec_param; @@ -2029,13 +2036,39 @@ irmp_ISR (void) else if (irmp_pulse_time >= NEC_START_BIT_PULSE_LEN_MIN && irmp_pulse_time <= NEC_START_BIT_PULSE_LEN_MAX && irmp_pause_time >= NEC_REPEAT_START_BIT_PAUSE_LEN_MIN && irmp_pause_time <= NEC_REPEAT_START_BIT_PAUSE_LEN_MAX) { // it's NEC - ANALYZE_PRINTF ("protocol = NEC (repetition frame), start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n", - NEC_START_BIT_PULSE_LEN_MIN, NEC_START_BIT_PULSE_LEN_MAX, - NEC_REPEAT_START_BIT_PAUSE_LEN_MIN, NEC_REPEAT_START_BIT_PAUSE_LEN_MAX); +#if IRMP_SUPPORT_JVC_PROTOCOL == 1 + if (irmp_protocol == IRMP_JVC_PROTOCOL) // last protocol was JVC, awaiting repeat frame + { // some jvc remote controls use nec repetition frame for jvc repetition frame + ANALYZE_PRINTF ("protocol = JVC repeat frame type 2, start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n", + NEC_START_BIT_PULSE_LEN_MIN, NEC_START_BIT_PULSE_LEN_MAX, + NEC_REPEAT_START_BIT_PAUSE_LEN_MIN, NEC_REPEAT_START_BIT_PAUSE_LEN_MAX); + irmp_param_p = (IRMP_PARAMETER *) &nec_param; + } + else +#endif // IRMP_SUPPORT_JVC_PROTOCOL == 1 + { + ANALYZE_PRINTF ("protocol = NEC (repetition frame), start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n", + NEC_START_BIT_PULSE_LEN_MIN, NEC_START_BIT_PULSE_LEN_MAX, + NEC_REPEAT_START_BIT_PAUSE_LEN_MIN, NEC_REPEAT_START_BIT_PAUSE_LEN_MAX); - irmp_param_p = (IRMP_PARAMETER *) &nec_rep_param; + irmp_param_p = (IRMP_PARAMETER *) &nec_rep_param; + } + } + else + +#if IRMP_SUPPORT_JVC_PROTOCOL == 1 + if (irmp_protocol == IRMP_JVC_PROTOCOL && // last protocol was JVC, awaiting repeat frame + irmp_pulse_time >= NEC_START_BIT_PULSE_LEN_MIN && irmp_pulse_time <= NEC_START_BIT_PULSE_LEN_MAX && + irmp_pause_time >= NEC_0_PAUSE_LEN_MIN && irmp_pause_time <= NEC_0_PAUSE_LEN_MAX) + { // it's JVC repetition type 3 + ANALYZE_PRINTF ("protocol = JVC repeat frame type 3, start bit timings: pulse: %3d - %3d, pause: %3d - %3d\n", + NEC_START_BIT_PULSE_LEN_MIN, NEC_START_BIT_PULSE_LEN_MAX, + NEC_0_PAUSE_LEN_MIN, NEC_0_PAUSE_LEN_MAX); + irmp_param_p = (IRMP_PARAMETER *) &nec_param; } else +#endif // IRMP_SUPPORT_JVC_PROTOCOL == 1 + #endif // IRMP_SUPPORT_NEC_PROTOCOL == 1 #if IRMP_SUPPORT_NIKON_PROTOCOL == 1 @@ -2339,7 +2372,7 @@ irmp_ISR (void) irmp_param_p = (IRMP_PARAMETER *) &lego_param; } else -#endif // IRMP_SUPPORT_NEC_PROTOCOL == 1 +#endif // IRMP_SUPPORT_LEGO_PROTOCOL == 1 { ANALYZE_PRINTF ("protocol = UNKNOWN\n"); @@ -2385,8 +2418,15 @@ irmp_ISR (void) if (! (irmp_param.flags & IRMP_PARAM_FLAG_IS_MANCHESTER)) { - ANALYZE_PRINTF ("pulse_0: %3d - %3d\n", 2 * irmp_param.pulse_1_len_min, 2 * irmp_param.pulse_1_len_max); - ANALYZE_PRINTF ("pause_0: %3d - %3d\n", 2 * irmp_param.pause_1_len_min, 2 * irmp_param.pause_1_len_max); + ANALYZE_PRINTF ("pulse_0: %3d - %3d\n", irmp_param.pulse_0_len_min, irmp_param.pulse_0_len_max); + ANALYZE_PRINTF ("pause_0: %3d - %3d\n", irmp_param.pause_0_len_min, irmp_param.pause_0_len_max); + } + else + { + ANALYZE_PRINTF ("pulse: %3d - %3d or %3d - %3d\n", irmp_param.pulse_0_len_min, irmp_param.pulse_0_len_max, + 2 * irmp_param.pulse_0_len_min, 2 * irmp_param.pulse_0_len_max); + ANALYZE_PRINTF ("pause: %3d - %3d or %3d - %3d\n", irmp_param.pause_0_len_min, irmp_param.pause_0_len_max, + 2 * irmp_param.pause_0_len_min, 2 * irmp_param.pause_0_len_max); } #if IRMP_SUPPORT_BANG_OLUFSEN_PROTOCOL == 1 @@ -2515,7 +2555,8 @@ irmp_ISR (void) } else { - ANALYZE_PRINTF ("error: stop bit timing wrong\n"); + ANALYZE_PRINTF ("error: stop bit timing wrong, irmp_bit = %d, irmp_pulse_time = %d, pulse_0_len_min = %d, pulse_0_len_max = %d\n", + irmp_bit, irmp_pulse_time, irmp_param.pulse_0_len_min, irmp_param.pulse_0_len_max); // irmp_busy_flag = FALSE; irmp_start_bit_detected = 0; // wait for another start bit... @@ -2640,7 +2681,7 @@ irmp_ISR (void) #if IRMP_SUPPORT_JVC_PROTOCOL == 1 else if (irmp_param.protocol == IRMP_NEC_PROTOCOL && (irmp_bit == 16 || irmp_bit == 17)) // it was a JVC stop bit { - ANALYZE_PRINTF ("Switching to JVC protocol\n"); + ANALYZE_PRINTF ("Switching to JVC protocol, irmp_bit = %d\n", irmp_bit); irmp_param.stop_bit = TRUE; // set flag irmp_param.protocol = IRMP_JVC_PROTOCOL; // switch protocol irmp_param.complete_len = irmp_bit; // patch length: 16 or 17 @@ -2667,9 +2708,9 @@ irmp_ISR (void) } #endif // IRMP_SUPPORT_NEC_PROTOCOL == 1 #if IRMP_SUPPORT_JVC_PROTOCOL == 1 - else if (irmp_param.protocol == IRMP_NEC42_PROTOCOL && irmp_bit == 16) // it was a JVC stop bit + else if (irmp_param.protocol == IRMP_NEC42_PROTOCOL && (irmp_bit == 16 || irmp_bit == 17)) // it was a JVC stop bit { - ANALYZE_PRINTF ("Switching to JVC protocol\n"); + ANALYZE_PRINTF ("Switching to JVC protocol, irmp_bit = %d\n", irmp_bit); irmp_param.stop_bit = TRUE; // set flag irmp_param.protocol = IRMP_JVC_PROTOCOL; // switch protocol irmp_param.complete_len = irmp_bit; // patch length: 16 or 17 diff --git a/irmp.h b/irmp.h index b694e26..4ac14b0 100644 --- a/irmp.h +++ b/irmp.h @@ -3,7 +3,7 @@ * * Copyright (c) 2009-2011 Frank Meyer - frank(at)fli4l.de * - * $Id: irmp.h,v 1.65 2011/09/08 13:22:16 fm Exp $ + * $Id: irmp.h,v 1.67 2011/09/22 10:19:44 fm Exp $ * * ATMEGA88 @ 8 MHz * @@ -17,12 +17,18 @@ #ifndef _WC_IRMP_H_ #define _WC_IRMP_H_ +#if defined(__18CXX) // Microchip C18 declaration of missing typedef +typedef unsigned char uint8_t; +typedef unsigned int uint16_t; +#endif //Microchip C18 + /*--------------------------------------------------------------------------------------------------------------------------------------------------- * timing constants: *--------------------------------------------------------------------------------------------------------------------------------------------------- */ -#define IRMP_TIMEOUT_TIME 16500.0e-6 // timeout after 16.5 ms darkness -#define IRMP_TIMEOUT_TIME_MS 16500L // timeout after 16.5 ms darkness +// fm 22.09.2011: may not be more than 16000L, otherwise some JVC codes will not be accepted +#define IRMP_TIMEOUT_TIME 15500.0e-6 // timeout after 15.5 ms darkness +#define IRMP_TIMEOUT_TIME_MS 15500L // timeout after 15.5 ms darkness #if IRMP_SUPPORT_NIKON_PROTOCOL == 1 #define IRMP_TIMEOUT_NIKON_TIME 29500.0e-6 // 2nd timeout after 29.5 ms darkness (only for NIKON!) diff --git a/irmpconfig.h b/irmpconfig.h index 5afe094..a3b3db3 100644 --- a/irmpconfig.h +++ b/irmpconfig.h @@ -3,7 +3,7 @@ * * Copyright (c) 2009-2011 Frank Meyer - frank(at)fli4l.de * - * $Id: irmpconfig.h,v 1.74 2011/09/11 13:17:38 fm Exp $ + * $Id: irmpconfig.h,v 1.76 2011/09/22 10:19:44 fm Exp $ * * ATMEGA88 @ 8 MHz * @@ -52,10 +52,10 @@ // more protocols, enable here! Enable Remarks F_INTERRUPTS Program Space #define IRMP_SUPPORT_RC5_PROTOCOL 0 // RC5 >= 10000 ~250 bytes -#define IRMP_SUPPORT_RC6_PROTOCOL 0 // RC6 & RC6A >= 10000 ~250 bytes -#define IRMP_SUPPORT_JVC_PROTOCOL 0 // JVC >= 10000 ~150 bytes -#define IRMP_SUPPORT_NEC16_PROTOCOL 0 // NEC16 >= 10000 ~100 bytes -#define IRMP_SUPPORT_NEC42_PROTOCOL 0 // NEC42 >= 10000 ~300 bytes +#define IRMP_SUPPORT_RC6_PROTOCOL 1 // RC6 & RC6A >= 10000 ~250 bytes +#define IRMP_SUPPORT_JVC_PROTOCOL 1 // JVC >= 10000 ~150 bytes +#define IRMP_SUPPORT_NEC16_PROTOCOL 1 // NEC16 >= 10000 ~100 bytes +#define IRMP_SUPPORT_NEC42_PROTOCOL 1 // NEC42 >= 10000 ~300 bytes #define IRMP_SUPPORT_IR60_PROTOCOL 0 // IR60 (SAB2008) >= 10000 ~300 bytes #define IRMP_SUPPORT_GRUNDIG_PROTOCOL 0 // Grundig >= 10000 ~300 bytes #define IRMP_SUPPORT_SIEMENS_PROTOCOL 0 // Siemens Gigaset >= 15000 ~550 bytes @@ -79,17 +79,19 @@ * Change hardware pin here: *--------------------------------------------------------------------------------------------------------------------------------------------------- */ -#ifdef PIC_CCS_COMPILER // PIC CCS Compiler: +#if defined (PIC_C18) // Microchip C18 Compiler +#include // main PIC18 h file +#define IRMP_PIN PORTBbits.RB4 // use RB4 as IR input on PIC +#define input(x) (x) -#define IRMP_PIN PIN_B4 // use PB4 as IR input on PIC - -#else // AVR: +#elif defined (PIC_CCS_COMPILER) // PIC CCS Compiler: +#define IRMP_PIN PIN_B4 // use PB4 as IR input on PIC +#else // AVR: #define IRMP_PORT PORTB #define IRMP_DDR DDRB #define IRMP_PIN PINB -#define IRMP_BIT 6 // use PB6 as IR input on AVR - +#define IRMP_BIT 6 // use PB6 as IR input on AVR #define input(x) ((x) & (1 << IRMP_BIT)) #endif @@ -118,51 +120,51 @@ *--------------------------------------------------------------------------------------------------------------------------------------------------- */ #if IRMP_SUPPORT_SIEMENS_PROTOCOL == 1 && F_INTERRUPTS < 15000 -#warning F_INTERRUPTS too low, SIEMENS protocol disabled (should be at least 15000) -#undef IRMP_SUPPORT_SIEMENS_PROTOCOL -#define IRMP_SUPPORT_SIEMENS_PROTOCOL 0 +# warning F_INTERRUPTS too low, SIEMENS protocol disabled (should be at least 15000) +# undef IRMP_SUPPORT_SIEMENS_PROTOCOL +# define IRMP_SUPPORT_SIEMENS_PROTOCOL 0 #endif #if IRMP_SUPPORT_RUWIDO_PROTOCOL == 1 && F_INTERRUPTS < 15000 -#warning F_INTERRUPTS too low, RUWIDO protocol disabled (should be at least 15000) -#undef IRMP_SUPPORT_RUWIDO_PROTOCOL -#define IRMP_SUPPORT_RUWIDO_PROTOCOL 0 +# warning F_INTERRUPTS too low, RUWIDO protocol disabled (should be at least 15000) +# undef IRMP_SUPPORT_RUWIDO_PROTOCOL +# define IRMP_SUPPORT_RUWIDO_PROTOCOL 0 #endif #if IRMP_SUPPORT_RECS80_PROTOCOL == 1 && F_INTERRUPTS < 15000 -#warning F_INTERRUPTS too low, RECS80 protocol disabled (should be at least 15000) -#undef IRMP_SUPPORT_RECS80_PROTOCOL -#define IRMP_SUPPORT_RECS80_PROTOCOL 0 +# warning F_INTERRUPTS too low, RECS80 protocol disabled (should be at least 15000) +# undef IRMP_SUPPORT_RECS80_PROTOCOL +# define IRMP_SUPPORT_RECS80_PROTOCOL 0 #endif #if IRMP_SUPPORT_RECS80EXT_PROTOCOL == 1 && F_INTERRUPTS < 15000 -#warning F_INTERRUPTS too low, RECS80EXT protocol disabled (should be at least 15000) -#undef IRMP_SUPPORT_RECS80EXT_PROTOCOL -#define IRMP_SUPPORT_RECS80EXT_PROTOCOL 0 +# warning F_INTERRUPTS too low, RECS80EXT protocol disabled (should be at least 15000) +# undef IRMP_SUPPORT_RECS80EXT_PROTOCOL +# define IRMP_SUPPORT_RECS80EXT_PROTOCOL 0 #endif #if IRMP_SUPPORT_LEGO_PROTOCOL == 1 && F_INTERRUPTS < 20000 -#warning F_INTERRUPTS too low, LEGO protocol disabled (should be at least 20000) -#undef IRMP_SUPPORT_LEGO_PROTOCOL -#define IRMP_SUPPORT_LEGO_PROTOCOL 0 +# warning F_INTERRUPTS too low, LEGO protocol disabled (should be at least 20000) +# undef IRMP_SUPPORT_LEGO_PROTOCOL +# define IRMP_SUPPORT_LEGO_PROTOCOL 0 #endif #if IRMP_SUPPORT_JVC_PROTOCOL == 1 && IRMP_SUPPORT_NEC_PROTOCOL == 0 -#warning JVC protocol needs also NEC protocol, NEC protocol enabled -#undef IRMP_SUPPORT_NEC_PROTOCOL -#define IRMP_SUPPORT_NEC_PROTOCOL 1 +# warning JVC protocol needs also NEC protocol, NEC protocol enabled +# undef IRMP_SUPPORT_NEC_PROTOCOL +# define IRMP_SUPPORT_NEC_PROTOCOL 1 #endif #if IRMP_SUPPORT_NEC16_PROTOCOL == 1 && IRMP_SUPPORT_NEC_PROTOCOL == 0 -#warning NEC16 protocol needs also NEC protocol, NEC protocol enabled -#undef IRMP_SUPPORT_NEC_PROTOCOL -#define IRMP_SUPPORT_NEC_PROTOCOL 1 +# warning NEC16 protocol needs also NEC protocol, NEC protocol enabled +# undef IRMP_SUPPORT_NEC_PROTOCOL +# define IRMP_SUPPORT_NEC_PROTOCOL 1 #endif #if IRMP_SUPPORT_NEC42_PROTOCOL == 1 && IRMP_SUPPORT_NEC_PROTOCOL == 0 -#warning NEC42 protocol needs also NEC protocol, NEC protocol enabled -#undef IRMP_SUPPORT_NEC_PROTOCOL -#define IRMP_SUPPORT_NEC_PROTOCOL 1 +# warning NEC42 protocol needs also NEC protocol, NEC protocol enabled +# undef IRMP_SUPPORT_NEC_PROTOCOL +# define IRMP_SUPPORT_NEC_PROTOCOL 1 #endif #if F_INTERRUPTS > 20000 diff --git a/irsnd.c b/irsnd.c index a7b3b6a..09fa295 100644 --- a/irsnd.c +++ b/irsnd.c @@ -12,7 +12,7 @@ * ATmega164, ATmega324, ATmega644, ATmega644P, ATmega1284 * ATmega88, ATmega88P, ATmega168, ATmega168P, ATmega328P * - * $Id: irsnd.c,v 1.40 2011/09/09 11:59:40 fm Exp $ + * $Id: irsnd.c,v 1.41 2011/09/20 10:45:28 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 diff --git a/irsndconfig.h b/irsndconfig.h index 67e49a7..f5c6cac 100644 --- a/irsndconfig.h +++ b/irsndconfig.h @@ -3,7 +3,7 @@ * * Copyright (c) 2010-2011 Frank Meyer - frank(at)fli4l.de * - * $Id: irsndconfig.h,v 1.26 2011/09/11 13:17:38 fm Exp $ + * $Id: irsndconfig.h,v 1.27 2011/09/20 10:45:28 fm Exp $ * * ATMEGA88 @ 8 MHz * diff --git a/main.c b/main.c index c704b87..28bbe14 100644 --- a/main.c +++ b/main.c @@ -3,7 +3,7 @@ * * Copyright (c) 2009-2011 Frank Meyer - frank(at)fli4l.de * - * $Id: main.c,v 1.10 2011/09/08 13:22:16 fm Exp $ + * $Id: main.c,v 1.11 2011/09/20 10:45:28 fm Exp $ * * ATMEGA88 @ 8 MHz * -- 2.39.2