]> cloudbase.mooo.com Git - irmp.git/commitdiff
Version 2.5.3: added LGAIR protocol (IRMP)
authorukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Thu, 5 Jun 2014 21:03:25 +0000 (21:03 +0000)
committerukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Thu, 5 Jun 2014 21:03:25 +0000 (21:03 +0000)
git-svn-id: svn://mikrocontroller.net/irmp@127 aeb2e35e-bfc4-4214-b83c-9e8de998ed28

IR-Data/lg-air-15kHz.txt [new file with mode: 0644]
IR-Data/test-suite.sh
README.txt
irmp.c
irmp.h
irmpconfig.h
irmpprotocols.h

diff --git a/IR-Data/lg-air-15kHz.txt b/IR-Data/lg-air-15kHz.txt
new file mode 100644 (file)
index 0000000..3d747be
--- /dev/null
@@ -0,0 +1,84 @@
+# ON1 (23C)\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000001111111100000000111111110000000011111110000000011111111111111111111111100000000111111100000000111111110000000001111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000001111111111111111111111000000000111111100000000011111110000000011111111000000001111111000000000111111111111111111111110000000011111110000000001111111000000000111111111111111111111100000000011111111111111111111111000000001111111100000000111111100000000011111111111111111111\r
+# OFF1\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000011111111111111111111110000000001111111000000000111111100000000111111100000000011111110000000011111111000000001111111000000000111111100000000011111110000000011111111000000001111111000000000111111100000000111111111111111111111110000000001111111000000001111111111111111111111100000000011111110000000001111111000000001111111000000001111111111111111111111110000000011111111111111111111\r
+# ON2 (23C)\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111100000000111111110000000011111110000000001111111000000000111111111111111111111100000000011111110000000001111111000000001111111000000000111111100000000111111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000111111110000000011111111000000001111111000000000111111100000000111111111111111111111110000000001111111000000000111111100000000111111111111111111111110000000001111111111111111111111000000001111111100000000111111110000000011111111111111111111\r
+# OFF2\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000000111111100000000111111100000000011111110000000001111111111111111111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000111111111111111111111110000000001111111000000001111111100000000111111100000000111111110000000011111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111100000000111111111111111111111110000000001111111000000001111111111111111111111100000000011111110000000011111110000000001111111000000000111111111111111111111100000000011111111111111111111\r
+# ON3 (23C)\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000000111111100000000011111110000000011111111000000001111111111111111111111100000000111111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000011111111000000001111111000000000111111111111111111111110000000011111110000000001111111000000000111111111111111111111110000000011111111111111111111111000000001111111100000000111111110000000011111111111111111111\r
+# OFF3\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000001111111100000000111111100000000011111110000000011111111111111111111111000000000111111100000000011111110000000011111110000000001111111111111111111111100000000111111111111111111111110000000001111111000000001111111000000000111111100000000111111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111100000000111111111111111111111110000000011111111000000001111111111111111111111100000000111111110000000011111110000000001111111000000001111111111111111111111100000000011111111111111111111\r
+# ON4 (23C)\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000000111111100000000011111110000000011111110000000001111111111111111111111100000000111111110000000011111110000000001111111000000001111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111000000000111111111111111111111110000000011111110000000001111111000000000111111111111111111111100000000011111111111111111111111000000001111111100000000111111100000000011111111111111111111\r
+# OFF4\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000001111111000000000111111100000000111111110000000011111111111111111111111000000000111111100000000111111100000000011111110000000001111111111111111111111000000000111111111111111111111110000000011111111000000001111111000000000111111100000000111111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111000000000111111111111111111111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000011111111111111111111\r
+# TEMP UP (24C)\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111000000000111111111111111111111110000000011111110000000001111111000000000111111100000000011111111111111111111110000000001111111000000001111111100000000111111100000000011111110000000011111111000000001111111000000000111111100000000011111111111111111111110000000001111111000000000111111100000000111111100000000011111111111111111111111000000001111111000000000111111100000000011111111111111111111110000000001111111000000000111111111111111111111100000000011111110000000001111111000000001111111100000000111111111111111111111110000000011111111000000001111111111111111111111100000000011111111111111111111\r
+# TEMP UP (25C)\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111110000000001111111000000000111111100000000111111110000000011111111111111111111111000000001111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111110000000011111111111111111111111000000000111111100000000011111110000000011111110000000001111111111111111111111100000000111111100000000011111111111111111111111000000001111111000000000111111100000000011111111111111111111110000000001111111000000000111111100000000111111100000000011111111111111111111111000000001111111111111111111111100000000011111110000000011111111111111111111\r
+# TEMP UP (26C)\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111100000000111111110000000001111110000000011111111000000000111111111111111111111100000000011111110000000001111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111111111111111111100000000011111110000000001111111000000001111111100000000111111111111111111111110000000001111111000000001111111111111111111111100000000011111111111111111111110000000001111111000000000111111111111111111111110000000011111110000000001111111000000000111111100000000111111111111111111111110000000011111111111111111111111000000000111111111111111111111110000000011111111111111111111\r
+# OFF5\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000011111111111111111111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111100000000111111111111111111111110000000001111111000000001111111111111111111111100000000011111110000000011111111000000001111111000000001111111111111111111111110000000011111111111111111111\r
+# ON6\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111100000000011111110000000001111111000000001111111100000000111111111111111111111110000000011111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111000000000111111111111111111111110000000011111110000000001111111111111111111111100000000111111111111111111111110000000011111111000000001111111111111111111111100000000111111110000000011111111000000001111111111111111111111100000000111111111111111111111110000000001111111111111111111111100000000111111111111111111111110000000011111111111111111111\r
+# OFF6\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111100000000111111100000000111111110000000011111111000000001111111111111111111111100000000011111110000000011111110000000001111111000000000111111111111111111111100000000011111111111111111111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111111111111111111111000000001111111000000000111111111111111111111110000000011111110000000001111111000000000111111100000000111111111111111111111110000000011111111111111111111\r
+ON 26C\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000011111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000011111111000000001111111000000000111111100000000011111110000000011111111000000001111111111111111111111100000000111111110000000001111111111111111111111000000000111111111111111111111100000000011111110000000001111111111111111111111000000000111111100000000011111110000000011111111111111111111111000000001111111111111111111111100000000011111111111111111111111000000001111111111111111111111100000000011111111111111111111\r
+# TEMP DOWN 25C\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111000000000111111111111111111111110000000001111111000000001111111000000000111111100000000011111111111111111111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000111111111111111111111110000000001111111000000000111111100000000111111100000000011111111111111111111111000000000111111100000000111111111111111111111110000000011111111000000001111111000000000111111111111111111111110000000011111110000000001111111000000000111111100000000111111111111111111111110000000001111111111111111111111000000000111111100000000011111111111111111111\r
+# TEMP DOWN 24C\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000001111111000000000111111100000000011111110000000011111111111111111111111000000000111111100000000111111110000000011111110000000001111111000000001111111100000000111111100000000011111110000000011111111111111111111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000001111111111111111111111000000000111111100000000111111111111111111111110000000001111111000000000111111100000000111111100000000011111111111111111111111000000001111111100000000111111111111111111111110000000011111111111111111111\r
+# TEMP DOWN 23C\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111100000000011111110000000011111110000000001111111000000000111111111111111111111100000000011111110000000001111111000000001111111100000000111111100000000011111110000000011111111000000001111111000000001111111111111111111111110000000011111110000000001111111000000001111111100000000111111111111111111111110000000001111111000000001111111000000000111111100000000011111110000000011111111111111111111111000000000111111100000000111111100000000011111110000000001111111111111111111111000000000111111100000000011111110000000011111111111111111111\r
+# OFF\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000011111111111111111111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000111111100000000111111110000000001111111000000001111111111111111111111100000000111111111111111111111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111100000001111111100000000011111110000000011111111000000001111111000000001111111100000000111111111111111111111110000000011111111000000001111111111111111111111100000000011111110000000001111111000000001111111000000000111111111111111111111110000000011111111111111111111\r
+# ON 23C\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111100000000111111110000000011111110000000011111111000000001111111111111111111111100000000011111110000000001111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000011111110000000011111110000000001111111000000000111111100000000011111111111111111111110000000001111111000000001111111100000000111111111111111111111110000000011111111111111111111111000000000111111100000000111111110000000011111111111111111111\r
+# OFF\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000111111111111111111111111000000001111111000000000111111100000000111111110000000011111111111111111111111000000000111111100000000111111110000000011111110000000011111111111111111111111100000000111111111111111111111110000000011111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000001111111100000000111111100000000011111110000000001111111000000001111111000000000111111111111111111111110000000011111111000000001111111111111111111111100000000111111100000000011111110000000011111111000000001111111111111111111111100000000011111111111111111111\r
+# ON (mode0, 23C)\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000011111110000000011111110000000001111111000000000111111100000000111111100000000011111110000000011111111000000001111111100000000111111100000000011111110000000011111111000000001111111111111111111111100000000011111110000000011111110000000001111111000000000111111100000000111111111111111111111110000000001111111000000000111111100000000111111111111111111111110000000001111111111111111111111000000000111111100000000011111110000000011111111111111111111\r
+# MODE (to mode1, 22C - when switching to mode1 temp automaticall sets to 22C)\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000001111111100000000111111100000000011111110000000001111111111111111111111000000000111111100000000011111110000000011111110000000011111111000000000111111100000000111111100000000011111110000000001111111111111111111111000000000111111100000000011111111111111111111110000000001111111111111111111111100000000111111100000000011111111111111111111111000000001111111111111111111111100000000011111111111111111111111000000001111111000000001111111111111111111111110000000011111110000000001111111000000001111111100000000111111111111111111111110000000001111111111111111111111000000000111111100000000011111111111111111111\r
+# OFF\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000001111111000000000111111100000000011111110000000011111111111111111111111000000000111111100000000111111100000000011111110000000001111111111111111111111000000000111111111111111111111110000000011111110000000001111111000000000111111100000000111111110000000011111110000000001111111000000001111111100000000111111100000000011111110000000011111111000000001111111000000000111111111111111111111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000011111111111111111111\r
+# ON (mode1, 22C)\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111100000000111111111111111111111110000000001111111111111111111111100000000111111100000000011111111111111111111111000000001111111111111111111111100000000111111111111111111111110000000001111111000000001111111111111111111111100000000011111110000000001111111000000001111111111111111111111100000000011111111111111111111110000000001111111111111111111111100000000111111100000000011111111111111111111\r
+# MODE (to mode2, no temperature displayed)\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111110000000001111111000000000111111100000000111111100000000011111111111111111111111000000001111111000000000111111100000000111111110000000011111110000000001111111000000000111111100000000111111100000000011111111111111111111111000000001111111100000000111111100000000011111111111111111111111000000001111111111111111111111100000000111111110000000011111110000000001111111000000001111111100000000111111111111111111111110000000001111111000000001111111000000000111111100000000011111111111111111111110000000011111111000000000111111111111111111111100000000011111111111111111111\r
+# OFF\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000111111111111111111111111000000001111111100000000111111100000000011111110000000001111111111111111111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000111111111111111111111110000000001111111000000001111111100000001111111100000000111111110000000011111111000000001111111000000001111111100000000111111110000000011111110000000001111111000000001111111100000000111111111111111111111110000000011111111000000001111111111111111111111100000000011111110000000011111110000000001111111000000001111111111111111111111100000000011111111111111111111\r
+# ON (mode2)\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000001111111000000000111111100000000011111110000000011111111111111111111111000000000111111100000000111111110000000011111110000000001111111000000001111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111111111111111111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111000000000111111111111111111111110000000011111111000000001111111000000000111111111111111111111110000000011111111111111111111111000000001111111100000000111111111111111111111110000000011111111111111111111\r
+# MODE (to mode3, 23C)\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000001111111100000000111111100000000011111110000000001111111111111111111111000000000111111100000000111111110000000001111111000000001111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000111111111111111111111110000000001111111000000001111111000000000111111111111111111111110000000011111111000000001111111000000001111111100000000111111110000000011111111111111111111111000000001111111100000000111111100000000011111111111111111111111000000001111111000000000111111100000000011111110000000011111111111111111111\r
+# OFF\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111000000000111111100000000011111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000011111111000000001111111111111111111111100000000011111111111111111111111000000001111111000000000111111100000000011111110000000011111110000000011111111000000000111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111111111111111111110000000001111111000000001111111111111111111111100000000011111110000000001111111000000001111111000000000111111111111111111111110000000011111111111111111111\r
+# ON (mode3, 23C)\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111000000000111111111111111111111110000000011111110000000001111111000000000111111100000000111111111111111111111110000000001111111000000001111111000000000111111100000000011111110000000011111111000000001111111000000000111111100000000111111110000000011111111111111111111111000000001111111100000000111111100000000011111111111111111111111000000001111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111110000000011111111111111111111\r
+# MODE (to mode0, 23C)\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111100000000111111110000000011111110000000001111111000000001111111111111111111111100000000011111110000000011111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111111111111111111100000000011111110000000011111111000000000111111000000000111111111111111111111110000000011111111000000001111111000000000111111100000000011111110000000011111111111111111111111000000000111111100000000111111100000000011111110000000001111111111111111111111100000000111111100000000111111110000000011111111111111111111\r
+# OFF\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000111111111111111111111110000000001111111000000001111111100000000111111100000000111111111111111111111111000000001111111000000001111111100000000111111110000000011111111111111111111111000000001111111111111111111111100000000011111110000000001111111000000001111111100000000111111100000000011111110000000001111111000000001111111100000000111111100000000011111110000000001111111000000001111111000000000111111111111111111111110000000011111110000000001111111111111111111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000011111111111111111111\r
+# VENTILLATION SLOW\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111110000000001111111000000000111111100000000111111100000000011111111111111111111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111100000000111111110000000011111111111111111111111000000001111111100000000111111100000000011111110000000011111111000000001111111000000001111111111111111111111110000000011111111111111111111111000000000111111100000000111111100000000011111110000000001111111000000001111111111111111111111100000000011111110000000011111111111111111111111000000000111111111111111111111100000000011111111111111111111\r
+# VENTILLATION MEDIUM\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111000000000111111111111111111111110000000011111110000000001111111000000001111111100000000111111111111111111111110000000011111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000000111111100000000111111111111111111111110000000001111111000000000111111000000000111111100000000011111110000000011111110000000001111111111111111111111100000000111111111111111111111110000000001111111000000001111111000000000111111111111111111111110000000011111111000000001111111111111111111111100000000111111111111111111111110000000001111111000000000111111111111111111111100000000011111111111111111111\r
+# VENTILLATION HIGH\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000111111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111100000000111111100000000011111110000000011111111000000001111111111111111111111100000000011111110000000011111110000000001111111000000000111111100000000111111110000000011111110000000001111111000000000111111111111111111111100000000011111110000000011111111000000001111111000000000111111100000000011111110000000011111111111111111111111000000000111111111111111111111100000000011111110000000001111111111111111111111000000000111111100000000011111110000000011111111111111111111111000000000111111111111111111111110000000011111111111111111111111000000000111111111111111111111100000000011111111111111111111\r
+# VENTILLATION LIGHT\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000001111111000000000111111100000000111111110000000011111111111111111111111000000000111111100000000111111110000000011111110000000001111111000000001111111100000000111111100000000011111110000000001111111111111111111111100000000111111100000000011111110000000011111111000000001111111000000001111111100000000011111111111111111111110000000001111111111111111111111100000000111111100000000011111111111111111111111000000001111111000000000111111111111111111111110000000011111110000000001111111000000000111111100000000111111100000000011111111111111111111\r
+# VENTILLATION SLOW\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000111111111111111111111111000000001111111000000000111111100000000011111110000000011111111111111111111111000000000111111100000000111111100000000011111110000000001111111000000001111111000000000111111100000000011111110000000011111111111111111111111000000000111111100000000111111100000000011111110000000001111111000000001111111100000000111111111111111111111110000000011111111111111111111111000000001111111100000000011111110000000011111110000000001111111000000000111111111111111111111100000000011111110000000001111111111111111111111000000000111111111111111111111110000000011111111111111111111\r
+# SWING ON\r
+00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111111000000001111111111111111111111110000000011111110000000001111111000000001111111100000000111111111111111111111110000000001111111000000001111111100000000111111100000000111111110000000011111111000000011111111000000001111111111111111111111110000000011111110000000001111111000000000111111100000000111111110000000011111110000000011111111000000001111111100000000111111100000000011111110000000011111111000000001111111000000000111111100000000011111110000000011111110000000011111111000000001111111111111111111111100000000011111111111111111111\r
+# SWING OFF\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000001111111000000000111111100000000111111110000000001111111111111111111111000000000111111100000000111111100000000011111110000000001111111000000001111111100000000111111100000000011111111111111111111111000000001111111000000001111111100000000111111110000000011111110000000001111111000000001111111100000000111111100000000011111110000000001111111000000011111111000000000111111100000000011111110000000011111110000000011111111000000000111111100000000111111111111111111111110000000011111111111111111111\r
+# SWING ON\r
+000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000011111111111111111111111111111111111111111111111111111111111110000000001111111111111111111111100000000011111110000000011111111000000001111111000000001111111111111111111111110000000011111110000000011111111000000001111111100000000111111100000000011111110000000011111111000000001111111111111111111111100000000011111110000000011111111000000001111111000000000111111100000000011111110000000011111110000000001111111000000001111111100000000111111100000000111111110000000001111111000000001111111000000000111111100000000111111110000000011111110000000001111111111111111111111100000000011111111111111111111\r
+# TURN OFF (18C currently)\r
+0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001111111111111111111111111111111111111111111111111111111111111100000000011111111111111111111111000000000111111100000000111111100000000011111110000000001111111111111111111111000000000111111100000000011111110000000011111110000000001111111111111111111111100000000111111111111111111111110000000001111111000000001111111100000000011111100000000011111110000000011111111000000001111111000000000111111100000000111111110000000011111110000000011111111000000000111111100000000111111111111111111111110000000001111111000000001111111111111111111111100000000011111110000000011111110000000001111111000000000111111111111111111111100000000011111111111111111111\r
index 3c7be1d0aafbf762dd160fb211ed39e4662d0c0c..7176020f2e6b6a63f7b7775c0f9c0d75141910a8 100644 (file)
@@ -95,6 +95,7 @@ for j in                                \
     denon-rc-176-repeat-15kHz.txt       \
     irc-15kHz.txt                       \
     kathrein-15kHz.txt                  \
