blob: 833cba226ba9c38960c7a723f5d83e3d9864f1f2 [file] [log] [blame]
Adam Snaider43516782023-06-26 15:14:18 -07001use aos_configuration as config;
Adam Snaider43516782023-06-26 15:14:18 -07002use aos_events_shm_event_loop::ShmEventLoop;
Adam Snaider48a62f32023-10-02 15:49:23 -07003use aos_init::WithCppFlags;
4use 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 Snaider43516782023-06-26 15:14:18 -070016 aos_init::init();
17 let config = config::read_config_from(Path::new("pingpong_config.json")).unwrap();
18 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}