Convert actions to event loops
The logic gets significantly simpler due to Watchers. But we also get
to port all the users over as well.
Change-Id: Ib4e75951e65f7431acc6c1548b7f1d20da3da295
diff --git a/frc971/autonomous/base_autonomous_actor.h b/frc971/autonomous/base_autonomous_actor.h
index 7636486..263ce73 100644
--- a/frc971/autonomous/base_autonomous_actor.h
+++ b/frc971/autonomous/base_autonomous_actor.h
@@ -17,10 +17,17 @@
class BaseAutonomousActor
: public ::aos::common::actions::ActorBase<AutonomousActionQueueGroup> {
public:
+ typedef ::aos::common::actions::TypedActionFactory<AutonomousActionQueueGroup>
+ Factory;
+
explicit BaseAutonomousActor(
- ::aos::EventLoop *event_loop, AutonomousActionQueueGroup *s,
+ ::aos::EventLoop *event_loop,
const control_loops::drivetrain::DrivetrainConfig<double> &dt_config);
+ static Factory MakeFactory(::aos::EventLoop *event_loop) {
+ return Factory(event_loop, ".frc971.autonomous.autonomous_action");
+ }
+
protected:
class SplineHandle {
public:
@@ -119,13 +126,6 @@
int32_t goal_spline_handle_ = 0;
};
-using AutonomousAction =
- ::aos::common::actions::TypedAction<AutonomousActionQueueGroup>;
-
-// Makes a new AutonomousActor action.
-::std::unique_ptr<AutonomousAction> MakeAutonomousAction(
- const AutonomousActionParams ¶ms);
-
} // namespace autonomous
} // namespace frc971