blob: 649946badae9c145d5278407be4ad5fc825bfb60 [file] [log] [blame]
brians343bc112013-02-10 01:53:46 +00001#include "aos/crio/controls/ControlsManager.h"
Brian Silverman3204dd82013-03-12 18:42:01 -07002#include "aos/crio/motor_server/crio_control_loop_runner.h"
3#include "aos/common/sensors/sensor_broadcaster.h"
brians343bc112013-02-10 01:53:46 +00004
Brian Silverman3204dd82013-03-12 18:42:01 -07005#include "frc971/queues/sensor_values.h"
6#include "frc971/input/sensor_packer.h"
7#include "frc971/input/sensor_unpacker.h"
brians343bc112013-02-10 01:53:46 +00008
9namespace frc971 {
10
11class MyRobot : public ::aos::crio::ControlsManager {
12 public:
Brian Silverman3204dd82013-03-12 18:42:01 -070013 MyRobot()
14 : broadcaster_(&packer_),
15 control_loop_runner_(&broadcaster_, &unpacker_) {}
16
brians343bc112013-02-10 01:53:46 +000017 virtual void RegisterControlLoops() {
Brian Silverman3204dd82013-03-12 18:42:01 -070018 //control_loop_runner_.AddControlLoop(&shooter_);
brians343bc112013-02-10 01:53:46 +000019 }
20
Brian Silverman3204dd82013-03-12 18:42:01 -070021 virtual void StartSensorBroadcasters() {
22 broadcaster_.Start();
23 }
24
25 ::frc971::SensorPacker packer_;
26 ::frc971::SensorUnpacker unpacker_;
27 ::aos::sensors::SensorBroadcaster< ::frc971::sensor_values> broadcaster_;
28 ::aos::crio::CRIOControlLoopRunner< ::frc971::sensor_values>
29 control_loop_runner_;
brians343bc112013-02-10 01:53:46 +000030};
31
32} // namespace frc971
33
34START_ROBOT_CLASS(::frc971::MyRobot);