30 #include "modules/common/proto/error_code.pb.h" 31 #include "modules/drivers/canbus/proto/can_card_parameter.pb.h" 62 std::memset(data, 0,
sizeof(data));
70 std::stringstream output_stream(
"");
72 <<
",len:" <<
static_cast<int>(
len) <<
",data:";
73 for (uint8_t i = 0; i <
len; ++i) {
77 return output_stream.str();
109 virtual bool Init(
const CANCardParameter ¶meter) = 0;
116 virtual apollo::common::ErrorCode Start() = 0;
121 virtual void Stop() = 0;
130 virtual apollo::common::ErrorCode Send(
const std::vector<CanFrame> &frames,
131 int32_t *
const frame_num) = 0;
140 const std::vector<CanFrame> &frames) {
141 CHECK_EQ(frames.size(), 1U)
142 <<
"frames size not equal to 1, actual frame size :" << frames.size();
144 return Send(frames, &n);
154 virtual apollo::common::ErrorCode Receive(std::vector<CanFrame> *
const frames,
155 int32_t *
const frame_num) = 0;
161 virtual std::string GetErrorString(
const int32_t status) = 0;
165 bool is_started_ =
false;
const int CAN_ERROR_SEND_FAILED
Definition: can_client.h:85
struct timeval timestamp
Time stamp.
Definition: can_client.h:56
std::string CanFrameString() const
CanFrame string including essential information about the message.
Definition: can_client.h:69
static std::string byte_to_hex(const uint8_t value)
Transform an integer with the size of one byte to its hexadecimal represented by a string...
uint8_t data[8]
Message content.
Definition: can_client.h:54
PlanningContext is the runtime context in planning. It is persistent across multiple frames...
Definition: atomic_hash_map.h:25
uint32_t id
Message id.
Definition: can_client.h:50
const int CAN_ERROR_OPEN_DEVICE_FAILED
Definition: can_client.h:83
The class which defines the CAN client to send and receive message.
Definition: can_client.h:92
virtual apollo::common::ErrorCode SendSingleFrame(const std::vector< CanFrame > &frames)
Send a single message.
Definition: can_client.h:139
const int CAN_RESULT_SUCC
Definition: can_client.h:81
The class which defines the information to send and receive.
Definition: can_client.h:48
const int CAN_ERROR_FRAME_NUM
Definition: can_client.h:84
uint8_t len
Message length.
Definition: can_client.h:52
CanFrame()
Constructor.
Definition: can_client.h:61
const int CAN_ERROR_RECV_FAILED
Definition: can_client.h:86
const int CAN_ERROR_BASE
Definition: can_client.h:82
bool Init(const char *binary_name)