From f2edd1a106446d156f1daf8d1dccce5149f56f3c Mon Sep 17 00:00:00 2001 From: Nonoo Date: Wed, 21 Oct 2020 09:26:21 +0200 Subject: [PATCH] Move platform specific stuff to separate files --- audio.go => audio-linux.go | 3 ++- main.go | 2 ++ serial-linux.go | 31 +++++++++++++++++++++++++++++++ serialstream.go | 17 ----------------- 4 files changed, 35 insertions(+), 18 deletions(-) rename audio.go => audio-linux.go (98%) create mode 100644 serial-linux.go diff --git a/audio.go b/audio-linux.go similarity index 98% rename from audio.go rename to audio-linux.go index 8cec411..c159926 100644 --- a/audio.go +++ b/audio-linux.go @@ -16,7 +16,8 @@ type audioStruct struct { // Send to this channel to play audio. play chan []byte - rec chan []byte + // Read from this channel for audio. + rec chan []byte mutex sync.Mutex playBuf *bytes.Buffer diff --git a/main.go b/main.go index 4b2aa30..0e8ab39 100644 --- a/main.go +++ b/main.go @@ -22,6 +22,7 @@ func exit(err error) { streams.audio.sendDisconnect() streams.serial.deinit() streams.control.sendDisconnect() + serialPort.deinit() audio.deinit() log.Print("exiting") @@ -46,6 +47,7 @@ func main() { log.Print("kappanhang by Norbert Varga HA2NON and Akos Marton ES1AKOS https://github.com/nonoo/kappanhang") parseArgs() + serialPort.init() audio.init() streams.audio.init() streams.serial.init() diff --git a/serial-linux.go b/serial-linux.go new file mode 100644 index 0000000..ff158b9 --- /dev/null +++ b/serial-linux.go @@ -0,0 +1,31 @@ +package main + +import ( + "github.com/google/goterm/term" + "github.com/nonoo/kappanhang/log" +) + +type serialPortStruct struct { + pty *term.PTY +} + +var serialPort serialPortStruct + +func (s *serialPortStruct) init() { + var err error + s.pty, err = term.OpenPTY() + if err != nil { + exit(err) + } + n, err := s.pty.PTSName() + if err != nil { + exit(err) + } + log.Print("opened ", n) +} + +func (s *serialPortStruct) deinit() { + if s.pty != nil { + s.pty.Close() + } +} diff --git a/serialstream.go b/serialstream.go index c052521..a007a28 100644 --- a/serialstream.go +++ b/serialstream.go @@ -1,29 +1,15 @@ package main import ( - "github.com/google/goterm/term" "github.com/nonoo/kappanhang/log" ) type serialStream struct { common streamCommon - - pty *term.PTY } func (s *serialStream) init() { s.common.open("serial", 50002) - - var err error - s.pty, err = term.OpenPTY() - if err != nil { - exit(err) - } - n, err := s.pty.PTSName() - if err != nil { - exit(err) - } - log.Print("opened ", n) } func (s *serialStream) handleRead(r []byte) { @@ -49,7 +35,4 @@ func (s *serialStream) start() { func (s *serialStream) deinit() { s.common.sendDisconnect() - if s.pty != nil { - s.pty.Close() - } }