From 4c2c73b15282f405900b64b0fb67d461f3058b5c Mon Sep 17 00:00:00 2001 From: Mitchell Goff Date: Thu, 22 Jun 2023 19:39:51 -0700 Subject: [PATCH] Publish navEnabled from modeld (#28647) * Publish navEnabled from modeld * Bump cereal --- cereal | 2 +- selfdrive/modeld/modeld.cc | 2 +- selfdrive/modeld/models/driving.cc | 3 ++- selfdrive/modeld/models/driving.h | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/cereal b/cereal index 1de4176d3e..cacfda17fd 160000 --- a/cereal +++ b/cereal @@ -1 +1 @@ -Subproject commit 1de4176d3ed2bbfed3374383cc68b027e4e8c363 +Subproject commit cacfda17fd7246e76274043c67a20843e49d770c diff --git a/selfdrive/modeld/modeld.cc b/selfdrive/modeld/modeld.cc index 069f7989b6..6297f3768f 100644 --- a/selfdrive/modeld/modeld.cc +++ b/selfdrive/modeld/modeld.cc @@ -179,7 +179,7 @@ void run_model(ModelState &model, VisionIpcClient &vipc_client_main, VisionIpcCl if (model_output != nullptr) { model_publish(pm, meta_main.frame_id, meta_extra.frame_id, frame_id, frame_drop_ratio, *model_output, meta_main.timestamp_eof, model_execution_time, - kj::ArrayPtr(model.output.data(), model.output.size()), live_calib_seen); + kj::ArrayPtr(model.output.data(), model.output.size()), nav_enabled, live_calib_seen); posenet_publish(pm, meta_main.frame_id, vipc_dropped_frames, *model_output, meta_main.timestamp_eof, live_calib_seen); } diff --git a/selfdrive/modeld/models/driving.cc b/selfdrive/modeld/models/driving.cc index 6b0e626c5c..d940880cba 100644 --- a/selfdrive/modeld/models/driving.cc +++ b/selfdrive/modeld/models/driving.cc @@ -364,7 +364,7 @@ void fill_model(cereal::ModelDataV2::Builder &framed, const ModelOutput &net_out void model_publish(PubMaster &pm, uint32_t vipc_frame_id, uint32_t vipc_frame_id_extra, uint32_t frame_id, float frame_drop, const ModelOutput &net_outputs, uint64_t timestamp_eof, - float model_execution_time, kj::ArrayPtr raw_pred, const bool valid) { + float model_execution_time, kj::ArrayPtr raw_pred, const bool nav_enabled, const bool valid) { const uint32_t frame_age = (frame_id > vipc_frame_id) ? (frame_id - vipc_frame_id) : 0; MessageBuilder msg; auto framed = msg.initEvent(valid).initModelV2(); @@ -374,6 +374,7 @@ void model_publish(PubMaster &pm, uint32_t vipc_frame_id, uint32_t vipc_frame_id framed.setFrameDropPerc(frame_drop * 100); framed.setTimestampEof(timestamp_eof); framed.setModelExecutionTime(model_execution_time); + framed.setNavEnabled(nav_enabled); if (send_raw_pred) { framed.setRawPredictions(raw_pred.asBytes()); } diff --git a/selfdrive/modeld/models/driving.h b/selfdrive/modeld/models/driving.h index 1214c30062..5385d4b953 100644 --- a/selfdrive/modeld/models/driving.h +++ b/selfdrive/modeld/models/driving.h @@ -285,6 +285,6 @@ ModelOutput *model_eval_frame(ModelState* s, VisionBuf* buf, VisionBuf* buf_wide void model_free(ModelState* s); void model_publish(PubMaster &pm, uint32_t vipc_frame_id, uint32_t vipc_frame_id_extra, uint32_t frame_id, float frame_drop, const ModelOutput &net_outputs, uint64_t timestamp_eof, - float model_execution_time, kj::ArrayPtr raw_pred, const bool valid); + float model_execution_time, kj::ArrayPtr raw_pred, const bool nav_enabled, const bool valid); void posenet_publish(PubMaster &pm, uint32_t vipc_frame_id, uint32_t vipc_dropped_frames, const ModelOutput &net_outputs, uint64_t timestamp_eof, const bool valid);