Heap-allocate 2022 roborio localizer
Change-Id: I7dae28a396a5095f0abbc657b4012f1ecf2b5a40
Signed-off-by: James Kuszmaul <jabukuszmaul@gmail.com>
diff --git a/y2022/control_loops/drivetrain/drivetrain_main.cc b/y2022/control_loops/drivetrain/drivetrain_main.cc
index ecdcdbb..fc448eb 100644
--- a/y2022/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2022/control_loops/drivetrain/drivetrain_main.cc
@@ -9,18 +9,19 @@
using ::frc971::control_loops::drivetrain::DrivetrainLoop;
int main(int argc, char **argv) {
- ::aos::InitGoogle(&argc, &argv);
+ aos::InitGoogle(&argc, &argv);
aos::FlatbufferDetachedBuffer<aos::Configuration> config =
aos::configuration::ReadConfig("config.json");
- ::aos::ShmEventLoop event_loop(&config.message());
- ::y2022::control_loops::drivetrain::Localizer localizer(
- &event_loop,
- ::y2022::control_loops::drivetrain::GetDrivetrainConfig());
+ aos::ShmEventLoop event_loop(&config.message());
+ std::unique_ptr<::y2022::control_loops::drivetrain::Localizer> localizer =
+ std::make_unique<y2022::control_loops::drivetrain::Localizer>(
+ &event_loop,
+ y2022::control_loops::drivetrain::GetDrivetrainConfig());
std::unique_ptr<DrivetrainLoop> drivetrain = std::make_unique<DrivetrainLoop>(
- ::y2022::control_loops::drivetrain::GetDrivetrainConfig(),
- &event_loop, &localizer);
+ y2022::control_loops::drivetrain::GetDrivetrainConfig(), &event_loop,
+ localizer.get());
event_loop.Run();