summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorukw2016-01-12 12:09:16 +0000
committerukw2016-01-12 12:09:16 +0000
commitea29682a628ac3c4d30a4c34a30a00f01c3fb0bd (patch)
treee18076026a66554bc8e1c8471d7d604951d571be
parent173b00a6f5d5c604471f9755d80c9181da15133c (diff)
downloadirmp-ea29682a628ac3c4d30a4c34a30a00f01c3fb0bd.zip
Version 3.0: corrected ESP8266 port, added MBED port, added several main example files
git-svn-id: svn://mikrocontroller.net/irmp@174 aeb2e35e-bfc4-4214-b83c-9e8de998ed28
-rw-r--r--IR-Data/panasonic-15kHz.txt38
-rw-r--r--IR-Data/panasonic-vcr-15kHz.txt102
-rw-r--r--IR-Data/rc5-philipps-15kHz.txt65
-rw-r--r--IR-Data/rc6a-siemens-15kHz.txt109
-rw-r--r--IR-Data/samsung-br-15kHz.txt92
-rw-r--r--IR-Data/samsung32-tv-15kHz.txt87
-rw-r--r--README.txt10
-rw-r--r--irmp-main-avr-uart.c (renamed from main.c)180
-rw-r--r--irmp-main-avr.c80
-rw-r--r--irmp-main-esp8266.c191
-rw-r--r--irmp-main-mbed.cpp106
-rw-r--r--irmp-main-pic-xc8.c64
-rw-r--r--irmp-main-stellaris-arm.c67
-rw-r--r--irmp-main-stm32.c82
-rw-r--r--irmp.aps2
-rw-r--r--irmp.c78
-rw-r--r--irmpconfig.h10
-rw-r--r--irmpsystem.h9
-rw-r--r--irsnd-main-avr.c (renamed from irsndmain.c)2
-rw-r--r--irsnd.aps2
20 files changed, 1165 insertions, 211 deletions
diff --git a/IR-Data/panasonic-15kHz.txt b/IR-Data/panasonic-15kHz.txt
new file mode 100644
index 0000000..b67741b
--- /dev/null
+++ b/IR-Data/panasonic-15kHz.txt
@@ -0,0 +1,38 @@
+# Power
+000000000000000000000000000000000000000000000000000001111111111111111111111111000000001111100000000111111111111111111000000001111100000000011111000000011111100000001111110000000011111000000001111100000000111110000000011111000000001111100000000111111000000011111100000001111111111111111111000000011111100000001111110000000011111000000001111100000000111110000000011111000000001111100000000111111000000011111100000001111111111111111111000000001111100000000111110000000011111000000001111111111111111110000000011111000000001111100000000111111111111111111000000001111100000000111110000000011111100000001111110000000111111000000001111100000000111110000000011111000000001111100000000111111111111111111000000001111100000000111111111111111111000000000111111111111111110000000001111111111111111100000000011111111111111111000000000111110000000111111000000011111111111111111110000000011111000000011111111111111111110000000011111000000001111111111111111110000000011111111111111111100000000111111111111111111000000001111111111111111110000000011111111111111111111
+# Lens
+0000000000000000000000000000000000000000000000000000001111111111111111111111110000000011111000000001111111111111111111000000011111000000000111110000000011111000000001111100000000111110000000011111000000001111100000000111110000000011111000000001111100000000011111000000001111111111111111110000000011111000000001111100000000111110000000011111000000001111100000000111110000000011111000000000111100000000011111000000001111111111111111110000000011111000000001111100000000111110000000011111111111111111100000000111110000000011111000000001111111111111111110000000011111000000001111100000000011111000000001111100000000111110000000011111000000001111100000000111110000000011111000000001111100000000011110000000001111111111111111110000000011111111111111111100000000111111111111111110000000001111111111111111110000000011111111111111111000000000111110000000011111000000001111100000000111111111111111111000000001111100000000111111111111111111000000001111111111111111110000000011111000000001111111111111111110000000011111111111111111111
+# Picture Mode
+0000000000000000000000000000000000000000000000000000001111111111111111111111110000000001111100000000111111111111111111000000001111100000000111110000000011111000000001111100000000111110000000011111000000001111100000000111110000000001111100000000111110000000011111000000001111111111111111110000000011111000000001111100000000111110000000011111000000001111100000000011111000000001111100000000111110000000011111000000001111111111111111110000000011111000000001111100000000111110000000011111111111111111100000000111110000000011111000000000111111111111111110000000001111100000000111110000000011111000000001111100000000111110000000011111000000001111100000000111110000000001111000000000111110000000011111111111111111100000000111110000000011111000000001111100000000111110000000011111000000001111111111111111110000000011111000000001111111111111111110000000011111000000000111111111111111110000000001111100000000111110000000011111111111111111100000000111110000000011111111111111111111
+# Picture Adjustment
+000000000000000000000000000000000000000000000000000000011111111111111111111111000000000111110000000011111111111111111000000000111110000000011111000000001111100000000111110000000011111000000001111100000000011110000000001111100000000111110000000011111000000001111100000000011111111111111110000000001111100000000111110000000011111000000001111100000000011110000000001111100000000111110000000011111000000001111100000000111111111111111110000000000111100000000011110000000011111000000000111111111111111100000000001111000000000111110000000011111111111111111000000000111110000000011111000000001111100000000111110000000001111000000001111100000000011110000000001111000000000111110000000011111000000001111111111111111100000000011111111111111111000000000111111111111111110000000001111111111111111100000000011111111111111110000000000111111111111111110000000001111100000000111110000000001111111111111111000000000011111111111111110000000001111100000000111111111111111110000000001111111111111111100000000001111000000000111111111111111100000000011111111111111111111
+# Memory Load
+0000000000000000000000000000000000000000000000000000001111111111111111111111110000000001111100000000111111111111111110000000001111100000000111110000000011111000000001111100000000111110000000011111000000001111100000000011110000000001111100000000111110000000011111000000001111111111111111100000000011111000000001111100000000111110000000011111000000000111100000000011111000000001111100000000111110000000011111000000001111111111111111100000000011111000000001111100000000111110000000011111111111111111000000000111110000000001111000000000111111111111111100000000001111100000000111110000000011111000000001111100000000111110000000011111000000001111100000000111110000000001111000000000111111111111111100000000001111100000000111110000000011111000000001111100000000111110000000011111000000001111111111111111100000000011111111111111111000000000111110000000001111000000000111111111111111100000000001111100000000111110000000011111111111111111000000000111110000000011111111111111111111
+# Viera Link
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000000111110000000011111111111111111000000000111110000000011111000000000111100000000111110000000001111000000001111100000000011110000000001111100000000111110000000011111000000001111100000000011111111111111110000000000111100000000111110000000011111000000000111100000000011111000000001111100000000111110000000011111000000001111100000000011111111111111110000000001111100000000111110000000011111000000000111111111111111100000000001111000000000111110000000011111111111111111000000000111110000000011111000000001111100000000111110000000011111000000001111100000000011110000000001111100000000111110000000011111000000001111100000000111111111111111110000000001111100000000111110000000011111111111111111000000000111110000000011111111111111111000000000011110000000001111000000000111111111111111100000000001111111111111111000000000011111000000001111111111111111000000000011111111111111110000000000111110000000011111111111111111111
+# Waveform Monitor
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000000111110000000011111111111111111000000000111110000000011111000000001111100000000011110000000011111000000001111100000000011110000000001111100000000111110000000011111000000001111100000000011111111111111110000000001111100000000011110000000001111000000000111100000000011111000000001111100000000111110000000011111000000001111100000000011111111111111110000000000111100000000111110000000011111000000000111111111111111100000000001111000000000111110000000011111111111111111000000000111110000000011111000000001111100000000011110000000001111000000000111100000000111110000000001111000000000111110000000011111000000001111111111111111100000000011111000000001111111111111111100000000011111111111111111000000000111110000000011111000000000111111111111111100000000001111000000001111111111111111100000000011111000000000111100000000011111111111111110000000000111110000000011111111111111111000000000111110000000011111111111111111111
+# 3D
+00000000000000000000000000000000000000000000000000000011111111111111111111111100000000111110000000001111111111111111000000000011110000000001111100000000111110000000011111000000001111100000000011110000000011111000000000111100000000011110000000001111100000000111110000000011111111111111111000000000111110000000011111000000000111100000000011110000000001111000000001111100000000011110000000001111100000000111110000000011111111111111110000000000111110000000011111000000000111100000000011111111111111110000000001111100000000011110000000001111111111111111000000000011110000000001111100000000111110000000011111000000001111100000000111110000000011111000000001111100000000011110000000001111111111111111000000000011111111111111110000000000111100000000011111111111111110000000000111110000000011111111111111111000000000111110000000011111111111111111000000000111111111111111110000000001111111111111111100000000011111000000001111100000000111110000000001111111111111111100000000111111111111111110000000001111100000000011111111111111111111
+# Menu
+00000000000000000000000000000000000000000000000000000011111111111111111111111100000000011110000000011111111111111111000000000011110000000001111000000000111110000000011111000000001111100000000111110000000001111000000001111100000000011110000000001111000000000111110000000011111111111111110000000000111110000000011111000000001111100000000111110000000001111000000001111100000000111110000000001111000000000111110000000011111111111111110000000000111110000000011111000000001111100000000111111111111111110000000001111100000000111110000000011111111111111111000000000011110000000001111000000000111110000000011111000000001111100000000111110000000011111000000001111100000000111110000000011111000000000111111111111111100000000001111000000000111111111111111100000000001111111111111111000000000011111111111111110000000000111111111111111100000000001111100000000111110000000011111111111111111000000000111110000000011111000000000111111111111111100000000001111111111111111000000000111110000000011111111111111111000000000011111111111111111111
+# Default
+00000000000000000000000000000000000000000000000000000011111111111111111111111100000000111110000000001111111111111111000000000111110000000001111000000001111100000000011110000000001111100000000111110000000011111000000001111100000000111110000000001111000000001111100000000011111111111111110000000000111100000000011110000000001111100000000111110000000011111000000001111100000000111110000000011111000000001111100000000011111111111111110000000000111100000000011110000000001111100000000111111111111111110000000001111100000000111110000000011111111111111111000000000111110000000011111000000001111100000000111110000000001111000000000111110000000011111000000001111100000000111110000000011111111111111111000000000011110000000001111000000001111100000000111110000000001111111111111111000000000011111111111111110000000000111100000000011111111111111111000000000111110000000011111000000001111111111111111100000000011111000000001111111111111111100000000011111000000000111111111111111100000000011111111111111111111
+# <OBEN>
+000000000000000000000000000000000000000000000000000000111111111111111111111111000000000111100000000011111111111111110000000000111100000000011111000000001111100000000111110000000011111000000001111100000000011110000000011111000000000111100000000011110000000001111100000000111111111111111111000000001111100000000111110000000011111000000000111100000000011110000000001111000000001111100000000011110000000001111100000000111111111111111111000000001111100000000111110000000011111000000000111111111111111110000000001111000000000111100000000111111111111111111000000000111100000000011110000000001111100000000111110000000011111000000001111100000000111110000000011111000000000111100000000111110000000001111111111111111100000000011110000000001111111111111111100000000011111111111111111000000000111110000000011111111111111111000000000111110000000011111000000001111111111111111100000000011111000000000111100000000011111111111111111000000001111100000000011110000000001111111111111111100000000011111111111111111111
+# <LINKS>
+000000000000000000000000000000000000000000000000000000111111111111111111111111000000000111100000000011111111111111111000000001111100000000011110000000001111100000000111110000000011111000000001111100000000011110000000001111000000001111100000000111110000000001111100000000111111111111111111000000001111100000000111110000000011111000000001111100000000011110000000001111000000001111100000000011110000000001111100000000111111111111111110000000001111100000000111110000000011111000000000111111111111111110000000001111000000000111100000000011111111111111111000000001111100000000011110000000001111100000000111110000000011111000000001111100000000111110000000001111000000001111100000000011110000000001111000000000111111111111111110000000001111111111111111100000000011111111111111111000000000111110000000011111111111111111100000000111110000000011111000000001111100000000111111111111111111000000001111100000000011111111111111111000000001111100000000011110000000011111111111111111100000000011111111111111111111
+# <RECHTS>
+00000000000000000000000000000000000000000000000000000001111111111111111111111100000000011111000000001111111111111111100000000011111000000001111100000000111110000000001111000000000111100000000111110000000001111000000000111110000000011111000000001111100000000111110000000011111111111111111100000000111110000000001111000000001111100000000011110000000001111000000000111110000000011111000000001111100000000111110000000011111111111111111100000000011110000000001111000000001111100000000011111111111111111000000000111100000000011110000000001111111111111111100000000011111000000001111100000000111110000000011111000000001111100000000111110000000001111000000000111100000000011111000000001111111111111111110000000011111000000001111111111111111100000000011111111111111111000000000111111111111111110000000001111100000000111111111111111110000000001111100000000111111111111111110000000001111100000000011111111111111111000000000111100000000111111111111111111000000001111100000000011110000000001111111111111111100000000011111111111111111111
+# <UNTEN>
+0000000000000000000000000000000000000000000000000000001111111111111111111111110000000011111000000001111111111111111110000000011111000000000111100000000011110000000001111000000000111100000000011111000000001111100000000111110000000011111000000000111100000000011110000000001111111111111111100000000011110000000011111000000000111100000000011111000000001111100000000111110000000011111000000000111100000000011110000000011111111111111111100000000011110000000001111000000000111110000000011111111111111111100000000111110000000011111000000001111111111111111110000000011111000000001111100000000011110000000001111000000000111100000000011110000000001111100000000111110000000011111000000001111111111111111110000000011111111111111111000000000111110000000001111111111111111100000000011111111111111110000000001111100000000011111111111111110000000000111100000000111111111111111111000000001111111111111111100000000001111000000001111100000000011111111111111111000000000111100000000011111000000001111111111111111110000000011111111111111111111
+# Enter
+0000000000000000000000000000000000000000000000000000011111111111111111111111110000000011111000000001111111111111111100000000011111000000000111100000000011110000000011111000000000111100000000011111000000001111100000000111110000000011111000000001111100000000011110000000001111111111111111100000000011110000000011111000000000111100000000011111000000001111100000000111110000000011111000000000111100000000011110000000011111111111111111100000000111110000000011111000000000111110000000011111111111111111100000000111110000000011111000000001111111111111111110000000011111000000001111100000000011110000000001111000000001111100000000011110000000001111100000000111110000000011111000000001111100000000011111111111111111000000000111100000000011110000000001111111111111111100000000011111111111111111000000000111111111111111110000000001111000000000111100000000011111111111111111000000000111100000000011111111111111111000000000111111111111111110000000001111111111111111100000000011111000000001111111111111111100000000011111111111111111111
+# Sub Menu
+00000000000000000000000000000000000000000000000000000011111111111111111111111100000000011110000000011111111111111111100000000111110000000001111000000000111110000000011111000000001111100000000111110000000001111000000000111100000000111110000000011111000000000111100000000011111111111111111000000000111110000000011111000000001111100000000111110000000001111000000000111100000000011110000000001111000000000111110000000011111111111111111100000000111110000000011111000000001111100000000111111111111111111000000001111100000000011110000000011111111111111111100000000011110000000001111000000000111100000000011111000000001111100000000111110000000011111000000001111100000000011110000000011111111111111111100000000111111111111111111000000000111100000000111110000000001111100000000111111111111111111000000001111100000000111111111111111110000000001111111111111111100000000011111111111111111000000000111110000000011111111111111111000000000111110000000011111111111111111000000000111111111111111111000000001111100000000011111111111111111111
+# Back/Return
+0000000000000000000000000000000000000000000000000000001111111111111111111111110000000001111000000000111111111111111110000000001111000000000111110000000011111000000001111100000000111110000000001111000000001111100000000111110000000001111000000000111110000000011111000000001111111111111111110000000011111000000001111100000000111110000000001111000000001111100000000111110000000001111000000000111110000000011111000000001111111111111111110000000011111000000001111100000000011110000000001111111111111111100000000011110000000011111000000000111111111111111110000000001111000000000111100000000011111000000001111100000000111110000000011111000000000111100000000011110000000011111000000000111100000000011111000000001111100000000111110000000011111111111111111000000000111110000000001111000000000111111111111111100000000001111000000000111100000000111110000000001111111111111111100000000011111111111111111100000000111100000000011111111111111111000000000111110000000011111111111111111111
+# Input Select
+00000000000000000000000000000000000000000000000000000011111111111111111111111100000000011111000000001111111111111111100000000011111000000001111100000000111110000000011111000000000111100000000011110000000001111000000000111100000000011111000000001111100000000111110000000011111111111111111100000000111110000000001111000000001111100000000011110000000001111000000000111100000000011111000000001111100000000111110000000011111111111111111100000000111110000000001111000000001111100000000111111111111111111000000000111100000000011110000000001111111111111111100000000011111000000001111100000000111110000000011111000000001111100000000011110000000001111000000001111100000000011110000000001111111111111111100000000011111000000001111111111111111110000000011111111111111110000000000111110000000011111111111111111000000000111111111111111110000000001111100000000111111111111111110000000001111100000000111111111111111111000000000111100000000111110000000011111111111111111100000000011110000000001111111111111111100000000011111111111111111111
+# Function
+00000000000000000000000000000000000000000000000000000011111111111111111111111100000000011111000000001111111111111111100000000011111000000001111100000000111110000000011111000000000111100000000111110000000011111000000000111100000000011111000000001111100000000111110000000011111111111111111000000000111110000000001111000000001111100000000011110000000001111000000000111110000000011111000000001111100000000111110000000011111111111111111000000000111110000000001111000000000111100000000011111111111111111000000001111100000000011110000000001111111111111111100000000011111000000001111100000000111110000000011111000000000111100000000011110000000011111000000000111100000000011110000000001111111111111111100000000011111000000001111100000000111111111111111110000000001111100000000111110000000011111000000001111100000000011111111111111110000000000111100000000011110000000001111100000000111110000000011111000000001111111111111111100000000011111111111111111000000000011111111111111111111
diff --git a/IR-Data/panasonic-vcr-15kHz.txt b/IR-Data/panasonic-vcr-15kHz.txt
new file mode 100644
index 0000000..9bca429
--- /dev/null
+++ b/IR-Data/panasonic-vcr-15kHz.txt
@@ -0,0 +1,102 @@
+# Panasonic FB silber fuer VCR Videorecorder, Jahr ~1990, Serial No: N2QAJB000088
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x93D0]
+0000000000000000000000000000000000000000000000000000011111111111111111111111111000000011111100000001111111111111111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111111000000111111100000011111110000000111111000000001111100000001111111111111111111000000011111110000000111111000000011111100000001111110000000111111000000001111100000000111111111111111111100000001111110000000111111000000011111111111111111110000000011111100000001111110000000111111000000011111100000001111110000000011111000000011111110000001111111000000011111111111111111110000000111111000000001111111111111111111000000011111111111111111110000000111111111111111111100000001111111111111111111100000011111110000000111111000000011111111111111111110000000111111000000001111111111111111111000000011111111111111111110000000111111000000001111111111111111111000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9100]
+0000000000000000000000000000000000000000000000000000011111111111111111111111111000000011111100000001111111111111111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111111111111111111000000011111100000001111111000000011111100000001111110000000111111000000011111100000001111111111111111111000000001111110000000111111000000011111111111111111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000001111110000000111111100000011111110000000111111000000011111100000001111111111111111111000000011111110000000111111000000011111100000001111110000000111111000000011111100000001111111000000011111100000001111110000000111111000000011111111111111111110000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9110]
+000000000000000000000000000000000000000000000000000001111111111111111111111111000000001111110000000111111111111111111100000001111110000000111111000000001111100000001111111000000111111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111111111111111100000001111110000000111111000000001111110000001111111000000011111100000001111110000000111111111111111111100000000111111000000111111100000001111111111111111111000000011111100000001111110000000111111100000001111110000000111111000000011111100000001111110000000111111000000001111111111111111111000000011111100000001111110000000111111000000001111111111111111111000000011111100000001111110000000111111000000011111111111111111110000000011111100000011111110000000111111000000011111100000001111110000000111111000000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9340]
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000001111110000000011111111111111111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000000111110000000111111111111111111110000000111111000000011111100000001111110000000011111000000001111110000000111111000000001111111111111111110000000111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000011111000000001111111111111111111000000011111100000001111111111111111111000000011111111111111111111000000011111100000001111110000000111111000000011111100000001111111111111111111100000011111110000000111111000000011111111111111111110000000111111000000011111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9130]
+00000000000000000000000000000000000000000000000000000111111111111111111111111110000001111111000000011111111111111111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000111111100000001111110000000111111000000011111111111111111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000011111100000001111110000000111111111111111111100000001111110000000011111100000011111110000000111111000000011111100000001111110000000111111000000001111110000000111111111111111111100000001111111111111111111000000011111100000000111111000000011111111111111111110000000111111000000011111100000001111110000000111111111111111111110000000111111111111111111100000001111110000000111111000000001111110000000111111000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9140]
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000000111111000000011111111111111111110000000111111000000011111100000001111110000000011111100000001111110000001111111000000011111100000001111110000000111111000000001111110000001111111000000011111111111111111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111111111111111110000000111111100000001111110000000111111111111111111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000111111100000001111111111111111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000111111000000001111111111111111111000000011111100000001111110000000111111000000011111100000001111111111111111111100000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9150]
+000000000000000000000000000000000000000000000000000001111111111111111111111111100000001111110000000111111111111111111100000000111111000000011111100000001111110000000111111000000001111100000000111110000000011111100000001111110000000111111000000011111100000000111110000000011111111111111111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111111111111111110000000111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000011111000000001111110000000111111000000011111100000001111111111111111111000000011111100000001111111111111111111100000001111110000000111111111111111111100000001111110000000011111100000001111110000000111111111111111111100000001111110000000111111111111111111110000001111111000000011111100000001111110000000111111000000011111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9350]
+0000000000000000000000000000000000000000000000000000011111111111111111111111110000000111111100000001111111111111111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000001111111000000011111100000001111111111111111111000000011111100000001111110000000111111100000001111110000001111111000000011111100000001111111111111111111000000011111110000000111111000000011111111111111111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111111111111111110000000111111000000011111111111111111110000000111111000000011111111111111111111000000011111111111111111110000000111111000000011111100000001111111111111111111100000001111110000000111111111111111111100000001111110000000011111000000001111111111111111111000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9160]
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000001111110000000111111111111111111110000000111111000000001111100000001111110000000111111000000001111110000001111111000000011111100000001111110000000111111000000011111100000000111111000000011111111111111111110000000111111000000011111100000001111110000000111111100000001111110000000111111000000011111111111111111110000000111111000000011111110000000111111111111111111100000001111110000000111111000000011111100000001111111000000011111100000001111110000000111111000000011111100000001111110000000011111111111111111110000000111111111111111111100000001111110000000111111111111111111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000011111111111111111110000000111111000000011111100000001111110000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9170]
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000000111111000000011111111111111111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111110000001111111000000011111111111111111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111111111111111110000000011111100000011111110000000111111111111111111100000001111110000000111111000000011111110000000111111000000011111100000001111110000000111111000000011111100000000111111111111111111100000011111111111111111111000000011111111111111111110000000011111100000011111111111111111111000000011111100000001111110000000111111000000001111111111111111111000000011111111111111111110000000111111111111111111100000000111111000000011111100000011111110000000111111000000011111111111111111110000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9180]
+000000000000000000000000000000000000000000000000000000111111111111111111111111100000001111110000000111111111111111111110000000111111000000011111100000001111110000000111111000000011111100000000111110000000011111100000011111110000000111111000000011111100000001111110000000011111111111111111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111111111111111110000000111111000000001111100000000111111111111111111100000001111110000000111111000000011111100000001111110000000111111000000011111110000000111111000000011111100000001111110000000111111000000011111100000000111111111111111111100000001111111111111111111000000011111100000001111110000000011111100000011111110000000111111000000011111100000001111111111111111111000000011111110000000111111000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9360]
+00000000000000000000000000000000000000000000000000000011111111111111111111111110000000111111000000011111111111111111110000000011111100000011111110000000111111000000011111100000001111110000000011111000000001111110000001111111000000011111100000001111110000000111111000000011111111111111111110000000011111100000001111110000000111111000000011111100000001111110000000011111000000001111111111111111111000000011111100000001111110000000111111111111111111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111111111111111110000000111111111111111111110000000111111000000011111111111111111110000000011111111111111111100000001111111000000011111100000001111110000000011111111111111111100000001111111111111111111100000001111110000000111111000000011111111111111111110000000111111000000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9C00]
+000000000000000000000000000000000000000000000000000000111111111111111111111111100000001111110000000111111111111111111100000001111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111111111111111110000000111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000111111000000011111110000001111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000011111110000000111111111111111111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111111111111111110000000111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9190]
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000001111110000000011111111111111111110000000111111000000011111100000001111110000000111111000000001111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111111111111111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111111111111111110000000111111000000011111100000000111111111111111111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111111111111111111000000001111110000000111111000000011111111111111111110000000111111111111111111100000000111111000000011111100000011111110000000111111111111111111100000001111110000000011111100000001111111111111111111000000011111100000001111110000000111111000000011111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x93B0]
+0000000000000000000000000000000000000000000000000000011111111111111111111111110000000011111000000001111111111111111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111111111111111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111111111111111111000000011111100000000111111000000111111111111111111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111111111111111100000000111110000000111111111111111111100000000111111111111111111100000001111111111111111111000000011111100000001111110000000111111111111111111110000000111111111111111111100000001111110000000111111111111111111110000000111111000000011111111111111111110000000111111000000011111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x95B0] (flags=0x50)
+000000000000000000000000000000000000000000000000000001111111111111111111111111100000001111110000000111111111111111111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111111111111111100000001111110000000011111100000011111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111111111111111111000000011111111111111111111000000011111100000001111111111111111111000000011111100000001111110000000111111100000001111110000000111111000000011111111111111111110000000111111111111111111100000000111111000000011111111111111111110000000111111111111111111100000001111110000000111111111111111111110000000111111000000011111100000001111111111111111111000000001111111111111111111000000011111111111111111110000000011111000000011111100000000111111111111111111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x95D0] (flags=0x10)
+0000000000000000000000000000000000000000000000000000011111111111111111111111110000000011111000000001111111111111111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000111111100000001111111111111111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111111111111111111000000001111100000000111111000000011111111111111111110000000111111111111111111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111111111111111111000000011111100000001111111111111111111000000001111111111111111111000000011111111111111111110000000111111000000011111111111111111110000000011111100000001111110000000111111000000011111111111111111110000000111111111111111111110000000111111000000011111100000001111111111111111111000000011111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9330]
+00000000000000000000000000000000000000000000000000000111111111111111111111111110000000111111000000011111111111111111110000000111111000000011111110000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111111111111111110000000011111000000001111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000111111100000001111110000000111111111111111111100000000111110000000111111100000001111110000000111111000000011111100000001111110000000011111000000011111110000000111111111111111111100000001111111111111111111000000011111100000001111111000000011111111111111111110000000111111111111111111100000001111110000000111111100000001111111111111111111000000011111111111111111110000000011111000000001111110000000111111000000011111111111111111110000000111111000000011111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x95F0] (flags=0x10)
+000000000000000000000000000000000000000000000000000001111111111111111111111111100000001111110000000111111111111111111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000111111100000001111110000000111111111111111111100000001111110000000011111100000011111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111111111111111111000000011111111111111111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111111111111111100000001111111111111111111000000011111111111111111111000000011111111111111111110000000111111111111111111100000001111111000000011111111111111111110000000111111000000011111100000001111111111111111111100000001111111111111111111000000011111111111111111110000000111111000000001111110000000111111111111111111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9540]
+00000000000000000000000000000000000000000000000000000111111111111111111111111110000000111111000000011111111111111111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111111111111111110000000011111000000011111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000011111100000001111110000000111111111111111111100000001111110000000011111100000011111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111111111111111111000000011111100000000111111111111111111100000001111110000000111111111111111111100000001111110000000011111100000011111110000000111111111111111111100000001111110000000111111000000011111100000000111111111111111111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9010] (flags=0x10)
+000000000000000000000000000000000000000000000000000001111111111111111111111111100000001111110000000111111111111111111100000001111110000000111111000000011111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111111111111111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111111111111111111000000011111111111111111111000000111111100000001111110000000111111000000011111100000001111110000000111111100000001111110000000111111111111111111100000001111110000000111111000000011111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111111111111111100000001111110000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x93A0] (flags=0x50)
+0000000000000000000000000000000000000000000000000000001111111111111111111111111000000011111100000001111111111111111111000000001111110000001111111000000011111100000001111110000000111111000000011111100000001111111000000011111100000001111110000000111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111111111111111100000001111110000000111111000000011111111111111111111000000011111111111111111110000000111111000000011111111111111111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111111111111111111000000111111100000001111111111111111111000000011111111111111111111000000011111111111111111110000000111111000000011111100000001111111111111111111100000011111111111111111111000000011111111111111111110000000111111111111111111110000000111111000000011111111111111111110000000111111000000011111111111111111110000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x93F0] (flags=0x50)
+000000000000000000000000000000000000000000000000000001111111111111111111111111000000001111100000000111111111111111111100000001111110000000111111000000011111100000001111110000000111111100000001111110000000111111000000011111100000001111110000000111111000000001111110000001111111111111111111100000001111110000000111111000000001111100000000111111000000011111100000011111110000000111111111111111111100000000111110000000011111100000001111111111111111111000000011111111111111111110000000111111000000001111111111111111111000000001111100000001111110000000111111000000011111100000001111111000000011111111111111111110000000111111111111111111100000000111111111111111111100000000111111111111111111000000011111111111111111110000000111111111111111111110000000111111000000011111100000001111110000000111111111111111111100000000111111000000111111111111111111110000000111111000000011111111111111111110000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9560] (flags=0x10)
+0000000000000000000000000000000000000000000000000000011111111111111111111111111000000011111100000001111111111111111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111111111111111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111111111111111111100000001111110000000111111000000011111111111111111110000000111111111111111111110000001111111000000011111100000001111110000000111111000000011111100000000111111000000111111100000001111110000000111111111111111111100000001111111111111111111100000001111110000000111111111111111111100000001111110000000111111111111111111110000000111111000000011111111111111111110000000111111111111111111100000000111111111111111111100000001111110000000111111000000011111100000001111111111111111111000000011111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x90A0]
+000000000000000000000000000000000000000000000000000000111111111111111111111111100000001111110000000111111111111111111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111110000000111111000000001111100000000111111000000011111111111111111110000000111111000000011111100000001111111111111111111100000011111110000000111111000000011111100000001111110000000111111000000001111110000001111111000000011111100000001111110000000111111111111111111100000000111111000000011111111111111111110000000111111000000011111100000001111110000000011111100000001111110000000111111111111111111100000001111110000000111111111111111111110000000111111111111111111100000001111110000000111111000000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9660] (flags=0x10)
+0000000000000000000000000000000000000000000000000000001111111111111111111111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000111111000000011111110000000111111000000011111100000001111110000000111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000111111100000011111110000000111111111111111111100000000111110000000111111000000011111111111111111111000000011111111111111111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111111111111111110000000111111111111111111100000001111110000000111111000000011111111111111111111000000011111111111111111110000000111111000000011111111111111111111000000011111111111111111110000000111111111111111111100000001111110000000011111111111111111110000000111111111111111111100000001111111111111111111000000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9020]
+000000000000000000000000000000000000000000000000000001111111111111111111111111100000001111110000000111111111111111111100000001111110000000011111100000011111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111111111111111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111111111111111111000000011111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000011111111111111111100000000111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111111111111111111000000011111100000001111110000000111111111111111111100000000111111000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9580] (flags=0x10)
+00000000000000000000000000000000000000000000000000000111111111111111111111111110000000111111000000011111111111111111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111111111111111111000000011111100000001111110000000111111111111111111110000000111111111111111111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000111111100000001111111111111111111000000011111111111111111110000000111111000000001111111111111111111000000011111100000001111111111111111111000000011111100000000111111000000111111111111111111110000000111111000000011111100000001111111111111111111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9030]
+000000000000000000000000000000000000000000000000000000111111111111111111111111100000001111110000000111111111111111111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111111111111111110000000111111000000011111100000001111111111111111111100000011111110000000111111000000011111100000000111110000000111111000000011111110000000111111000000011111100000001111111111111111111000000011111111111111111111000000011111100000001111110000000111111000000011111100000001111110000000011111000000001111111111111111111000000011111111111111111110000000111111000000001111100000000111111111111111111100000001111110000000111111000000011111111111111111110000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x92F0] (flags=0x50)
+000000000000000000000000000000000000000000000000000001111111111111111111111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000011111000000001111110000000111111000000011111100000001111110000000111111000000011111100000000111111111111111111100000001111110000000111111000000011111100000000111110000000011111100000001111110000000111111111111111111100000001111110000000011111000000001111111111111111111000000011111111111111111110000000111111000000011111111111111111111000000011111100000001111110000000111111000000011111100000001111110000000011111111111111111110000000111111111111111111100000001111111111111111111000000001111111111111111111000000011111100000001111111111111111111000000011111100000000111111000000011111100000001111111111111111111000000011111100000001111111111111111111100000001111111111111111111000000011111111111111111110000000111111000000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9000]
+0000000000000000000000000000000000000000000000000000001111111111111111111111111000000011111100000001111111111111111111000000001111110000000111111000000011111100000001111110000000111111000000001111100000000111111000000011111100000001111110000000011111000000011111100000000111111111111111111100000011111110000000111111000000011111100000001111110000000111111000000011111110000000111111111111111111100000001111110000000111111000000011111111111111111111000000011111100000001111110000000111111000000011111100000000111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111111111111111100000001111110000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9060]
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000000111111000000011111111111111111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111111111111111110000000111111000000001111100000000111111000000111111100000001111110000000111111000000011111111111111111110000000011111100000011111110000000111111111111111111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000001111100000000111111000000011111111111111111110000000111111111111111111100000000111110000000011111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111111111111111100000001111110000000111111111111111111100000000111111000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9490]
+00000000000000000000000000000000000000000000000000000111111111111111111111111110000000111111000000011111111111111111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111111111111111110000000011111100000001111110000000111111000000011111100000001111110000000011111000000011111111111111111111000000011111100000001111110000000111111111111111111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000011111110000000111111111111111111100000001111110000000111111000000001111111111111111111000000011111100000001111110000000111111111111111111100000000111111000000011111111111111111110000000111111000000011111100000001111111111111111111100000001111111111111111111000000011111100000001111111111111111111000000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x94A0]
+00000000000000000000000000000000000000000000000000000011111111111111111111111110000000111111000000011111111111111111110000000011111100000011111110000000111111000000011111100000001111110000000011111000000001111110000001111111000000011111100000001111110000000111111000000001111111111111111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111111111111111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111111111111111110000000011111100000001111111111111111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111111111111111111000000011111100000000111111111111111111100000001111111111111111111000000011111100000001111111111111111111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x90A0] (flags=0x10)
+00000000000000000000000000000000000000000000000000000111111111111111111111111110000001111111000000011111111111111111110000000111111000000011111100000000111111000000011111100000011111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111111111111111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000011111100000001111110000000111111111111111111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111111111111111111000000011111100000000111111111111111111100000001111110000000111111000000011111100000001111110000000011111111111111111110000000111111111111111111100000001111110000000111111111111111111110000000111111111111111111100000001111110000000111111000000011111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9080] (flags=0x10)
+00000000000000000000000000000000000000000000000000000111111111111111111111111110000000111111000000011111111111111111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000011111110000000111111000000011111111111111111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000011111100000001111110000000111111111111111111100000001111111111111111111100000001111110000001111111000000011111100000001111110000000111111000000001111100000000111111000000011111100000001111110000000111111000000011111111111111111110000000011111100000001111110000000111111000000011111100000001111111111111111111000000001111110000000111111000000011111111111111111110000000111111111111111111100000000111111000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9B40]
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000000111111000000011111111111111111110000000111111000000001111100000001111110000000011111100000011111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111111111111111110000000011111000000001111100000000111111000000011111100000001111110000000111111000000011111111111111111110000000011111100000001111110000000111111111111111111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111111111111111111000000011111100000001111111111111111111100000001111111111111111111000000011111100000001111111111111111111000000001111110000000111111000000011111111111111111110000000111111000000011111100000000111111111111111111100000001111110000000111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9080]
+000000000000000000000000000000000000000000000000000001111111111111111111111111100000001111110000000111111111111111111100000001111110000000011111000000001111110000000111111000000011111100000001111110000000111111000000001111100000000111111000000011111100000001111110000000111111111111111111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111111111111111111000000001111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111111111111111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111111111111111110000000111111111111111111100000001111110000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9910] (flags=0x10)
+0000000000000000000000000000000000000000000000000000001111111111111111111111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000111111000000001111110000001111111000000011111100000001111110000000111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111111111111111100000001111110000000111111000000011111111111111111111000000011111111111111111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111111111111111111100000011111110000000111111000000011111100000001111111111111111111000000011111110000000111111000000011111111111111111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x9930] (flags=0x10)
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000001111110000000111111111111111111110000001111111000000011111100000001111110000000111111000000001111100000000111111000000011111100000011111110000000111111000000011111100000000111110000000011111111111111111110000000111111000000011111100000000111110000000111111000000001111110000000111111000000011111111111111111110000000111111000000011111100000000111111111111111111100000001111111111111111111000000011111100000000111110000000011111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111111111111111100000001111110000000111111000000001111111111111111111000000011111100000001111110000000111111111111111111100000001111110000000011111111111111111110000000111111000000011111100000001111110000000011111000000001111110000000111111000000011111111111111111111
+
+# Es gibt auch 6 Tasten fuer den TV, wobei TV on/off immer 3 Pakete schickt
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x83D0]
+0000000000000000000000000000000000000000000000000000011111111111111111111111111000000011111100000001111111111111111111000000011111100000001111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111111111111111111000000011111110000001111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111111111111111100000001111110000000011111100000011111110000000111111000000011111100000001111110000000111111000000001111110000001111111111111111111100000001111110000000111111111111111111100000000111111111111111111100000011111111111111111111000000011111111111111111110000000011111100000011111110000000111111111111111111100000001111110000000111111111111111111110000001111111111111111111100000001111111111111111111000000011111111111111111111000000111111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x83D0]
+0000000000000000000000000000000000000000000000000000011111111111111111111111111000000011111100000001111111111111111111000000011111100000000111111000000111111100000001111110000000111111000000011111100000001111110000000111111100000001111110000000111111000000011111100000001111111111111111111000000001111110000001111111000000011111100000001111110000000111111000000011111100000000111111000000111111100000001111110000000111111111111111111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111111111111111100000001111110000000111111111111111111100000000111111111111111111100000001111111111111111111000000011111111111111111110000000111111100000011111110000000111111111111111111100000001111110000000011111111111111111110000000111111111111111111100000000111111111111111111000000011111111111111111111000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x83D0]
+0000000000000000000000000000000000000000000000000000011111111111111111111111111000000011111100000001111111111111111111000000011111110000001111111000000111111100000001111110000000111111000000011111100000001111111000000111111100000001111110000000111111000000011111100000001111111111111111111100000011111110000001111111000000011111100000001111110000000111111000000011111110000001111111000000011111100000001111110000000111111111111111111100000001111111000000011111100000011111110000000111111000000011111100000001111110000000011111100000001111110000000111111111111111111100000001111110000000111111111111111111110000001111111111111111111100000001111111111111111111000000011111111111111111111000000111111100000011111110000000111111111111111111100000001111110000000111111111111111111110000000111111111111111111100000001111111111111111111000000001111111111111111111000000011111100000001111111111111111111000000011111111111111111111
+
+# restiche TV Tasten
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x8050]
+000000000000000000000000000000000000000000000000000001111111111111111111111111000000001111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000011111100000011111110000000111111000000011111100000001111110000000111111000000001111110000001111111111111111111100000001111110000000111111000000011111100000000111111000000111111100000001111110000000111111000000011111100000001111110000000111111111111111111110000001111111000000011111100000001111110000000111111000000011111110000000111111000000011111100000001111110000000011111111111111111100000001111111000000111111111111111111110000000111111000000011111100000001111110000000011111100000011111110000001111111111111111111100000000111110000000111111111111111111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x8340]
+000000000000000000000000000000000000000000000000000001111111111111111111111111100000011111110000000111111111111111111100000001111110000000111111100000011111110000000111111000000011111100000001111110000000111111000000001111110000001111111000000011111100000001111110000000111111111111111111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111100000011111110000000111111000000011111111111111111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000001111111000000011111100000001111110000000111111111111111111100000001111110000000011111111111111111110000000111111111111111111100000001111110000000111111000000011111110000001111111000000011111111111111111110000000111111000000011111111111111111111000000011111111111111111110000000111111000000011111111111111111110000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x8350]
+00000000000000000000000000000000000000000000000000000111111111111111111111111100000001111111000000011111111111111111110000000111111000000011111100000001111110000000111111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000111111111111111111110000000111111000000011111100000001111111000000011111100000011111110000000111111000000011111100000000111110000000011111100000001111111111111111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000111111100000001111111111111111111000000011111100000001111111111111111111100000001111111111111111111000000011111100000001111110000000111111111111111111110000001111111000000011111111111111111110000000111111000000011111111111111111111000000011111111111111111110000000011111000000011111111111111111110000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x8200]
+000000000000000000000000000000000000000000000000000011111111111111111111111111000000011111100000000111111111111111111100000001111110000000111111000000011111100000001111110000000011111100000001111110000000111111000000011111100000001111110000000111111000000001111110000000111111111111111111100000001111110000000111111000000011111100000000111111000000111111100000001111110000000111111000000011111100000001111110000000111111111111111111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000011111100000001111110000000111111000000011111100000000111111000000011111100000001111110000000111111111111111111100000001111110000000111111100000001111110000000111111000000011111100000001111110000000111111000000011111111111111111111000000011111100000001111111111111111111000000011111111111111111111
+# KASEIKYO [ 5 (KASEIKYO) 0x2002 0x8210]
+000000000000000000000000000000000000000000000000000001111111111111111111111111000000011111100000001111111111111111111100000001111110000000111111000000011111100000001111110000000111111100000001111110000000111111000000011111100000001111110000000111111000000011111110000000111111111111111111100000000111110000000111111000000011111100000000111111000000011111100000001111110000000111111000000011111100000001111110000000011111111111111111110000000111111000000011111100000001111110000000111111000000001111110000000111111000000111111100000001111110000000111111111111111111100000000111111000000011111100000001111110000000111111000000011111111111111111110000000011111100000001111110000000111111111111111111100000001111110000000111111000000011111110000001111111000000011111111111111111110000000111111000000011111111111111111111000000011111111111111111111
+
diff --git a/IR-Data/rc5-philipps-15kHz.txt b/IR-Data/rc5-philipps-15kHz.txt
new file mode 100644
index 0000000..8ab74f3
--- /dev/null
+++ b/IR-Data/rc5-philipps-15kHz.txt
@@ -0,0 +1,65 @@
+# Philips FB schwarz fuer CD, Jahr ~1992, Serial No: RD 6910
+# [ 7 (RC5) 0x0014 0x0001]
+00000000000000111111111111000000000000001111111111111000000000000001111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0002]
+0000000000000011111111111110000000000000000000000000000111111111111111111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111000000000000001111111111111000000000000001111111111111000000000000001111111111111000000000000001111111111111000000000000011111111111111111111111111100000000000000000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0003]
+00000000000000111111111111100000000000000111111111111100000000000000111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0004]
+0000000000000011111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111111111111111100000000000000000000000000001111111111111000000000000001111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111111111111111111000000000000000000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0005]
+000000000000001111111111111000000000000001111111111111000000000000001111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000000000000000001111111111111111111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0006]
+0000000000000011111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111000000000000001111111111111000000000000001111111111111000000000000001111111111110000000000000011111111111111111111111111100000000000000111111111111100000000000000000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0007]
+00000000000000111111111111000000000000000111111111111000000000000001111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0008]
+0000000000000011111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111000000000000001111111111111000000000000001111111111111000000000000001111111111111111111111111100000000000000000000000000011111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0009]
+00000000000000111111111111100000000000000111111111111000000000000001111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000111111111111100000000000000011111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000000000000000000111111111111100000000000000111111111111111111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0029]
+00000000000000111111111111100000000000000000000000000001111111111111111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111110000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111111111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0000]
+0000000000000011111111111110000000000000011111111111110000000000000011111111111100000000000000000000000000001111111111111111111111111100000000000000000000000000001111111111110000000000000001111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0031]
+00000000000000111111111111100000000000000000000000000011111111111111111111111111100000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111110000000000000011111111111111111111111111000000000000001111111111111000000000000000000000000000111111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0021]
+00000000000000111111111111000000000000001111111111111000000000000001111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0020]
+0000000000000011111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111111111111111100000000000000000000000000001111111111111000000000000001111111111111111111111111100000000000000000000000000011111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x000F]
+00000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111110000000000000111111111111110000000000000011111111111100000000000000111111111111111111111111111000000000000001111111111111000000000000001111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0036]
+0000000000000011111111111100000000000000000000000000001111111111111111111111111100000000000000000000000000001111111111111111111111111100000000000000000000000000001111111111110000000000000011111111111111111111111111100000000000001111111111111000000000000000000000000000011111111111111111111111111000000000000001111111111111000000000000000000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0030]
+0000000000000011111111111110000000000000011111111111110000000000000011111111111110000000000000000000000000001111111111111111111111111100000000000000000000000000001111111111111000000000000011111111111111111111111111100000000000000111111111111100000000000000000000000000001111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0035]
+000000000000001111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111111111111111110000000000000001111111111110000000000000000000000000000111111111111111111111111110000000000000000000000000001111111111111111111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x002F]
+000000000000001111111111111000000000000001111111111111000000000000001111111111111000000000000000000000000000111111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111111111111111110000000000000000000000000000111111111111111111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x006C]
+0000000000000000000000000000111111111111100000000000000111111111111111111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111000000000000001111111111111111111111111100000000000000000000000000001111111111111111111111111100000000000000111111111111100000000000000000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0032]
+0000000000000011111111111110000000000000011111111111110000000000000011111111111110000000000000000000000000001111111111111111111111111100000000000000000000000000001111111111111000000000000001111111111111111111111111100000000000000111111111111100000000000000000000000000011111111111110000000000000011111111111111111111111111000000000000000000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0034]
+0000000000000011111111111110000000000000000000000000000111111111111111111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111000000000000001111111111111111111111111100000000000000111111111111100000000000000000000000000001111111111111111111111111100000000000000000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0023]
+00000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111110000000000000011111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000001111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0022]
+0000000000000011111111111110000000000000000000000000000111111111111111111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111000000000000001111111111111111111111111100000000000000000000000000001111111111111000000000000001111111111110000000000000011111111111111111111111111100000000000000000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x001C]
+0000000000000011111111111110000000000000011111111111110000000000000011111111111110000000000000000000000000001111111111111111111111111110000000000000000000000000001111111111111000000000000001111111111111000000000000001111111111111111111111111100000000000000111111111111100000000000000111111111111100000000000000000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x002B]
+00000000000000111111111111100000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111100000000000000111111111111111111111111111000000000000000000000000000111111111111111111111111110000000000000000000000000000111111111111111111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0011]
+00000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111110000000000000011111111111110000000000000111111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0010]
+000000000000001111111111111000000000000000000000000000111111111111111111111111110000000000000000000000000000111111111111111111111111110000000000000000000000000001111111111111000000000000000111111111111000000000000001111111111111111111111111100000000000000000000000000001111111111111000000000000001111111111111000000000000001111111111111000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x001D]
+00000000000000111111111111100000000000000111111111111100000000000000111111111111100000000000000000000000000011111111111111111111111111100000000000000000000000000011111111111110000000000000011111111111110000000000000011111111111111111111111111000000000000001111111111111000000000000001111111111111000000000000000000000000000111111111111111111111111111000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x000B]
+00000000000000111111111111100000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000111111111111100000000000000011111111111100000000000000111111111111100000000000000111111111111111111111111110000000000000000000000000000111111111111111111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x003B]
+00000000000000111111111111000000000000001111111111111000000000000001111111111111000000000000000000000000000011111111111111111111111111000000000000000000000000000111111111111100000000000000111111111111111111111111111000000000000001111111111110000000000000011111111111110000000000000000000000000000111111111111111111111111110000000000000011111111111110000000000000011111111111111111111
+# [ 7 (RC5) 0x0014 0x0047]
+00000000000000000000000000001111111111110000000000000011111111111111111111111111100000000000000000000000000011111111111111111111111111000000000000000000000000000011111111111110000000000000011111111111110000000000000011111111111100000000000000011111111111100000000000000111111111111111111111111111000000000000011111111111111000000000000001111111111110000000000000011111111111111111111
diff --git a/IR-Data/rc6a-siemens-15kHz.txt b/IR-Data/rc6a-siemens-15kHz.txt
new file mode 100644
index 0000000..d80ca04
--- /dev/null
+++ b/IR-Data/rc6a-siemens-15kHz.txt
@@ -0,0 +1,109 @@
+# Fujitsu-Siemens FB schwarz fuer PC Steuerung, usb IR-Empfaenger an PC, Jahr ~2010
+# [21 (RC6A) 0x000F 0x040C]
+00000000000000000000000000000000000000001111111111111000000001111110000000111111000000001111111111111000000011111111111110000000000000000000011111111111110000000111111100000001111110000000011111100000001111110000000011111100000001111111000000011111100000001111111000000011111100000001111111000000000000001111110000000111111000000001111110000000111111000000011111111111110000000011111100000001111110000000011111100000000000000111111111111100000001111111000000011111100000001111111000000011111100000001111111000000000000001111110000000111111111111100000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0418]
+000000000000000000000000000000000000000001111111111111000000011111110000000111111000000011111111111110000000111111111111100000000000000000000011111111111110000000111111100000011111110000000111111100000011111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000000000011111110000000111111000000011111100000001111111111111100000001111110000000111111100000001111110000000011111100000000000000111111111111100000001111110000000111111100000001111111000000111111100000000000000111111000000011111111111110000000111111100000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0417]
+000000000000000000000000000000000000000011111111111110000000111111100000001111110000000111111111111100000001111111111111000000000000000000000111111111111100000001111111000000111111100000001111111000000011111100000001111111000000011111100000001111111000000011111100000001111111000000011111110000000000000111111100000001111110000000111111100000011111110000000111111111111100000000111111000000011111100000001111111000000000000011111111111111000000011111100000000111111000000011111100000000111111000000000000001111111111111000000000000001111110000000111111100000011111111111111111111
+# [21 (RC6A) 0x000F 0x0419]
+0000000000000000000000000000000000000000111111111111110000000111111000000011111110000001111111111111100000001111111111111000000000000000000001111111111111000000011111110000000111111100000001111110000000111111100000011111110000000111111100000001111110000000111111100000001111110000000111111100000000000000111111000000011111110000000111111000000011111111111110000000111111100000001111110000000111111100000001111110000000000000011111111111110000000111111100000001111110000000111111100000001111111000000000000011111110000000111111111111100000001111111000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0415]
+0000000000000000000000000000000000000000011111111111110000001111111000000011111100000001111111111111100000001111111111111000000000000000000001111111111111000000011111110000000111111000000011111110000000111111100000011111110000000111111100000001111110000000111111100000001111110000000111111100000000000001111111000000011111100000001111111000000011111100000001111111111111100000011111110000000111111100000001111110000000000000011111111111110000000111111100000001111110000000111111100000001111110000000000000011111111111110000000000000011111111111110000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0416]
+00000000000000000000000000000000000000000111111111111100000001111111000000111111100000001111111111111000000011111111111110000000000000000000011111111111111000000011111100000001111111000000011111110000001111111000000011111110000000111111000000011111110000000111111000000011111110000000111111000000000000001111111000000111111100000001111110000000111111111111110000000111111000000011111110000000111111000000001111110000000000000111111111111110000000111111000000001111110000000111111000000001111110000000000000011111111111110000000000000111111100000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0414]
+00000000000000000000000000000000000000000111111111111100000001111111000000111111100000001111111111111000000011111111111110000000000000000000001111111111111000000011111110000001111111000000011111110000001111111000000011111110000001111111000000011111110000000111111000000011111110000000111111000000000000001111111000000111111100000001111110000000111111100000001111111111111000000011111110000000111111000000011111110000000000000111111111111110000000111111000000011111110000000111111000000011111110000000000000011111111111110000000000000111111111111110000000111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x041B]
+0000000000000000000000000000000000000000011111111111110000000111111000000011111110000000111111111111100000001111111111111000000000000000000001111111111111100000001111110000000111111100000001111110000000111111100000001111110000000111111100000001111111000000111111100000001111111000000011111100000000000000111111000000011111110000000111111000000011111111111110000000111111100000001111111000000111111100000001111111000000000000011111111111111000000011111100000001111111000000011111100000001111111000000000000011111110000000111111111111100000000000000111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x041A]
+00000000000000000000000000000000000000001111111111111000000011111110000000111111000000011111111111111000000111111111111110000000000000000000011111111111110000000111111100000001111110000000111111100000001111110000000111111100000001111111000000111111100000001111111000000011111100000001111111000000000000011111110000000111111000000011111110000000111111000000011111111111110000000011111100000001111110000000111111100000000000000111111111111100000001111111000000111111100000001111111000000011111100000000000000111111000000011111111111111000000000000011111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0423]
+00000000000000000000000000000000000000000111111111111100000001111110000000111111100000001111111111111000000011111111111110000000000000000000011111111111111000000011111100000001111111000000011111100000000111111000000011111110000001111111000000011111110000000111111000000011111110000000111111000000000000001111111000000111111100000001111110000000111111111111110000000111111000000011111110000000111111000000011111110000000000000111111111111110000000111111000000011111110000000111111000000000000001111111111111000000011111110000000111111000000000000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x040F]
+0000000000000000000000000000000000000000111111111111100000001111111000000011111100000001111111111111000000011111111111110000000000000000000001111111111111000000011111110000000111111000000011111110000000111111000000011111110000000111111000000011111110000000111111000000011111110000000111111100000000000001111111000000011111100000001111111000000111111100000001111111111111000000001111110000000111111000000011111110000000000000011111111111110000000111111000000011111110000000111111100000011111110000000111111100000000000001111111000000011111100000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x041E]
+0000000000000000000000000000000000000000111111111111100000001111111000000111111100000001111111111111000000001111111111110000000000000000000001111111111111000000011111110000001111111000000011111110000000111111000000011111110000000111111000000011111110000000111111000000011111110000000111111000000000000001111111000000111111100000001111111000000111111111111110000000111111000000011111110000000111111000000011111110000000000000111111111111110000000111111000000011111110000000111111100000011111110000000000000011111100000001111111000000011111100000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0420]
+00000000000000000000000000000000000000001111111111111000000011111110000000111111000000011111111111110000000111111111111110000000000000000000011111111111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000111111100000001111111000000111111100000001111111000000000000011111110000000111111000000011111110000001111111000000011111111111110000000111111100000001111110000000111111100000000000000111111111111100000001111110000000111111100000001111111000000000000011111111111111000000011111100000001111111000000111111100000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0422]
+00000000000000000000000000000000000000001111111111111000000011111110000000111111000000011111111111111000000011111111111110000000000000000000011111111111110000000111111100000001111110000000111111100000001111110000000111111100000001111111000000111111100000001111111000000011111100000001111111000000000000011111110000000111111000000011111110000000111111111111100000001111110000000111111100000001111111000000111111100000000000000111111111111100000001111111000000011111100000001111111000000000000011111111111111000000011111100000001111111000000000000011111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0421]
+0000000000000000000000000000000000000000011111111111110000000111111100000011111110000000111111111111100000001111111111111000000000000000000001111111111111100000001111110000000111111100000001111110000000111111100000001111111000000111111100000001111111000000011111100000001111111000000011111100000000000000111111100000011111110000000111111000000011111110000000111111111111100000001111111000000111111100000001111111000000000000011111111111111000000111111100000001111111000000011111100000000000000111111111111100000001111111000000011111100000001111111000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x041F]
+0000000000000000000000000000000000000000111111111111100000001111111000000011111100000001111111111111000000011111111111110000000000000000000001111111111111000000011111110000001111111000000011111110000000111111000000011111110000000111111000000011111110000000111111000000011111110000000111111100000000000001111111000000011111100000001111111000000011111111111110000000111111000000011111110000000111111000000011111110000000000000011111111111110000000111111100000011111110000000011111100000001111110000000000000011111100000001111111000000011111100000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0410]
+00000000000000000000000000000000000000000111111111111100000001111110000000111111100000011111111111111000000011111111111110000000000000000000001111111111111000000111111100000001111111000000111111100000001111111000000011111100000001111111000000011111100000001111111000000011111100000001111111000000000000001111110000000111111100000011111110000000111111000000011111111111111000000011111100000001111111000000001111100000000000000111111111111100000001111111000000011111100000001111111000000011111100000000000000111111111111100000001111111000000011111110000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0412]
+00000000000000000000000000000000000000001111111111111100000001111110000000111111100000011111111111111000000011111111111110000000000000000000011111111111110000000111111100000001111111000000111111100000001111111000000011111100000001111111000000011111100000001111111000000011111100000001111111000000000000001111110000000111111100000011111110000000111111111111100000001111111000000011111100000001111111000000011111100000000000000111111111111100000001111111000000011111100000001111111000000011111110000000000000111111111111110000001111111000000000000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0411]
+0000000000000000000000000000000000000000001111111111110000000111111000000011111110000000111111111111100000001111111111111000000000000000000000111111111111100000001111110000000111111100000001111110000000111111100000001111111000000111111100000001111111000000111111100000001111111000000011111100000000000000111111000000011111110000000111111000000011111110000000111111111111100000001111111000000111111100000001111111000000000000011111111111111000000011111100000001111111000000011111100000001111111000000000000001111111111111000000011111100000001111111000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0413]
+0000000000000000000000000000000000000000011111111111110000000111111000000011111110000000111111111111100000001111111111111000000000000000000001111111111111100000001111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000111111100000001111111000000111111100000000000000111111000000011111110000000111111000000011111111111110000000111111100000001111110000000111111100000001111111000000000000011111111111111000000111111100000001111111000000111111100000001111111000000000000011111111111111000000011111100000000000000111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x040D]
+0000000000000000000000000000000000000000011111111111110000000111111000000011111110000000111111111111100000001111111111111000000000000000000001111111111111100000011111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000111111100000000000000111111000000011111110000000111111000000011111110000001111111111111100000001111110000000111111100000001111110000000000000011111111111110000000111111100000001111110000000111111100000001111111000000111111100000000000000111111000000011111111111110000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x040E]
+00000000000000000000000000000000000000000111111111111100000011111110000000111111000000011111111111111000000111111111111110000000000000000000011111111111110000000111111100000001111110000000111111100000001111110000000111111100000001111111000000111111100000001111111000000011111100000001111111000000000000011111110000000111111000000011111110000000111111111111100000001111111000000111111100000001111111000000111111100000000000000111111111111100000001111111000000011111100000001111111000000011111100000001111111000000000000011111110000000111111100000011111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0448]
+00000000000000000000000000000000000000000111111111111100000001111110000000111111100000001111111111111000000011111111111110000000000000000000011111111111111000000011111100000001111111000000011111100000001111111000000011111100000001111111000000011111110000001111111000000011111110000000111111000000000000001111110000000111111100000001111110000000111111100000001111111111111000000011111100000001111111000000011111110000000000000111111111111110000001111111000000011111110000000000000111111111111110000000111111000000000000001111111111111000000011111110000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0426]
+00000000000000000000000000000000000000001111111111111000000011111110000000111111000000011111111111110000000111111111111110000000000000000000011111111111110000000111111100000001111110000000111111100000000111110000000111111100000000111110000000111111100000001111111000000111111100000001111111000000000000001111110000000111111000000011111110000001111111111111100000001111110000000111111100000001111111000000111111100000000000000111111111111100000001111111000000111111100000001111111000000000000011111111111111000000011111100000000000000111111000000011111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0425]
+0000000000000000000000000000000000000000011111111111100000001111111000000011111100000001111111111111100000001111111111111000000000000000000000111111111111000000011111110000000111111000000001111110000000111111000000011111110000000111111100000011111110000000111111100000001111110000000111111100000000000001111111000000011111100000001111111000000011111100000001111111111111000000011111110000000111111100000011111110000000000000011111111111110000000111111100000011111110000000111111100000000000001111111111111100000001111110000000000000011111111111110000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0424]
+00000000000000000000000000000000000000000111111111111100000001111110000000111111100000001111111111111000000011111111111110000000000000000000011111111111111000000011111100000001111111000000011111100000001111111000000011111110000001111111000000011111110000000111111000000011111110000000111111000000000000001111110000000111111100000001111110000000111111111111110000001111111000000011111110000001111111000000011111110000000000000111111111111110000000111111000000011111110000000111111000000000000001111111111111000000011111110000000000000011111111111110000000111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0401]
+0000000000000000000000000000000000000000011111111111100000000111111000000011111100000000111111111111000000011111111111110000000000000000000001111111111111000000011111110000000111111000000001111110000000111111000000001111110000000111111000000001111110000000111111000000001111110000000111111100000000000000111111000000011111100000000111111000000011111100000000111111111111000000001111110000000111111000000001111110000000000000011111111111110000000111111000000001111110000000111111100000001111110000000011111100000001111110000000111111100000001111110000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0402]
+00000000000000000000000000000000000000000111111111111100000001111110000000011111000000001111111111111000000011111111111110000000000000000000011111111111110000000011111100000001111111000000011111100000000111111000000011111100000001111111000000011111100000000111111000000011111100000000111111000000000000001111110000000111111100000001111110000000111111111111100000001111111000000011111100000001111111000000011111100000000000000111111111111100000000111111000000011111100000000111111000000011111110000001111111000000011111110000000111111000000000000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0403]
+00000000000000000000000000000000000000000111111111111100000001111110000000111111100000001111111111111000000011111111111110000000000000000000001111111111110000000011111100000001111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000000000001111110000000011111100000001111110000000111111000000001111111111111000000011111100000000111111000000011111100000000000000111111111111100000000111111000000011111100000000111111000000001111100000000111111000000011111110000000111111000000000000001111110000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0404]
+000000000000000000000000000000000000000001111111111111000000011111110000000111111000000011111111111110000000011111111111100000000000000000000011111111111110000000111111100000011111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000011111100000000111110000000000000011111110000000111111000000011111100000000111111111111100000001111110000000011111100000001111110000000011111100000000000000111111111111100000001111110000000011111100000001111111000000011111100000001111111000000011111100000000000000011111111111100000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0405]
+00000000000000000000000000000000000000001111111111111000000001111110000000111111000000011111111111110000000011111111111100000000000000000000011111111111110000000111111100000001111110000000111111100000001111110000000011111100000001111110000000011111100000001111110000000011111100000001111111000000000000001111110000000111111000000001111110000000111111000000001111111111110000000011111100000001111110000000011111100000000000000111111111111100000001111110000000011111100000001111110000000011111100000001111111000000011111100000000000000111111111111100000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0406]
+00000000000000000000000000000000000000000111111111111000000001111110000000111111000000001111111111110000000011111111111110000000000000000000001111111111110000000011111100000001111110000000111111100000001111110000000011111100000000111110000000011111100000001111111000000011111100000001111111000000000000001111110000000111111000000001111110000000111111111111100000001111110000000011111100000001111111000000011111100000000000000111111111111100000001111111000000011111100000001111111000000011111100000000111111000000011111100000000000000111111100000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0406 1
+00000000000000000000000000000000000000000111111111111100000001111110000000111111100000001111111111111000000011111111111110000000000000000000001111111111110000000011111100000001111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000000000001111110000000111111100000001111110000000111111111111100000001111111000000011111100000001111111000000001111100000000000000111111111111100000000111111000000011111100000000111111000000011111110000000111111000000001111110000000000000011111100000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0407]
+0000000000000000000000000000000000000000011111111111100000001111111000000011111100000000111111111111100000001111111111111000000000000000000001111111111111000000001111110000000111111000000001111110000000111111000000001111110000000111111100000001111110000000111111100000001111110000000111111100000000000000111111000000011111100000000111111000000011111100000000111111111111000000001111110000000111111000000001111110000000000000011111111111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000000000011111100000000111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0408]
+000000000000000000000000000000000000000001111111111111000000011111100000000111111000000001111111111110000000111111111111100000000000000000000011111111111110000000111111000000001111110000000111111000000001111110000000011111100000001111110000000111111100000001111110000000011111100000001111110000000000000011111110000000111111000000011111100000000111111111111100000001111110000000111111100000001111110000000011111100000000000000111111111111100000001111110000000011111100000000111110000000011111100000001111110000000000000011111111111110000000011111100000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0409]
+00000000000000000000000000000000000000000111111111111100000001111110000000011111100000001111111111111000000011111111111110000000000000000000001111111111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000011111110000000111111000000000000001111110000000011111100000001111110000000111111100000001111111111111000000011111100000000111111000000011111100000000000000011111111111100000000111111000000011111110000000111111000000011111110000000111111000000000000001111111111111000000011111110000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x041D]
+0000000000000000000000000000000000000000111111111111100000001111111000000011111100000000111111111111000000001111111111110000000000000000000001111111111111000000011111110000000111111000000011111110000000111111000000001111110000000111111000000001111110000000111111000000001111110000000111111000000000000001111111000000011111100000000111111000000011111111111110000000111111000000001111110000000011111000000001111110000000000000011111111111110000000111111000000001111110000000111111100000001111110000000000000011111100000000111111000000011111111111110000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x0400]
+000000000000000000000000000000000000000001111111111111000000001111110000000111111000000011111111111110000000011111111111100000000000000000000011111111111110000000111111000000011111110000000111111100000001111110000000111111100000001111110000000011111100000001111110000000011111100000000111110000000000000001111110000001111111000000011111100000001111111000000011111111111110000000111111100000001111110000000011111100000000000000111111111111100000001111110000000011111100000000111110000000011111100000001111110000000011111100000001111111000000011111100000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x041C]
+00000000000000000000000000000000000000001111111111111000000011111110000000111111000000011111111111110000000011111111111100000000000000000000011111111111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000011111100000001111110000000011111100000001111110000000000000001111110000000111111000000011111110000000111111111111100000001111110000000011111100000001111110000000011111100000000000000111111111111100000000111110000000011111100000001111111000000011111100000000000000111111000000001111110000000111111111111100000001111110000000011111111111111111111
+# [21 (RC6A) 0x000F 0x040A]
+00000000000000000000000000000000000000000111111111111100000001111110000000011111000000001111111111111000000011111111111110000000000000000000011111111111110000000011111100000001111110000000011111100000001111110000000011111100000001111111000000011111100000000111111000000011111100000000111111000000000000001111110000000111111000000001111110000000111111000000001111111111110000000011111100000001111111000000011111100000000000000111111111111100000000111111000000011111100000000111111000000011111100000000111111000000000000001111111111111000000000000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045A]
+000000000000000000000000000000000000000001111111111111000000011111110000000111111000000011111111111110000000111111111111100000000000000000000011111111111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000111111100000001111110000000011111100000001111110000000000000001111110000000111111000000001111100000000111111111111100000001111110000000011111100000001111110000000011111100000000000000111111111111100000001111110000000011111100000000000000111111111111100000000000000111111000000011111111111110000000000000011111111111110000000011111111111111111111
+# [21 (RC6A) 0x000F 0x040B]
+00000000000000000000000000000000000000000011111111111100000001111110000000011111100000000111111111111000000011111111111110000000000000000000001111111111111000000011111100000000111111000000001111100000000111111000000011111110000000111111000000011111110000000111111000000001111110000000111111000000000000001111111000000011111100000001111110000000011111100000000111111111111000000001111110000000111111000000011111110000000000000011111111111110000000111111000000011111110000000111111000000001111110000000111111000000000000001111111111111000000000000000111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045B]
+00000000000000000000000000000000000000000111111111111100000001111111000000011111100000001111111111111000000001111111111110000000000000000000001111111111111000000011111100000000111111000000011111110000000111111000000011111110000000111111000000001111110000000111111000000001111110000000111111000000000000001111111000000011111100000001111110000000011111111111110000000111111000000001111110000000111111000000001111110000000000000011111111111110000000111111000000001111110000000000000011111111111110000000000000011111100000001111111111111000000000000001111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045C]
+00000000000000000000000000000000000000000111111111111100000001111110000000111111100000001111111111111000000011111111111110000000000000000000001111111111111000000011111100000001111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000011111110000000111111000000000000001111110000000011111100000001111110000000111111100000001111111111111000000011111100000000111111000000011111100000000000000111111111111100000000111111000000011111100000000000000111111111111100000000000000111111100000001111110000000011111111111100000000111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045D]
+00000000000000000000000000000000000000000111111111111100000001111110000000111111100000001111111111111000000011111111111110000000000000000000001111111111110000000011111100000001111111000000011111100000001111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000000000001111110000000111111100000001111110000000111111111111100000001111111000000011111100000001111111000000011111100000000000000111111111111100000000111111000000011111100000000000000011111111111100000000000000111111100000011111110000000111111111111100000000000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045E]
+00000000000000000000000000000000000000000111111111111100000001111110000000011111100000001111111111111000000011111111111110000000000000000000001111111111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000011111110000000111111000000011111110000000111111000000000000001111110000000011111100000001111110000000111111100000001111111111111000000001111100000000111111000000011111110000000000000011111111111110000000111111000000001111110000000000000011111111111110000000000000011111100000000111110000000111111100000001111111111111000000011111111111111111111
+# toggle bit test
+# [21 (RC6A) 0x000F 0x045E]
+00000000000000000000000000000000000000000111111111111100000001111110000000011111100000001111111111111000000011111111111110000000000000000000001111111111111000000011111100000001111111000000011111100000000111111000000011111100000000111111000000011111100000000111111000000011111110000000111111000000000000001111110000000011111100000001111110000000111111111111100000000111111000000011111100000000111111000000011111110000000000000011111111111110000000111111000000011111110000000000000011111111111110000000000000011111100000001111110000000111111100000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045E]
+00000000000000000000000000000000000000000111111111111100000001111110000000011111100000001111111111111000000011111111111110000000000000000000001111111111111000000011111100000000111111000000011111100000000111111000000011111110000000111111000000011111110000000111111000000011111110000000111111000000000000001111110000000011111100000001111110000000011111100000001111111111111000000011111110000000111111000000001111110000000000000011111111111110000000111111000000011111110000000000000011111111111110000000000000011111100000001111110000000011111100000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045E]
+00000000000000000000000000000000000000000111111111111000000001111110000000111111000000001111111111110000000011111111111110000000000000000000011111111111110000000111111100000001111110000000011111100000001111110000000011111100000000111110000000011111100000001111111000000011111100000001111111000000000000001111110000000011111000000001111110000000111111111111100000001111110000000011111100000001111111000000011111100000000000000111111111111100000001111111000000011111100000000000000111111111111100000000000000111111000000001111110000000111111000000001111111111110000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045E]
+0000000000000000000000000000000000000000111111111111100000000111111000000011111100000001111111111111000000001111111111110000000000000000000001111111111111000000011111110000000111111000000011111110000000111111000000001111110000000111111000000001111110000000111111000000001111110000000111111100000000000001111111000000011111100000001111111000000011111100000001111111111111000000011111110000000111111000000001111110000000000000011111111111110000000111111000000001111110000000000000011111111111110000000000000011111100000001111111000000011111100000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045E]
+00000000000000000000000000000000000000000111111111111100000001111111000000011111100000001111111111111000000011111111111110000000000000000000001111111111111000000011111100000000111111000000011111110000000111111000000011111110000000111111000000011111110000000111111000000001111110000000111111000000000000001111111000000011111100000001111110000000011111111111110000000111111000000001111110000000111111000000001111110000000000000011111111111110000000111111000000001111110000000000000011111111111110000000000000011111100000001111111000000011111100000001111111111111000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045E]
+00000000000000000000000000000000000000000111111111111100000001111110000000111111000000001111111111111000000011111111111110000000000000000000011111111111110000000011111100000001111110000000011111100000001111111000000011111100000001111111000000011111100000001111111000000011111100000000111111000000000000001111110000000111111000000001111110000000111111000000001111111111111000000011111100000001111111000000011111100000000000000111111111111100000001111111000000011111100000000000000111111111111100000000000000111111000000001111110000000111111000000001111111111110000000011111111111111111111
+# [21 (RC6A) 0x000F 0x045E]
+00000000000000000000000000000000000000000111111111111100000001111111000000011111100000001111111111111000000011111111111110000000000000000000001111111111111000000001111100000000111111000000011111100000000111111000000011111110000001111111000000011111110000000111111000000001111110000000111111000000000000001111111000000011111100000001111110000000011111111111110000000111111000000011111110000000111111000000001111110000000000000011111111111110000000111111000000001111110000000000000011111111111110000000000000011111100000001111110000000011111100000001111111111111000000011111111111111111111
+
diff --git a/IR-Data/samsung-br-15kHz.txt b/IR-Data/samsung-br-15kHz.txt
new file mode 100644
index 0000000..957e099
--- /dev/null
+++ b/IR-Data/samsung-br-15kHz.txt
@@ -0,0 +1,92 @@
+# Samsung FB schwarz fuer Blueray/DVD Player, Jahr 2014, Serial No: AK59-00149A
+# ON/OFF [ 3 0x20 0x700]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Eject [ 3 0x20 0x701]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# 1 [ 3 0x20 0x702]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111110000000011111111000000001111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111000000001111111111111111111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000011111111111111111111110000000011111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# 2 [ 3 0x20 0x703]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111000000011111111000000001111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111111111111111111100000001111111111111111111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# 3 [ 3 0x20 0x704]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111000000011111111000000001111111000000001111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111000000001111111100000000111111111111111111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111111111111111111110000000011111111111111111111111000000001111111000000001111111111111111111111000000001111111111111111111111100000000111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# 4 [ 3 0x20 0x705]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111000000001111111111111111111111000000001111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# 5 [ 3 0x20 0x706]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000111111110000000011111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111100000000111111111111111111111100000000111111111111111111111100000000111111110000000111111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111111111111111111000000001111111111111111111111100000000111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# 6 [ 3 0x20 0x707]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000111111110000000111111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111000000001111111000000001111111111111111111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# 7 [ 3 0x20 0x708]
+00000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111111000000011111111000000001111111000000001111111111111111111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111100000000111111100000000111111100000000111111110000000011111111111111111111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000011111111111111111111
+# 8 [ 3 0x20 0x709]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000111111110000000011111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111100000001111111111111111111111100000000111111100000000111111100000000111111111111111111111110000000011111110000000011111110000000011111110000000011111110000000011111111000000001111111111111111111111000000001111111111111111111111000000001111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# 9 [ 3 0x20 0x70A]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000001111111000000001111111111111111111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111111111111111111110000000111111110000000011111111111111111111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Disc Menu [ 3 0x20 0x71D]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111110000000011111111000000001111111111111111111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000111111111111111111111110000000011111111111111111111110000000011111111000000011111111000000001111111000000001111111000000001111111111111111111111100000001111111100000000111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# 0 [ 3 0x20 0x70B]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000111111110000000011111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111111111111111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111110000000011111110000000011111110000000011111110000000011111111000000001111111000000001111111111111111111111000000001111111000000001111111111111111111111100000000111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# Popup [ 3 0x20 0x720]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111111111111111111110000000011111110000000011111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# |<< [ 3 0x20 0x70D]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000111111110000000111111110000000011111110000000011111110000000011111110000000011111111111111111111111000000011111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000111111110000000011111110000000011111110000000011111110000000011111111000000011111111111111111111111000000001111111000000001111111000000001111111111111111111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# >>| [ 3 0x20 0x711]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000111111110000000011111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111100000001111111111111111111111100000000111111100000000111111100000000111111100000000111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000001111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# << [ 3 0x20 0x712]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111111111111111111110000000011111111000000011111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000011111111111111111111111000000001111111000000001111111000000001111111111111111111111100000000111111100000000111111100000000111111111111111111111100000000111111110000000111111110000000011111110000000011111111111111111111110000000011111111000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# >> [ 3 0x20 0x715]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111110000000011111111111111111111110000000011111111000000011111111000000001111111000000001111111000000001111111111111111111111000000001111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Stop [ 3 0x20 0x713]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111110000000011111111000000001111111111111111111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111100000000111111111111111111111100000000111111111111111111111100000000111111110000000111111110000000011111111111111111111110000000011111110000000011111111000000011111111000000001111111000000001111111000000001111111111111111111111100000001111111111111111111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Play [ 3 0x20 0x714]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000001111111000000001111111111111111111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111100000000111111111111111111111110000000011111110000000011111111111111111111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111111111111111111100000001111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Pause [ 3 0x20 0x732]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111000000011111111000000001111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111000000001111111111111111111111100000000111111100000000111111100000000111111111111111111111110000000111111111111111111111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# Audio [ 3 0x20 0x725]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000111111110000000011111110000000011111110000000011111110000000011111111000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111100000001111111111111111111111100000000111111100000000111111111111111111111110000000111111110000000011111110000000011111111111111111111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111111111111111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Home [ 3 0x20 0x716]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111110000000011111111111111111111110000000011111111000000011111111000000001111111000000001111111111111111111111000000001111111000000001111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Subtitle [ 3 0x20 0x726]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000001111111000000001111111111111111111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111111111111111111110000000111111111111111111111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111111111111111111000000001111111100000001111111100000000111111111111111111111100000000111111111111111111111110000000111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Tools [ 3 0x20 0x73A]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111111000000011111111000000001111111000000001111111111111111111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111111111111111111110000000111111110000000011111111111111111111110000000011111111111111111111111000000011111111111111111111111000000001111111000000001111111000000001111111111111111111111100000001111111100000000111111111111111111111100000000111111100000000111111110000000111111110000000011111111111111111111110000000011111111111111111111111000000011111111111111111111
+# up [ 3 0x20 0x718]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000001111111000000001111111111111111111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111100000000111111110000000111111111111111111111110000000011111111111111111111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Info [ 3 0x20 0x71E]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000001111111000000001111111111111111111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000011111111000000001111111000000001111111000000001111111111111111111111100000001111111100000000111111100000000111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Left [ 3 0x20 0x71B]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111110000000011111111000000001111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111111111111111111100000001111111111111111111111100000000111111100000000111111111111111111111110000000111111111111111111111110000000011111110000000011111110000000011111111000000011111111000000001111111000000001111111111111111111111000000001111111000000001111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# Enter [ 3 0x20 0x71C]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000111111110000000011111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111100000001111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111110000000011111110000000011111111000000001111111111111111111111000000001111111111111111111111000000001111111100000001111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Right [ 3 0x20 0x71A]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111110000000111111110000000011111110000000011111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111100000001111111111111111111111100000000111111100000000111111111111111111111110000000111111111111111111111110000000011111110000000011111110000000011111111000000011111111111111111111111000000001111111000000001111111111111111111111000000001111111100000001111111100000000111111111111111111111100000000111111111111111111111110000000111111111111111111111110000000011111111111111111111
+# Return [ 3 0x20 0x717]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111110000000011111111000000001111111000000001111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111111111111111111100000001111111111111111111111100000000111111111111111111111100000000111111110000000111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000001111111000000001111111000000001111111111111111111111000000001111111100000001111111111111111111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# Down [ 3 0x20 0x719]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000111111110000000011111110000000011111110000000011111110000000011111111000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111100000000111111111111111111111100000000111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111110000000011111110000000011111111000000001111111000000001111111111111111111111000000001111111111111111111111100000001111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Exit [ 3 0x20 0x72B]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000111111110000000011111111111111111111110000000011111110000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111110000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# A red switch [ 3 0x20 0x721]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000111111110000000011111110000000011111110000000011111110000000011111111000000011111111111111111111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111100000000111111111111111111111100000000111111100000000111111100000000111111110000000111111110000000011111111111111111111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# B green [ 3 0x20 0x722]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111110000000011111111000000001111111000000001111111000000001111111100000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111000000001111111111111111111111100000000111111100000000111111100000000111111100000000111111111111111111111110000000011111110000000011111110000000011111111111111111111110000000011111111000000001111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# C yellow [ 3 0x20 0x723]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111110000000011111111000000001111111111111111111111000000001111111000000001111111100000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111100000000111111111111111111111100000000111111111111111111111100000000111111110000000111111110000000011111110000000011111111111111111111110000000011111111000000011111111000000001111111000000001111111000000001111111111111111111111100000001111111111111111111111100000000111111111111111111111100000000111111100000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# D blue [ 3 0x20 0x724]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111100000000111111100000000111111100000000111111111111111111111110000000111111110000000011111110000000011111111111111111111110000000011111110000000011111111000000001111111111111111111111000000001111111111111111111111000000001111111100000000111111111111111111111100000000111111111111111111111100000000111111110000000111111111111111111111110000000011111111111111111111110000000011111111111111111111
+# View [ 3 0x20 0x733]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000011111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111110000000011111110000000011111111111111111111110000000011111111111111111111111000000001111111000000001111111000000001111111000000001111111000000001111111111111111111111100000000111111111111111111111100000000111111100000000111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# A-B [ 3 0x20 0x728]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111110000000011111111000000011111111000000001111111111111111111111000000001111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111000000001111111111111111111111000000001111111111111111111111100000000111111100000000111111100000000111111100000000111111100000000111111111111111111111110000000011111110000000011111111111111111111110000000011111111000000001111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111100000000111111111111111111111100000000111111110000000011111111111111111111110000000011111111111111111111110000000011111111111111111111
+# Repeat [ 3 0x20 0x727]
+00000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111110000000011111110000000011111111000000011111111000000001111111000000001111111111111111111111000000001111111100000001111111100000000111111100000000111111100000000111111100000000111111100000000111111110000000011111110000000011111110000000011111110000000011111111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111000000001111111111111111111111100000001111111111111111111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111110000000011111111000000011111111111111111111111000000001111111000000001111111000000001111111100000001111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111110000000011111111111111111111110000000011111111111111111111111000000011111111111111111111
+# Screen [ 3 0x20 0x739]
+000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111100000000111111100000000111111110000000111111110000000011111110000000011111110000000011111111111111111111111000000011111111000000001111111000000001111111000000001111111000000001111111000000001111111100000000111111100000000111111100000000111111100000000111111100000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111110000000011111111111111111111111000000001111111111111111111111000000001111111000000001111111111111111111111100000001111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111110000000011111110000000011111110000000011111111000000011111111111111111111111000000001111111111111111111111000000001111111100000001111111100000000111111100000000111111111111111111111100000000111111111111111111111110000000011111111111111111111
+# siehe samsung32_TV_15kHz.txt) gibt auch 4 Tasten fuer den TV, schoen das nach 12 Jahren noch die gleichen Adressen und Commands gelten.
+# Source [10 0x707 0xFE01]
+0000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111110000000001111111100000000011111111000000001111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111111000000001111111111111111111111111100000000111111111000000001111111110000000011111111100000000111111111000000001111111110000000011111111111111111111111111000000001111111110000000011111111100000000111111111000000001111111110000000011111111100000000111111111000000001111111110000000011111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111111111111111
+# ON/OFF [10 0x707 0xFD02]
+0000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111110000000001111111100000000011111111000000000111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111111000000001111111111111111111111111100000000011111111000000000111111110000000001111111100000000111111111000000001111111110000000011111111100000000111111111111111111111111110000000011111111100000000111111111000000001111111110000000011111111100000000111111111000000001111111110000000011111111111111111111111111000000001111111110000000011111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111111111111111
+# VOL - [10 0x707 0xF40B]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111100000000011111111000000000111111110000000001111111100000000011111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111110000000001111111100000000011111111000000000111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111110000000001111111111111111111111111000000000111111110000000001111111100000000011111111000000000111111110000000001111111100000000011111111000000000111111111111111111111111100000000011111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000001111111111111111111111111100000000011111111111111111111
+# VOL + [10 0x707 0xF807]
+0000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111110000000001111111100000000011111111000000000111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111000000000111111110000000001111111100000000011111111000000000111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111100000000011111111000000000111111110000000001111111100000000111111111000000000111111110000000001111111100000000011111111000000000111111111111111111111111100000000111111111111111111111111110000000011111111111111111111111111000000001111111111111111111111111100000000111111111111111111111111110000000011111111111111111111
diff --git a/IR-Data/samsung32-tv-15kHz.txt b/IR-Data/samsung32-tv-15kHz.txt
new file mode 100644
index 0000000..d26aa79
--- /dev/null
+++ b/IR-Data/samsung32-tv-15kHz.txt
@@ -0,0 +1,87 @@
+# Samsung FB grau fuer TV, Jahr 2002, Serial No: BN59-00454A
+# [10 (SAMSG32) 0x707 0xFD02]
+0000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111100000000111111111000000001111111110000000011111111000000001111111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000111111111100000000111111111000000001111111110000000011111111000000001111111111000000001111111110000000011111111111111111111111110000000001111111100000000111111111100000000111111110000000001111111100000000111111111000000001111111110000000001111111111111111111111111000000001111111110000000011111111111111111111111110000000011111111111111111111111111100000000111111111111111111111111100000000111111111111111111111111110000000111111111111111111111111110000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xD32C]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000001111111110000000011111111000000000111111110000000011111111110000000011111111000000000111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111000000001111111111111111111111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111110000000001111111100000000011111111100000000011111111111111111111111110000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xBD42]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111000000000111111110000000011111111100000000011111111000000001111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111000000000011111111000000000111111110000000011111111100000000111111111000000001111111110000000001111111100000000011111111111111111111111100000000011111111000000000111111111000000000111111110000000011111111000000000111111111111111111111111100000000011111111000000000111111111111111111111111100000000111111111000000001111111111111111111111111000000000111111111111111111111111110000000011111111111111111111111110000000001111111111111111111111111000000001111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xDF20]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111110000000011111111000000000111111110000000001111111100000000001111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000001111111100000000011111111000000000111111110000000001111111100000000011111111100000000111111110000000001111111111111111111111111000000001111111100000000011111111100000000011111111111111111111111100000000001111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111100000000011111111111111111111111100000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xFC03]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111100000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000001111111100000000111111110000000011111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111100000000011111111100000000011111111000000000111111110000000011111111100000000111111111000000000111111110000000001111111000000000011111111111111111111111100000000011111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xFB04]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000001111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111000000001111111110000000011111111000000000111111110000000011111111110000000001111111000000000111111110000000001111111111111111111111111000000000111111110000000001111111100000000011111111000000001111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xFA05]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111000000000111111111000000001111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111000000000111111111000000001111111110000000011111111000000000111111110000000011111111100000000001111111111111111111111110000000001111111100000000011111111111111111111111100000000011111111100000000111111111000000001111111100000000011111111000000001111111111000000001111111100000000011111111111111111111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF906]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000011111111111111111111111000000000111111111111111111111111100000000011111111100000000111111110000000001111111100000000011111111000000000111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111100000000111111110000000001111111100000000011111111000000001111111110000000001111111100000000011111111111111111111111100000000011111111111111111111111110000000001111111110000000011111111000000000111111110000000001111111100000000011111111000000000111111111111111111111111100000000011111111000000000111111100000000011111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF708]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111110000000011111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000001111111110000000001111111100000000011111111000000000111111110000000001111111000000000011111111111111111111111110000000011111111100000000111111111000000001111111100000000011111111100000000011111111111111111111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF609]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111000000000111111110000000001111111100000000111111111000000001111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111000000000111111110000000001111111100000000111111111000000001111111110000000001111111111111111111111111000000000111111100000000011111111000000000111111111111111111111111110000000011111111000000000111111110000000001111111100000000011111111000000000111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF50A]
+00000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111100000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000001111111100000000111111110000000001111111110000000001111111100000000011111111111111111111111100000000011111111000000000111111111111111111111111100000000011111111000000000111111110000000001111111100000000111111111000000000111111111111111111111111100000000011111110000000001111111111111111111111111000000001111111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF30C]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000011111111000000000111111110000000001111111111111111111111110000000001111111111111111111111111100000000011111111000000001111111110000000011111111000000000111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111110000000001111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF20D]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111000000000111111111000000001111111110000000011111111000000001111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000001111111100000000011111111111111111111111110000000001111111100000000011111111111111111111111100000000011111111111111111111111111000000001111111100000000011111111000000001111111110000000001111111100000000011111111000000000111111111111111111111111100000000011111110000000001111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF10E]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111000000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111111111000000000111111110000000011111111000000000111111110000000011111111110000000001111111111111111111111110000000001111111100000000011111110000000000111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0x926D]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111100000000111111110000000001111111100000000011111111000000001111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111100000000111111110000000001111111100000000011111111000000001111111110000000001111111111111111111111111000000000111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111000000000111111100000000011111111111111111111111110000000001111111100000000011111111000000000111111111111111111111111100000000011111111000000001111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xEE11]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111100000000011111110000000001111111110000000001111111111111111111111111000000000111111110000000011111111000000000111111111000000000111111110000000011111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111100000000111111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xEC13]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000001111111100000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000001111111110000000001111111100000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111110000000001111111100000000011111111111111111111111110000000011111111100000000111111110000000001111111110000000001111111100000000011111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF00F]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000001111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111000000000111111110000000001111111100000000111111111000000000111111110000000001111111100000000111111110000000001111111110000000001111111111111111111111111000000001111111111111111111111111000000001111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF807]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000001111111111000000001111111100000000011111111000000001111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000011111111100000000011111111000000000111111110000000001111111000000000111111111111111111111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xF40B]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000001111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000001111111111000000001111111100000000011111111000000001111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000001111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111100000000011111111111111111111111111000000001111111100000000011111111000000000111111110000000001111111100000000011111111000000000111111110000000001111111111111111111111110000000001111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xED12]
+00000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111100000000011111111000000001111111100000000011111111000000000111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111100000000011111111000000001111111100000000011111111000000000111111111000000000111111100000000011111111111111111111111110000000001111111000000000011111111000000000111111111111111111111111100000000111111111000000001111111100000000011111111100000000111111111111111111111111100000000011111111000000000111111111111111111111111000000000111111111111111111111111110000000001111111100000000011111111111111111111111100000000011111111111111111111111110000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xEF10]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111000000000111111111000000001111111110000000011111111000000000111111110000000001111111110000000001111111000000000111111110000000001111111100000000011111111100000000111111111111111111111111100000000011111111000000000111111110000000011111111100000000011111111111111111111111100000000001111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111100000000011111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xFE01]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111100000000111111110000000001111111110000000001111111111111111111111110000000000111111111111111111111111000000001111111111111111111111111000000000111111111000000000111111110000000011111111100000000111111110000000001111111110000000001111111111111111111111110000000001111111100000000011111111000000000111111111000000001111111100000000011111111000000000111111110000000001111111100000000001111111000000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xE51A]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000001111111100000000111111111000000001111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111000000000011111111000000000111111110000000001111111100000000111111111000000001111111110000000001111111100000000011111111111111111111111100000000011111111000000000111111111111111111111111110000000011111111111111111111111110000000001111111100000000111111110000000001111111110000000001111111111111111111111110000000001111111100000000011111111111111111111111110000000001111111110000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xE41B]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111000000000111111110000000001111111100000000011111111000000001111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111000000000111111110000000001111111100000000011111111000000001111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111000000001111111100000000011111111100000000011111111000000000111111100000000011111111111111111111111110000000001111111110000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xE01F]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111110000000011111111000000000111111110000000001111111110000000001111111000000000111111110000000001111111100000000011111111100000000011111111000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xD22D]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111000000000011111111000000000111111110000000001111111100000000011111111000000001111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000001111111100000000111111111000000001111111110000000001111111111111111111111110000000000111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111110000000001111111111111111111111110000000001111111100000000011111111100000000011111110000000001111111111111111111111111000000000111111110000000001111111110000000011111111111111111111111110000000001111111100000000111111111111111111111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0x9F60]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111000000000111111110000000001111111100000000111111111000000001111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000001111111100000000011111111000000001111111110000000001111111100000000011111111000000000111111100000000011111111100000000011111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111000000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111000000001111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0x9A65]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000011111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000011111111100000000011111111111111111111111110000000001111111000000000111111111111111111111111100000000011111111100000000111111111000000001111111111111111111111111000000001111111111111111111111111000000000111111111000000000111111110000000001111111111111111111111110000000001111111100000000011111111111111111111111111000000001111111111111111111111111000000000111111110000000011111111000000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0x9D62]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111000000000111111111000000001111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000001111111100000000001111111000000000111111111111111111111111100000000011111110000000001111111110000000001111111100000000011111111111111111111111100000000011111111111111111111111110000000001111111100000000011111111111111111111111110000000001111111100000000011111111111111111111111100000000011111111111111111111111111000000001111111111111111111111111000000001111111110000000001111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0x9E61]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111100000000111111110000000001111111100000000011111111000000001111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111000000000111111110000000001111111100000000011111111000000001111111110000000001111111111111111111111111000000000111111100000000011111111000000000111111111000000000111111110000000011111111111111111111111110000000001111111111111111111111111000000001111111110000000001111111100000000011111111111111111111111100000000011111111111111111111111110000000001111111111111111111111111000000000011111111111111111111111100000000111111111000000001111111100000000011111111111111111111111110000000011111111111111111111
+# [10 (SAMSG32) 0x707 0x936C]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000001111111111000000001111111100000000011111111000000000111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000001111111111000000001111111100000000011111111000000000111111110000000011111111100000000011111111000000000011111110000000001111111111111111111111110000000001111111111111111111111111100000000111111111000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111111111111111111111000000000011111111111111111111111100000000011111111000000000111111111000000001111111111111111111111111000000000111111110000000011111111000000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xEB14]
+000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000001111111100000000011111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111000000000111111110000000001111111100000000011111111000000000111111110000000001111111111111111111111110000000001111111110000000011111111111111111111111111000000001111111100000000011111111000000000111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111110000000001111111111111111111111111100000000011111111000000001111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xEA15]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000011111111111111111111111110000000001111111111111111111111111000000001111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111100000000111111111111111111111111100000000011111111100000000011111111111111111111111110000000011111111000000000111111110000000001111111110000000001111111000000000011111111111111111111111100000000011111110000000001111111111111111111111111100000000011111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xE916]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111000000000111111111111111111111111100000000011111111111111111111111100000000011111111100000000011111111111111111111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111100000000011111111000000001111111111111111111111111100000000011111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xC53A]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000001111111100000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000011111111000000000111111110000000011111111100000000111111110000000001111111110000000001111111100000000011111111111111111111111100000000011111111000000000111111111111111111111111100000000011111111111111111111111110000000011111111111111111111111110000000001111111100000000011111111000000000011111111111111111111111100000000011111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111100000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xE619]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000001111111100000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000001111111100000000011111110000000001111111110000000001111111111111111111111110000000000111111100000000011111111000000000111111111111111111111111100000000011111111111111111111111110000000001111111100000000111111110000000001111111110000000001111111100000000011111111111111111111111100000000011111111111111111111111100000000001111111100000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xC13E]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111000000000111111111000000001111111110000000011111111000000000111111110000000001111111110000000001111111000000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111110000000001111111110000000001111111111111111111111110000000000111111100000000011111111000000000111111111000000001111111110000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0x9669]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111100000000011111111000000000111111111111111111111111100000000111111111000000000111111111111111111111111000000000111111111111111111111111100000000111111111000000000111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111111111111111111111000000000111111110000000001111111100000000011111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xDB24]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111100000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111100000000111111110000000001111111110000000001111111000000000011111110000000001111111111111111111111111000000000111111111000000001111111100000000011111111111111111111111110000000011111111000000000111111111000000000111111111111111111111111000000000111111111111111111111111100000000011111111000000000111111111111111111111111100000000011111111111111111111111110000000011111111000000000111111111111111111111111100000000011111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xDE21]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000011111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111100000000011111110000000000111111110000000001111111100000000011111111111111111111111110000000011111111000000001111111111000000000111111110000000001111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111100000000011111111111111111111111110000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xD02F]
+000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111110000000000111111111111111111111111000000000111111111111111111111111110000000011111111000000000111111111111111111111111100000000111111110000000001111111110000000001111111100000000011111110000000000111111100000000011111111100000000011111111111111111111111110000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
+# [10 (SAMSG32) 0x707 0xDD22]
+00000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111111111111111111110000000001111111111111111111111111000000000111111111111111111111111000000000111111111000000000111111110000000011111111000000000111111110000000001111111110000000001111111000000000111111111111111111111111100000000011111111000000000111111110000000001111111100000000011111111111111111111111110000000011111111000000000111111111000000000111111111111111111111111000000000111111110000000001111111111111111111111111000000000111111111111111111111111100000000011111111111111111111111110000000011111111000000000111111111111111111111111100000000111111111111111111111111100000000011111111111111111111
diff --git a/README.txt b/README.txt
index faa1f6d..bb4647c 100644
--- a/README.txt
+++ b/README.txt
@@ -1,9 +1,13 @@
IRMP - Infrared Multi Protocol Decoder
--------------------------------------
-Version IRMP: 2.9.7b 2015-11-30
-Version IRSND: 2.9.7b 2015-11-30
+Version IRMP: 3.0.0 2016-01-12
+Version IRSND: 3.0.0 2016-01-12
-Dokumentation:
+Documentation:
http://www.mikrocontroller.net/articles/IRMP
+ http://www.mikrocontroller.net/articles/IRMP_-_english
+
+ http://www.mikrocontroller.net/articles/IRSND
+ http://www.mikrocontroller.net/articles/IRSND_-_english
diff --git a/main.c b/irmp-main-avr-uart.c
index 1c3050b..4b95dfd 100644
--- a/main.c
+++ b/irmp-main-avr-uart.c
@@ -1,11 +1,11 @@
/*---------------------------------------------------------------------------------------------------------------------------------------------------
- * main.c - demo main module to test irmp decoder
+ * irmp-main-avr-uart.cpp - demo main module to test IRMP decoder on AVR with UART
*
- * Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de
+ * Copyright (c) 2009-2016 Frank Meyer - frank(at)fli4l.de
*
- * $Id: main.c,v 1.27 2015/02/27 10:19:20 fm Exp $
+ * $Id: irmp-main-avr-uart.c,v 1.1 2016/01/12 11:55:05 fm Exp $
*
- * This demo module is runnable on AVRs and LM4F120 Launchpad (ARM Cortex M4)
+ * This demo module is runnable on AVRs with UART
*
* ATMEGA88 @ 8 MHz internal RC Osc with BODLEVEL 4.3V: lfuse: 0xE2 hfuse: 0xDC efuse: 0xF9
* ATMEGA88 @ 8 MHz external Crystal Osc with BODLEVEL 4.3V: lfuse: 0xFF hfuse: 0xDC efuse: 0xF9
@@ -27,9 +27,6 @@
* ATMEL AVR part:
*---------------------------------------------------------------------------------------------------------------------------------------------------
*/
-#if defined (ATMEL_AVR)
-
-#include "irmp.h"
#define BAUD 9600L
#include <util/setbaud.h>
@@ -210,172 +207,3 @@ main (void)
}
}
}
-
-/*---------------------------------------------------------------------------------------------------------------------------------------------------
- * LM4F120 Launchpad (ARM Cortex M4):
- *---------------------------------------------------------------------------------------------------------------------------------------------------
- */
-#elif defined(STELLARIS_ARM_CORTEX_M4)
-
-void
-timer1_init (void)
-{
- SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);
- TimerConfigure(TIMER1_BASE, TIMER_CFG_32_BIT_PER);
-
- TimerLoadSet(TIMER1_BASE, TIMER_A, (F_CPU / F_INTERRUPTS) -1);
- IntEnable(INT_TIMER1A);
- TimerIntEnable(TIMER1_BASE, TIMER_TIMA_TIMEOUT);
- TimerEnable(TIMER1_BASE, TIMER_A);
- // Important: Timer1IntHandler has to be configured in startup_ccs.c !
-}
-
-void
-Timer1IntHandler(void) // Timer1 Interrupt Handler
-{
- (void) irmp_ISR(); // call irmp ISR
- // call other timer interrupt routines...
-}
-
-int
-main (void)
-{
- IRMP_DATA irmp_data;
-
- ROM_FPUEnable();
- ROM_FPUStackingEnable();
- ROM_SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
-
- irmp_init(); // initialize irmp
- timer1_init(); // initialize timer1
- sei (); // enable interrupts
-
- for (;;)
- {
- if (irmp_get_data (&irmp_data))
- {
- // ir signal decoded, do something here...
- // irmp_data.protocol is the protocol, see irmp.h
- // irmp_data.address is the address/manufacturer code of ir sender
- // irmp_data.command is the command code
- // irmp_protocol_names[irmp_data.protocol] is the protocol name (if enabled, see irmpconfig.h)
- }
- }
-}
-
-/*---------------------------------------------------------------------------------------------------------------------------------------------------
- * PIC18F4520 with XC8 compiler:
- *---------------------------------------------------------------------------------------------------------------------------------------------------
- */
-#elif defined (__XC8)
-
-#define _XTAL_FREQ 32000000UL // 32MHz clock
-#define FOSC _XTAL_FREQ
-#define FCY FOSC / 4UL // --> 8MHz
-
-#define BAUDRATE 19200UL
-#define BRG (( FCY 16 BAUDRATE ) -1UL)
-
-#include <stdio.h>
-#include <stdlib.h>
-
-int
-main (void)
-{
- IRMP_DATA irmp_data;
-
- irmp_init(); // initialize irmp
-
- // infinite loop, interrupts will blink PORTD pins and handle UART communications.
- while (1)
- {
- LATBbits.LATB0 = ~LATBbits.LATB0;
-
- if (irmp_get_data (&irmp_data))
- {
- // ir signal decoded, do something here...
- // irmp_data.protocol is the protocol, see irmp.h
- // irmp_data.address is the address/manufacturer code of ir sender
- // irmp_data.command is the command code
- // irmp_protocol_names[irmp_data.protocol] is the protocol name (if enabled, see irmpconfig.h)
- printf("proto %d addr %d cmd %d\n", irmp_data.protocol, irmp_data.address, irmp_data.command );
- }
- }
-}
-
-void interrupt high_priority high_isr(void)
-{
- if (TMR2IF)
- {
- TMR2IF = 0; // clear Timer 0 interrupt flag
- irmp_ISR();
- }
-}
-
-/*---------------------------------------------------------------------------------------------------------------------------------------------------
- * STM32:
- *---------------------------------------------------------------------------------------------------------------------------------------------------
- */
-#elif defined(ARM_STM32)
-
-uint32_t
-SysCtlClockGet(void)
-{
- RCC_ClocksTypeDef RCC_ClocksStatus;
- RCC_GetClocksFreq(&RCC_ClocksStatus);
- return RCC_ClocksStatus.SYSCLK_Frequency;
-}
-
-void
-timer2_init (void)
-{
- TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
- NVIC_InitTypeDef NVIC_InitStructure;
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
-
- TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
- TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
- TIM_TimeBaseStructure.TIM_Period = 7;
- TIM_TimeBaseStructure.TIM_Prescaler = ((F_CPU / F_INTERRUPTS)/8) - 1;
- TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
-
- TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
-
- NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F;
- NVIC_Init(&NVIC_InitStructure);
-
- TIM_Cmd(TIM2, ENABLE);
-}
-
-void
-TIM2_IRQHandler(void) // Timer2 Interrupt Handler
-{
- TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
- (void) irmp_ISR(); // call irmp ISR
- // call other timer interrupt routines...
-}
-
-int
-main (void)
-{
- IRMP_DATA irmp_data;
-
- irmp_init(); // initialize irmp
- timer2_init(); // initialize timer2
-
- for (;;)
- {
- if (irmp_get_data (&irmp_data))
- {
- // ir signal decoded, do something here...
- // irmp_data.protocol is the protocol, see irmp.h
- // irmp_data.address is the address/manufacturer code of ir sender
- // irmp_data.command is the command code
- // irmp_protocol_names[irmp_data.protocol] is the protocol name (if enabled, see irmpconfig.h)
- }
- }
-}
-#endif
diff --git a/irmp-main-avr.c b/irmp-main-avr.c
new file mode 100644
index 0000000..9cbdbf8
--- /dev/null
+++ b/irmp-main-avr.c
@@ -0,0 +1,80 @@
+/*---------------------------------------------------------------------------------------------------------------------------------------------------
+ * irmp-main-avr.c - demo main module to test IRMP decoder on AVR
+ *
+ * Copyright (c) 2009-2017 Frank Meyer - frank(at)fli4l.de
+ *
+ * $Id: irmp-main-avr.c,v 1.1 2016/01/12 11:55:05 fm Exp $
+ *
+ * This demo module is runnable on AVRs
+ *
+ * ATMEGA88 @ 8 MHz internal RC Osc with BODLEVEL 4.3V: lfuse: 0xE2 hfuse: 0xDC efuse: 0xF9
+ * ATMEGA88 @ 8 MHz external Crystal Osc with BODLEVEL 4.3V: lfuse: 0xFF hfuse: 0xDC efuse: 0xF9
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *---------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+
+#include "irmp.h"
+
+#ifndef F_CPU
+#error F_CPU unknown
+#endif
+
+static void
+timer1_init (void)
+{
+#if defined (__AVR_ATtiny45__) || defined (__AVR_ATtiny85__) // ATtiny45 / ATtiny85:
+
+#if F_CPU >= 16000000L
+ OCR1C = (F_CPU / F_INTERRUPTS / 8) - 1; // compare value: 1/15000 of CPU frequency, presc = 8
+ TCCR1 = (1 << CTC1) | (1 << CS12); // switch CTC Mode on, set prescaler to 8
+#else
+ OCR1C = (F_CPU / F_INTERRUPTS / 4) - 1; // compare value: 1/15000 of CPU frequency, presc = 4
+ TCCR1 = (1 << CTC1) | (1 << CS11) | (1 << CS10); // switch CTC Mode on, set prescaler to 4
+#endif
+
+#else // ATmegaXX:
+ OCR1A = (F_CPU / F_INTERRUPTS) - 1; // compare value: 1/15000 of CPU frequency
+ TCCR1B = (1 << WGM12) | (1 << CS10); // switch CTC Mode on, set prescaler to 1
+#endif
+
+#ifdef TIMSK1
+ TIMSK1 = 1 << OCIE1A; // OCIE1A: Interrupt by timer compare
+#else
+ TIMSK = 1 << OCIE1A; // OCIE1A: Interrupt by timer compare
+#endif
+}
+
+#ifdef TIM1_COMPA_vect // ATtiny84
+#define COMPA_VECT TIM1_COMPA_vect
+#else
+#define COMPA_VECT TIMER1_COMPA_vect // ATmega
+#endif
+
+ISR(COMPA_VECT) // Timer1 output compare A interrupt service routine, called every 1/15000 sec
+{
+ (void) irmp_ISR(); // call irmp ISR
+ // call other timer interrupt routines...
+}
+
+int
+main (void)
+{
+ IRMP_DATA irmp_data;
+
+ irmp_init(); // initialize IRMP
+ timer1_init(); // initialize timer1
+
+ sei (); // enable interrupts
+
+ for (;;)
+ {
+ if (irmp_get_data (&irmp_data))
+ {
+ ; // got an IR message, do something
+ }
+ }
+}
diff --git a/irmp-main-esp8266.c b/irmp-main-esp8266.c
new file mode 100644
index 0000000..65124cb
--- /dev/null
+++ b/irmp-main-esp8266.c
@@ -0,0 +1,191 @@
+/******************************************************************************
+
+Test program IRMP for ESP8266 2015-11-16 Wolfgang Strobl, Bonn
+
+IRMP ported to ESP8266, testet with MOD-WIFI-ESP8266-DEV on
+ESP8266-EVB evaluation board. https://www.olimex.com/Products/IoT/ESP8266-EVB/
+
+Connections
+-----------
+
+Input TSOP via 1k resistor at GPIO12 (Pin 7 UEXT),
+Output via UART (Pin 3/4 UEXT)
+
+example output
+---------------
+
+ESP8266 IRMP Test v0.3 W.Strobl 20151120
+F_INTERRUPTS==15000
+SDK version: 1.4.1(pre2) Chip ID=10619495
+data : 0x3ffe8000 ~ 0x3ffe837a, len: 890
+rodata: 0x3ffe8380 ~ 0x3ffe891c, len: 1436
+bss : 0x3ffe8920 ~ 0x3ffef4c0, len: 27552
+heap : 0x3ffef4c0 ~ 0x3fffc000, len: 52032
+free heap size=51784, system time=330392, rtc time=59472
+IRMP listening ...
+mode : sta(18:fe:34:a2:0a:67)
+add if0
+
+IRMP TELEFUNKEN(34): addr=0x0000 cmd=0x23f1, f=0
+IRMP TELEFUNKEN(34): addr=0x0000 cmd=0x1ffe, f=0
+IRMP TELEFUNKEN(34): addr=0x0000 cmd=0x28fc, f=0
+IRMP TELEFUNKEN(34): addr=0x0000 cmd=0x0113, f=0
+IRMP TELEFUNKEN(34): addr=0x0000 cmd=0x28fc, f=0
+IRMP TELEFUNKEN(34): addr=0x0000 cmd=0x09ff, f=0
+IRMP TELEFUNKEN(34): addr=0x0000 cmd=0x28fc, f=0
+IRMP TELEFUNKEN(34): addr=0x0000 cmd=0x0113, f=0
+IRMP KASEIKYO( 5): addr=0x2002 cmd=0x9001, f=0
+IRMP KASEIKYO( 5): addr=0x2002 cmd=0x9b40, f=0
+IRMP SIRCS( 1): addr=0x0809 cmd=0x1d0b, f=0
+IRMP SIRCS( 1): addr=0x0809 cmd=0x1d7a, f=0
+IRMP SIRCS( 1): addr=0x0809 cmd=0x1d7c, f=0
+IRMP SIRCS( 1): addr=0x0809 cmd=0x1d79, f=0
+IRMP SIRCS( 1): addr=0x0809 cmd=0x1d7c, f=0
+IRMP SAMSG32(10): addr=0x2d2d cmd=0xc639, f=0
+IRMP SAMSG32(10): addr=0x2d2d cmd=0xb54a, f=0
+
+*******************************************************************************/
+
+#include "ets_sys.h"
+#include "osapi.h"
+#include "driver/uart.h"
+#include "gpio.h"
+#include "os_type.h"
+#include "mem.h"
+
+#include "irmp.h"
+
+// hardware timer (driven by NMI)
+
+typedef enum {
+ FRC1_SOURCE = 0,
+ NMI_SOURCE = 1,
+} FRC1_TIMER_SOURCE_TYPE;
+
+void hw_timer_set_func (void (* user_hw_timer_cb_set)(void));
+
+void hw_timer_init (
+FRC1_TIMER_SOURCE_TYPE source_type,
+u8 req)
+;
+
+void irmp_timer(void)
+{
+ irmp_ISR ();
+}
+
+// info
+
+void meminfo(void)
+{
+ os_printf("free heap size=%u, system time=%u, rtc time=%u \n",
+ system_get_free_heap_size(),
+ system_get_time(),
+ system_get_rtc_time());
+}
+
+void sysinfo(void)
+{
+ os_printf("SDK version: %s Chip ID=%u\n",
+ system_get_sdk_version(),
+ system_get_chip_id());
+ system_print_meminfo();
+ meminfo();
+}
+
+// Tasks
+
+#define user_procTaskPrio 0
+#define user_procTaskQueueLen 1
+
+os_event_t user_procTaskQueue[user_procTaskQueueLen];
+static void user_procTask(os_event_t *events);
+
+// unbuffered Uart-rx, based on a comment in
+// https://github.com/SuperHouse/esp-open-rtos/issues/18
+
+int my_rx_one_char(void) // char or -1
+{
+ int c = READ_PERI_REG(UART_STATUS(0)) & 0xff;
+ if (c) return READ_PERI_REG(UART_FIFO(0));
+ return -1;
+}
+
+
+IRMP_DATA irmp_data;
+
+//------------------ User Task ---------------------
+
+static void
+user_procTask(os_event_t *events)
+{
+ int rc = irmp_get_data (&irmp_data);
+
+ if (rc)
+ {
+ os_printf("\nIRMP %10s(%2d): addr=0x%04x cmd=0x%04x, f=%d ",
+ irmp_protocol_names[ irmp_data.protocol],
+ irmp_data.protocol,
+ irmp_data.address,
+ irmp_data.command,
+ irmp_data.flags
+ );
+ }
+
+ // https://github.com/SuperHouse/esp-open-rtos/issues/18
+ // uart_rx_one_char ist offenbar eine ROM-Funktion.
+
+ int c = my_rx_one_char();
+
+ if(c != -1)
+ {
+ uart_tx_one_char(0,c);
+ os_printf("(0x%02x, %d) ",c,c);
+ switch(c)
+ {
+ case '.':
+ os_printf("\nTime=%d, GPIO12=%d, ",
+ system_get_time(),GPIO_INPUT_GET(12));
+ os_printf("gpio=%08x ",gpio_input_get());
+ break;
+ }
+ }
+ os_delay_us(100);
+ system_os_post(user_procTaskPrio, 0, 0 );
+}
+
+// Init function
+
+void ICACHE_FLASH_ATTR
+user_init()
+{
+ void* p;
+ uint32 now,diff;
+
+ //~ system_timer_reinit(); //US_TIMER
+
+ uart_init(BIT_RATE_115200, BIT_RATE_115200);
+ os_printf("\n\nESP8266 IRMP Test v0.3 W.Strobl 20151120\n");
+
+ os_printf("F_INTERRUPTS==%d\n",F_INTERRUPTS);
+
+ sysinfo();
+
+ hw_timer_init(NMI_SOURCE,1);
+ hw_timer_set_func(irmp_timer);
+ hw_timer_arm (1000000/F_INTERRUPTS);
+
+ // Initialize the GPIO subsystem.
+ gpio_init();
+
+
+ irmp_init ();
+
+ //Start os task
+
+ system_os_task(user_procTask, user_procTaskPrio,user_procTaskQueue, user_procTaskQueueLen);
+ system_os_post(user_procTaskPrio, 0, 0 );
+
+ os_printf("IRMP listening ...\n");
+
+}
diff --git a/irmp-main-mbed.cpp b/irmp-main-mbed.cpp
new file mode 100644
index 0000000..b04d887
--- /dev/null
+++ b/irmp-main-mbed.cpp
@@ -0,0 +1,106 @@
+/*---------------------------------------------------------------------------------------------------------------------------------------------------
+ * irmp-main-mbed.cpp - demo main module to test IRMP decoder on AVR
+ *
+ * $Id: irmp-main-mbed.cpp,v 1.1 2016/01/12 11:55:05 fm Exp $
+ *
+ * This demo module is runnable on MBED boards
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *---------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+
+#include "mbed.h"
+#include "irmp.h"
+
+#define LED_ON 0
+#define LED_OFF 1
+
+DigitalOut led(P0_14, 1);
+DigitalOut flash(P0_12, 1);
+
+Ticker t;
+
+// only for performance test
+Timer timerPerfTest;
+int timeISRMax = 0;
+float timeISRAvg;
+int timeISRAvgSum = 0;
+int countISRCalls = 0;
+
+void irmpISR(void)
+{
+ int t1 = timerPerfTest.read_us();
+
+ irmp_ISR(); // call irmp ISR
+
+ int timeISR = timerPerfTest.read_us() - t1; // calc time spent in worker ISR
+ if (timeISR > timeISRMax) // store maximum
+ {
+ timeISRMax = timeISR;
+ }
+ timeISRAvgSum += timeISR; // sum for avg
+ countISRCalls++;
+}
+
+int main()
+{
+ printf("IRMP on mbed\n");
+
+ led = LED_OFF;
+ timerPerfTest.start();
+
+ IRMP_DATA irmp_data;
+
+ irmp_init(); // initialize irmp
+ t.attach_us(&irmpISR, 1E6 / F_INTERRUPTS); // call ISR 15000/s
+
+ // infinite loop, interrupts will toggle PORTD pins and handle UART communications.
+ while (1)
+ {
+ flash = !flash;
+
+ if (irmp_get_data (&irmp_data))
+ {
+ // ir signal decoded, do something here...
+ // irmp_data.protocol is the protocol, see irmp.h
+ // irmp_data.address is the address/manufacturer code of ir sender
+ // irmp_data.command is the command code
+ // irm_data.flags is press/release information
+ // irmp_protocol_names[irmp_data.protocol] is the protocol name (if enabled, see irmpconfig.h)
+ // printf("proto %d addr %d cmd %d\n", irmp_data.protocol, irmp_data.address, irmp_data.command );
+
+ // sample decoding, toggle LED
+ if (irmp_data.protocol == IRMP_RC5_PROTOCOL && irmp_data.address == 5) // old RC5 VCR Remote. TV uses address 0
+ {
+ if (irmp_data.flags == 0) // switch only on button press
+ {
+ switch (irmp_data.command)
+ {
+ case 0: // Key '0'
+ led = LED_OFF;
+ break;
+ case 1: // Key '1'
+ led = LED_ON;
+ break;
+ case 53: // Key 'play'
+ printf("bring me a beer!\n");
+ break;
+ case 54: // Key 'stop'
+ timeISRAvg = (float)timeISRAvgSum / countISRCalls;
+ timeISRAvgSum = 0;
+ countISRCalls = 0;
+ printf("ISR max / avg runtime [microseconds] : %d / %5.2f\n", timeISRMax, timeISRAvg);
+ timeISRMax = 0;
+ break;
+ }
+ }
+ }
+
+ // log to stdout
+ printf("proto %d addr %d cmd %d flags %x name %s\n", irmp_data.protocol, irmp_data.address, irmp_data.command, irmp_data.flags, irmp_protocol_names[irmp_data.protocol] );
+ }
+ }
+}
diff --git a/irmp-main-pic-xc8.c b/irmp-main-pic-xc8.c
new file mode 100644
index 0000000..579a4af
--- /dev/null
+++ b/irmp-main-pic-xc8.c
@@ -0,0 +1,64 @@
+/*---------------------------------------------------------------------------------------------------------------------------------------------------
+ * main.c - demo main module to test IRMP decoder on PIC18F4520 with XC8 compiler
+ *
+ * Copyright (c) 2009-2016 Frank Meyer - frank(at)fli4l.de
+ *
+ * $Id: irmp-main-pic-xc8.c,v 1.1 2016/01/12 11:55:05 fm Exp $
+ *
+ * This demo module is runnable on PIC18F4520 with XC8 compiler
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *---------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+
+#include "irmp.h"
+
+#ifndef F_CPU
+#error F_CPU unknown
+#endif
+
+#define _XTAL_FREQ 32000000UL // 32MHz clock
+#define FOSC _XTAL_FREQ
+#define FCY FOSC / 4UL // --> 8MHz
+
+#define BAUDRATE 19200UL
+#define BRG (( FCY 16 BAUDRATE ) -1UL)
+
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main (void)
+{
+ IRMP_DATA irmp_data;
+
+ irmp_init(); // initialize irmp
+
+ // infinite loop, interrupts will blink PORTD pins and handle UART communications.
+ while (1)
+ {
+ LATBbits.LATB0 = ~LATBbits.LATB0;
+
+ if (irmp_get_data (&irmp_data))
+ {
+ // ir signal decoded, do something here...
+ // irmp_data.protocol is the protocol, see irmp.h
+ // irmp_data.address is the address/manufacturer code of ir sender
+ // irmp_data.command is the command code
+ // irmp_protocol_names[irmp_data.protocol] is the protocol name (if enabled, see irmpconfig.h)
+ printf("proto %d addr %d cmd %d\n", irmp_data.protocol, irmp_data.address, irmp_data.command );
+ }
+ }
+}
+
+void interrupt high_priority high_isr(void)
+{
+ if (TMR2IF)
+ {
+ TMR2IF = 0; // clear Timer 0 interrupt flag
+ irmp_ISR();
+ }
+}
diff --git a/irmp-main-stellaris-arm.c b/irmp-main-stellaris-arm.c
new file mode 100644
index 0000000..fa257fd
--- /dev/null
+++ b/irmp-main-stellaris-arm.c
@@ -0,0 +1,67 @@
+/*---------------------------------------------------------------------------------------------------------------------------------------------------
+ * irmp-main-stellaris-arm.c - demo main module to test IRMP decoder on LM4F120 Launchpad (ARM Cortex M4)
+ *
+ * Copyright (c) 2009-2016 Frank Meyer - frank(at)fli4l.de
+ *
+ * $Id: irmp-main-stellaris-arm.c,v 1.1 2016/01/12 11:55:05 fm Exp $
+ *
+ * This demo module is runnable on LM4F120 Launchpad (ARM Cortex M4)
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *---------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+
+#include "irmp.h"
+
+#ifndef F_CPU
+#error F_CPU unknown
+#endif
+
+void
+timer1_init (void)
+{
+ SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER1);
+ TimerConfigure(TIMER1_BASE, TIMER_CFG_32_BIT_PER);
+
+ TimerLoadSet(TIMER1_BASE, TIMER_A, (F_CPU / F_INTERRUPTS) -1);
+ IntEnable(INT_TIMER1A);
+ TimerIntEnable(TIMER1_BASE, TIMER_TIMA_TIMEOUT);
+ TimerEnable(TIMER1_BASE, TIMER_A);
+ // Important: Timer1IntHandler has to be configured in startup_ccs.c !
+}
+
+void
+Timer1IntHandler(void) // Timer1 Interrupt Handler
+{
+ (void) irmp_ISR(); // call irmp ISR
+ // call other timer interrupt routines...
+}
+
+int
+main (void)
+{
+ IRMP_DATA irmp_data;
+
+ ROM_FPUEnable();
+ ROM_FPUStackingEnable();
+ ROM_SysCtlClockSet(SYSCTL_SYSDIV_5|SYSCTL_USE_PLL|SYSCTL_XTAL_16MHZ|SYSCTL_OSC_MAIN);
+
+ irmp_init(); // initialize irmp
+ timer1_init(); // initialize timer1
+ sei (); // enable interrupts
+
+ for (;;)
+ {
+ if (irmp_get_data (&irmp_data))
+ {
+ // ir signal decoded, do something here...
+ // irmp_data.protocol is the protocol, see irmp.h
+ // irmp_data.address is the address/manufacturer code of ir sender
+ // irmp_data.command is the command code
+ // irmp_protocol_names[irmp_data.protocol] is the protocol name (if enabled, see irmpconfig.h)
+ }
+ }
+}
diff --git a/irmp-main-stm32.c b/irmp-main-stm32.c
new file mode 100644
index 0000000..ddc293c
--- /dev/null
+++ b/irmp-main-stm32.c
@@ -0,0 +1,82 @@
+/*---------------------------------------------------------------------------------------------------------------------------------------------------
+ * irmp-main-stm32.c - demo main module to test IRMP decoder on STM32
+ *
+ * Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de
+ *
+ * $Id: irmp-main-stm32.c,v 1.1 2016/01/12 11:55:05 fm Exp $
+ *
+ * This demo module is runnable on STM32
+ *
+ * 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
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *---------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+
+#include "irmp.h"
+
+#ifndef F_CPU
+#error F_CPU unknown
+#endif
+
+uint32_t
+SysCtlClockGet(void)
+{
+ RCC_ClocksTypeDef RCC_ClocksStatus;
+ RCC_GetClocksFreq(&RCC_ClocksStatus);
+ return RCC_ClocksStatus.SYSCLK_Frequency;
+}
+
+void
+timer2_init (void)
+{
+ TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;
+ NVIC_InitTypeDef NVIC_InitStructure;
+ RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE);
+
+ TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1;
+ TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;
+ TIM_TimeBaseStructure.TIM_Period = 7;
+ TIM_TimeBaseStructure.TIM_Prescaler = ((F_CPU / F_INTERRUPTS)/8) - 1;
+ TIM_TimeBaseInit(TIM2, &TIM_TimeBaseStructure);
+
+ TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE);
+
+ NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
+ NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
+ NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0x0F;
+ NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0x0F;
+ NVIC_Init(&NVIC_InitStructure);
+
+ TIM_Cmd(TIM2, ENABLE);
+}
+
+void
+TIM2_IRQHandler(void) // Timer2 Interrupt Handler
+{
+ TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
+ (void) irmp_ISR(); // call irmp ISR
+ // call other timer interrupt routines...
+}
+
+int
+main (void)
+{
+ IRMP_DATA irmp_data;
+
+ irmp_init(); // initialize irmp
+ timer2_init(); // initialize timer2
+
+ for (;;)
+ {
+ if (irmp_get_data (&irmp_data))
+ {
+ // ir signal decoded, do something here...
+ // irmp_data.protocol is the protocol, see irmp.h
+ // irmp_data.address is the address/manufacturer code of ir sender
+ // irmp_data.command is the command code
+ // irmp_protocol_names[irmp_data.protocol] is the protocol name (if enabled, see irmpconfig.h)
+ }
+ }
+}
diff --git a/irmp.aps b/irmp.aps
index 6f25602..d3ff493 100644
--- a/irmp.aps
+++ b/irmp.aps
@@ -1 +1 @@
-<AVRStudio><MANAGEMENT><ProjectName>irmp</ProjectName><Created>07-Jan-2010 20:23:49</Created><LastEdit>01-Jul-2014 11:23:52</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>07-Jan-2010 20:23:49</Created><Version>4</Version><Build>4, 18, 0, 670</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\irmp.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>C:\avr\irmp\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega88.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>main.c</SOURCEFILE><SOURCEFILE>irmp.c</SOURCEFILE><HEADERFILE>irmp.h</HEADERFILE><HEADERFILE>irmpconfig.h</HEADERFILE><HEADERFILE>irmpprotocols.h</HEADERFILE><HEADERFILE>irmpsystem.h</HEADERFILE><OTHERFILE>default\irmp.lss</OTHERFILE><OTHERFILE>default\irmp.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega88</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>irmp.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>0</ISDIRTY><OPTIONS><OPTION><FILE>irmp.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>main.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS>-Os</LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\WinAVR\avr-gcc-4.7.2\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\WinAVR\avr-gcc-4.7.2\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="1" orderaddress="1" ordergroup="1"/></IOView><Files><File00000><FileId>00000</FileId><FileName>main.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>irmp.c</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>irmp.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>irmpconfig.h</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>irmpsystem.h</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>irmpprotocols.h</FileName><Status>1</Status></File00005></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
+<AVRStudio><MANAGEMENT><ProjectName>irmp</ProjectName><Created>07-Jan-2010 20:23:49</Created><LastEdit>12-Jan-2016 12:59:26</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>07-Jan-2010 20:23:49</Created><Version>4</Version><Build>4, 18, 0, 670</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\irmp.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>C:\avr\irmp\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega88.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>irmp.c</SOURCEFILE><SOURCEFILE>irmp-main-avr.c</SOURCEFILE><HEADERFILE>irmp.h</HEADERFILE><HEADERFILE>irmpconfig.h</HEADERFILE><HEADERFILE>irmpprotocols.h</HEADERFILE><HEADERFILE>irmpsystem.h</HEADERFILE><OTHERFILE>default\irmp.lss</OTHERFILE><OTHERFILE>default\irmp.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega88</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>irmp.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>irmp.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>main.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS>-Os</LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\WinAVR\avr-gcc-4.7.2\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\WinAVR\avr-gcc-4.7.2\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="0" orderaddress="0" ordergroup="0"/></IOView><Files><File00000><FileId>00000</FileId><FileName>irmp.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>irmp.h</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>irmpconfig.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>irmpsystem.h</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>irmpprotocols.h</FileName><Status>1</Status></File00004></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
diff --git a/irmp.c b/irmp.c
index 8cbeb49..3895bba 100644
--- a/irmp.c
+++ b/irmp.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmp.c,v 1.183 2015/12/03 18:13:45 fm Exp $
+ * $Id: irmp.c,v 1.184 2016/01/12 11:53:34 fm Exp $
*
* Supported AVR mikrocontrollers:
*
@@ -793,7 +793,7 @@ irmp_uart_init (void)
// Oversampling
USART_OverSampling8Cmd(STM32_UART_COM, ENABLE);
- // init mit Baudrate, 8Databits, 1Stopbit, keine Parität, kein RTS+CTS
+ // init baud rate, 8 data bits, 1 stop bit, no parity, no RTS+CTS
USART_InitStructure.USART_BaudRate = STM32_UART_BAUD;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
@@ -826,7 +826,7 @@ irmp_uart_init (void)
// Oversampling
USART_OverSampling8Cmd(STM32_UART_COM, ENABLE);
- // init mit Baudrate, 8Databits, 1Stopbit, keine Parität, kein RTS+CTS
+ // init baud rate, 8 data bits, 1 stop bit, no parity, no RTS+CTS
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
@@ -848,10 +848,10 @@ irmp_uart_init (void)
USARTC1.BAUDCTRLB = 0;
USARTC1.BAUDCTRLA = F_CPU / 153600 - 1;
- USARTC1.CTRLA = USART_RXCINTLVL_HI_gc; // High Level (Empfangen)
- USARTC1.CTRLB = USART_TXEN_bm | USART_RXEN_bm; //Aktiviert Senden und Empfangen
- USARTC1.CTRLC = USART_CHSIZE_8BIT_gc; //Größe der Zeichen: 8 Bit
- PORTC.DIR |= (1<<7); //TXD als Ausgang setzen
+ USARTC1.CTRLA = USART_RXCINTLVL_HI_gc; // high INT level (receive)
+ USARTC1.CTRLB = USART_TXEN_bm | USART_RXEN_bm; // activated RX and TX
+ USARTC1.CTRLC = USART_CHSIZE_8BIT_gc; // 8 Bit
+ PORTC.DIR |= (1<<7); // TXD is output
PORTC.DIR &= ~(1<<6);
#else
@@ -2014,18 +2014,24 @@ static IRMP_PARAMETER irmp_param;
static IRMP_PARAMETER irmp_param2;
#endif
-static volatile uint_fast8_t irmp_ir_detected = FALSE;
-static volatile uint_fast8_t irmp_protocol;
-static volatile uint_fast16_t irmp_address;
-static volatile uint_fast16_t irmp_command;
-static volatile uint_fast16_t irmp_id; // only used for SAMSUNG protocol
-static volatile uint_fast8_t irmp_flags;
-// static volatile uint_fast8_t irmp_busy_flag;
+static volatile uint_fast8_t irmp_ir_detected = FALSE;
+static volatile uint_fast8_t irmp_protocol;
+static volatile uint_fast16_t irmp_address;
+static volatile uint_fast16_t irmp_command;
+static volatile uint_fast16_t irmp_id; // only used for SAMSUNG protocol
+static volatile uint_fast8_t irmp_flags;
+// static volatile uint_fast8_t irmp_busy_flag;
+
+#if defined(__MBED__)
+// DigitalIn inputPin(IRMP_PIN, PullUp); // this requires mbed.h and source to be compiled as cpp
+gpio_t gpioIRin; // use low level c function instead
+#endif
+
#ifdef ANALYZE
-#define input(x) (x)
-static uint_fast8_t IRMP_PIN;
-static uint_fast8_t radio;
+#define input(x) (x)
+static uint_fast8_t IRMP_PIN;
+static uint_fast8_t radio;
#endif
/*---------------------------------------------------------------------------------------------------------------------------------------------------
@@ -2078,6 +2084,21 @@ irmp_init (void)
#elif defined (TEENSY_ARM_CORTEX_M4) // TEENSY
pinMode(IRMP_PIN, INPUT);
+#elif defined(__xtensa__) // ESP8266
+ // select pin function
+# if (IRMP_BIT_NUMBER == 12)
+ PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTDI_U, FUNC_GPIO12);
+// doesn't work for me:
+// # elif (IRMP_BIT_NUMBER == 13)
+// PIN_FUNC_SELECT(PERIPHS_IO_MUX_MTCK_U , FUNC_GPIO13);
+# else
+# warning Please add PIN_FUNC_SELECT when necessary.
+# endif
+ GPIO_DIS_OUTPUT(IRMP_BIT_NUMBER);
+
+#elif defined(__MBED__)
+ gpio_init_in_ex(&gpioIRin, IRMP_PIN, IRMP_PINMODE); // initialize input for IR diode
+
#else // AVR
IRMP_PORT &= ~(1<<IRMP_BIT); // deactivate pullup
IRMP_DDR &= ~(1<<IRMP_BIT); // set pin to input
@@ -2588,6 +2609,9 @@ irmp_ISR (void)
#if defined(__SDCC_stm8)
irmp_input = input(IRMP_GPIO_STRUCT->IDR)
+#elif defined(__MBED__)
+ //irmp_input = inputPin;
+ irmp_input = gpio_read (&gpioIRin);
#else
irmp_input = input(IRMP_PIN);
#endif
@@ -4989,16 +5013,16 @@ get_fdc_key (uint_fast16_t cmd)
{
static uint8_t key_table[128] =
{
- // 0 1 2 3 4 5 6 7 8 9 A B C D E F
- 0, '^', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 'ß', '´', 0, '\b',
- '\t','q', 'w', 'e', 'r', 't', 'z', 'u', 'i', 'o', 'p', 'ü', '+', 0, 0, 'a',
- 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'ö', 'ä', '#', '\r', 0, '<', 'y', 'x',
- 'c', 'v', 'b', 'n', 'm', ',', '.', '-', 0, 0, 0, 0, 0, ' ', 0, 0,
-
- 0, '°', '!', '"', '§', '$', '%', '&', '/', '(', ')', '=', '?', '`', 0, '\b',
- '\t','Q', 'W', 'E', 'R', 'T', 'Z', 'U', 'I', 'O', 'P', 'Ü', '*', 0, 0, 'A',
- 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 'Ö', 'Ä', '\'','\r', 0, '>', 'Y', 'X',
- 'C', 'V', 'B', 'N', 'M', ';', ':', '_', 0, 0, 0, 0, 0, ' ', 0, 0
+ // 0 1 2 3 4 5 6 7 8 9 A B C D E F
+ 0, '^', '1', '2', '3', '4', '5', '6', '7', '8', '9', '0', 0xDF, '´', 0, '\b',
+ '\t', 'q', 'w', 'e', 'r', 't', 'z', 'u', 'i', 'o', 'p', 0xFC, '+', 0, 0, 'a',
+ 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 0xF6, 0xE4, '#', '\r', 0, '<', 'y', 'x',
+ 'c', 'v', 'b', 'n', 'm', ',', '.', '-', 0, 0, 0, 0, 0, ' ', 0, 0,
+
+ 0, '°', '!', '"', '§', '$', '%', '&', '/', '(', ')', '=', '?', '`', 0, '\b',
+ '\t', 'Q', 'W', 'E', 'R', 'T', 'Z', 'U', 'I', 'O', 'P', 0xDC, '*', 0, 0, 'A',
+ 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L', 0xD6, 0xC4, '\'', '\r', 0, '>', 'Y', 'X',
+ 'C', 'V', 'B', 'N', 'M', ';', ':', '_', 0, 0, 0, 0, 0, ' ', 0, 0
};
static uint_fast8_t state;
diff --git a/irmpconfig.h b/irmpconfig.h
index 1b5b024..35caa8c 100644
--- a/irmpconfig.h
+++ b/irmpconfig.h
@@ -6,7 +6,7 @@
* Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de
* Extensions for PIC 12F1820 W.Strobl 2014-07-20
*
- * $Id: irmpconfig.h,v 1.145 2015/11/18 08:27:50 fm Exp $
+ * $Id: irmpconfig.h,v 1.146 2016/01/12 11:53:34 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
@@ -164,6 +164,14 @@
# define IRMP_PIN 1 // use Digital pin 1 as IR input on Teensy
/*---------------------------------------------------------------------------------------------------------------------------------------------------
+ * Change hardware pin here for MBED
+ *---------------------------------------------------------------------------------------------------------------------------------------------------
+ */
+#elif defined(__MBED__)
+# define IRMP_PIN P0_22 // use P1_27 on LPC1347
+# define IRMP_PINMODE PullUp // hardware dependent
+
+/*---------------------------------------------------------------------------------------------------------------------------------------------------
* Handling of unknown target system: DON'T CHANGE
*---------------------------------------------------------------------------------------------------------------------------------------------------
*/
diff --git a/irmpsystem.h b/irmpsystem.h
index 2f02907..cef563b 100644
--- a/irmpsystem.h
+++ b/irmpsystem.h
@@ -3,7 +3,7 @@
*
* Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irmpsystem.h,v 1.21 2015/11/18 08:27:50 fm Exp $
+ * $Id: irmpsystem.h,v 1.22 2016/01/12 11:53:34 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
@@ -61,6 +61,9 @@
# define TEENSY_ARM_CORTEX_M4
#elif defined(unix) || defined(WIN32) || defined(__APPLE__) // Unix/Linux or Windows or Apple
# define UNIX_OR_WINDOWS
+#elif defined(__MBED__) // mbed platform
+// #include "mbed.h" // if mbed.h is used, source must be compiled as cpp
+#include "gpio_api.h"
#else
# define ATMEL_AVR // ATMEL AVR
#endif
@@ -142,6 +145,10 @@ typedef unsigned short uint16_t;
# define PROGMEM
# define memcpy_P memcpy
+#elif defined(__MBED__)
+# define PROGMEM
+# define memcpy_P memcpy
+
#else
# define PROGMEM
# define memcpy_P memcpy
diff --git a/irsndmain.c b/irsnd-main-avr.c
index 6355635..7ce5302 100644
--- a/irsndmain.c
+++ b/irsnd-main-avr.c
@@ -1,7 +1,7 @@
/*---------------------------------------------------------------------------------------------------------------------------------------------------
* irsndmain.c - demo main module to test IRSND encoder on AVRs
*
- * Copyright (c) 2010-2015 Frank Meyer - frank(at)fli4l.de
+ * Copyright (c) 2010-2016 Frank Meyer - frank(at)fli4l.de
*
* ATMEGA88 @ 8 MHz internal RC Osc with BODLEVEL 4.3V: lfuse: 0xE2 hfuse: 0xDC efuse: 0xF9
* ATMEGA88 @ 8 MHz external Crystal Osc with BODLEVEL 4.3V: lfuse: 0xFF hfuse: 0xDC efuse: 0xF9
diff --git a/irsnd.aps b/irsnd.aps
index f596a9b..27b8b7d 100644
--- a/irsnd.aps
+++ b/irsnd.aps
@@ -1 +1 @@
-<AVRStudio><MANAGEMENT><ProjectName>irsnd</ProjectName><Created>07-Jan-2010 20:23:49</Created><LastEdit>26-Oct-2012 10:20:26</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>07-Jan-2010 20:23:49</Created><Version>4</Version><Build>4, 18, 0, 670</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\irsnd.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>C:\avr\irmp\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega88.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>irsndmain.c</SOURCEFILE><SOURCEFILE>irsnd.c</SOURCEFILE><HEADERFILE>irsnd.h</HEADERFILE><HEADERFILE>irsndconfig.h</HEADERFILE><HEADERFILE>irmpprotocols.h</HEADERFILE><HEADERFILE>irmpsystem.h</HEADERFILE><OTHERFILE>default\irsnd.lss</OTHERFILE><OTHERFILE>default\irsnd.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega88</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>irsnd.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>irsnd.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>irsndmain.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\WinAVR\avr-gcc-4.7.2\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\WinAVR\avr-gcc-4.7.2\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="0" orderaddress="0" ordergroup="0"/></IOView><Files><File00000><FileId>00000</FileId><FileName>irsndmain.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>irsnd.c</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>irsnd.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>irsndconfig.h</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>irmpprotocols.h</FileName><Status>1</Status></File00004><File00005><FileId>00005</FileId><FileName>irmpsystem.h</FileName><Status>1</Status></File00005></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>
+<AVRStudio><MANAGEMENT><ProjectName>irsnd</ProjectName><Created>07-Jan-2010 20:23:49</Created><LastEdit>12-Jan-2016 13:01:29</LastEdit><ICON>241</ICON><ProjectType>0</ProjectType><Created>07-Jan-2010 20:23:49</Created><Version>4</Version><Build>4, 18, 0, 670</Build><ProjectTypeName>AVR GCC</ProjectTypeName></MANAGEMENT><CODE_CREATION><ObjectFile>default\irsnd.elf</ObjectFile><EntryFile></EntryFile><SaveFolder>C:\avr\irmp\</SaveFolder></CODE_CREATION><DEBUG_TARGET><CURRENT_TARGET>AVR Simulator</CURRENT_TARGET><CURRENT_PART>ATmega88.xml</CURRENT_PART><BREAKPOINTS></BREAKPOINTS><IO_EXPAND><HIDE>false</HIDE></IO_EXPAND><REGISTERNAMES><Register>R00</Register><Register>R01</Register><Register>R02</Register><Register>R03</Register><Register>R04</Register><Register>R05</Register><Register>R06</Register><Register>R07</Register><Register>R08</Register><Register>R09</Register><Register>R10</Register><Register>R11</Register><Register>R12</Register><Register>R13</Register><Register>R14</Register><Register>R15</Register><Register>R16</Register><Register>R17</Register><Register>R18</Register><Register>R19</Register><Register>R20</Register><Register>R21</Register><Register>R22</Register><Register>R23</Register><Register>R24</Register><Register>R25</Register><Register>R26</Register><Register>R27</Register><Register>R28</Register><Register>R29</Register><Register>R30</Register><Register>R31</Register></REGISTERNAMES><COM>Auto</COM><COMType>0</COMType><WATCHNUM>0</WATCHNUM><WATCHNAMES><Pane0></Pane0><Pane1></Pane1><Pane2></Pane2><Pane3></Pane3></WATCHNAMES><BreakOnTrcaeFull>0</BreakOnTrcaeFull></DEBUG_TARGET><Debugger><Triggers></Triggers></Debugger><AVRGCCPLUGIN><FILES><SOURCEFILE>irsnd.c</SOURCEFILE><SOURCEFILE>irsnd-main-avr.c</SOURCEFILE><HEADERFILE>irsnd.h</HEADERFILE><HEADERFILE>irsndconfig.h</HEADERFILE><HEADERFILE>irmpprotocols.h</HEADERFILE><HEADERFILE>irmpsystem.h</HEADERFILE><OTHERFILE>default\irsnd.lss</OTHERFILE><OTHERFILE>default\irsnd.map</OTHERFILE></FILES><CONFIGS><CONFIG><NAME>default</NAME><USESEXTERNALMAKEFILE>NO</USESEXTERNALMAKEFILE><EXTERNALMAKEFILE></EXTERNALMAKEFILE><PART>atmega88</PART><HEX>1</HEX><LIST>1</LIST><MAP>1</MAP><OUTPUTFILENAME>irsnd.elf</OUTPUTFILENAME><OUTPUTDIR>default\</OUTPUTDIR><ISDIRTY>1</ISDIRTY><OPTIONS><OPTION><FILE>irsnd.c</FILE><OPTIONLIST></OPTIONLIST></OPTION><OPTION><FILE>irsndmain.c</FILE><OPTIONLIST></OPTIONLIST></OPTION></OPTIONS><INCDIRS/><LIBDIRS/><LIBS/><LINKOBJECTS/><OPTIONSFORALL>-Wall -gdwarf-2 -std=gnu99 -DF_CPU=8000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums</OPTIONSFORALL><LINKEROPTIONS></LINKEROPTIONS><SEGMENTS/></CONFIG></CONFIGS><LASTCONFIG>default</LASTCONFIG><USES_WINAVR>1</USES_WINAVR><GCC_LOC>C:\WinAVR\avr-gcc-4.7.2\bin\avr-gcc.exe</GCC_LOC><MAKE_LOC>C:\WinAVR\avr-gcc-4.7.2\utils\bin\make.exe</MAKE_LOC></AVRGCCPLUGIN><IOView><usergroups/><sort sorted="0" column="0" ordername="1" orderaddress="1" ordergroup="1"/></IOView><Files><File00000><FileId>00000</FileId><FileName>irsnd.c</FileName><Status>1</Status></File00000><File00001><FileId>00001</FileId><FileName>irsnd.h</FileName><Status>1</Status></File00001><File00002><FileId>00002</FileId><FileName>irsndconfig.h</FileName><Status>1</Status></File00002><File00003><FileId>00003</FileId><FileName>irmpprotocols.h</FileName><Status>1</Status></File00003><File00004><FileId>00004</FileId><FileName>irmpsystem.h</FileName><Status>1</Status></File00004></Files><Events><Bookmarks></Bookmarks></Events><Trace><Filters></Filters></Trace></AVRStudio>