#include <can_stream.h>
|
enum class | Status { DISCONNECTED
, CONNECTED
, ERROR
} |
|
static Stream * | create_tcp (const char *address, uint16_t port, uint32_t timeout_usec=1000000) |
|
static Stream * | create_udp (const char *address, uint16_t port, uint32_t timeout_usec=1000000) |
|
static Stream * | create_serial (const char *device_name, uint32_t baud_rate, uint32_t timeout_usec=0) |
|
static Stream * | create_ntrip (const std::string &address, uint16_t port, const std::string &mountpoint, const std::string &user, const std::string &passwd, uint32_t timeout_s=30) |
|
static Stream * | create_can (const apollo::drivers::canbus::CANCardParameter ¶meter) |
|
static constexpr size_t | NUM_STATUS |
|
| Stream () |
|
Status | status_ = Status::DISCONNECTED |
|
◆ CanStream()
◆ ~CanStream()
apollo::drivers::gnss::CanStream::~CanStream |
( |
| ) |
|
◆ Connect()
bool apollo::drivers::gnss::CanStream::Connect |
( |
| ) |
|
|
virtual |
实现了 apollo::drivers::gnss::Stream.
在文件 can_stream.cc 第 37 行定义.
37 {
38
39 auto can_factory = apollo::drivers::canbus::CanClientFactory::Instance();
40 can_factory->RegisterCanClients();
41 can_client_ = can_factory->CreateCANClient(parameter_);
42 if (!can_client_) {
43 AERROR <<
"Failed to create can client.";
44 return false;
45 }
46 AINFO <<
"Can client is successfully created.";
48 AERROR <<
"Failed to start can client";
49 return false;
50 }
51 AINFO <<
"Can client is started.";
52 return true;
53}
◆ Disconnect()
bool apollo::drivers::gnss::CanStream::Disconnect |
( |
| ) |
|
|
virtual |
◆ read()
size_t apollo::drivers::gnss::CanStream::read |
( |
uint8_t * |
buffer, |
|
|
size_t |
max_length |
|
) |
| |
|
virtual |
实现了 apollo::drivers::gnss::Stream.
在文件 can_stream.cc 第 57 行定义.
57 {
58 std::vector<apollo::drivers::canbus::CanFrame> frames;
59 static int32_t recv_frame_num = 1;
60 if (can_client_->Receive(&frames, &recv_frame_num) !=
62 AERROR <<
"Failed to receive can frame.";
63 return 0;
64 }
65 std::memcpy(buffer, &frames[0], sizeof(frames[0]));
66 return sizeof(frames[0]);
67}
◆ write()
size_t apollo::drivers::gnss::CanStream::write |
( |
const uint8_t * |
data, |
|
|
size_t |
length |
|
) |
| |
|
virtual |
该类的文档由以下文件生成: