Convert control loop tests over to simulated event loop
This makes it so that we properly only use ShmEventLoop for running in
realtime on a robot. Very nice.
Change-Id: I46b770b336f59e08cfaf28511b3bd5689f72fff1
diff --git a/y2012/control_loops/accessories/accessories.cc b/y2012/control_loops/accessories/accessories.cc
index d320468..9d96840 100644
--- a/y2012/control_loops/accessories/accessories.cc
+++ b/y2012/control_loops/accessories/accessories.cc
@@ -32,9 +32,12 @@
} // namespace y2012
int main() {
- ::aos::Init();
+ ::aos::InitNRT(true);
+
::aos::ShmEventLoop event_loop;
::y2012::control_loops::accessories::AccessoriesLoop accessories(&event_loop);
- accessories.Run();
+
+ event_loop.Run();
+
::aos::Cleanup();
}
diff --git a/y2012/control_loops/drivetrain/drivetrain_main.cc b/y2012/control_loops/drivetrain/drivetrain_main.cc
index 6e5b845..75153cd 100644
--- a/y2012/control_loops/drivetrain/drivetrain_main.cc
+++ b/y2012/control_loops/drivetrain/drivetrain_main.cc
@@ -7,14 +7,17 @@
using ::frc971::control_loops::drivetrain::DrivetrainLoop;
int main() {
- ::aos::Init();
+ ::aos::InitNRT(true);
+
::aos::ShmEventLoop event_loop;
::frc971::control_loops::drivetrain::DeadReckonEkf localizer(
- ::y2012::control_loops::drivetrain::GetDrivetrainConfig());
+ &event_loop, ::y2012::control_loops::drivetrain::GetDrivetrainConfig());
DrivetrainLoop drivetrain(
::y2012::control_loops::drivetrain::GetDrivetrainConfig(), &event_loop,
&localizer);
- drivetrain.Run();
+
+ event_loop.Run();
+
::aos::Cleanup();
return 0;
}
diff --git a/y2012/joystick_reader.cc b/y2012/joystick_reader.cc
index 86c7a90..8f35b92 100644
--- a/y2012/joystick_reader.cc
+++ b/y2012/joystick_reader.cc
@@ -143,9 +143,12 @@
} // namespace y2012
int main() {
- ::aos::Init(-1);
+ ::aos::InitNRT(true);
+
::aos::ShmEventLoop event_loop;
::y2012::input::joysticks::Reader reader(&event_loop);
- reader.Run();
+
+ event_loop.Run();
+
::aos::Cleanup();
}