X-Git-Url: https://git.realraum.at/?a=blobdiff_plain;f=go%2Fdoor_daemon_zmq%2Fserial_tty.go;h=e6099716b97af90d53b91c230516563756937342;hb=8a9d96086ca3e1bf73001f8fdd32c5431668baf3;hp=d7fd7a94563ee3d73282a1ba4107706dbfea9f35;hpb=5f6f582835748fcc15616c11eaa76bac358e9fc2;p=svn42.git diff --git a/go/door_daemon_zmq/serial_tty.go b/go/door_daemon_zmq/serial_tty.go index d7fd7a9..e609971 100644 --- a/go/door_daemon_zmq/serial_tty.go +++ b/go/door_daemon_zmq/serial_tty.go @@ -3,20 +3,19 @@ package main import ( - "fmt" "bufio" "bytes" "os" "svn.spreadspace.org/realraum/go.svn/termios" - "log" ) + // ---------- Serial TTY Code ------------- func openTTY(name string) (*os.File, error) { file, err := os.OpenFile(name,os.O_RDWR, 0600) // For read access. if err != nil { - log.Println(err.Error()) + Syslog_.Println(err.Error()) return nil, err } termios.Ttyfd(file.Fd()) @@ -29,6 +28,7 @@ func serialWriter(in <- chan string, serial * os.File) { serial.WriteString(totty) serial.Sync() } + serial.Close() } func serialReader(out chan <- [][]byte, serial * os.File) { @@ -36,7 +36,7 @@ func serialReader(out chan <- [][]byte, serial * os.File) { linescanner.Split(bufio.ScanLines) for linescanner.Scan() { if err := linescanner.Err(); err != nil { - panic(fmt.Sprintf("Error in read from serial: %v\n",err.Error())) + panic(err.Error()) } text := bytes.Fields([]byte(linescanner.Text())) if len(text) == 0 { @@ -51,8 +51,8 @@ func OpenAndHandleSerial(filename string) (chan string, chan [][]byte, error) { if err != nil { return nil, nil, err } - wr := make(chan string) - rd := make(chan [][]byte, 10) + wr := make(chan string, 1) + rd := make(chan [][]byte, 20) go serialWriter(wr, serial) go serialReader(rd, serial) return wr, rd, nil