+    lg-air-15kHz.txt                    \
     recs80-15kHz.txt                    \
     saa3004-15kHz.txt                   \
     samsung32-15kHz.txt                 \
index fba99f21f7235a2801921e4daa8e39935a3720f6..9f50115ff7b0979b18c7a5e04ccd42f8a1ece24c 100644 (file)
@@ -1,8 +1,8 @@
 IRMP - Infrared Multi Protocol Decoder\r
 --------------------------------------\r
 \r
-Version IRMP:  2.5.2 03.06.2014\r
-Version IRSND: 2.5.2 03.06.2014\r
+Version IRMP:  2.5.3 05.06.2014\r
+Version IRSND: 2.5.3 05.06.2014\r
 \r
 Dokumentation:\r
  \r
diff --git a/irmp.c b/irmp.c
index 371e94ec00f01efefca5391bdc8457643d954c9f..09a3513644ac2cedb0fdcdb1dee97c860630027f 100644 (file)
--- a/irmp.c
+++ b/irmp.c
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2009-2013 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmp.c,v 1.148 2014/05/30 12:48:54 fm Exp $\r
+ * $Id: irmp.c,v 1.149 2014/06/05 21:00:06 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
@@ -537,6 +537,7 @@ irmp_protocol_names[IRMP_N_PROTOCOLS + 1] =
     "RCMM24",\r
     "RCMM12",\r
     "SPEAKER",\r
+    "LGAIR",\r
     "RADIO1"\r
 };\r
 \r
@@ -942,6 +943,31 @@ static const PROGMEM IRMP_PARAMETER nec42_param =
 \r
 #endif\r
 \r
+#if IRMP_SUPPORT_LGAIR_PROTOCOL == 1\r
+\r
+static const PROGMEM IRMP_PARAMETER lgair_param =\r
+{\r
+    IRMP_LGAIR_PROTOCOL,                                                // protocol:        ir protocol\r
+    NEC_PULSE_LEN_MIN,                                                  // pulse_1_len_min: minimum length of pulse with bit value 1\r
+    NEC_PULSE_LEN_MAX,                                                  // pulse_1_len_max: maximum length of pulse with bit value 1\r
+    NEC_1_PAUSE_LEN_MIN,                                                // pause_1_len_min: minimum length of pause with bit value 1\r
+    NEC_1_PAUSE_LEN_MAX,                                                // pause_1_len_max: maximum length of pause with bit value 1\r
+    NEC_PULSE_LEN_MIN,                                                  // pulse_0_len_min: minimum length of pulse with bit value 0\r
+    NEC_PULSE_LEN_MAX,                                                  // pulse_0_len_max: maximum length of pulse with bit value 0\r
+    NEC_0_PAUSE_LEN_MIN,                                                // pause_0_len_min: minimum length of pause with bit value 0\r
+    NEC_0_PAUSE_LEN_MAX,                                                // pause_0_len_max: maximum length of pause with bit value 0\r
+    LGAIR_ADDRESS_OFFSET,                                               // address_offset:  address offset\r
+    LGAIR_ADDRESS_OFFSET + LGAIR_ADDRESS_LEN,                           // address_end:     end of address\r
+    LGAIR_COMMAND_OFFSET,                                               // command_offset:  command offset\r
+    LGAIR_COMMAND_OFFSET + LGAIR_COMMAND_LEN,                           // command_end:     end of command\r
+    LGAIR_COMPLETE_DATA_LEN,                                            // complete_len:    complete length of frame\r
+    NEC_STOP_BIT,                                                       // stop_bit:        flag: frame has stop bit\r
+    NEC_LSB,                                                            // lsb_first:       flag: LSB first\r
+    NEC_FLAGS                                                           // flags:           some flags\r
+};\r
+\r
+#endif\r
+\r
 #if IRMP_SUPPORT_SAMSUNG_PROTOCOL == 1\r
 \r
 static const PROGMEM IRMP_PARAMETER samsung_param =\r
