Apollo 11.0
自动驾驶开放平台
apollo::dreamview::HMI类 参考

#include <hmi.h>

类 apollo::dreamview::HMI 继承关系图:
apollo::dreamview::HMI 的协作图:

Public 类型

using DvCallback = std::function< nlohmann::json(const std::string &function_name, const nlohmann::json &param_json)>
 
using DvCallback = std::function< nlohmann::json(const std::string &function_name, const nlohmann::json &param_json)>
 

Public 成员函数

 HMI (WebSocketHandler *websocket, MapService *map_service)
 
void Start (DvCallback callback_api)
 
void Stop ()
 
bool UpdateScenarioSetToStatus (const std::string &scenario_set_id, const std::string &scenario_set_name)
 
bool UpdateDynamicModelToStatus (const std::string &dynamic_model_name)
 
bool UpdateRecordToStatus ()
 
bool UpdateVehicleToStatus ()
 
bool UpdateCameraChannelToStatus (const std::string &channel_name)
 
bool UpdatePointChannelToStatus (const std::string &channel_name)
 
 HMI (WebSocketHandler *websocket, MapService *map_service, WebSocketHandler *hmi_websocket)
 
void Start (DvCallback callback_api)
 
void StartStream (const double &time_interval_ms, const std::string &channel_name="", nlohmann::json *subscribe_param=nullptr) override
 Start data flow.
 
void PublishMessage (const std::string &channel_name="") override
 Publish Message to dreamview frontend.
 
void Stop ()
 
void StopStream (const std::string &channel_name="") override
 Stop data flow.
 
void OnTimer (const std::string &channel_name="")
 
bool UpdateDynamicModelToStatus (const std::string &dynamic_model_name)
 
bool UpdateMapToStatus (const std::string &map_name="")
 
bool UpdateRecordToStatus ()
 
bool UpdateVehicleToStatus ()
 
bool UpdateCameraChannelToStatus (const std::string &channel_name)
 
bool UpdatePointChannelToStatus (const std::string &channel_name)
 
bool isProcessRunning (const std::string &process_name)
 
- Public 成员函数 继承自 apollo::dreamview::UpdaterBase
 UpdaterBase ()
 Updaterbase
 
virtual ~UpdaterBase ()
 

详细描述

在文件 hmi.h 第 34 行定义.

成员类型定义说明

◆ DvCallback [1/2]

using apollo::dreamview::HMI::DvCallback = std::function<nlohmann::json( const std::string &function_name, const nlohmann::json &param_json)>

在文件 hmi.h 第 36 行定义.

◆ DvCallback [2/2]

using apollo::dreamview::HMI::DvCallback = std::function<nlohmann::json( const std::string &function_name, const nlohmann::json &param_json)>

在文件 hmi.h 第 37 行定义.

构造及析构函数说明

◆ HMI() [1/2]

apollo::dreamview::HMI::HMI ( WebSocketHandler *  websocket,
MapService *  map_service 
)

在文件 hmi.cc 第 42 行定义.

43 : hmi_worker_(new HMIWorker()),
45 websocket_(websocket),
46 map_service_(map_service) {
47 if (websocket_) {
48 RegisterMessageHandlers();
49 }
50}

◆ HMI() [2/2]

apollo::dreamview::HMI::HMI ( WebSocketHandler *  websocket,
MapService *  map_service,
WebSocketHandler *  hmi_websocket 
)

在文件 hmi.cc 第 42 行定义.

45 hmi_worker_(new HMIWorker(monitor_log_buffer_)),
46 websocket_(websocket),
47 map_service_(map_service),
48 hmi_ws_(hmi_websocket) {
49 if (websocket_) {
50 RegisterDBMessageHandlers();
51 RegisterMessageHandlers();
52 }
53}

成员函数说明

◆ isProcessRunning()

bool apollo::dreamview::HMI::isProcessRunning ( const std::string &  process_name)

在文件 hmi.cc 第 770 行定义.

770 {
771 return hmi_worker_->isProcessRunning(process_name);
772}

◆ OnTimer()

void apollo::dreamview::HMI::OnTimer ( const std::string &  channel_name = "")

在文件 hmi.cc 第 732 行定义.

732{ PublishMessage(); }
void PublishMessage(const std::string &channel_name="") override
Publish Message to dreamview frontend.
Definition hmi.cc:734

◆ PublishMessage()

void apollo::dreamview::HMI::PublishMessage ( const std::string &  channel_name = "")
overridevirtual

Publish Message to dreamview frontend.

实现了 apollo::dreamview::UpdaterBase.

在文件 hmi.cc 第 734 行定义.

734 {
735 StreamData response;
736 response.set_action("stream");
737 response.set_data_name("hmistatus");
738 std::string hmi_status_str;
739 hmi_worker_->GetStatus().SerializeToString(&hmi_status_str);
740 std::vector<uint8_t> byte_data(hmi_status_str.begin(), hmi_status_str.end());
741 response.set_data(&(byte_data[0]), byte_data.size());
742 response.set_type("hmistatus");
743 std::string response_str;
744 response.SerializeToString(&response_str);
745 hmi_ws_->BroadcastBinaryData(response_str);
746}
bool BroadcastBinaryData(const std::string &data, bool skippable=false)
Sends the provided binary data to all the connected clients.

