blob: 6e02cc789ecb8509d0d9dd1c019c90a291105c01 [file] [log] [blame]
milind-u086d7262022-01-19 20:44:18 -08001#include <memory>
2
3#include "aos/events/shm_event_loop.h"
4#include "aos/init.h"
5#include "frc971/control_loops/drivetrain/drivetrain.h"
James Kuszmaule3df1ed2023-02-20 16:21:17 -08006#include "frc971/control_loops/drivetrain/localization/puppet_localizer.h"
milind-u086d7262022-01-19 20:44:18 -08007#include "y2022/control_loops/drivetrain/drivetrain_base.h"
8
9using ::frc971::control_loops::drivetrain::DrivetrainLoop;
10
11int main(int argc, char **argv) {
James Kuszmaul81294542022-02-20 16:21:38 -080012 aos::InitGoogle(&argc, &argv);
milind-u086d7262022-01-19 20:44:18 -080013
14 aos::FlatbufferDetachedBuffer<aos::Configuration> config =
Austin Schuhc5fa6d92022-02-25 14:36:28 -080015 aos::configuration::ReadConfig("aos_config.json");
milind-u086d7262022-01-19 20:44:18 -080016
James Kuszmaul81294542022-02-20 16:21:38 -080017 aos::ShmEventLoop event_loop(&config.message());
James Kuszmaule3df1ed2023-02-20 16:21:17 -080018 std::unique_ptr<::frc971::control_loops::drivetrain::PuppetLocalizer>
19 localizer =
20 std::make_unique<frc971::control_loops::drivetrain::PuppetLocalizer>(
21 &event_loop,
22 y2022::control_loops::drivetrain::GetDrivetrainConfig());
milind-u086d7262022-01-19 20:44:18 -080023 std::unique_ptr<DrivetrainLoop> drivetrain = std::make_unique<DrivetrainLoop>(
James Kuszmaul81294542022-02-20 16:21:38 -080024 y2022::control_loops::drivetrain::GetDrivetrainConfig(), &event_loop,
25 localizer.get());
milind-u086d7262022-01-19 20:44:18 -080026
27 event_loop.Run();
28
29 return 0;
30}