use clap::{Parser, Subcommand};
use std::path::PathBuf;
#[derive(Parser, Debug)]
#[command(
name = "super_cereal",
about = "Proxy a serial port over the network via RustDDS"
)]
pub struct Cli {
#[command(subcommand)]
pub command: Commands,
}
#[derive(Subcommand, Debug)]
pub enum Commands {
Serve {
#[arg(short, long)]
port: PathBuf,
#[arg(short, long, default_value_t = 115_200)]
baud: u32,
#[arg(short, long)]
channel: String,
#[arg(short, long, default_value_t = 0)]
domain: u16,
},
Attach {
#[arg(short, long)]
channel: String,
#[arg(short, long)]
link: PathBuf,
#[arg(short, long, default_value_t = 0)]
domain: u16,
},
List {
#[arg(short, long, default_value_t = 0)]
domain: u16,
#[arg(long, default_value_t = 3)]
wait: u64,
},
}