blob: f53629c3065fecfd85b742051a0bd08be31a7493 [file] [log] [blame]
Comran Morshed25f81a02016-01-23 13:40:10 +00001#ifndef Y2016_CONTROL_LOOPS_SUPERSTRUCTURE_SUPERSTRUCTURE_H_
2#define Y2016_CONTROL_LOOPS_SUPERSTRUCTURE_SUPERSTRUCTURE_H_
3
4#include <memory>
5
6#include "aos/common/controls/control_loop.h"
7#include "frc971/control_loops/state_feedback_loop.h"
8
9#include "y2016/control_loops/superstructure/superstructure.q.h"
10
11namespace y2016 {
12namespace control_loops {
13
14class Superstructure
15 : public ::aos::controls::ControlLoop<control_loops::SuperstructureQueue> {
16 public:
17 explicit Superstructure(
18 control_loops::SuperstructureQueue *my_superstructure =
19 &control_loops::superstructure_queue);
20
21 protected:
22 virtual void RunIteration(
23 const control_loops::SuperstructureQueue::Goal *goal,
24 const control_loops::SuperstructureQueue::Position *position,
25 ::aos::control_loops::Output *output,
26 control_loops::SuperstructureQueue::Status *status) override;
27
28 private:
29 DISALLOW_COPY_AND_ASSIGN(Superstructure);
30};
31
32} // namespace control_loops
33} // namespace y2016
34
35#endif // Y2016_CONTROL_LOOPS_SUPERSTRUCTURE_SUPERSTRUCTURE_H_