blob: 4ad04d2fb4ef8675ce06e4ccc15191a24220af1e [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"
Stephan Massaltd021f972020-01-05 20:41:23 -080010
11namespace y2020 {
12namespace actors {
13
14class AutonomousActor : public ::frc971::autonomous::BaseAutonomousActor {
15 public:
16 explicit AutonomousActor(::aos::EventLoop *event_loop);
17
18 bool RunAction(
19 const ::frc971::autonomous::AutonomousActionParams *params) override;
20
21 private:
22 void Reset();
milind upadhyay47a0ab32020-11-25 19:34:41 -080023 void SplineAuto();
24 bool DriveFwd();
James Kuszmaul5f6d1d42020-03-01 18:10:07 -080025
26 ::aos::Sender<::frc971::control_loops::drivetrain::LocalizerControl>
27 localizer_control_sender_;
James Kuszmaulddd2ba62020-03-08 22:17:13 -070028 aos::Fetcher<aos::JoystickState> joystick_state_fetcher_;
29 aos::Alliance alliance_ = aos::Alliance::kInvalid;
Stephan Massaltd021f972020-01-05 20:41:23 -080030};
31
32} // namespace actors
33} // namespace y2020
34
35#endif // y2020_ACTORS_AUTONOMOUS_ACTOR_H_