aa
Revision 5:4f03cb1e882b, committed 2021-09-01
- Comitter:
- kurobikari
- Date:
- Wed Sep 01 02:56:41 2021 +0000
- Parent:
- 4:5017a65ff423
- Commit message:
- fia
Changed in this revision
CANMsg.h | Show annotated file Show diff for this revision Revisions of this file |
diff -r 5017a65ff423 -r 4f03cb1e882b CANMsg.h --- a/CANMsg.h Tue Feb 05 14:50:19 2019 +0000 +++ b/CANMsg.h Wed Sep 01 02:56:41 2021 +0000 @@ -1,15 +1,6 @@ #ifndef CANMSG_H #define CANMSG_H -/* CAN message container. - * Provides "<<" (append) and ">>" (extract) operators to simplyfy - * adding/getting data items to/from a CAN message. - * Usage is similar to the C++ io-stream operators. - * Data length of CAN message is automatically updated when using "<<" or ">>" operators. - * - * See Wiki page <https://developer.mbed.org/users/hudakz/code/CAN_Hello/> for demo. - */ - #include "CAN.h" class CANMsg : public mbed::CANMessage @@ -18,21 +9,22 @@ /** Creates empty CAN message. */ CANMsg() : - CANMessage(){ } + CANMessage() { } /** Creates CAN message with specific content. */ CANMsg(int _id, const char *_data, char _len = 8, CANType _type = CANData, CANFormat _format = CANStandard) : - CANMessage(_id, _data, _len, _type, _format){ } + CANMessage(_id, _data, _len, _type, _format) { } /** Creates CAN remote message. */ CANMsg(int _id, CANFormat _format = CANStandard) : - CANMessage(_id, _format){ } + CANMessage(_id, _format) { } /** Clears CAN message content */ - void clear(void) { + void clear(void) + { len = 0; type = CANData; format = CANStandard; @@ -40,32 +32,6 @@ memset(data, 0, 8); }; - /** Append operator: Appends data (value) to CAN message - */ - template<class T> - CANMsg &operator<<(const T val) { - MBED_ASSERT(len + sizeof(T) <= 8); - memcpy(&data[len], &val, sizeof(T)); - len += sizeof(T); - return *this; - } - - /** Extract operator: Extracts data (value) from CAN message - */ - template<class T> - CANMsg &operator>>(T& val) { - MBED_ASSERT(sizeof(T) <= len); - if (sizeof(T) > len) { - memcpy(&val, data, len); - len = 0; - } - else { - memcpy(&val, data, sizeof(T)); - len -= sizeof(T); - } - memcpy(data, data + sizeof(T), len); - return *this; - } }; #endif // CANMSG_H