blob: 0d6765ea4e48b78eb61382e033e9b036be101cee [file] [log] [blame]
Tyler Chatowe51334a2019-01-20 16:58:16 -08001#ifndef Y2019_CONTROL_LOOPS_SUPERSTRUCTURE_SUPERSTRUCTURE_H_
2#define Y2019_CONTROL_LOOPS_SUPERSTRUCTURE_SUPERSTRUCTURE_H_
3
4#include "aos/controls/control_loop.h"
5#include "y2019/control_loops/superstructure/superstructure.q.h"
6
7namespace y2019 {
8namespace control_loops {
9namespace superstructure {
10
11class Superstructure
12 : public ::aos::controls::ControlLoop<SuperstructureQueue> {
13 public:
14 explicit Superstructure(
Austin Schuh55a13dc2019-01-27 22:39:03 -080015 ::aos::EventLoop *event_loop,
16 const ::std::string &name =
17 ".y2019.control_loops.superstructure.superstructure_queue");
Tyler Chatowe51334a2019-01-20 16:58:16 -080018
19 protected:
20 virtual void RunIteration(
21 const SuperstructureQueue::Goal *unsafe_goal,
22 const SuperstructureQueue::Position *position,
23 SuperstructureQueue::Output *output,
24 SuperstructureQueue::Status *status) override;
25
26 private:
27
28 DISALLOW_COPY_AND_ASSIGN(Superstructure);
29};
30
31} // namespace superstructure
32} // namespace control_loops
33} // namespace y2019
34
Austin Schuh55a13dc2019-01-27 22:39:03 -080035#endif // Y2019_CONTROL_LOOPS_SUPERSTRUCTURE_SUPERSTRUCTURE_H_