blob: 77df69b47ad6a489a0a362f14ca63ca5d844204c [file] [log] [blame]
Austin Schuh378483c2019-01-20 16:36:40 -08001#include "aos/init.h"
2
Alex Perrycb7da4b2019-08-28 19:35:56 -07003#include "aos/events/shm_event_loop.h"
Austin Schuh378483c2019-01-20 16:36:40 -08004#include "frc971/control_loops/drivetrain/drivetrain.h"
5#include "y2019/control_loops/drivetrain/drivetrain_base.h"
James Kuszmaul09f564a2019-02-18 17:37:09 -08006#include "y2019/control_loops/drivetrain/event_loop_localizer.h"
Austin Schuh378483c2019-01-20 16:36:40 -08007
8using ::frc971::control_loops::drivetrain::DrivetrainLoop;
9
10int main() {
Austin Schuh9fe68f72019-08-10 19:32:03 -070011 ::aos::InitNRT(true);
12
Alex Perrycb7da4b2019-08-28 19:35:56 -070013 aos::FlatbufferDetachedBuffer<aos::Configuration> config =
14 aos::configuration::ReadConfig("config.json");
15
16 ::aos::ShmEventLoop event_loop(&config.message());
James Kuszmaul09f564a2019-02-18 17:37:09 -080017 ::y2019::control_loops::drivetrain::EventLoopLocalizer localizer(
Austin Schuh9fe68f72019-08-10 19:32:03 -070018 &event_loop, ::y2019::control_loops::drivetrain::GetDrivetrainConfig());
Austin Schuh378483c2019-01-20 16:36:40 -080019 DrivetrainLoop drivetrain(
James Kuszmaul3431d622019-02-17 17:07:44 -080020 ::y2019::control_loops::drivetrain::GetDrivetrainConfig(), &event_loop,
21 &localizer);
Austin Schuh9fe68f72019-08-10 19:32:03 -070022
23 event_loop.Run();
24
Austin Schuh378483c2019-01-20 16:36:40 -080025 ::aos::Cleanup();
26 return 0;
27}