1
0
Fork 0
huge-piano/port.go

52 lines
663 B
Go

package main
import (
"bufio"
"fmt"
"log"
"github.com/goburrow/serial"
)
type port struct {
*serial.Config
samp chan []byte
}
func (p *port) watch() {
log.Println("Opening serial port...")
port, err := serial.Open(p.Config)
if err != nil {
panic(err)
}
defer port.Close()
buf := bufio.NewReader(port)
for {
f, err := buf.ReadBytes(0xff)
if err != nil {
panic(err)
}
if len(f) < 9*8 {
continue
}
fmt.Print(".")
p.samp <- f
}
}
func newPort(addr string) *port {
return &port{
Config: &serial.Config{
Address: addr,
BaudRate: 115200,
//BaudRate: 1000000,
Parity: "N",
},
samp: make(chan []byte),
}
}