◆ Start() [1/2]

void apollo::dreamview::HMI::Start ( DvCallback  callback_api)

在文件 hmi.cc 第 52 行定义.

52{ hmi_worker_->Start(callback_api); }

◆ Start() [2/2]

void apollo::dreamview::HMI::Start ( DvCallback  callback_api)

◆ StartStream()

void apollo::dreamview::HMI::StartStream ( const double &  time_interval_ms,
const std::string &  channel_name = "",
nlohmann::json *  subscribe_param = nullptr 
)
overridevirtual

Start data flow.

参数
time_interval_msData stream sending frequency. 0 means single subscribe
subscribe_paramsubscribe some updater may need extra params

实现了 apollo::dreamview::UpdaterBase.

在文件 hmi.cc 第 55 行定义.

57 {
58 AINFO << "Start HMIStatus updater timer with data sending frequency: "
59 << time_interval_ms;
60 time_interval_ms_ = time_interval_ms;
61 if (time_interval_ms_ > 0) {
62 timer_.reset(new cyber::Timer(
63 time_interval_ms, [this]() { this->OnTimer(); }, false));
64 timer_->Start();
65 } else {
66 this->OnTimer();
67 }
68}
void OnTimer(const std::string &channel_name="")
Definition hmi.cc:732
#define AINFO
Definition log.h:42

◆ Stop() [1/2]

void apollo::dreamview::HMI::Stop ( )

在文件 hmi.cc 第 54 行定义.

54{ hmi_worker_->Stop(); }

◆ Stop() [2/2]

void apollo::dreamview::HMI::Stop ( )

◆ StopStream()

void apollo::dreamview::HMI::StopStream ( const std::string &  channel_name = "")
overridevirtual

Stop data flow.

实现了 apollo::dreamview::UpdaterBase.

在文件 hmi.cc 第 74 行定义.

74 {
75 AINFO << "HMIStatus updater timer has been stopped";
76 if (timer_) {
77 timer_->Stop();
78 }
79}

◆ UpdateCameraChannelToStatus() [1/2]

bool apollo::dreamview::HMI::UpdateCameraChannelToStatus ( const std::string &  channel_name)

在文件 hmi.cc 第 251 行定义.

251 {
252 hmi_worker_->UpdateCameraSensorChannelToStatus(channel_name);
253 return true;
254}

◆ UpdateCameraChannelToStatus() [2/2]

bool apollo::dreamview::HMI::UpdateCameraChannelToStatus ( const std::string &  channel_name)

◆ UpdateDynamicModelToStatus() [1/2]

bool apollo::dreamview::HMI::UpdateDynamicModelToStatus ( const std::string &  dynamic_model_name)

在文件 hmi.cc 第 243 行定义.

243 {
244 return hmi_worker_->UpdateDynamicModelToStatus(dynamic_model_name);
245}

◆ UpdateDynamicModelToStatus() [2/2]

bool apollo::dreamview::HMI::UpdateDynamicModelToStatus ( const std::string &  dynamic_model_name)

◆ UpdateMapToStatus()

bool apollo::dreamview::HMI::UpdateMapToStatus ( const std::string &  map_name = "")

在文件 hmi.cc 第 752 行定义.

752 {
753 return hmi_worker_->UpdateMapToStatus(map_name);
754}

◆ UpdatePointChannelToStatus() [1/2]

bool apollo::dreamview::HMI::UpdatePointChannelToStatus ( const std::string &  channel_name)

在文件 hmi.cc 第 256 行定义.

256 {
257 hmi_worker_->UpdatePointCloudChannelToStatus(channel_name);
258 return true;
259}

◆ UpdatePointChannelToStatus() [2/2]

bool apollo::dreamview::HMI::UpdatePointChannelToStatus ( const std::string &  channel_name)

◆ UpdateRecordToStatus() [1/2]

bool apollo::dreamview::HMI::UpdateRecordToStatus ( )

在文件 hmi.cc 第 247 行定义.

247{ return hmi_worker_->LoadRecords(); }

◆ UpdateRecordToStatus() [2/2]

bool apollo::dreamview::HMI::UpdateRecordToStatus ( )

◆ UpdateScenarioSetToStatus()

bool apollo::dreamview::HMI::UpdateScenarioSetToStatus ( const std::string &  scenario_set_id,
const std::string &  scenario_set_name 
)

在文件 hmi.cc 第 237 行定义.

238 {
239 return hmi_worker_->UpdateScenarioSetToStatus(scenario_set_id,
240 scenario_set_name);
241}

◆ UpdateVehicleToStatus() [1/2]

bool apollo::dreamview::HMI::UpdateVehicleToStatus ( )

在文件 hmi.cc 第 249 行定义.

249{ return hmi_worker_->ReloadVehicles(); }

◆ UpdateVehicleToStatus() [2/2]

bool apollo::dreamview::HMI::UpdateVehicleToStatus ( )

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