IRMP - Infrared Multi Protocol Decoder\r
--------------------------------------\r
\r
IRMP - Infrared Multi Protocol Decoder\r
--------------------------------------\r
\r
-Version IRMP: 2.9.0 27.05.2015\r
-Version IRSND: 2.9.0 27.05.2015\r
+Version IRMP: 2.9.1 28.05.2015\r
+Version IRSND: 2.9.1 28.05.2015\r
*\r
* Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de\r
*\r
*\r
* Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de\r
*\r
- * $Id: irmp.c,v 1.172 2015/05/27 09:33:14 fm Exp $\r
+ * $Id: irmp.c,v 1.174 2015/05/28 06:48:19 fm Exp $\r
*\r
* Supported AVR mikrocontrollers:\r
*\r
*\r
* Supported AVR mikrocontrollers:\r
*\r
\r
// UART enable\r
USART_Cmd(STM32_UART_COM, ENABLE);\r
\r
// UART enable\r
USART_Cmd(STM32_UART_COM, ENABLE);\r
+ \r
+#elif defined (__AVR_XMEGA__)\r
+\r
+ PMIC.CTRL |= PMIC_HILVLEN_bm;\r
+\r
+ USARTC1.BAUDCTRLB = 0;\r
+ USARTC1.BAUDCTRLA = F_CPU /153600-1;\r
+ USARTC1.CTRLA = USART_RXCINTLVL_HI_gc; // High Level (Empfangen)\r
+ USARTC1.CTRLB = USART_TXEN_bm | USART_RXEN_bm; //Aktiviert Senden und Empfangen\r
+ USARTC1.CTRLC = USART_CHSIZE_8BIT_gc; //Größe der Zeichen: 8 Bit\r
+ PORTC.DIR |= (1<<7); //TXD als Ausgang setzen\r
+ PORTC.DIR &= ~(1<<6);\r
+ \r
#else\r
\r
#if (IRMP_EXT_LOGGING == 0) // use UART\r
#else\r
\r
#if (IRMP_EXT_LOGGING == 0) // use UART\r
\r
#else\r
#if (IRMP_EXT_LOGGING == 0)\r
\r
#else\r
#if (IRMP_EXT_LOGGING == 0)\r
+ \r
+ # if defined (__AVR_XMEGA__)\r
+ while (!(USARTC1.STATUS & USART_DREIF_bm));\r
+ USARTC1.DATA = ch;\r
+ \r
+ # else //AVR_MEGA\r
while (!(UART0_UCSRA & UART0_UDRE_BIT_VALUE))\r
{\r
;\r
}\r
\r
UART0_UDR = ch;\r
while (!(UART0_UCSRA & UART0_UDRE_BIT_VALUE))\r
{\r
;\r
}\r
\r
UART0_UDR = ch;\r
+ #endif //__AVR_XMEGA__\r
#else\r
\r
sendextlog(ch); // use external log\r
#else\r
\r
sendextlog(ch); // use external log\r
{ // yes, break and close this frame\r
if (irmp_pulse_time <= FAN_0_PULSE_LEN_MAX && irmp_pause_time >= FAN_0_PAUSE_LEN_MIN)\r
{\r
{ // yes, break and close this frame\r
if (irmp_pulse_time <= FAN_0_PULSE_LEN_MAX && irmp_pause_time >= FAN_0_PAUSE_LEN_MIN)\r
{\r
ANALYZE_PRINTF ("Generating virtual stop bit\n");\r
ANALYZE_PRINTF ("Generating virtual stop bit\n");\r
got_light = TRUE; // this is a lie, but helps (generates stop bit)\r
}\r
else if (irmp_pulse_time >= FAN_1_PULSE_LEN_MIN && irmp_pause_time >= FAN_1_PAUSE_LEN_MIN)\r
{\r
got_light = TRUE; // this is a lie, but helps (generates stop bit)\r
}\r
else if (irmp_pulse_time >= FAN_1_PULSE_LEN_MIN && irmp_pause_time >= FAN_1_PAUSE_LEN_MIN)\r
{\r
ANALYZE_PRINTF ("Generating virtual stop bit\n");\r
ANALYZE_PRINTF ("Generating virtual stop bit\n");\r
got_light = TRUE; // this is a lie, but helps (generates stop bit)\r
}\r
}\r
got_light = TRUE; // this is a lie, but helps (generates stop bit)\r
}\r
}\r
* Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de\r
* Extensions for PIC 12F1820 W.Strobl 2014-07-20\r
*\r
* Copyright (c) 2009-2015 Frank Meyer - frank(at)fli4l.de\r
* Extensions for PIC 12F1820 W.Strobl 2014-07-20\r
*\r
- * $Id: irmpconfig.h,v 1.129 2015/05/27 09:35:42 fm Exp $\r
+ * $Id: irmpconfig.h,v 1.130 2015/05/28 06:46:49 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
*\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_SUPPORT_BOSE_PROTOCOL 0 // BOSE >= 10000 ~150 bytes\r
#define IRMP_SUPPORT_KATHREIN_PROTOCOL 0 // Kathrein >= 10000 ~200 bytes\r
#define IRMP_SUPPORT_NUBERT_PROTOCOL 0 // NUBERT >= 10000 ~50 bytes\r
#define IRMP_SUPPORT_BOSE_PROTOCOL 0 // BOSE >= 10000 ~150 bytes\r
#define IRMP_SUPPORT_KATHREIN_PROTOCOL 0 // Kathrein >= 10000 ~200 bytes\r
#define IRMP_SUPPORT_NUBERT_PROTOCOL 0 // NUBERT >= 10000 ~50 bytes\r
-#define IRMP_SUPPORT_FAN_PROTOCOL 0 // FAN (ventilator) >= 10000 ~50 bytes\r
+#define IRMP_SUPPORT_FAN_PROTOCOL 1 // FAN (ventilator) >= 10000 ~50 bytes\r
#define IRMP_SUPPORT_SPEAKER_PROTOCOL 0 // SPEAKER (~NUBERT) >= 10000 ~50 bytes\r
#define IRMP_SUPPORT_BANG_OLUFSEN_PROTOCOL 0 // Bang & Olufsen >= 10000 ~200 bytes\r
#define IRMP_SUPPORT_RECS80_PROTOCOL 0 // RECS80 (SAA3004) >= 15000 ~50 bytes\r
#define IRMP_SUPPORT_SPEAKER_PROTOCOL 0 // SPEAKER (~NUBERT) >= 10000 ~50 bytes\r
#define IRMP_SUPPORT_BANG_OLUFSEN_PROTOCOL 0 // Bang & Olufsen >= 10000 ~200 bytes\r
#define IRMP_SUPPORT_RECS80_PROTOCOL 0 // RECS80 (SAA3004) >= 15000 ~50 bytes\r
*\r
* Copyright (c) 2013-2015 Frank Meyer - frank(at)fli4l.de\r
*\r
*\r
* Copyright (c) 2013-2015 Frank Meyer - frank(at)fli4l.de\r
*\r
- * $Id: irmpprotocols.h,v 1.33 2015/05/27 09:33:14 fm Exp $\r
+ * $Id: irmpprotocols.h,v 1.34 2015/05/28 06:46:49 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
*\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
* - has NO frame repetition\r
*---------------------------------------------------------------------------------------------------------------------------------------------------\r
*/\r
* - has NO frame repetition\r
*---------------------------------------------------------------------------------------------------------------------------------------------------\r
*/\r
-#define FAN_START_BIT_PULSE_TIME 1340.0e-6 // 1340 usec pulse\r
-#define FAN_START_BIT_PAUSE_TIME 340.0e-6 // 340 usec pause\r
-#define FAN_1_PULSE_TIME 1340.0e-6 // 1340 usec pulse\r
-#define FAN_1_PAUSE_TIME 340.0e-6 // 340 usec pause\r
-#define FAN_0_PULSE_TIME 500.0e-6 // 500 usec pulse\r
-#define FAN_0_PAUSE_TIME 1300.0e-6 // 1300 usec pause\r
+#define FAN_START_BIT_PULSE_TIME 1280.0e-6 // 1280 usec pulse\r
+#define FAN_START_BIT_PAUSE_TIME 380.0e-6 // 380 usec pause\r
+#define FAN_1_PULSE_TIME 1280.0e-6 // 1280 usec pulse\r
+#define FAN_1_PAUSE_TIME 380.0e-6 // 380 usec pause\r
+#define FAN_0_PULSE_TIME 380.0e-6 // 380 usec pulse\r
+#define FAN_0_PAUSE_TIME 1280.0e-6 // 1280 usec pause\r
#define FAN_FRAMES 1 // FAN sends only 1 frame (NUBERT sends 2)\r
#define FAN_FRAMES 1 // FAN sends only 1 frame (NUBERT sends 2)\r
-#define FAN_AUTO_REPETITION_PAUSE_TIME 35.0e-3 // auto repetition after 35ms\r
-#define FAN_FRAME_REPEAT_PAUSE_TIME 35.0e-3 // frame repeat after 45ms\r
+#define FAN_AUTO_REPETITION_PAUSE_TIME 6.6e-3 // auto repetition after 6.6ms\r
+#define FAN_FRAME_REPEAT_PAUSE_TIME 6.6e-3 // frame repeat after 6.6ms\r
#define FAN_ADDRESS_OFFSET 0 // skip 0 bits\r
#define FAN_ADDRESS_LEN 0 // read 0 address bits\r
#define FAN_COMMAND_OFFSET 0 // skip 0 bits\r
#define FAN_ADDRESS_OFFSET 0 // skip 0 bits\r
#define FAN_ADDRESS_LEN 0 // read 0 address bits\r
#define FAN_COMMAND_OFFSET 0 // skip 0 bits\r
*\r
* Copyright (c) 2010-2015 Frank Meyer - frank(at)fli4l.de\r
*\r
*\r
* Copyright (c) 2010-2015 Frank Meyer - frank(at)fli4l.de\r
*\r
- * $Id: irsndconfig.h,v 1.70 2015/05/27 09:35:43 fm Exp $\r
+ * $Id: irsndconfig.h,v 1.71 2015/05/28 06:46:49 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
*\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
// exotic protocols, enable here! Enable Remarks F_INTERRUPTS Program Space\r
#define IRSND_SUPPORT_KATHREIN_PROTOCOL 0 // Kathrein >= 10000 DON'T CHANGE, NOT SUPPORTED YET!\r
#define IRSND_SUPPORT_NUBERT_PROTOCOL 0 // NUBERT >= 10000 ~100 bytes\r
// exotic protocols, enable here! Enable Remarks F_INTERRUPTS Program Space\r
#define IRSND_SUPPORT_KATHREIN_PROTOCOL 0 // Kathrein >= 10000 DON'T CHANGE, NOT SUPPORTED YET!\r
#define IRSND_SUPPORT_NUBERT_PROTOCOL 0 // NUBERT >= 10000 ~100 bytes\r
-#define IRSND_SUPPORT_FAN_PROTOCOL 0 // FAN (ventilator) >= 10000 ~100 bytes\r
+#define IRSND_SUPPORT_FAN_PROTOCOL 1 // FAN (ventilator) >= 10000 ~100 bytes\r
#define IRSND_SUPPORT_SPEAKER_PROTOCOL 0 // SPEAKER >= 10000 ~100 bytes\r
#define IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL 0 // Bang&Olufsen >= 10000 ~250 bytes\r
#define IRSND_SUPPORT_RECS80_PROTOCOL 0 // RECS80 >= 15000 ~100 bytes\r
#define IRSND_SUPPORT_SPEAKER_PROTOCOL 0 // SPEAKER >= 10000 ~100 bytes\r
#define IRSND_SUPPORT_BANG_OLUFSEN_PROTOCOL 0 // Bang&Olufsen >= 10000 ~250 bytes\r
#define IRSND_SUPPORT_RECS80_PROTOCOL 0 // RECS80 >= 15000 ~100 bytes\r