@@ -1893,6 +1919,11 @@ static uint16_t irmp_tmp_address2;
 static uint16_t irmp_tmp_command2;                                                      // ir command\r
 #endif\r
 \r
+#if IRMP_SUPPORT_LGAIR_PROTOCOL == 1\r
+static uint16_t irmp_lgair_address;                                                     // ir address\r
+static uint16_t irmp_lgair_command;                                                     // ir command\r
+#endif\r
+\r
 #if IRMP_SUPPORT_SAMSUNG_PROTOCOL == 1\r
 static uint16_t irmp_tmp_id;                                                            // ir id (only SAMSUNG)\r
 #endif\r
@@ -1988,6 +2019,23 @@ irmp_store_bit (uint8_t value)
         }\r
     }\r
 \r
+#if IRMP_SUPPORT_LGAIR_PROTOCOL == 1\r
+    if (irmp_param.protocol == IRMP_NEC_PROTOCOL || irmp_param.protocol == IRMP_NEC42_PROTOCOL)\r
+    {\r
+        if (irmp_bit < 8)\r
+        {\r
+            irmp_lgair_address <<= 1;                                                               // LGAIR uses MSB\r
+            irmp_lgair_address |= value;\r
+        }\r
+        else if (irmp_bit < 24)\r
+        {\r
+            irmp_lgair_command <<= 1;                                                               // LGAIR uses MSB\r
+            irmp_lgair_command |= value;\r
+        }\r
+    }\r
+    // NO else!\r
+#endif\r
+\r
 #if IRMP_SUPPORT_NEC42_PROTOCOL == 1\r
     if (irmp_param.protocol == IRMP_NEC42_PROTOCOL && irmp_bit >= 13 && irmp_bit < 26)\r
     {\r
@@ -2154,7 +2202,10 @@ irmp_ISR (void)
                     irmp_tmp_command2       = 0;\r
                     irmp_tmp_address2       = 0;\r
 #endif\r
-\r
+#if IRMP_SUPPORT_LGAIR_PROTOCOL == 1\r
+                    irmp_lgair_command      = 0;\r
+                    irmp_lgair_address      = 0;\r
+#endif\r
                     irmp_bit                = 0xff;\r
                     irmp_pause_time         = 1;                                // 1st pause: set to 1, not to 0!\r
 #if IRMP_SUPPORT_RC5_PROTOCOL == 1\r
@@ -2267,7 +2318,6 @@ irmp_ISR (void)
                                         NEC_START_BIT_PAUSE_LEN_MIN, NEC_START_BIT_PAUSE_LEN_MAX);\r
                         irmp_param_p = (IRMP_PARAMETER *) &nec_param;\r
 #endif\r
