MCP2515 CAN library
Fork of mcp2515 by
Diff: mcp2515.cpp
- 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