blob: ed8bcb1a412f240c07a0700761876203f8a0ded8 [file] [log] [blame]
Austin Schuh99f7c6a2024-06-25 22:07:44 -07001#include "absl/flags/flag.h"
2
Austin Schuhe8153ae2023-01-28 11:15:58 -08003#include "aos/events/shm_event_loop.h"
4#include "aos/init.h"
5#include "aos/realtime.h"
6#include "frc971/imu_reader/imu.h"
James Kuszmaul41c68152023-02-23 14:54:59 -08007#include "y2023/constants.h"
Austin Schuhe8153ae2023-01-28 11:15:58 -08008
Austin Schuh99f7c6a2024-06-25 22:07:44 -07009ABSL_FLAG(std::string, config, "aos_config.json",
10 "Path to the config file to use.");
Austin Schuhe8153ae2023-01-28 11:15:58 -080011
12int main(int argc, char *argv[]) {
13 aos::InitGoogle(&argc, &argv);
14
15 aos::FlatbufferDetachedBuffer<aos::Configuration> config =
Austin Schuh99f7c6a2024-06-25 22:07:44 -070016 aos::configuration::ReadConfig(absl::GetFlag(FLAGS_config));
Austin Schuhe8153ae2023-01-28 11:15:58 -080017
18 aos::ShmEventLoop event_loop(&config.message());
James Kuszmaul41c68152023-02-23 14:54:59 -080019 frc971::imu::Imu imu(&event_loop,
20 y2023::constants::Values::DrivetrainEncoderToMeters(1));
Austin Schuhe8153ae2023-01-28 11:15:58 -080021
22 event_loop.SetRuntimeAffinity(aos::MakeCpusetFromCpus({0}));
23 event_loop.SetRuntimeRealtimePriority(55);
24
25 event_loop.Run();
26
27 return 0;
28}