Remove mallocs in realtime trajectory code
Modifications to GetDrivetrainConfig for y2024 (which uses the constants
flatbuffer as a source of the drivetrain config) make it
non-realtime-safe.
Change-Id: Iad160acf3cf09d0feacb4498d03884f1065acc94
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/frc971/control_loops/drivetrain/libspline.cc b/frc971/control_loops/drivetrain/libspline.cc
index 57abe69..b1af886 100644
--- a/frc971/control_loops/drivetrain/libspline.cc
+++ b/frc971/control_loops/drivetrain/libspline.cc
@@ -120,8 +120,9 @@
int num_distance) {
return new Trajectory(
DistanceSpline(*spline),
- ::y2020::control_loops::drivetrain::GetDrivetrainConfig(), nullptr, -1,
- vmax, num_distance);
+ std::make_unique<DrivetrainConfig<double>>(
+ ::y2020::control_loops::drivetrain::GetDrivetrainConfig()),
+ nullptr, -1, vmax, num_distance);
}
void deleteTrajectory(Trajectory *t) { delete t; }