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)  {}