-\r
                     }\r
                     else if (irmp_pulse_time >= NEC_START_BIT_PULSE_LEN_MIN        && irmp_pulse_time <= NEC_START_BIT_PULSE_LEN_MAX &&\r
                              irmp_pause_time >= NEC_REPEAT_START_BIT_PAUSE_LEN_MIN && irmp_pause_time <= NEC_REPEAT_START_BIT_PAUSE_LEN_MAX)\r
@@ -3043,10 +3093,22 @@ irmp_ISR (void)
                                 irmp_start_bit_detected = 1;                                        // tricky: don't wait for another start bit...\r
                             }\r
 #endif // IRMP_SUPPORT_JVC_PROTOCOL == 1\r
+#if IRMP_SUPPORT_LGAIR_PROTOCOL == 1\r
+                            else if (irmp_param.protocol == IRMP_NEC_PROTOCOL && (irmp_bit == 28 || irmp_bit == 29))      // it was a LGAIR stop bit\r
+                            {\r
+                                ANALYZE_PRINTF ("Switching to LGAIR protocol, irmp_bit = %d\n", irmp_bit);\r
+                                irmp_param.stop_bit     = TRUE;                                     // set flag\r
+                                irmp_param.protocol     = IRMP_LGAIR_PROTOCOL;                      // switch protocol\r
+                                irmp_param.complete_len = irmp_bit;                                 // patch length: 16 or 17\r
+                                irmp_tmp_command        = irmp_lgair_command;                       // set command: upper 8 bits are command bits\r
+                                irmp_tmp_address        = irmp_lgair_address;                       // lower 4 bits are address bits\r
+                                irmp_start_bit_detected = 1;                                        // tricky: don't wait for another start bit...\r
+                            }\r
+#endif // IRMP_SUPPORT_LGAIR_PROTOCOL == 1\r
 \r
 #if IRMP_SUPPORT_NEC42_PROTOCOL == 1\r
 #if IRMP_SUPPORT_NEC_PROTOCOL == 1\r
