blob: ad1d9bdd9a60aa9ce1e639d87c6cf43dbd29a2b4 [file] [log] [blame]
John Park398c74a2018-10-20 21:17:39 -07001#include "aos/init.h"
Sabina Davisf4c5e762018-01-24 10:18:43 -08002
Alex Perrycb7da4b2019-08-28 19:35:56 -07003#include "aos/events/shm_event_loop.h"
Sabina Davisf4c5e762018-01-24 10:18:43 -08004#include "frc971/control_loops/drivetrain/drivetrain.h"
5#include "y2018/control_loops/drivetrain/drivetrain_base.h"
6
7using ::frc971::control_loops::drivetrain::DrivetrainLoop;
8
Austin Schuh094d09b2020-11-20 23:26:52 -08009int main(int argc, char **argv) {
10 ::aos::InitGoogle(&argc, &argv);
Austin Schuh9fe68f72019-08-10 19:32:03 -070011
Alex Perrycb7da4b2019-08-28 19:35:56 -070012 aos::FlatbufferDetachedBuffer<aos::Configuration> config =
13 aos::configuration::ReadConfig("config.json");
14
15 ::aos::ShmEventLoop event_loop(&config.message());
James Kuszmaul3431d622019-02-17 17:07:44 -080016 ::frc971::control_loops::drivetrain::DeadReckonEkf localizer(
Austin Schuh9fe68f72019-08-10 19:32:03 -070017 &event_loop, ::y2018::control_loops::drivetrain::GetDrivetrainConfig());
Sabina Davisf4c5e762018-01-24 10:18:43 -080018 DrivetrainLoop drivetrain(
James Kuszmaul3431d622019-02-17 17:07:44 -080019 ::y2018::control_loops::drivetrain::GetDrivetrainConfig(), &event_loop,
20 &localizer);
Austin Schuh9fe68f72019-08-10 19:32:03 -070021
22 event_loop.Run();
23
Sabina Davisf4c5e762018-01-24 10:18:43 -080024 return 0;
25}