package main import ( "fmt" "os" "time" "github.com/pborman/getopt" ) var verboseLog bool var connectAddress string var serialTCPPort uint16 var enableSerialDevice bool var rigctldModel uint var disableRigctld bool var runCmd string var runCmdOnSerialPortCreated string var statusLogInterval time.Duration func parseArgs() { h := getopt.BoolLong("help", 'h', "display help") v := getopt.BoolLong("verbose", 'v', "Enable verbose (debug) logging") a := getopt.StringLong("address", 'a', "IC-705", "Connect to address") t := getopt.Uint16Long("serial-tcp-port", 't', 4533, "Expose radio's serial port on this TCP port") s := getopt.BoolLong("enable-serial-device", 's', "Expose radio's serial port as a virtual serial port") m := getopt.UintLong("rigctld-model", 'm', 3085, "rigctld model number") r := getopt.BoolLong("disable-rigctld", 'r', "Disable starting rigctld") e := getopt.StringLong("exec", 'e', "", "Exec cmd when connected") o := getopt.StringLong("exec-serial", 'o', "socat /tmp/kappanhang-IC-705.pty /tmp/vmware.pty", "Exec cmd when virtual serial port is created, set to - to disable") i := getopt.Uint16Long("log-interval", 'i', 100, "Status bar/log interval in milliseconds") getopt.Parse() if *h || *a == "" { fmt.Println(getAboutStr()) getopt.Usage() os.Exit(1) } verboseLog = *v connectAddress = *a serialTCPPort = *t enableSerialDevice = *s rigctldModel = *m disableRigctld = *r runCmd = *e runCmdOnSerialPortCreated = *o statusLogInterval = time.Duration(*i) * time.Millisecond }