blob: e45bac1a6caf9ff9e3406558bcf847ae6061b6f1 [file] [log] [blame]
Daniel Pettidfc90ba2015-02-17 21:42:15 -08001#ifndef FRC971_ACTORS_STACK_ACTOR_H_
2#define FRC971_ACTORS_STACK_ACTOR_H_
3
4#include <stdint.h>
5
6#include <memory>
7
8#include "aos/common/actions/actions.h"
9#include "aos/common/actions/actor.h"
10#include "frc971/actors/stack_action.q.h"
11
12namespace frc971 {
13namespace actors {
14
15class StackActor
16 : public aos::common::actions::ActorBase<StackActionQueueGroup> {
17 public:
18 explicit StackActor(StackActionQueueGroup *queues);
19
Ben Fredrickson32e6c252015-02-21 23:53:38 -080020 void DoProfile(double height, double angle, bool grabbers);
21
Austin Schuhdc171012015-02-22 21:36:55 -080022 bool RunAction(const StackParams &params) override;
Daniel Pettidfc90ba2015-02-17 21:42:15 -080023};
24
25typedef aos::common::actions::TypedAction<StackActionQueueGroup> StackAction;
26
27// Makes a new stackActor action.
Austin Schuhdc171012015-02-22 21:36:55 -080028::std::unique_ptr<StackAction> MakeStackAction(const StackParams &params);
Daniel Pettidfc90ba2015-02-17 21:42:15 -080029
30} // namespace actors
31} // namespace frc971
32
33#endif