Files
MultiRoombaRover/pi/roverd/serial_dummy.go
T

59 lines
1.2 KiB
Go

//go:build dummy
package roverd
import (
"errors"
"io"
"log"
)
type dummyPort struct{}
func (dummyPort) Read(p []byte) (int, error) { return 0, io.EOF }
func (dummyPort) Write(p []byte) (int, error) { return len(p), nil }
func (dummyPort) Close() error { return nil }
func OpenSerial(cfg SerialConfig) (io.ReadWriteCloser, error) {
return dummyPort{}, nil
}
type SerialAdapter struct {
log *log.Logger
}
func NewSerialAdapter(_ io.ReadWriteCloser, logger *log.Logger) *SerialAdapter {
return &SerialAdapter{log: logger}
}
func (s *SerialAdapter) DriveDirect(left, right int) error {
s.log.Printf("[dummy] drive L=%d R=%d", left, right)
return nil
}
func (s *SerialAdapter) MotorPWM(main, side, vacuum int) error {
s.log.Printf("[dummy] motor main=%d side=%d vacuum=%d", main, side, vacuum)
return nil
}
func (s *SerialAdapter) StartSensorStream(packets []byte) error {
if len(packets) == 0 {
return errors.New("sensor stream requires packets")
}
return nil
}
func (s *SerialAdapter) PauseSensorStream(pause bool) error {
return nil
}
func (s *SerialAdapter) SendRaw(raw []byte) error {
s.log.Printf("[dummy] raw %v", raw)
return nil
}
func (s *SerialAdapter) SeekDock() error {
s.log.Printf("[dummy] seek dock")
return nil
}