From ac9bef1f645910c52283fe067947b6b18cef736f Mon Sep 17 00:00:00 2001 From: Dean Lee Date: Thu, 14 Oct 2021 10:01:08 +0800 Subject: [PATCH] modeld: more readable fill_model (#22540) * more readable fill plan_t_attr * remove parameter column_offset from fill_xyzt --- selfdrive/modeld/models/driving.cc | 51 +++++++++++++++--------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/selfdrive/modeld/models/driving.cc b/selfdrive/modeld/models/driving.cc index 5a8c6dcb83..94b0e90fe3 100644 --- a/selfdrive/modeld/models/driving.cc +++ b/selfdrive/modeld/models/driving.cc @@ -239,8 +239,8 @@ void fill_meta(cereal::ModelDataV2::MetaData::Builder meta, const float *meta_da meta.setHardBrakePredicted(above_fcw_threshold); } -void fill_xyzt(cereal::ModelDataV2::XYZTData::Builder xyzt, const float * data, - int columns, int column_offset, float * plan_t_arr, bool fill_std) { +void fill_xyzt(cereal::ModelDataV2::XYZTData::Builder xyzt, const float *data, int columns, + float *plan_t_arr = nullptr, bool fill_std = false) { float x_arr[TRAJECTORY_SIZE] = {}; float y_arr[TRAJECTORY_SIZE] = {}; float z_arr[TRAJECTORY_SIZE] = {}; @@ -249,20 +249,20 @@ void fill_xyzt(cereal::ModelDataV2::XYZTData::Builder xyzt, const float * data, float z_std_arr[TRAJECTORY_SIZE]; float t_arr[TRAJECTORY_SIZE]; for (int i=0; i= 0) { + // plan_t_arr != nullptr means this data is X indexed not T indexed + if (plan_t_arr == nullptr) { t_arr[i] = T_IDXS[i]; - x_arr[i] = data[i*columns + 0 + column_offset]; - x_std_arr[i] = data[columns*(TRAJECTORY_SIZE + i) + 0 + column_offset]; + x_arr[i] = data[i*columns + 0]; + x_std_arr[i] = data[columns*(TRAJECTORY_SIZE + i) + 0]; } else { t_arr[i] = plan_t_arr[i]; x_arr[i] = X_IDXS[i]; x_std_arr[i] = NAN; } - y_arr[i] = data[i*columns + 1 + column_offset]; - y_std_arr[i] = data[columns*(TRAJECTORY_SIZE + i) + 1 + column_offset]; - z_arr[i] = data[i*columns + 2 + column_offset]; - z_std_arr[i] = data[columns*(TRAJECTORY_SIZE + i) + 2 + column_offset]; + y_arr[i] = data[i*columns + 1]; + y_std_arr[i] = data[columns*(TRAJECTORY_SIZE + i) + 1]; + z_arr[i] = data[i*columns + 2]; + z_std_arr[i] = data[columns*(TRAJECTORY_SIZE + i) + 2]; } xyzt.setX(x_arr); xyzt.setY(y_arr); @@ -276,40 +276,39 @@ void fill_xyzt(cereal::ModelDataV2::XYZTData::Builder xyzt, const float * data, } void fill_model(cereal::ModelDataV2::Builder &framed, const ModelDataRaw &net_outputs) { - // plan const float *best_plan = get_plan_data(net_outputs.plan); float plan_t_arr[TRAJECTORY_SIZE]; std::fill_n(plan_t_arr, TRAJECTORY_SIZE, NAN); plan_t_arr[0] = 0.0; for (int xidx=1, tidx=0; xidx