Apollo 10.0
自动驾驶开放平台
apollo::drivers::gnss::CanStream类 参考

#include <can_stream.h>

类 apollo::drivers::gnss::CanStream 继承关系图:
apollo::drivers::gnss::CanStream 的协作图:

Public 成员函数

 CanStream (const apollo::drivers::canbus::CANCardParameter &parameter)
 
 ~CanStream ()
 
virtual bool Connect ()
 
virtual bool Disconnect ()
 
virtual size_t read (uint8_t *buffer, size_t max_length)
 
virtual size_t write (const uint8_t *data, size_t length)
 
- Public 成员函数 继承自 apollo::drivers::gnss::Stream
virtual ~Stream ()
 
Status get_status () const
 
void RegisterLoginData (const std::vector< std::string > login_data)
 
void Login ()
 
size_t write (const std::string &buffer)
 

额外继承的成员函数

- Public 类型 继承自 apollo::drivers::gnss::Stream
enum class  Status { DISCONNECTED , CONNECTED , ERROR }
 
- 静态 Public 成员函数 继承自 apollo::drivers::gnss::Stream
static Streamcreate_tcp (const char *address, uint16_t port, uint32_t timeout_usec=1000000)
 
static Streamcreate_udp (const char *address, uint16_t port, uint32_t timeout_usec=1000000)
 
static Streamcreate_serial (const char *device_name, uint32_t baud_rate, uint32_t timeout_usec=0)
 
static Streamcreate_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 Streamcreate_can (const apollo::drivers::canbus::CANCardParameter &parameter)
 
- 静态 Public 属性 继承自 apollo::drivers::gnss::Stream
static constexpr size_t NUM_STATUS
 
- Protected 成员函数 继承自 apollo::drivers::gnss::Stream
 Stream ()
 
- Protected 属性 继承自 apollo::drivers::gnss::Stream
Status status_ = Status::DISCONNECTED
 

详细描述

在文件 can_stream.h30 行定义.

构造及析构函数说明

◆ CanStream()

apollo::drivers::gnss::CanStream::CanStream ( const apollo::drivers::canbus::CANCardParameter parameter)
explicit

在文件 can_stream.cc32 行定义.

33 : parameter_(parameter) {}

◆ ~CanStream()

apollo::drivers::gnss::CanStream::~CanStream ( )

在文件 can_stream.cc35 行定义.

35{}

成员函数说明

◆ Connect()

bool apollo::drivers::gnss::CanStream::Connect ( )
virtual

实现了 apollo::drivers::gnss::Stream.

在文件 can_stream.cc37 行定义.

37 {
38 // Init can client
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.";
47 if (can_client_->Start() != apollo::common::ErrorCode::OK) {
48 AERROR << "Failed to start can client";
49 return false;
50 }
51 AINFO << "Can client is started.";
52 return true;
53}
#define AERROR
Definition log.h:44
#define AINFO
Definition log.h:42

◆ Disconnect()

bool apollo::drivers::gnss::CanStream::Disconnect ( )
virtual

实现了 apollo::drivers::gnss::Stream.

在文件 can_stream.cc55 行定义.

55{ return true; }

◆ read()

size_t apollo::drivers::gnss::CanStream::read ( uint8_t *  buffer,
size_t  max_length 
)
virtual

实现了 apollo::drivers::gnss::Stream.

在文件 can_stream.cc57 行定义.

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

实现了 apollo::drivers::gnss::Stream.

在文件 can_stream.cc69 行定义.

69 {
70 // TODO(dev): implement
71 return 0;
72}

该类的文档由以下文件生成: