This is the mail archive of the ecos-patches@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: LPC2xxx CAN bugfixes


Hello,

the following LPC2xxx CAN patch fixes the issues mentioned by Hans Rosenfeld.


Dipl. Inf. (FH) Uwe Kindler Software Engineering

--

cetoni GmbH
Am Wiesenring 6
D-07554 Korbussen

Tel.: +49 (0) 36602 338 28
Fax:  +49 (0) 36602 338 11
uwe.kindler@cetoni.de
http://www.cetoni.de
diff -ruN ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/ChangeLog ecos/ecos/packages/devs/can/arm/lpc2xxx/current/ChangeLog
--- ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/ChangeLog	2007-08-02 10:48:00.000000000 +0200
+++ ecos/ecos/packages/devs/can/arm/lpc2xxx/current/ChangeLog	2007-08-17 08:12:30.000000000 +0200
@@ -1,3 +1,13 @@
+2007-08-17  Uwe Kindler <uwe_kindler@web.de>
+	
+	* include/can_lpc2xxx_baudrates.h: Removed all prefixed zeros from
+	  baudrate table entries (they aren't intended to be interpreted as 
+	  octal)
+	  
+	* tests/can_baudrates.c
+	  tests/can_busload.c
+	  tests/can_rx_tx.c: removed #include pkgconf/devs_can_loop.h
+	
 2007-08-02  Alexey Shusharin <mrfinch@mail.ru>
 	
 	* src/can_lpc2xxx.c: Added acknowledging call in rx interrupt
diff -ruN ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/include/can_lpc2xxx_baudrates.h ecos/ecos/packages/devs/can/arm/lpc2xxx/current/include/can_lpc2xxx_baudrates.h
--- ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/include/can_lpc2xxx_baudrates.h	2007-07-31 09:53:36.000000000 +0200
+++ ecos/ecos/packages/devs/can/arm/lpc2xxx/current/include/can_lpc2xxx_baudrates.h	2007-08-17 07:57:01.000000000 +0200
@@ -75,16 +75,16 @@
 //
 static const cyg_uint32 lpc2xxx_br_tbl[] =
 {
-    CAN_BR_TBL_ENTRY(300, 15, 02, 0, 1), // 10  kbaud
-    CAN_BR_TBL_ENTRY(150, 15, 02, 0, 1), // 20  kbaud
-    CAN_BR_TBL_ENTRY(59,  15, 02, 0, 1), // 50  kbaud
-    CAN_BR_TBL_ENTRY(39,  11, 01, 0, 1), // 100 kbaud
-    CAN_BR_TBL_ENTRY(29,  12, 01, 0, 1), // 125 kbaud
-    CAN_BR_TBL_ENTRY(14,  12, 01, 0, 1), // 250 kbaud
-    CAN_BR_TBL_ENTRY(07,  11, 01, 0, 0), // 500 kbaud
-    CAN_BR_TBL_ENTRY(04,  11, 01, 0, 0), // 800 kbaud
-    CAN_BR_TBL_ENTRY(03,  11, 01, 0, 0), // 1000 kbaud
-    CAN_BR_TBL_ENTRY(00,  00, 00, 0, 0), // Autobaud  - not supported
+    CAN_BR_TBL_ENTRY(300, 15, 2, 0, 1), // 10  kbaud
+    CAN_BR_TBL_ENTRY(150, 15, 2, 0, 1), // 20  kbaud
+    CAN_BR_TBL_ENTRY(59,  15, 2, 0, 1), // 50  kbaud
+    CAN_BR_TBL_ENTRY(39,  11, 1, 0, 1), // 100 kbaud
+    CAN_BR_TBL_ENTRY(29,  12, 1, 0, 1), // 125 kbaud
+    CAN_BR_TBL_ENTRY(14,  12, 1, 0, 1), // 250 kbaud
+    CAN_BR_TBL_ENTRY( 7,  11, 1, 0, 0), // 500 kbaud
+    CAN_BR_TBL_ENTRY( 4,  11, 1, 0, 0), // 800 kbaud
+    CAN_BR_TBL_ENTRY( 3,  11, 1, 0, 0), // 1000 kbaud
+    CAN_BR_TBL_ENTRY( 0,   0, 0, 0, 0), // Autobaud  - not supported
 };
 #define HAL_LPC2XXX_BAUD_TBL_DEFINED 1
 #endif // CYGNUM_CAN_LPC2XXX_VPB_CLK == 60000000
@@ -95,16 +95,16 @@
 //
 static const cyg_uint32 lpc2xxx_br_tbl[] =
 {
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // 10  kbaud - not supported
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // 20  kbaud - not supported
-    CAN_BR_TBL_ENTRY(59, 15, 02, 0, 1), // 50  kbaud
-    CAN_BR_TBL_ENTRY(39, 11, 01, 0, 1), // 100 kbaud
-    CAN_BR_TBL_ENTRY(29, 12, 01, 0, 1), // 125 kbaud
-    CAN_BR_TBL_ENTRY(14, 12, 01, 0, 1), // 250 kbaud
-    CAN_BR_TBL_ENTRY(07, 11, 01, 0, 0), // 500 kbaud
-    CAN_BR_TBL_ENTRY(04, 11, 01, 0, 0), // 800 kbaud
-    CAN_BR_TBL_ENTRY(03, 11, 01, 0, 0), // 1000 kbaud
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // Autobaud  - not supported
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // 10  kbaud - not supported
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // 20  kbaud - not supported
+    CAN_BR_TBL_ENTRY(59, 15, 2, 0, 1), // 50  kbaud
+    CAN_BR_TBL_ENTRY(39, 11, 1, 0, 1), // 100 kbaud
+    CAN_BR_TBL_ENTRY(29, 12, 1, 0, 1), // 125 kbaud
+    CAN_BR_TBL_ENTRY(14, 12, 1, 0, 1), // 250 kbaud
+    CAN_BR_TBL_ENTRY( 7, 11, 1, 0, 0), // 500 kbaud
+    CAN_BR_TBL_ENTRY( 4, 11, 1, 0, 0), // 800 kbaud
+    CAN_BR_TBL_ENTRY( 3, 11, 1, 0, 0), // 1000 kbaud
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // Autobaud  - not supported
 };
 #define HAL_LPC2XXX_BAUD_TBL_DEFINED 1
 #endif // CYGNUM_CAN_LPC2XXX_VPB_CLK == 30000000
@@ -115,16 +115,16 @@
 //
 static const cyg_uint32 lpc2xxx_br_tbl[] =
 {
-    CAN_BR_TBL_ENTRY(59, 15, 07, 0, 1), // 10  kbaud
-    CAN_BR_TBL_ENTRY(49, 11, 01, 0, 1), // 20  kbaud
-    CAN_BR_TBL_ENTRY(19, 11, 01, 0, 1), // 50  kbaud
-    CAN_BR_TBL_ENTRY(09, 11, 01, 0, 1), // 100 kbaud
-    CAN_BR_TBL_ENTRY(07, 11, 01, 0, 1), // 125 kbaud
-    CAN_BR_TBL_ENTRY(03, 11, 01, 0, 1), // 250 kbaud
-    CAN_BR_TBL_ENTRY(01, 11, 01, 0, 0), // 500 kbaud
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // 800 kbaud - not supported
-    CAN_BR_TBL_ENTRY(00, 11, 01, 0, 0), // 1000 kbaud
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // Autobaud  - not supported
+    CAN_BR_TBL_ENTRY(59, 15, 7, 0, 1), // 10  kbaud
+    CAN_BR_TBL_ENTRY(49, 11, 1, 0, 1), // 20  kbaud
+    CAN_BR_TBL_ENTRY(19, 11, 1, 0, 1), // 50  kbaud
+    CAN_BR_TBL_ENTRY( 9, 11, 1, 0, 1), // 100 kbaud
+    CAN_BR_TBL_ENTRY( 7, 11, 1, 0, 1), // 125 kbaud
+    CAN_BR_TBL_ENTRY( 3, 11, 1, 0, 1), // 250 kbaud
+    CAN_BR_TBL_ENTRY( 1, 11, 1, 0, 0), // 500 kbaud
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // 800 kbaud - not supported
+    CAN_BR_TBL_ENTRY( 0, 11, 1, 0, 0), // 1000 kbaud
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // Autobaud  - not supported
 };
 #define HAL_LPC2XXX_BAUD_TBL_DEFINED 1
 #endif // CYGNUM_CAN_LPC2XXX_VPB_CLK == 15000000
@@ -135,16 +135,16 @@
 //
 static const cyg_uint32 lpc2xxx_br_tbl[] =
 {
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // 10  kbaud - not supported
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // 20  kbaud - not supported
-    CAN_BR_TBL_ENTRY(59, 12, 01, 0, 1), // 50  kbaud
-    CAN_BR_TBL_ENTRY(29, 12, 01, 0, 1), // 100 kbaud
-    CAN_BR_TBL_ENTRY(23, 12, 01, 0, 1), // 125 kbaud
-    CAN_BR_TBL_ENTRY(11, 12, 01, 0, 1), // 250 kbaud
-    CAN_BR_TBL_ENTRY(05, 12, 01, 0, 0), // 500 kbaud
-    CAN_BR_TBL_ENTRY(03, 11, 01, 0, 0), // 800 kbaud
-    CAN_BR_TBL_ENTRY(02, 12, 01, 0, 0), // 1000 kbaud
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // Autobaud  - not supported
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // 10  kbaud - not supported
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // 20  kbaud - not supported
+    CAN_BR_TBL_ENTRY(59, 12, 1, 0, 1), // 50  kbaud
+    CAN_BR_TBL_ENTRY(29, 12, 1, 0, 1), // 100 kbaud
+    CAN_BR_TBL_ENTRY(23, 12, 1, 0, 1), // 125 kbaud
+    CAN_BR_TBL_ENTRY(11, 12, 1, 0, 1), // 250 kbaud
+    CAN_BR_TBL_ENTRY( 5, 12, 1, 0, 0), // 500 kbaud
+    CAN_BR_TBL_ENTRY( 3, 11, 1, 0, 0), // 800 kbaud
+    CAN_BR_TBL_ENTRY( 2, 12, 1, 0, 0), // 1000 kbaud
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // Autobaud  - not supported
 };
 #define HAL_LPC2XXX_BAUD_TBL_DEFINED 1
 #endif // CYGNUM_CAN_LPC2XXX_VPB_CLK == 48000000
@@ -155,16 +155,16 @@
 //
 static const cyg_uint32 lpc2xxx_br_tbl[] =
 {
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // 10  kbaud - not supported
-    CAN_BR_TBL_ENTRY(59, 15, 02, 0, 1), // 20  kbaud
-    CAN_BR_TBL_ENTRY(29, 12, 01, 0, 1), // 50  kbaud
-    CAN_BR_TBL_ENTRY(14, 12, 01, 0, 1), // 100 kbaud
-    CAN_BR_TBL_ENTRY(11, 12, 01, 0, 1), // 125 kbaud
-    CAN_BR_TBL_ENTRY(05, 12, 01, 0, 1), // 250 kbaud
-    CAN_BR_TBL_ENTRY(02, 12, 01, 0, 0), // 500 kbaud
-    CAN_BR_TBL_ENTRY(01, 11, 01, 0, 0), // 800 kbaud
-    CAN_BR_TBL_ENTRY(01, 05, 00, 0, 0), // 1000 kbaud
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // Autobaud  - not supported
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // 10  kbaud - not supported
+    CAN_BR_TBL_ENTRY(59, 15, 2, 0, 1), // 20  kbaud
+    CAN_BR_TBL_ENTRY(29, 12, 1, 0, 1), // 50  kbaud
+    CAN_BR_TBL_ENTRY(14, 12, 1, 0, 1), // 100 kbaud
+    CAN_BR_TBL_ENTRY(11, 12, 1, 0, 1), // 125 kbaud
+    CAN_BR_TBL_ENTRY( 5, 12, 1, 0, 1), // 250 kbaud
+    CAN_BR_TBL_ENTRY( 2, 12, 1, 0, 0), // 500 kbaud
+    CAN_BR_TBL_ENTRY( 1, 11, 1, 0, 0), // 800 kbaud
+    CAN_BR_TBL_ENTRY( 1,  5, 0, 0, 0), // 1000 kbaud
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // Autobaud  - not supported
 };
 #define HAL_LPC2XXX_BAUD_TBL_DEFINED 1
 #endif // CYGNUM_CAN_LPC2XXX_VPB_CLK == 24000000
@@ -175,16 +175,16 @@
 //
 static const cyg_uint32 lpc2xxx_br_tbl[] =
 {
-    CAN_BR_TBL_ENTRY(59, 15, 02, 0, 1), // 10  kbaud - not supported
-    CAN_BR_TBL_ENTRY(39, 11, 01, 0, 1), // 20  kbaud
-    CAN_BR_TBL_ENTRY(14, 12, 01, 0, 1), // 50  kbaud
-    CAN_BR_TBL_ENTRY(07, 11, 01, 0, 1), // 100 kbaud
-    CAN_BR_TBL_ENTRY(05, 12, 01, 0, 1), // 125 kbaud
-    CAN_BR_TBL_ENTRY(02, 12, 01, 0, 1), // 250 kbaud
-    CAN_BR_TBL_ENTRY(02, 05, 00, 0, 0), // 500 kbaud
-    CAN_BR_TBL_ENTRY(00, 11, 01, 0, 0), // 800 kbaud
-    CAN_BR_TBL_ENTRY(00, 09, 00, 0, 0), // 1000 kbaud
-    CAN_BR_TBL_ENTRY(00, 00, 00, 0, 0), // Autobaud  - not supported
+    CAN_BR_TBL_ENTRY(59, 15, 2, 0, 1), // 10  kbaud - not supported
+    CAN_BR_TBL_ENTRY(39, 11, 1, 0, 1), // 20  kbaud
+    CAN_BR_TBL_ENTRY(14, 12, 1, 0, 1), // 50  kbaud
+    CAN_BR_TBL_ENTRY( 7, 11, 1, 0, 1), // 100 kbaud
+    CAN_BR_TBL_ENTRY( 5, 12, 1, 0, 1), // 125 kbaud
+    CAN_BR_TBL_ENTRY( 2, 12, 1, 0, 1), // 250 kbaud
+    CAN_BR_TBL_ENTRY( 2, 05, 0, 0, 0), // 500 kbaud
+    CAN_BR_TBL_ENTRY( 0, 11, 1, 0, 0), // 800 kbaud
+    CAN_BR_TBL_ENTRY( 0,  9, 0, 0, 0), // 1000 kbaud
+    CAN_BR_TBL_ENTRY( 0,  0, 0, 0, 0), // Autobaud  - not supported
 };
 #define HAL_LPC2XXX_BAUD_TBL_DEFINED 1
 #endif // CYGNUM_CAN_LPC2XXX_VPB_CLK == 12000000
diff -ruN ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_baudrates.c ecos/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_baudrates.c
--- ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_baudrates.c	2007-07-03 16:49:05.000000000 +0200
+++ ecos/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_baudrates.c	2007-08-17 07:57:22.000000000 +0200
@@ -62,7 +62,6 @@
 #include <pkgconf/kernel.h>
 #include <cyg/io/io.h>
 #include <cyg/io/canio.h>
-#include <pkgconf/devs_can_loop.h>
 
 
 // Package option requirements
diff -ruN ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_busload.c ecos/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_busload.c
--- ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_busload.c	2007-07-03 16:49:05.000000000 +0200
+++ ecos/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_busload.c	2007-08-17 07:57:31.000000000 +0200
@@ -62,7 +62,6 @@
 #include <pkgconf/kernel.h>
 #include <cyg/io/io.h>
 #include <cyg/io/canio.h>
-#include <pkgconf/devs_can_loop.h>
 
 
 // Package option requirements
diff -ruN ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_rx_tx.c ecos/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_rx_tx.c
--- ecos_web_cvs/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_rx_tx.c	2007-07-03 16:49:05.000000000 +0200
+++ ecos/ecos/packages/devs/can/arm/lpc2xxx/current/tests/can_rx_tx.c	2007-08-17 07:57:45.000000000 +0200
@@ -62,7 +62,6 @@
 #include <pkgconf/kernel.h>
 #include <cyg/io/io.h>
 #include <cyg/io/canio.h>
-#include <pkgconf/devs_can_loop.h>
 
 
 // Package option requirements

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]