From 49a55094d4a053bce44273c76685b46c8611d83c Mon Sep 17 00:00:00 2001 From: Nonoo Date: Mon, 21 Dec 2020 08:57:06 +0100 Subject: [PATCH] Cleanup data mode enable on TX --- args.go | 6 +++--- audio-linux.go | 10 +++++----- civcontrol.go | 4 ---- rigctld.go | 6 ++++++ 4 files changed, 14 insertions(+), 12 deletions(-) diff --git a/args.go b/args.go index 08b59b4..230b2f1 100644 --- a/args.go +++ b/args.go @@ -20,7 +20,7 @@ var rigctldPort uint16 var runCmd string var runCmdOnSerialPortCreated string var statusLogInterval time.Duration -var digitalOnTx bool +var setDataModeOnTx bool func parseArgs() { h := getopt.BoolLong("help", 'h', "display help") @@ -36,7 +36,7 @@ func parseArgs() { 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") - d := getopt.BoolLong("digital-on-TX", 'd', "Automatically enable data mode when TX from kappanhang") + d := getopt.BoolLong("set-data-tx", 'd', "Automatically enable data mode on TX") getopt.Parse() @@ -58,5 +58,5 @@ func parseArgs() { runCmd = *e runCmdOnSerialPortCreated = *o statusLogInterval = time.Duration(*i) * time.Millisecond - digitalOnTx = *d + setDataModeOnTx = *d } diff --git a/audio-linux.go b/audio-linux.go index 2f1a349..5928cb2 100644 --- a/audio-linux.go +++ b/audio-linux.go @@ -87,11 +87,6 @@ func (a *audioStruct) togglePlaybackToDefaultSoundcard() { func (a *audioStruct) toggleRecFromDefaultSoundcard() { if a.defaultSoundcardStream.recStream == nil { - if digitalOnTx { - if err := civControl.enableDataMode(); err != nil { - log.Error("can't change datamode: ", err) - } - } ss := pulse.SampleSpec{Format: pulse.SAMPLE_S16LE, Rate: audioSampleRate, Channels: 1} battr := pulse.NewBufferAttr() battr.Fragsize = uint32(audioFrameSize) @@ -105,6 +100,11 @@ func (a *audioStruct) toggleRecFromDefaultSoundcard() { log.Print("turned on audio rec") statusLog.reportAudioRec(true) + if setDataModeOnTx { + if err := civControl.setDataMode(true); err != nil { + log.Error("can't enable data mode: ", err) + } + } if err := civControl.setPTT(true); err != nil { log.Error("can't turn on ptt: ", err) } diff --git a/civcontrol.go b/civcontrol.go index 032891d..28dc440 100644 --- a/civcontrol.go +++ b/civcontrol.go @@ -1055,10 +1055,6 @@ func (s *civControlStruct) toggleDataMode() error { return s.setDataMode(!s.state.dataMode) } -func (s *civControlStruct) enableDataMode() error { - return s.setDataMode(true) -} - func (s *civControlStruct) incBand() error { i := s.state.bandIdx + 1 if i >= len(civBands) { diff --git a/rigctld.go b/rigctld.go index e3061e6..5acc9d4 100644 --- a/rigctld.go +++ b/rigctld.go @@ -222,6 +222,12 @@ func (s *rigctldStruct) processCmd(cmd string) (close bool, err error) { err = s.send(res, "\n") case cmdSplit[0] == "T": if cmdSplit[1] != "0" { + if setDataModeOnTx { + if err := civControl.setDataMode(true); err != nil { + log.Error("can't enable data mode: ", err) + } + } + err = civControl.setPTT(true) } else { err = civControl.setPTT(false)