]> cloudbase.mooo.com Git - irmp.git/commitdiff
Version 2.9.1: added IRMP logging for XMEGA, corrected timings for FAN protocol
authorukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Thu, 28 May 2015 06:51:05 +0000 (06:51 +0000)
committerukw <ukw@aeb2e35e-bfc4-4214-b83c-9e8de998ed28>
Thu, 28 May 2015 06:51:05 +0000 (06:51 +0000)
git-svn-id: svn://mikrocontroller.net/irmp@160 aeb2e35e-bfc4-4214-b83c-9e8de998ed28

README.txt
irmp.c
irmpconfig.h
irmpprotocols.h
irsndconfig.h

index e93a5f2ebd48f28cfde8c150b92258b8021ea0c1..3fd8ebb10cdffe62cb5d3a54dbbd196f94b13645 100644 (file)
@@ -1,8 +1,8 @@
 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
 Dokumentation:\r
  \r
diff --git a/irmp.c b/irmp.c
index 49748e18ff1c598f834ca11668822501fbc59dd5..a75e8d7468567a822064f11452b634c7448113c7 100644 (file)
--- a/irmp.c
+++ b/irmp.c
@@ -3,7 +3,7 @@
  *\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
@@ -783,6 +783,19 @@ irmp_uart_init (void)
 \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
@@ -831,14 +844,19 @@ irmp_uart_putc (unsigned char ch)
 \r
 #else\r
 #if (IRMP_EXT_LOGGING == 0)\r
-\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
-\r
+        #endif //__AVR_XMEGA__\r
 #else\r
 \r
     sendextlog(ch);                                                         // use external log\r
@@ -3349,12 +3367,16 @@ irmp_ISR (void)
                         {                                                                           // 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
+#ifdef ANALYZE\r
                                 ANALYZE_PRINTF ("Generating virtual stop bit\n");\r
+#endif // ANALYZE\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
+#ifdef ANALYZE\r
                                 ANALYZE_PRINTF ("Generating virtual stop bit\n");\r
+#endif // ANALYZE\r
                                 got_light = TRUE;                                                   // this is a lie, but helps (generates stop bit)\r
                             }\r
                         }\r
index c334e23493d568e6f4deff09715c9885eb145e5f..3f87fd7dc01ea6f2a32f227470de17f49da2b117 100644 (file)
@@ -6,7 +6,7 @@
  * 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
@@ -72,7 +72,7 @@
 #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
index 8b566feecc2972f84f64365aa423641c2b727d21..33de666c9c0441c7d7a03e688e9a5956932335aa 100644 (file)
@@ -5,7 +5,7 @@
  *\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
@@ -362,15 +362,15 @@ typedef uint8_t     PAUSE_LEN;
  *   - 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_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
index bb349a9f7354478bee8db3fa897ec36acae35fa4..a42eacd6550a70b467a3729c3c23cd5dfbd7f410 100644 (file)
@@ -5,7 +5,7 @@
  *\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
@@ -62,7 +62,7 @@
 // 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