kappanhang/args.go
2020-11-05 23:13:46 +01:00

57 lines
1.7 KiB
Go

package main
import (
"fmt"
"os"
"time"
"github.com/pborman/getopt"
)
var verboseLog bool
var connectAddress string
var username string
var password 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")
u := getopt.StringLong("username", 'u', "beer", "Username")
p := getopt.StringLong("password", 'p', "beerbeer", "Password")
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
username = *u
password = *p
serialTCPPort = *t
enableSerialDevice = *s
rigctldModel = *m
disableRigctld = *r
runCmd = *e
runCmdOnSerialPortCreated = *o
statusLogInterval = time.Duration(*i) * time.Millisecond
}