CAN message container. Defines "<<" and ">>" operators to simplify adding/getting data to/from a CAN message.

Dependents:   CAN_Hello EinlesenSensorabstand_digital_2 CAN_STABLE_EINSTEIN CAN_ex_STM32F103C8T6 ... more

CAN message container

In order to simplify adding/getting data to/from a CAN message the CANMsg class extends mbed's built-in CANMessage class by defining "<<" (append) and ">>" (extract) operators. Since it inherits everything from CANMessage, after importing the library into your project, you can use it instead of CANMessage without any additional modification or limitations. The usage of "<<" and ">>" operators is similar to the C++ io-streams operators.

  • Before adding data to a CANMsg object it is recommended to clear it by calling its clear() member function.
  • Then set up all the other properties (ID, type, format) as needed.
  • Finally append data one by one or combine them into a stream. The actual data length of a CAN message is automatically updated when using "<<" or ">>" operators. However, you have to make sure that the total length of data does not exceed eight bytes.

For an example of use have a look at this wiki page.

Import programCAN_Hello

Using CAN bus with (not just NUCLEO) mbed boards

Revision:
1:34738eb16cf7
Parent:
0:3d11ed680b6a
Child:
2:2b8425b12d05
--- a/CANMsg.h	Fri Mar 17 16:34:42 2017 +0000
+++ b/CANMsg.h	Sat Mar 18 23:09:30 2017 +0000
@@ -1,5 +1,5 @@
-#ifndef CANMESSAGE_H
-#define CANMESSAGE_H
+#ifndef CANMSG_H
+#define CANMSG_H
 
 /* CAN message container.
  * Provides "<<" (append) and ">>" (extract) operators to simplyfy
@@ -74,4 +74,4 @@
     }
 };
 
-#endif // CANMESSAGE_H
+#endif // CANMSG_H