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())
serial.WriteString(totty)
serial.Sync()
}
+ serial.Close()
}
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 {
if err != nil {
return nil, nil, err
}
- wr := make(chan string)
+ wr := make(chan string, 1)
rd := make(chan [][]byte, 20)
go serialWriter(wr, serial)
go serialReader(rd, serial)