Apollo 10.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.h34 行定义.

成员类型定义说明

◆ DvCallback [1/2]

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

在文件 hmi.h36 行定义.

◆ DvCallback [2/2]

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

在文件 hmi.h37 行定义.

构造及析构函数说明

◆ HMI() [1/2]

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

在文件 hmi.cc42 行定义.

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.cc42 行定义.

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 RegisterFrontendConfMessageHandlers();
52 RegisterMessageHandlers();
53 }
54}

成员函数说明

◆ isProcessRunning()

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

在文件 hmi.cc843 行定义.

843 {
844 return hmi_worker_->isProcessRunning(process_name);
845}

◆ OnTimer()

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

在文件 hmi.cc805 行定义.

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

◆ PublishMessage()

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

Publish Message to dreamview frontend.

实现了 apollo::dreamview::UpdaterBase.

在文件 hmi.cc807 行定义.

807 {
808 StreamData response;
809 response.set_action("stream");
810 response.set_data_name("hmistatus");
811 std::string hmi_status_str;
812 hmi_worker_->GetStatus().SerializeToString(&hmi_status_str);
813 std::vector<uint8_t> byte_data(hmi_status_str.begin(), hmi_status_str.end());
814 response.set_data(&(byte_data[0]), byte_data.size());
815 response.set_type("hmistatus");
816 std::string response_str;
817 response.SerializeToString(&response_str);
818 hmi_ws_->BroadcastBinaryData(response_str);
819}
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.cc52 行定义.

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.cc56 行定义.

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

◆ Stop() [1/2]

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

在文件 hmi.cc54 行定义.

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.cc75 行定义.

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

◆ UpdateCameraChannelToStatus() [1/2]

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

在文件 hmi.cc251 行定义.

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.cc243 行定义.

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.cc825 行定义.

825 {
826 return hmi_worker_->UpdateMapToStatus(map_name);
827}

◆ UpdatePointChannelToStatus() [1/2]

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

在文件 hmi.cc256 行定义.

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.cc247 行定义.

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.cc237 行定义.

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

◆ UpdateVehicleToStatus() [1/2]

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

在文件 hmi.cc249 行定义.

249{ return hmi_worker_->ReloadVehicles(); }

◆ UpdateVehicleToStatus() [2/2]

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

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