Advertisement
XirallicBolts

Modified Sparkfun CANBUS Read

Oct 2nd, 2019
390
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.38 KB | None | 0 0
  1.  
  2. // XirallicBolts
  3. // Modified SparkFun code to read CANBUS
  4. // Adds leading 0 to ID and data for improved readability
  5.  
  6. #include <Canbus.h>
  7. #include <defaults.h>
  8. #include <global.h>
  9. #include <mcp2515.h>
  10. #include <mcp2515_defs.h>
  11.  
  12. void setup(){
  13.   Serial.begin(500000);
  14.   //                 CANSPEED_500 for HS-CAN or I-CAN,  CANSPEED_125 for MS-CAN
  15.   if(Canbus.init(CANSPEED_500))
  16.     Serial.println("CAN Init ok");
  17.   else
  18.    Serial.println("Can't Init CAN");
  19.   delay(1000);
  20. }
  21.  
  22.  
  23. void loop(){
  24. tCAN message;
  25.  
  26. if (mcp2515_check_message())
  27. {
  28.     if (mcp2515_get_message(&message))
  29.     {
  30. //    if(message.id == 0x000){         // Uncomment to filter a specific ID (don't forget after the loop too)
  31.                Serial.print("ID: ");
  32.                if(message.id < 255)
  33.                {
  34.                 Serial.print("0");
  35.                }
  36.                Serial.print(message.id,HEX);
  37.                Serial.print(", ");
  38.                Serial.print("Data: ");
  39.                for(int i=0;i<message.header.length;i++)
  40.                {
  41.                   if(message.data[i] < 16)
  42.                   {
  43.                     Serial.print("0");
  44.                   }
  45.                   Serial.print(message.data[i],HEX);
  46.                   Serial.print("  ");
  47.                }              
  48.                Serial.println("");
  49.     }            
  50. // }  // Uncomment to filter
  51.   }
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement