diff --git a/samples/mcp3008.go b/samples/mcp3008.go index 28c8ff6..368d9ee 100644 --- a/samples/mcp3008.go +++ b/samples/mcp3008.go @@ -37,8 +37,6 @@ func main() { if err != nil { panic(err) } - fmt.Printf("analog value is: %v\n", val) } - } diff --git a/samples/spi.go b/samples/spi.go index 72ef4f2..1f702b2 100644 --- a/samples/spi.go +++ b/samples/spi.go @@ -18,9 +18,9 @@ func main() { spiBus := embd.NewSPIBus(embd.SPIMode0, 0, 1000000, 8, 0) defer spiBus.Close() - dataBuf := []uint8{1, 2, 3} + dataBuf := [3]uint8{1, 2, 3} - if err := spiBus.TransferAndRecieveData(dataBuf); err != nil { + if err := spiBus.TransferAndRecieveData(dataBuf[:]); err != nil { panic(err) } diff --git a/samples/spimcp3008.go b/samples/spimcp3008.go index e862cc6..045106c 100644 --- a/samples/spimcp3008.go +++ b/samples/spimcp3008.go @@ -36,12 +36,10 @@ func main() { } func getSensorValue(bus embd.SPIBus) (uint16, error) { - data := make([]uint8, 3) - data[0] = 1 - data[1] = 128 - data[2] = 0 + data := [3]uint8{1, 128, 0} + var err error - err = bus.TransferAndRecieveData(data) + err = bus.TransferAndRecieveData(data[:]) if err != nil { return uint16(0), err } diff --git a/spi.go b/spi.go index 1568f2d..1cc50e0 100644 --- a/spi.go +++ b/spi.go @@ -40,8 +40,10 @@ type SPIBus interface { // SPIDriver interface interacts with the host descriptors to allow us // control of SPI communication. type SPIDriver interface { + // Bus returns a SPIBus interface which allows us to use spi functionalities Bus(byte, byte, int, int, int) SPIBus + // Close cleans up all the initialized SPIbus Close() error } diff --git a/spidriver.go b/spidriver.go index 91766dd..cecc19d 100644 --- a/spidriver.go +++ b/spidriver.go @@ -14,6 +14,8 @@ type spiDriver struct { sbf spiBusFactory } +// NewSPIDriver returns a SPIDriver interface which allows control +// over the SPI bus. func NewSPIDriver(spiDevMinor byte, sbf spiBusFactory, i func() error) SPIDriver { return &spiDriver{ spiDevMinor: spiDevMinor, @@ -22,6 +24,7 @@ func NewSPIDriver(spiDevMinor byte, sbf spiBusFactory, i func() error) SPIDriver } } +// Bus returns a SPIBus interface which allows us to use spi functionalities func (s *spiDriver) Bus(mode, channel byte, speed, bpw, delay int) SPIBus { s.busMapLock.Lock() defer s.busMapLock.Unlock() @@ -32,6 +35,7 @@ func (s *spiDriver) Bus(mode, channel byte, speed, bpw, delay int) SPIBus { return b } +// Close cleans up all the initialized SPIbus func (s *spiDriver) Close() error { for _, b := range s.busMap { b.Close()