blob: d20eac686ff01045b47b14bcb5b25ed413f90043 [file] [log] [blame]
Adam Snaidercc622812023-11-07 17:59:27 -08001use aos::configuration;
2use aos::events::shm_event_loop::ShmEventLoop;
3use aos::init::WithCppFlags;
Adam Snaider48a62f32023-10-02 15:49:23 -07004use clap::Parser;
Adam Snaiderc5bdbd32023-10-19 18:20:56 -06005use std::path::Path;
Adam Snaider43516782023-06-26 15:14:18 -07006
Adam Snaiderc5bdbd32023-10-19 18:20:56 -06007use pong_lib::pong;
Adam Snaider43516782023-06-26 15:14:18 -07008
Adam Snaider48a62f32023-10-02 15:49:23 -07009/// Pong portion of a ping/pong system.
10#[derive(Parser, Debug)]
11#[command(name = "pong")]
12struct App {}
13
Adam Snaider43516782023-06-26 15:14:18 -070014fn main() {
Adam Snaider48a62f32023-10-02 15:49:23 -070015 let _app = App::parse_with_cpp_flags();
Adam Snaidercc622812023-11-07 17:59:27 -080016 aos::init::init();
17 let config = configuration::read_config_from(Path::new("pingpong_config.json")).unwrap();
Adam Snaider43516782023-06-26 15:14:18 -070018 ShmEventLoop::new(&config).run_with(|runtime| {
Adam Snaidere4367cb2023-10-20 15:14:31 -040019 let task = pong(*runtime);
Adam Snaidera3317c82023-10-02 16:02:36 -070020 runtime.set_realtime_priority(5);
Adam Snaider43516782023-06-26 15:14:18 -070021 runtime.spawn(task);
22 });
23}