gobot.io/x/gobot/v2@v2.1.0/drivers/spi/helpers_test.go (about) 1 package spi 2 3 import ( 4 "fmt" 5 6 "gobot.io/x/gobot/v2" 7 "gobot.io/x/gobot/v2/system" 8 ) 9 10 // make sure that this SpiBusAdaptor fulfills all the required interfaces 11 var _ Connector = (*spiTestAdaptor)(nil) 12 var _ gobot.Connection = (*spiTestAdaptor)(nil) 13 14 type spiTestAdaptor struct { 15 sys *system.Accesser 16 //busNum int 17 spiConnectErr bool 18 spi *system.MockSpiAccess 19 connection Connection 20 } 21 22 func newSpiTestAdaptor() *spiTestAdaptor { 23 sys := system.NewAccesser() 24 spi := sys.UseMockSpi() 25 a := &spiTestAdaptor{ 26 sys: sys, 27 spi: spi, 28 } 29 return a 30 } 31 32 // spi.Connector interfaces 33 func (a *spiTestAdaptor) GetSpiConnection(busNum, chipNum, mode, bits int, maxSpeed int64) (Connection, error) { 34 if a.spiConnectErr { 35 return nil, fmt.Errorf("Invalid SPI connection in helper") 36 } 37 //a.busNum = busNum 38 sysdev, err := a.sys.NewSpiDevice(busNum, chipNum, mode, bits, maxSpeed) 39 a.connection = NewConnection(sysdev) 40 return a.connection, err 41 } 42 43 func (a *spiTestAdaptor) SpiDefaultBusNumber() int { return 0 } 44 func (a *spiTestAdaptor) SpiDefaultChipNumber() int { return 0 } 45 func (a *spiTestAdaptor) SpiDefaultMode() int { return 0 } 46 func (a *spiTestAdaptor) SpiDefaultBitCount() int { return 0 } 47 func (a *spiTestAdaptor) SpiDefaultMaxSpeed() int64 { return 0 } 48 49 // gobot.Connection interfaces 50 func (a *spiTestAdaptor) Connect() error { return nil } 51 func (a *spiTestAdaptor) Finalize() error { return nil } 52 func (a *spiTestAdaptor) Name() string { return "board name" } 53 func (a *spiTestAdaptor) SetName(string) {}