blob: dec9118f932da61a55a867f7c8e08673986a4345 [file] [log] [blame]
Austin Schuh2ca00ec2021-06-20 14:51:25 -07001#include <memory>
2
Stephan Massaltd021f972020-01-05 20:41:23 -08003#include "aos/events/shm_event_loop.h"
4#include "aos/init.h"
5#include "frc971/control_loops/drivetrain/drivetrain.h"
6#include "y2020/control_loops/drivetrain/drivetrain_base.h"
James Kuszmaul68f7d272020-02-22 20:55:02 -08007#include "y2020/control_loops/drivetrain/localizer.h"
Stephan Massaltd021f972020-01-05 20:41:23 -08008
9using ::frc971::control_loops::drivetrain::DrivetrainLoop;
10
James Kuszmaul2d8fa2a2020-03-01 13:51:50 -080011int main(int argc, char *argv[]) {
12 ::aos::InitGoogle(&argc, &argv);
Stephan Massaltd021f972020-01-05 20:41:23 -080013
14 aos::FlatbufferDetachedBuffer<aos::Configuration> config =
15 aos::configuration::ReadConfig("config.json");
16
17 ::aos::ShmEventLoop event_loop(&config.message());
James Kuszmaul68f7d272020-02-22 20:55:02 -080018 ::y2020::control_loops::drivetrain::Localizer localizer(
Stephan Massaltd021f972020-01-05 20:41:23 -080019 &event_loop, ::y2020::control_loops::drivetrain::GetDrivetrainConfig());
Austin Schuh2ca00ec2021-06-20 14:51:25 -070020 std::unique_ptr<DrivetrainLoop> drivetrain = std::make_unique<DrivetrainLoop>(
Stephan Massaltd021f972020-01-05 20:41:23 -080021 ::y2020::control_loops::drivetrain::GetDrivetrainConfig(), &event_loop,
22 &localizer);
23
24 event_loop.Run();
25
Stephan Massaltd021f972020-01-05 20:41:23 -080026 return 0;
27}