func (a *SpheroAdaptor) Finalize() (errs []error) {
	return a.Disconnect()
}
Finalize finalizes the SpheroAdaptor
package sphero
import (
	"io"
	"github.com/tarm/goserial"
)
type SpheroAdaptor struct {
	name      string
	port      string
	sp        io.ReadWriteCloser
	connected bool
	connect   func(string) (io.ReadWriteCloser, error)
}
func NewSpheroAdaptor(name string, port string) *SpheroAdaptor {
	return &SpheroAdaptor{
		name: name,
		port: port,
		connect: func(port string) (io.ReadWriteCloser, error) {
			return serial.OpenPort(&serial.Config{Name: port, Baud: 115200})
		},
	}
}
func (a *SpheroAdaptor) Name() string { return a.name }
func (a *SpheroAdaptor) Port() string { return a.port }
func (a *SpheroAdaptor) Connect() (errs []error) {
	if sp, err := a.connect(a.Port()); err != nil {
		return []error{err}
	} else {
		a.sp = sp
		a.connected = true
	}
	return
}
func (a *SpheroAdaptor) Reconnect() (errs []error) {
	if a.connected {
		a.Disconnect()
	}
	return a.Connect()
}
func (a *SpheroAdaptor) Disconnect() (errs []error) {
	if a.connected {
		if err := a.sp.Close(); err != nil {
			return []error{err}
		}
		a.connected = false
	}
	return
}