blob: 8fbb229347d27e26b1d2bffb33478f620ae03798 [file] [log] [blame]
// Copyright 2017 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package main
import (
"io"
"log"
"os"
"github.com/tarm/serial"
)
func init() {
configureSerialLogOutput = configureSerialLogOutputWindows
closeSerialLogOutput = closeSerialLogOutputWindows
}
var com1 *serial.Port
func configureSerialLogOutputWindows() {
c := &serial.Config{Name: "COM1", Baud: 9600}
var err error
com1, err = serial.OpenPort(c)
if err != nil {
// Oh well, we tried. This empirically works
// on Windows on GCE.
// We can log here anyway and hope somebody sees it
// in a GUI console:
log.Printf("serial.OpenPort: %v", err)
return
}
log.SetOutput(io.MultiWriter(com1, os.Stderr))
}
func closeSerialLogOutputWindows() {
if com1 != nil {
com1.Close()
com1 = nil
log.SetOutput(os.Stderr)
}
}