blob: 7804814b3aea37d87ca03c28cd6b2069a60a7470 [file] [log] [blame]
Stephan Massaltd021f972020-01-05 20:41:23 -08001#include "aos/events/shm_event_loop.h"
2#include "aos/init.h"
3#include "frc971/control_loops/drivetrain/drivetrain.h"
4#include "y2020/control_loops/drivetrain/drivetrain_base.h"
James Kuszmaul68f7d272020-02-22 20:55:02 -08005#include "y2020/control_loops/drivetrain/localizer.h"
Stephan Massaltd021f972020-01-05 20:41:23 -08006
7using ::frc971::control_loops::drivetrain::DrivetrainLoop;
8
James Kuszmaul2d8fa2a2020-03-01 13:51:50 -08009int main(int argc, char *argv[]) {
10 ::aos::InitGoogle(&argc, &argv);
James Kuszmaulad8a8082020-02-14 21:21:58 -080011 ::aos::InitNRT();
Stephan Massaltd021f972020-01-05 20:41:23 -080012
13 aos::FlatbufferDetachedBuffer<aos::Configuration> config =
14 aos::configuration::ReadConfig("config.json");
15
16 ::aos::ShmEventLoop event_loop(&config.message());
James Kuszmaul68f7d272020-02-22 20:55:02 -080017 ::y2020::control_loops::drivetrain::Localizer localizer(
Stephan Massaltd021f972020-01-05 20:41:23 -080018 &event_loop, ::y2020::control_loops::drivetrain::GetDrivetrainConfig());
19 DrivetrainLoop drivetrain(
20 ::y2020::control_loops::drivetrain::GetDrivetrainConfig(), &event_loop,
21 &localizer);
22
23 event_loop.Run();
24
25 ::aos::Cleanup();
26 return 0;
27}