blob: 5e3185c7f08574834936f5df6595ee35ba722f91 [file] [log] [blame]
Austin Schuh2ca00ec2021-06-20 14:51:25 -07001#include <memory>
Austin Schuh378483c2019-01-20 16:36:40 -08002
Alex Perrycb7da4b2019-08-28 19:35:56 -07003#include "aos/events/shm_event_loop.h"
Austin Schuh2ca00ec2021-06-20 14:51:25 -07004#include "aos/init.h"
Austin Schuh378483c2019-01-20 16:36:40 -08005#include "frc971/control_loops/drivetrain/drivetrain.h"
6#include "y2019/control_loops/drivetrain/drivetrain_base.h"
James Kuszmaul09f564a2019-02-18 17:37:09 -08007#include "y2019/control_loops/drivetrain/event_loop_localizer.h"
Austin Schuh378483c2019-01-20 16:36:40 -08008
9using ::frc971::control_loops::drivetrain::DrivetrainLoop;
10
Austin Schuh094d09b2020-11-20 23:26:52 -080011int main(int argc, char **argv) {
12 ::aos::InitGoogle(&argc, &argv);
Austin Schuh9fe68f72019-08-10 19:32:03 -070013
Alex Perrycb7da4b2019-08-28 19:35:56 -070014 aos::FlatbufferDetachedBuffer<aos::Configuration> config =
Austin Schuhc5fa6d92022-02-25 14:36:28 -080015 aos::configuration::ReadConfig("aos_config.json");
Alex Perrycb7da4b2019-08-28 19:35:56 -070016
17 ::aos::ShmEventLoop event_loop(&config.message());
James Kuszmaul09f564a2019-02-18 17:37:09 -080018 ::y2019::control_loops::drivetrain::EventLoopLocalizer localizer(
Austin Schuh9fe68f72019-08-10 19:32:03 -070019 &event_loop, ::y2019::control_loops::drivetrain::GetDrivetrainConfig());
Austin Schuh2ca00ec2021-06-20 14:51:25 -070020 std::unique_ptr<DrivetrainLoop> drivetrain = std::make_unique<DrivetrainLoop>(
James Kuszmaul3431d622019-02-17 17:07:44 -080021 ::y2019::control_loops::drivetrain::GetDrivetrainConfig(), &event_loop,
22 &localizer);
Austin Schuh9fe68f72019-08-10 19:32:03 -070023
24 event_loop.Run();
25
Austin Schuh378483c2019-01-20 16:36:40 -080026 return 0;
27}