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