blob: a58e3f947074341b0b778486bea345fd8e648426 [file] [log] [blame]
Stephan Massaltd021f972020-01-05 20:41:23 -08001#ifndef y2020_ACTORS_AUTONOMOUS_ACTOR_H_
2#define y2020_ACTORS_AUTONOMOUS_ACTOR_H_
3
4#include "aos/actions/actions.h"
5#include "aos/actions/actor.h"
6#include "frc971/autonomous/base_autonomous_actor.h"
7#include "frc971/control_loops/control_loops_generated.h"
8#include "frc971/control_loops/drivetrain/drivetrain_config.h"
James Kuszmaul5f6d1d42020-03-01 18:10:07 -08009#include "frc971/control_loops/drivetrain/localizer_generated.h"
Ravago Jonesc2a08022021-02-06 17:40:54 -080010#include "y2020/actors/auto_splines.h"
Stephan Massaltd021f972020-01-05 20:41:23 -080011
12namespace y2020 {
13namespace actors {
14
15class AutonomousActor : public ::frc971::autonomous::BaseAutonomousActor {
16 public:
17 explicit AutonomousActor(::aos::EventLoop *event_loop);
18
19 bool RunAction(
20 const ::frc971::autonomous::AutonomousActionParams *params) override;
21
22 private:
23 void Reset();
milind upadhyay47a0ab32020-11-25 19:34:41 -080024 void SplineAuto();
25 bool DriveFwd();
James Kuszmaul5f6d1d42020-03-01 18:10:07 -080026
27 ::aos::Sender<::frc971::control_loops::drivetrain::LocalizerControl>
28 localizer_control_sender_;
James Kuszmaulddd2ba62020-03-08 22:17:13 -070029 aos::Fetcher<aos::JoystickState> joystick_state_fetcher_;
30 aos::Alliance alliance_ = aos::Alliance::kInvalid;
Ravago Jonesc2a08022021-02-06 17:40:54 -080031 AutonomousSplines auto_splines_;
Stephan Massaltd021f972020-01-05 20:41:23 -080032};
33
34} // namespace actors
35} // namespace y2020
36
37#endif // y2020_ACTORS_AUTONOMOUS_ACTOR_H_