blob: ab5b263d41533138989b8097fa8ca1347d1cec0c [file] [log] [blame]
Austin Schuh99f7c6a2024-06-25 22:07:44 -07001#include "absl/flags/flag.h"
2
Ariv Diggi0af59c02023-10-07 13:15:39 -07003#include "aos/events/shm_event_loop.h"
4#include "aos/init.h"
5#include "aos/realtime.h"
6#include "frc971/imu_reader/imu.h"
7#include "y2023_bot3/constants.h"
8
Austin Schuh99f7c6a2024-06-25 22:07:44 -07009ABSL_FLAG(std::string, config, "aos_config.json",
10 "Path to the config file to use.");
Ariv Diggi0af59c02023-10-07 13:15:39 -070011
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));
Ariv Diggi0af59c02023-10-07 13:15:39 -070017
18 aos::ShmEventLoop event_loop(&config.message());
19 frc971::imu::Imu imu(
20 &event_loop, y2023_bot3::constants::Values::DrivetrainEncoderToMeters(1));
21
22 event_loop.SetRuntimeAffinity(aos::MakeCpusetFromCpus({0}));
23 event_loop.SetRuntimeRealtimePriority(55);
24
25 event_loop.Run();
26
27 return 0;
28}