mirror of
https://github.com/firestar5683/StarPilot.git
synced 2026-07-05 13:32:05 +08:00
nav: add mapRenderState (#26734)
* nav: add mapRenderState * bump cereal * bump again old-commit-hash: c3b3c102323c6f00812a765702e96f9f47e1f4e7
This commit is contained in:
+1
-1
Submodule cereal updated: 7765176413...8825337204
@@ -65,7 +65,7 @@ MapRenderer::MapRenderer(const QMapboxGLSettings &settings, bool online) : m_set
|
||||
vipc_server->create_buffers(VisionStreamType::VISION_STREAM_MAP, NUM_VIPC_BUFFERS, false, WIDTH, HEIGHT);
|
||||
vipc_server->start_listener();
|
||||
|
||||
pm.reset(new PubMaster({"navThumbnail"}));
|
||||
pm.reset(new PubMaster({"navThumbnail", "mapRenderState"}));
|
||||
sm.reset(new SubMaster({"liveLocationKalman", "navRoute"}, {"liveLocationKalman"}));
|
||||
|
||||
timer = new QTimer(this);
|
||||
@@ -122,14 +122,16 @@ bool MapRenderer::loaded() {
|
||||
}
|
||||
|
||||
void MapRenderer::update() {
|
||||
double start_t = millis_since_boot();
|
||||
gl_functions->glClear(GL_COLOR_BUFFER_BIT);
|
||||
m_map->render();
|
||||
gl_functions->glFlush();
|
||||
double end_t = millis_since_boot();
|
||||
|
||||
sendVipc();
|
||||
publish((end_t - start_t) / 1000.0);
|
||||
}
|
||||
|
||||
void MapRenderer::sendVipc() {
|
||||
void MapRenderer::publish(const double render_time) {
|
||||
if (!vipc_server || !loaded()) {
|
||||
return;
|
||||
}
|
||||
@@ -139,7 +141,7 @@ void MapRenderer::sendVipc() {
|
||||
VisionBuf* buf = vipc_server->get_buffer(VisionStreamType::VISION_STREAM_MAP);
|
||||
VisionIpcBufExtra extra = {
|
||||
.frame_id = frame_id,
|
||||
.timestamp_sof = ts,
|
||||
.timestamp_sof = sm->rcv_time("liveLocationKalman"),
|
||||
.timestamp_eof = ts,
|
||||
};
|
||||
|
||||
@@ -173,6 +175,13 @@ void MapRenderer::sendVipc() {
|
||||
pm->send("navThumbnail", msg);
|
||||
}
|
||||
|
||||
// Send state msg
|
||||
MessageBuilder msg;
|
||||
auto state = msg.initEvent().initMapRenderState();
|
||||
state.setLocationMonoTime(sm->rcv_time("liveLocationKalman"));
|
||||
state.setRenderTime(render_time);
|
||||
pm->send("mapRenderState", msg);
|
||||
|
||||
frame_id++;
|
||||
}
|
||||
|
||||
|
||||
@@ -34,7 +34,7 @@ private:
|
||||
std::unique_ptr<VisionIpcServer> vipc_server;
|
||||
std::unique_ptr<PubMaster> pm;
|
||||
std::unique_ptr<SubMaster> sm;
|
||||
void sendVipc();
|
||||
void publish(const double render_time);
|
||||
|
||||
QMapboxGLSettings m_settings;
|
||||
QScopedPointer<QMapboxGL> m_map;
|
||||
|
||||
Reference in New Issue
Block a user