-                            else if (irmp_param.protocol == IRMP_NEC42_PROTOCOL && irmp_bit == 32)  // it was a NEC stop bit\r
+                            else if (irmp_param.protocol == IRMP_NEC42_PROTOCOL && irmp_bit == 32)      // it was a NEC stop bit\r
                             {\r
                                 ANALYZE_PRINTF ("Switching to NEC protocol\n");\r
                                 irmp_param.stop_bit     = TRUE;                                     // set flag\r
@@ -3060,6 +3122,17 @@ irmp_ISR (void)
                                 irmp_tmp_command        = (irmp_tmp_address2 >> 3) | (irmp_tmp_command << 10);\r
                             }\r
 #endif // IRMP_SUPPORT_NEC_PROTOCOL == 1\r
+#if IRMP_SUPPORT_LGAIR_PROTOCOL == 1\r
+                            else if (irmp_param.protocol == IRMP_NEC42_PROTOCOL && irmp_bit == 28)      // it was a NEC stop bit\r
+                            {\r
+                                ANALYZE_PRINTF ("Switching to LGAIR protocol\n");\r
+                                irmp_param.stop_bit     = TRUE;                                     // set flag\r
+                                irmp_param.protocol     = IRMP_LGAIR_PROTOCOL;                      // switch protocol\r
+                                irmp_param.complete_len = irmp_bit;                                 // patch length: 16 or 17\r
+                                irmp_tmp_address        = irmp_lgair_address;\r
+                                irmp_tmp_command        = irmp_lgair_command;\r
+                            }\r
+#endif // IRMP_SUPPORT_LGAIR_PROTOCOL == 1\r
 #if IRMP_SUPPORT_JVC_PROTOCOL == 1\r
                             else if (irmp_param.protocol == IRMP_NEC42_PROTOCOL && (irmp_bit == 16 || irmp_bit == 17))  // it was a JVC stop bit\r
                             {\r
diff --git a/irmp.h b/irmp.h
index bf53e3c8b62af216e296648b0b31b24362bd61ee..2ff7766c2fc4e0e2dfd2f98fe3499740b1227765 100644 (file)
--- a/irmp.h
+++ b/irmp.h
@@ -3,7 +3,7 @@
  *\r
  * Copyright (c) 2009-2013 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmp.h,v 1.84 2014/02/19 12:57:36 fm Exp $\r
+ * $Id: irmp.h,v 1.85 2014/06/05 21:00:06 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
 #  define IRMP_SUPPORT_NEC_PROTOCOL             1\r
 #endif\r
 \r
+#if IRMP_SUPPORT_LGAIR_PROTOCOL == 1 && IRMP_SUPPORT_NEC_PROTOCOL == 0\r
+#  warning LGAIR protocol needs also NEC protocol, NEC protocol enabled\r
+#  undef IRMP_SUPPORT_NEC_PROTOCOL\r
+#  define IRMP_SUPPORT_NEC_PROTOCOL             1\r
+#endif\r
+\r
 #if IRMP_SUPPORT_RCMM_PROTOCOL == 1 && F_INTERRUPTS < 20000\r
 #  warning F_INTERRUPTS too low, RCMM protocol disabled (should be at least 20000)\r
 #  undef IRMP_SUPPORT_RCMM_PROTOCOL\r
index 0c8f2b3910fcbba756e3c59e428c19477fca4835..e01b1c791b7015a52f0e6f27c0d74a3615eee50c 100644 (file)
@@ -5,7 +5,7 @@
  *\r
  * Copyright (c) 2009-2013 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmpconfig.h,v 1.107 2014/05/30 13:09:46 fm Exp $\r
+ * $Id: irmpconfig.h,v 1.109 2014/06/05 21:00:57 fm Exp $\r
  *\r
  * ATMEGA88 @ 8 MHz\r
  *\r
@@ -88,6 +88,7 @@
 #define IRMP_SUPPORT_A1TVBOX_PROTOCOL           0       // A1 TV BOX            >= 15000 (better 20000)  ~300 bytes\r
 #define IRMP_SUPPORT_LEGO_PROTOCOL              0       // LEGO Power RC        >= 20000                 ~150 bytes\r
 #define IRMP_SUPPORT_RCMM_PROTOCOL              0       // RCMM 12,24, or 32    >= 20000                 ~150 bytes\r
+#define IRMP_SUPPORT_LGAIR_PROTOCOL             0       // LG Air Condition     >= 10000                 ~300 bytes\r
 #define IRMP_SUPPORT_RADIO1_PROTOCOL            0       // RADIO, e.g. TEVION   >= 10000                 ~250 bytes\r
 \r
 /*---------------------------------------------------------------------------------------------------------------------------------------------------\r
index d029e3e2c9fc8832ec2629594f288635e70d8b06..a222be29f33d0a69068b512cac93879aee05c02d 100644 (file)
@@ -5,7 +5,7 @@
  *\r
  * Copyright (c) 2013 Frank Meyer - frank(at)fli4l.de\r
  *\r
- * $Id: irmpprotocols.h,v 1.22 2014/05/30 12:48:54 fm Exp $\r
+ * $Id: irmpprotocols.h,v 1.23 2014/06/05 21:00:06 fm Exp $\r
  *\r
  * This program is free software; you can redistribute it and/or modify\r
  * it under the terms of the GNU General Public License as published by\r
 #define IRMP_RCMM24_PROTOCOL                    37              // Fujitsu-Siemens (Activy keyboard)\r
 #define IRMP_RCMM12_PROTOCOL                    38              // Fujitsu-Siemens (Activy keyboard)\r
 #define IRMP_SPEAKER_PROTOCOL                   39              // Another loudspeaker protocol, similar to Nubert\r
-#define IRMP_RADIO1_PROTOCOL                    40              // Radio protocol (devel status), do not use it yet!\r
+#define IRMP_LGAIR_PROTOCOL                     40\r
+#define IRMP_RADIO1_PROTOCOL                    41              // Radio protocol (devel status), do not use it yet!\r
 \r
-#define IRMP_N_PROTOCOLS                        40              // number of supported protocols\r
+#define IRMP_N_PROTOCOLS                        41              // number of supported protocols\r
 \r
 /*---------------------------------------------------------------------------------------------------------------------------------------------------\r
  * timing constants:\r
@@ -122,7 +123,7 @@ typedef uint8_t     PAUSE_LEN;
 #define SIRCS_FLAGS                             0                               // flags\r
 \r
 /*---------------------------------------------------------------------------------------------------------------------------------------------------\r
- * NEC & NEC42 & NEC16:\r
+ * NEC & NEC42 & NEC16 & LGAIR:\r
  *---------------------------------------------------------------------------------------------------------------------------------------------------\r
  */\r
 #define NEC_START_BIT_PULSE_TIME                9000.0e-6                       // 9000 usec pulse\r
@@ -147,6 +148,12 @@ typedef uint8_t     PAUSE_LEN;
 #define NEC42_COMMAND_LEN                       8                               // read 8 command bits\r
 #define NEC42_COMPLETE_DATA_LEN                42                               // complete length (2 x 13 + 2 x 8)\r
 \r
+#define LGAIR_ADDRESS_OFFSET                    0                               // skip 0 bits\r
+#define LGAIR_ADDRESS_LEN                       8                               // read 8 address bits\r
+#define LGAIR_COMMAND_OFFSET                    8                               // skip 8 bits (8 address)\r
+#define LGAIR_COMMAND_LEN                      16                               // read 16 bits (16 command)\r
+#define LGAIR_COMPLETE_DATA_LEN                28                               // complete length (8 address + 16 command + 4 checksum)\r
+\r
 #define NEC16_ADDRESS_OFFSET                    0                               // skip 0 bits\r
 #define NEC16_ADDRESS_LEN                       8                               // read 8 address bits\r
 #define NEC16_COMMAND_OFFSET                    8                               // skip 8 bits (8 address)\r