4#include "./can_frame.h"
9 enum class CanBusSpeed : uint8_t
33 static const size_t cStandardIdSize{2};
34 static const size_t cExtendedIdSize{4};
35 static const uint8_t cHeaderByte{0xaa};
36 static const uint8_t cTrailerByte{0x55};
37 static const uint8_t cExtendedBitMask{0x20};
38 static const uint8_t cRemoteBitMask{0x10};
40 const bool mSupportExtended;
41 std::array<uint8_t, cFixedFrameSize> mConfiguration;
43 static std::array<uint8_t, cStandardIdSize> getStandardIdArray(
45 static std::array<uint8_t, cExtendedIdSize> getExtendedIdArray(
48 static uint32_t getStandardId(
52 static uint32_t getExtendedId(
58 static void setChecksum(
59 std::array<uint8_t, cFixedFrameSize> &data);
61 static std::array<uint8_t, cFixedFrameSize> getConfigurationArray(
62 CanBusSpeed speed,
bool supportExtended);
CAN bus controller driver helper.
Definition: can_driver.h:27
std::vector< uint8_t > Serialize(const CanFrame &frame) const
Serialize a CAN frame to a variable length byte array.
CanDriver(CanBusSpeed speed, bool supportExtended)
Constructor.
static constexpr size_t cFixedFrameSize
Fixed CAN frame data packet size.
Definition: can_driver.h:30
CanFrame Deserialize(const std::vector< uint8_t > &packet) const
Deserialize a packet to a CAN frame.
std::vector< uint8_t > GetConfiguration() const
Get CAN bus communication configuration packet.
CAN transmission packet frame.
Definition: can_frame.h:13