summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorukw2014-06-23 06:58:42 +0000
committerukw2014-06-23 06:58:42 +0000
commitc1dfa01fb7d5cbaf43375fdba304ab8887bcae3c (patch)
tree24c5386f64ac222a666d038d9c13517aca81df93
parentddd28fabaf794d9489aa814dd1a6810f1fe7f306 (diff)
downloadirmp-c1dfa01fb7d5cbaf43375fdba304ab8887bcae3c.zip
Version 2.5.3: added LGAIR protocol (IRSND)
git-svn-id: svn://mikrocontroller.net/irmp@129 aeb2e35e-bfc4-4214-b83c-9e8de998ed28
-rw-r--r--README.txt2
-rw-r--r--irsnd.c42
-rw-r--r--irsndconfig.h4
3 files changed, 44 insertions, 4 deletions
diff --git a/README.txt b/README.txt
index 9f50115..9af475e 100644
--- a/README.txt
+++ b/README.txt
@@ -2,7 +2,7 @@ IRMP - Infrared Multi Protocol Decoder
--------------------------------------
Version IRMP: 2.5.3 05.06.2014
-Version IRSND: 2.5.3 05.06.2014
+Version IRSND: 2.5.4 23.06.2014
Dokumentation:
diff --git a/irsnd.c b/irsnd.c
index b301500..554e264 100644
--- a/irsnd.c
+++ b/irsnd.c
@@ -13,7 +13,7 @@
* ATmega164, ATmega324, ATmega644, ATmega644P, ATmega1284, ATmega1284P
* ATmega88, ATmega88P, ATmega168, ATmega168P, ATmega328P
*
- * $Id: irsnd.c,v 1.75 2014/06/03 12:28:41 fm Exp $
+ * $Id: irsnd.c,v 1.76 2014/06/23 06:56:00 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
@@ -844,6 +844,23 @@ irsnd_send_data (IRMP_DATA * irmp_data_p, uint8_t do_wait)
break;
}
#endif
+#if IRSND_SUPPORT_LGAIR_PROTOCOL == 1
+ case IRMP_LGAIR_PROTOCOL:
+ {
+ address = irmp_data_p->address;
+ command = irmp_data_p->command;
+
+ irsnd_buffer[0] = ( (address & 0x00FF)); // AAAAAAAA
+ irsnd_buffer[1] = ( (command & 0xFF00) >> 8); // CCCCCCCC
+ irsnd_buffer[2] = ( (command & 0x00FF)); // CCCCCCCC
+ irsnd_buffer[3] = (( ((command & 0xF000) >> 12) + // checksum
+ ((command & 0x0F00) >> 8) +
+ ((command & 0x00F0) >>4 ) +
+ ((command & 0x000F))) & 0x000F) << 4;
+ irsnd_busy = TRUE;
+ break;
+ }
+#endif
#if IRSND_SUPPORT_SAMSUNG_PROTOCOL == 1
case IRMP_SAMSUNG_PROTOCOL:
{
@@ -1426,6 +1443,24 @@ irsnd_ISR (void)
break;
}
#endif
+#if IRSND_SUPPORT_LGAIR_PROTOCOL == 1
+ case IRMP_LGAIR_PROTOCOL:
+ {
+ startbit_pulse_len = NEC_START_BIT_PULSE_LEN;
+ startbit_pause_len = NEC_START_BIT_PAUSE_LEN - 1;
+ pulse_1_len = NEC_PULSE_LEN;
+ pause_1_len = NEC_1_PAUSE_LEN - 1;
+ pulse_0_len = NEC_PULSE_LEN;
+ pause_0_len = NEC_0_PAUSE_LEN - 1;
+ has_stop_bit = NEC_STOP_BIT;
+ complete_data_len = LGAIR_COMPLETE_DATA_LEN;
+ n_auto_repetitions = 1; // 1 frame
+ auto_repetition_pause_len = 0;
+ repeat_frame_pause_len = NEC_FRAME_REPEAT_PAUSE_LEN;
+ irsnd_set_freq (IRSND_FREQ_38_KHZ);
+ break;
+ }
+#endif
#if IRSND_SUPPORT_SAMSUNG_PROTOCOL == 1
case IRMP_SAMSUNG_PROTOCOL:
{
@@ -1926,6 +1961,9 @@ irsnd_ISR (void)
#if IRSND_SUPPORT_NEC42_PROTOCOL == 1
case IRMP_NEC42_PROTOCOL:
#endif
+#if IRSND_SUPPORT_LGAIR_PROTOCOL == 1
+ case IRMP_LGAIR_PROTOCOL:
+#endif
#if IRSND_SUPPORT_SAMSUNG_PROTOCOL == 1
case IRMP_SAMSUNG_PROTOCOL:
case IRMP_SAMSUNG32_PROTOCOL:
@@ -1980,7 +2018,7 @@ irsnd_ISR (void)
#endif
#if IRSND_SUPPORT_SIRCS_PROTOCOL == 1 || IRSND_SUPPORT_NEC_PROTOCOL == 1 || IRSND_SUPPORT_NEC16_PROTOCOL == 1 || IRSND_SUPPORT_NEC42_PROTOCOL == 1 || \
- IRSND_SUPPORT_SAMSUNG_PROTOCOL == 1 || IRSND_SUPPORT_MATSUSHITA_PROTOCOL == 1 || \
+ IRSND_SUPPORT_LGAIR_PROTOCOL == 1 || IRSND_SUPPORT_SAMSUNG_PROTOCOL == 1 || IRSND_SUPPORT_MATSUSHITA_PROTOCOL == 1 || \
IRSND_SUPPORT_KASEIKYO_PROTOCOL == 1 || IRSND_SUPPORT_RECS80_PROTOCOL == 1 || IRSND_SUPPORT_RECS80EXT_PROTOCOL == 1 || IRSND_SUPPORT_DENON_PROTOCOL == 1 || \
IRSND_SUPPORT_NUBERT_PROTOCOL == 1 || IRSND_SUPPORT_SPEAKER_PROTOCOL == 1 || IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL == 1 || IRSND_SUPPORT_FDC_PROTOCOL == 1 || IRSND_SUPPORT_RCCAR_PROTOCOL == 1 || \
IRSND_SUPPORT_JVC_PROTOCOL == 1 || IRSND_SUPPORT_NIKON_PROTOCOL == 1 || IRSND_SUPPORT_LEGO_PROTOCOL == 1 || IRSND_SUPPORT_THOMSON_PROTOCOL == 1 || \
diff --git a/irsndconfig.h b/irsndconfig.h
index 654dc0c..6360ba8 100644
--- a/irsndconfig.h
+++ b/irsndconfig.h
@@ -5,7 +5,7 @@
*
* Copyright (c) 2010-2013 Frank Meyer - frank(at)fli4l.de
*
- * $Id: irsndconfig.h,v 1.57 2014/06/03 12:28:41 fm Exp $
+ * $Id: irsndconfig.h,v 1.58 2014/06/23 06:56:00 fm Exp $
*
* ATMEGA88 @ 8 MHz
*
@@ -77,6 +77,8 @@
#define IRSND_SUPPORT_RUWIDO_PROTOCOL 0 // RUWIDO, T-Home >= 15000 ~250 bytes
#define IRSND_SUPPORT_A1TVBOX_PROTOCOL 0 // A1 TV BOX >= 15000 (better 20000) ~200 bytes
#define IRSND_SUPPORT_LEGO_PROTOCOL 0 // LEGO Power RC >= 20000 ~150 bytes
+#define IRSND_SUPPORT_RCMM_PROTOCOL 0 // RCMM 12,24, or 32 >= 20000 DON'T CHANGE, NOT SUPPORTED YET!
+#define IRSND_SUPPORT_LGAIR_PROTOCOL 0 // LG Air Condition >= 10000 ~150 bytes.
/*---------------------------------------------------------------------------------------------------------------------------------------------------
* AVR section: