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
[EMAIL PROTECTED]
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 <[EMAIL PROTECTED]>
+       
+       * 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 <[EMAIL PROTECTED]>
        
        * 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

Reply via email to