From cd27930fe403cf4b7a4441dfc0bb4fb30a32cb34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Se=C3=A1n=20C=2E=20McCord?= Date: Mon, 13 Aug 2018 11:20:42 -0400 Subject: [PATCH] bitbang/spi: disable CS before manipulating CLK (#276) Fixed #275 --- experimental/devices/bitbang/spi.go | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/experimental/devices/bitbang/spi.go b/experimental/devices/bitbang/spi.go index ec8c7b7..c651586 100644 --- a/experimental/devices/bitbang/spi.go +++ b/experimental/devices/bitbang/spi.go @@ -30,6 +30,11 @@ import ( // // cs can be nil. func NewSPI(clk, mosi gpio.PinOut, miso gpio.PinIn, cs gpio.PinOut) (*SPI, error) { + if cs != nil { + if err := cs.Out(gpio.High); err != nil { + return nil, err + } + } if err := clk.Out(gpio.High); err != nil { return nil, err } @@ -41,12 +46,6 @@ func NewSPI(clk, mosi gpio.PinOut, miso gpio.PinIn, cs gpio.PinOut) (*SPI, error return nil, err } } - if cs != nil { - // Low means active. - if err := cs.Out(gpio.High); err != nil { - return nil, err - } - } return &SPI{spiConn: spiConn{sck: clk, sdi: miso, sdo: mosi, csn: cs}}, nil }