MCP2515 CAN library

Fork of mcp2515 by Jason Engelman

Revision:
10:6d6fd99da044
Parent:
9:d50f103848e0
Child:
11:b364adad6f08
--- a/mcp2515.cpp	Thu Dec 29 22:11:30 2016 +0000
+++ b/mcp2515.cpp	Mon May 22 00:33:58 2017 +0000
@@ -89,25 +89,31 @@
 
     switch (canSpeed) {
         case (CAN_500KBPS_8MHZ) :
-                        cfg1 = 0x04;
+            cfg1 = 0x04;
             cfg2 = 0xA0;
             cfg3 = 0x02;
         case (CAN_50KBPS_8MHZ) :
-                        cfg1 = 0x04; //0x09;
+            cfg1 = 0x04; //0x09;
             cfg2 = 0xB8; //0x90;
             cfg3 = 0x05; //0x02;
         case (CAN_125KBPS) :
-                        cfg1 = MCP_4MHz_125kBPS_CFG1 ;
+            cfg1 = MCP_4MHz_125kBPS_CFG1 ;
             cfg2 = MCP_4MHz_125kBPS_CFG2 ;
             cfg3 = MCP_4MHz_125kBPS_CFG3 ;
             set = 1;
             break;
         case (CAN_20KBPS) :
-                        cfg1 = MCP_4MHz_20kBPS_CFG1 ;
+            cfg1 = MCP_4MHz_20kBPS_CFG1 ;
             cfg2 = MCP_4MHz_20kBPS_CFG2 ;
             cfg3 = MCP_4MHz_20kBPS_CFG3 ;
             set = 1;
             break;
+        case (CAN_500KBPS_10MHz) :
+            cfg1 = 0x00;
+            cfg2 = 0x92;
+            cfg3 = 0x02;
+            set = 1;
+            break;            
         default:
             set = 0;
             break;
@@ -130,7 +136,7 @@
     //struct mcp251x_platform_data *pdata = spi->dev.platform_data;
     
         printf("\n\rcanspeed=%d",bit_rate);
-    int f_osc = 20000000; //4000000; //4Mhz
+    int f_osc = 10000000; //4000000; //4Mhz
     int tqs; /* tbit/TQ */
     int brp;
     int ps1, ps2, propseg, sjw;
@@ -471,11 +477,11 @@
         return res;  /* function exit on error */
     }
     res = configRate2(canSpeed);
+    //res = configRate(CAN_500KBPS_10MHz);
 
     if ( res == MCP2515_OK ) {
         initCANBuffers();
 
-
         // enable both receive-buffers to receive messages
         // with std. and ext. identifiers
         // and enable rollover