all: changeover to eliminate all direct use of master/slave terminology

Signed-off-by: deadprogram <ron@hybridgroup.com>
This commit is contained in:
deadprogram
2020-07-15 20:48:41 +02:00
committed by Ron Evans
parent de27fae9a2
commit 74c9ff4c76
17 changed files with 115 additions and 115 deletions
+1 -1
View File
@@ -20,7 +20,7 @@ Please first open a Github issue. We want to help, and also make sure that there
## How to use our Github repository ## How to use our Github repository
The `master` branch of this repo will always have the latest released version of the TinyGo drivers. All of the active development work for the next release will take place in the `dev` branch. The TinyGo drivers will use semantic versioning and will create a tag/release for each release. The `release` branch of this repo will always have the latest released version of the TinyGo drivers. All of the active development work for the next release will take place in the `dev` branch. The TinyGo drivers will use semantic versioning and will create a tag/release for each release.
Here is how to contribute back some code or documentation: Here is how to contribute back some code or documentation:
+2 -2
View File
@@ -42,8 +42,8 @@ func New(b SPI) Device {
// NewSoftwareSPI returns a new APA102 driver that will use a software based // NewSoftwareSPI returns a new APA102 driver that will use a software based
// implementation of the SPI protocol. // implementation of the SPI protocol.
func NewSoftwareSPI(sckPin, mosiPin machine.Pin, delay uint32) Device { func NewSoftwareSPI(sckPin, sdoPin machine.Pin, delay uint32) Device {
return New(&bbSPI{SCK: sckPin, MOSI: mosiPin, Delay: delay}) return New(&bbSPI{SCK: sckPin, SDO: sdoPin, Delay: delay})
} }
// WriteColors writes the given RGBA color slice out using the APA102 protocol. // WriteColors writes the given RGBA color slice out using the APA102 protocol.
+8 -8
View File
@@ -9,16 +9,16 @@ import "machine"
// this more generic and include it in the TinyGo "machine" package instead. // this more generic and include it in the TinyGo "machine" package instead.
type bbSPI struct { type bbSPI struct {
SCK machine.Pin SCK machine.Pin
MOSI machine.Pin SDO machine.Pin
Delay uint32 Delay uint32
} }
// Configure sets up the SCK and MOSI pins as outputs and sets them low // Configure sets up the SCK and SDO pins as outputs and sets them low
func (s *bbSPI) Configure() { func (s *bbSPI) Configure() {
s.SCK.Configure(machine.PinConfig{Mode: machine.PinOutput}) s.SCK.Configure(machine.PinConfig{Mode: machine.PinOutput})
s.MOSI.Configure(machine.PinConfig{Mode: machine.PinOutput}) s.SDO.Configure(machine.PinConfig{Mode: machine.PinOutput})
s.SCK.Low() s.SCK.Low()
s.MOSI.Low() s.SDO.Low()
if s.Delay == 0 { if s.Delay == 0 {
s.Delay = 1 s.Delay = 1
} }
@@ -50,11 +50,11 @@ func (s *bbSPI) Transfer(b byte) (byte, error) {
s.SCK.High() s.SCK.High()
s.delay() s.delay()
// write the value to MOSI (MSB first) // write the value to SDO (MSB first)
if b&(1<<(7-i)) == 0 { if b&(1<<(7-i)) == 0 {
s.MOSI.Low() s.SDO.Low()
} else { } else {
s.MOSI.High() s.SDO.High()
} }
s.delay() s.delay()
@@ -62,7 +62,7 @@ func (s *bbSPI) Transfer(b byte) (byte, error) {
s.SCK.Low() s.SCK.Low()
s.delay() s.delay()
// for actual SPI would try to read the MISO value here // for actual SPI would try to read the SDI value here
s.delay() s.delay()
} }
+2 -2
View File
@@ -13,8 +13,8 @@ func main() {
machine.SPI1.Configure(machine.SPIConfig{ machine.SPI1.Configure(machine.SPIConfig{
SCK: machine.SPI1_SCK_PIN, SCK: machine.SPI1_SCK_PIN,
MOSI: machine.SPI1_MOSI_PIN, SDO: machine.SPI1_SDO_PIN,
MISO: machine.SPI1_MISO_PIN, SDI: machine.SPI1_SDI_PIN,
Frequency: 8000000, Frequency: 8000000,
}) })
machine.I2C0.Configure(machine.I2CConfig{SCL: machine.SCL_PIN, SDA: machine.SDA_PIN}) machine.I2C0.Configure(machine.I2CConfig{SCL: machine.SCL_PIN, SDA: machine.SDA_PIN})
+3 -3
View File
@@ -3,7 +3,7 @@ package main
import ( import (
"machine" "machine"
"tinygo.org/x/drivers/examples/flash/console" console_example "tinygo.org/x/drivers/examples/flash/console"
"tinygo.org/x/drivers/flash" "tinygo.org/x/drivers/flash"
) )
@@ -11,8 +11,8 @@ func main() {
console_example.RunFor( console_example.RunFor(
flash.NewSPI( flash.NewSPI(
&machine.SPI1, &machine.SPI1,
machine.SPI1_MOSI_PIN, machine.SPI1_SDO_PIN,
machine.SPI1_MISO_PIN, machine.SPI1_SDI_PIN,
machine.SPI1_SCK_PIN, machine.SPI1_SCK_PIN,
machine.SPI1_CS_PIN, machine.SPI1_CS_PIN,
), ),
+2 -2
View File
@@ -22,8 +22,8 @@ var (
func init() { func init() {
machine.SPI3.Configure(machine.SPIConfig{ machine.SPI3.Configure(machine.SPIConfig{
SCK: machine.LCD_SCK_PIN, SCK: machine.LCD_SCK_PIN,
MOSI: machine.LCD_MOSI_PIN, SDO: machine.LCD_SDO_PIN,
MISO: machine.LCD_MISO_PIN, SDI: machine.LCD_SDI_PIN,
Frequency: 40000000, Frequency: 40000000,
}) })
} }
@@ -22,8 +22,8 @@ var (
func init() { func init() {
machine.SPI3.Configure(machine.SPIConfig{ machine.SPI3.Configure(machine.SPIConfig{
SCK: machine.LCD_SCK_PIN, SCK: machine.LCD_SCK_PIN,
MOSI: machine.LCD_MOSI_PIN, SDO: machine.LCD_SDO_PIN,
MISO: machine.LCD_MISO_PIN, SDI: machine.LCD_SDI_PIN,
Frequency: 40000000, Frequency: 40000000,
}) })
} }
+2 -2
View File
@@ -22,8 +22,8 @@ var (
func init() { func init() {
machine.SPI3.Configure(machine.SPIConfig{ machine.SPI3.Configure(machine.SPIConfig{
SCK: machine.LCD_SCK_PIN, SCK: machine.LCD_SCK_PIN,
MOSI: machine.LCD_MOSI_PIN, SDO: machine.LCD_SDO_PIN,
MISO: machine.LCD_MISO_PIN, SDI: machine.LCD_SDI_PIN,
Frequency: 40000000, Frequency: 40000000,
}) })
} }
+2 -2
View File
@@ -62,8 +62,8 @@ func main() {
// Configure SPI for 8Mhz, Mode 0, MSB First // Configure SPI for 8Mhz, Mode 0, MSB First
spi.Configure(machine.SPIConfig{ spi.Configure(machine.SPIConfig{
Frequency: 8 * 1e6, Frequency: 8 * 1e6,
MOSI: machine.NINA_MOSI, SDO: machine.NINA_SDO,
MISO: machine.NINA_MISO, SDI: machine.NINA_SDI,
SCK: machine.NINA_SCK, SCK: machine.NINA_SCK,
}) })
+2 -2
View File
@@ -69,8 +69,8 @@ func main() {
// Configure SPI for 8Mhz, Mode 0, MSB First // Configure SPI for 8Mhz, Mode 0, MSB First
spi.Configure(machine.SPIConfig{ spi.Configure(machine.SPIConfig{
Frequency: 8 * 1e6, Frequency: 8 * 1e6,
MOSI: machine.NINA_MOSI, SDO: machine.NINA_SDO,
MISO: machine.NINA_MISO, SDI: machine.NINA_SDI,
SCK: machine.NINA_SCK, SCK: machine.NINA_SCK,
}) })
+2 -2
View File
@@ -46,8 +46,8 @@ func main() {
// Configure SPI for 8Mhz, Mode 0, MSB First // Configure SPI for 8Mhz, Mode 0, MSB First
machine.NINA_SPI.Configure(machine.SPIConfig{ machine.NINA_SPI.Configure(machine.SPIConfig{
Frequency: 8 * 1e6, Frequency: 8 * 1e6,
MOSI: machine.NINA_MOSI, SDO: machine.NINA_SDO,
MISO: machine.NINA_MISO, SDI: machine.NINA_SDI,
SCK: machine.NINA_SCK, SCK: machine.NINA_SCK,
}) })
adaptor.Configure() adaptor.Configure()
+2 -2
View File
@@ -55,8 +55,8 @@ func main() {
// Configure SPI for 8Mhz, Mode 0, MSB First // Configure SPI for 8Mhz, Mode 0, MSB First
spi.Configure(machine.SPIConfig{ spi.Configure(machine.SPIConfig{
Frequency: 8 * 1e6, Frequency: 8 * 1e6,
MOSI: machine.NINA_MOSI, SDO: machine.NINA_SDO,
MISO: machine.NINA_MISO, SDI: machine.NINA_SDI,
SCK: machine.NINA_SCK, SCK: machine.NINA_SCK,
}) })
+2 -2
View File
@@ -43,8 +43,8 @@ func main() {
// Configure SPI for 8Mhz, Mode 0, MSB First // Configure SPI for 8Mhz, Mode 0, MSB First
machine.NINA_SPI.Configure(machine.SPIConfig{ machine.NINA_SPI.Configure(machine.SPIConfig{
Frequency: 8 * 1e6, Frequency: 8 * 1e6,
MOSI: machine.NINA_MOSI, SDO: machine.NINA_SDO,
MISO: machine.NINA_MISO, SDI: machine.NINA_SDI,
SCK: machine.NINA_SCK, SCK: machine.NINA_SCK,
}) })
adaptor.Configure() adaptor.Configure()
+2 -2
View File
@@ -56,8 +56,8 @@ func main() {
// Configure SPI for 8Mhz, Mode 0, MSB First // Configure SPI for 8Mhz, Mode 0, MSB First
spi.Configure(machine.SPIConfig{ spi.Configure(machine.SPIConfig{
Frequency: 8 * 1e6, Frequency: 8 * 1e6,
MOSI: machine.NINA_MOSI, SDO: machine.NINA_SDO,
MISO: machine.NINA_MISO, SDI: machine.NINA_SDI,
SCK: machine.NINA_SCK, SCK: machine.NINA_SCK,
}) })
+13 -13
View File
@@ -16,24 +16,24 @@ type transport interface {
// NewSPI returns a pointer to a flash device that uses a SPI peripheral to // NewSPI returns a pointer to a flash device that uses a SPI peripheral to
// communicate with a serial memory chip. // communicate with a serial memory chip.
func NewSPI(spi *machine.SPI, mosi, miso, sck, cs machine.Pin) *Device { func NewSPI(spi *machine.SPI, sdo, sdi, sck, cs machine.Pin) *Device {
return &Device{ return &Device{
trans: &spiTransport{ trans: &spiTransport{
spi: spi, spi: spi,
mosi: mosi, sdo: sdo,
miso: miso, sdi: sdi,
sck: sck, sck: sck,
ss: cs, ss: cs,
}, },
} }
} }
type spiTransport struct { type spiTransport struct {
spi *machine.SPI spi *machine.SPI
mosi machine.Pin sdo machine.Pin
miso machine.Pin sdi machine.Pin
sck machine.Pin sck machine.Pin
ss machine.Pin ss machine.Pin
} }
func (tr *spiTransport) configure(config *DeviceConfig) { func (tr *spiTransport) configure(config *DeviceConfig) {
@@ -53,8 +53,8 @@ func (tr *spiTransport) setClockSpeed(hz uint32) error {
} }
tr.spi.Configure(machine.SPIConfig{ tr.spi.Configure(machine.SPIConfig{
Frequency: hz, Frequency: hz,
MISO: tr.miso, SDI: tr.sdi,
MOSI: tr.mosi, SDO: tr.sdo,
SCK: tr.sck, SCK: tr.sck,
LSBFirst: false, LSBFirst: false,
Mode: 0, Mode: 0,
+5 -5
View File
@@ -91,11 +91,11 @@ const (
EXT_SENS_DATA_22 = 0x5F EXT_SENS_DATA_22 = 0x5F
EXT_SENS_DATA_23 = 0x60 EXT_SENS_DATA_23 = 0x60
// I2C slave data out // I2C peripheral data out
I2C_SLV0_DO = 0x63 I2C_PER0_DO = 0x63
I2C_SLV1_DO = 0x64 I2C_PER1_DO = 0x64
I2C_SLV2_DO = 0x65 I2C_PER2_DO = 0x65
I2C_SLV3_DO = 0x66 I2C_PER3_DO = 0x66
I2C_MST_DELAY_CT = 0x67 I2C_MST_DELAY_CT = 0x67
SIGNAL_PATH_RES = 0x68 // Signal path reset SIGNAL_PATH_RES = 0x68 // Signal path reset
+63 -63
View File
@@ -134,23 +134,23 @@ const (
CmdSetDigitalWrite = 0x51 CmdSetDigitalWrite = 0x51
CmdSetAnalogWrite = 0x52 CmdSetAnalogWrite = 0x52
ErrTimeoutSlaveReady Error = 0x01 ErrTimeoutChipReady Error = 0x01
ErrTimeoutSlaveSelect Error = 0x02 ErrTimeoutChipSelect Error = 0x02
ErrCheckStartCmd Error = 0x03 ErrCheckStartCmd Error = 0x03
ErrWaitRsp Error = 0x04 ErrWaitRsp Error = 0x04
ErrUnexpectedLength Error = 0xE0 ErrUnexpectedLength Error = 0xE0
ErrNoParamsReturned Error = 0xE1 ErrNoParamsReturned Error = 0xE1
ErrIncorrectSentinel Error = 0xE2 ErrIncorrectSentinel Error = 0xE2
ErrCmdErrorReceived Error = 0xEF ErrCmdErrorReceived Error = 0xEF
ErrNotImplemented Error = 0xF0 ErrNotImplemented Error = 0xF0
ErrUnknownHost Error = 0xF1 ErrUnknownHost Error = 0xF1
ErrSocketAlreadySet Error = 0xF2 ErrSocketAlreadySet Error = 0xF2
ErrConnectionTimeout Error = 0xF3 ErrConnectionTimeout Error = 0xF3
ErrNoData Error = 0xF4 ErrNoData Error = 0xF4
ErrDataNotWritten Error = 0xF5 ErrDataNotWritten Error = 0xF5
ErrCheckDataError Error = 0xF6 ErrCheckDataError Error = 0xF6
ErrBufferTooSmall Error = 0xF7 ErrBufferTooSmall Error = 0xF7
ErrNoSocketAvail Error = 0xFF ErrNoSocketAvail Error = 0xFF
NoSocketAvail uint8 = 0xFF NoSocketAvail uint8 = 0xFF
) )
@@ -296,8 +296,8 @@ func (d *Device) StartClient(addr uint32, port uint16, sock uint8, mode uint8) e
println("[StartClient] called StartClient()\r") println("[StartClient] called StartClient()\r")
fmt.Printf("[StartClient] addr: % 02X, port: %d, sock: %d\r\n", addr, port, sock) fmt.Printf("[StartClient] addr: % 02X, port: %d, sock: %d\r\n", addr, port, sock)
} }
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
d.spiSlaveDeselect() d.spiChipDeselect()
return err return err
} }
l := d.sendCmd(CmdStartClientTCP, 4) l := d.sendCmd(CmdStartClientTCP, 4)
@@ -306,7 +306,7 @@ func (d *Device) StartClient(addr uint32, port uint16, sock uint8, mode uint8) e
l += d.sendParam8(sock, false) l += d.sendParam8(sock, false)
l += d.sendParam8(mode, true) l += d.sendParam8(mode, true)
d.addPadding(l) d.addPadding(l)
d.spiSlaveDeselect() d.spiChipDeselect()
_, err := d.waitRspCmd1(CmdStartClientTCP) _, err := d.waitRspCmd1(CmdStartClientTCP)
return err return err
} }
@@ -320,15 +320,15 @@ func (d *Device) GetClientState(sock uint8) (uint8, error) {
} }
func (d *Device) SendData(buf []byte, sock uint8) (uint16, error) { func (d *Device) SendData(buf []byte, sock uint8) (uint16, error) {
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
d.spiSlaveDeselect() d.spiChipDeselect()
return 0, err return 0, err
} }
l := d.sendCmd(CmdSendDataTCP, 2) l := d.sendCmd(CmdSendDataTCP, 2)
l += d.sendParamBuf([]byte{sock}, false) l += d.sendParamBuf([]byte{sock}, false)
l += d.sendParamBuf(buf, true) l += d.sendParamBuf(buf, true)
d.addPadding(l) d.addPadding(l)
d.spiSlaveDeselect() d.spiChipDeselect()
return d.getUint16(d.waitRspCmd1(CmdSendDataTCP)) return d.getUint16(d.waitRspCmd1(CmdSendDataTCP))
} }
@@ -348,8 +348,8 @@ func (d *Device) CheckDataSent(sock uint8) (bool, error) {
} }
func (d *Device) GetDataBuf(sock uint8, buf []byte) (int, error) { func (d *Device) GetDataBuf(sock uint8, buf []byte) (int, error) {
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
d.spiSlaveDeselect() d.spiChipDeselect()
return 0, err return 0, err
} }
p := uint16(len(buf)) p := uint16(len(buf))
@@ -357,13 +357,13 @@ func (d *Device) GetDataBuf(sock uint8, buf []byte) (int, error) {
l += d.sendParamBuf([]byte{sock}, false) l += d.sendParamBuf([]byte{sock}, false)
l += d.sendParamBuf([]byte{uint8(p & 0x00FF), uint8((p) >> 8)}, true) l += d.sendParamBuf([]byte{uint8(p & 0x00FF), uint8((p) >> 8)}, true)
d.addPadding(l) d.addPadding(l)
d.spiSlaveDeselect() d.spiChipDeselect()
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
d.spiSlaveDeselect() d.spiChipDeselect()
return 0, err return 0, err
} }
n, err := d.waitRspBuf16(CmdGetDatabufTCP, buf) n, err := d.waitRspBuf16(CmdGetDatabufTCP, buf)
d.spiSlaveDeselect() d.spiChipDeselect()
return int(n), err return int(n), err
} }
@@ -376,8 +376,8 @@ func (d *Device) StopClient(sock uint8) error {
} }
func (d *Device) StartServer(port uint16, sock uint8, mode uint8) error { func (d *Device) StartServer(port uint16, sock uint8, mode uint8) error {
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
d.spiSlaveDeselect() d.spiChipDeselect()
return err return err
} }
l := d.sendCmd(CmdStartServerTCP, 3) l := d.sendCmd(CmdStartServerTCP, 3)
@@ -385,36 +385,36 @@ func (d *Device) StartServer(port uint16, sock uint8, mode uint8) error {
l += d.sendParam8(sock, false) l += d.sendParam8(sock, false)
l += d.sendParam8(mode, true) l += d.sendParam8(mode, true)
d.addPadding(l) d.addPadding(l)
d.spiSlaveDeselect() d.spiChipDeselect()
_, err := d.waitRspCmd1(CmdStartClientTCP) _, err := d.waitRspCmd1(CmdStartClientTCP)
return err return err
} }
// InsertDataBuf adds data to the buffer used for sending UDP data // InsertDataBuf adds data to the buffer used for sending UDP data
func (d *Device) InsertDataBuf(buf []byte, sock uint8) (bool, error) { func (d *Device) InsertDataBuf(buf []byte, sock uint8) (bool, error) {
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
d.spiSlaveDeselect() d.spiChipDeselect()
return false, err return false, err
} }
l := d.sendCmd(CmdInsertDataBuf, 2) l := d.sendCmd(CmdInsertDataBuf, 2)
l += d.sendParamBuf([]byte{sock}, false) l += d.sendParamBuf([]byte{sock}, false)
l += d.sendParamBuf(buf, true) l += d.sendParamBuf(buf, true)
d.addPadding(l) d.addPadding(l)
d.spiSlaveDeselect() d.spiChipDeselect()
n, err := d.getUint8(d.waitRspCmd1(CmdInsertDataBuf)) n, err := d.getUint8(d.waitRspCmd1(CmdInsertDataBuf))
return n == 1, err return n == 1, err
} }
// SendUDPData sends the data previously added to the UDP buffer // SendUDPData sends the data previously added to the UDP buffer
func (d *Device) SendUDPData(sock uint8) (bool, error) { func (d *Device) SendUDPData(sock uint8) (bool, error) {
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
d.spiSlaveDeselect() d.spiChipDeselect()
return false, err return false, err
} }
l := d.sendCmd(CmdSendDataUDP, 1) l := d.sendCmd(CmdSendDataUDP, 1)
l += d.sendParam8(sock, true) l += d.sendParam8(sock, true)
d.addPadding(l) d.addPadding(l)
d.spiSlaveDeselect() d.spiChipDeselect()
n, err := d.getUint8(d.waitRspCmd1(CmdSendDataUDP)) n, err := d.getUint8(d.waitRspCmd1(CmdSendDataUDP))
return n == 1, err return n == 1, err
} }
@@ -710,8 +710,8 @@ func (d *Device) reqRspStr0(cmd uint8, sl []string) (l uint8, err error) {
if err := d.sendCmd0(cmd); err != nil { if err := d.sendCmd0(cmd); err != nil {
return 0, err return 0, err
} }
defer d.spiSlaveDeselect() defer d.spiChipDeselect()
if err = d.waitForSlaveSelect(); err != nil { if err = d.waitForChipSelect(); err != nil {
return return
} }
return d.waitRspStr(cmd, sl) return d.waitRspStr(cmd, sl)
@@ -722,16 +722,16 @@ func (d *Device) reqRspStr1(cmd uint8, data uint8, sl []string) (uint8, error) {
if err := d.sendCmdPadded1(cmd, data); err != nil { if err := d.sendCmdPadded1(cmd, data); err != nil {
return 0, err return 0, err
} }
defer d.spiSlaveDeselect() defer d.spiChipDeselect()
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
return 0, err return 0, err
} }
return d.waitRspStr(cmd, sl) return d.waitRspStr(cmd, sl)
} }
func (d *Device) sendCmd0(cmd uint8) error { func (d *Device) sendCmd0(cmd uint8) error {
defer d.spiSlaveDeselect() defer d.spiChipDeselect()
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
return err return err
} }
d.sendCmd(cmd, 0) d.sendCmd(cmd, 0)
@@ -739,8 +739,8 @@ func (d *Device) sendCmd0(cmd uint8) error {
} }
func (d *Device) sendCmdPadded1(cmd uint8, data uint8) error { func (d *Device) sendCmdPadded1(cmd uint8, data uint8) error {
defer d.spiSlaveDeselect() defer d.spiChipDeselect()
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
return err return err
} }
d.sendCmd(cmd, 1) d.sendCmd(cmd, 1)
@@ -751,8 +751,8 @@ func (d *Device) sendCmdPadded1(cmd uint8, data uint8) error {
} }
func (d *Device) sendCmdStr(cmd uint8, p1 string) (err error) { func (d *Device) sendCmdStr(cmd uint8, p1 string) (err error) {
defer d.spiSlaveDeselect() defer d.spiChipDeselect()
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
return err return err
} }
l := d.sendCmd(cmd, 1) l := d.sendCmd(cmd, 1)
@@ -762,8 +762,8 @@ func (d *Device) sendCmdStr(cmd uint8, p1 string) (err error) {
} }
func (d *Device) sendCmdStr2(cmd uint8, p1 string, p2 string) (err error) { func (d *Device) sendCmdStr2(cmd uint8, p1 string, p2 string) (err error) {
defer d.spiSlaveDeselect() defer d.spiChipDeselect()
if err := d.waitForSlaveSelect(); err != nil { if err := d.waitForChipSelect(); err != nil {
return err return err
} }
l := d.sendCmd(cmd, 2) l := d.sendCmd(cmd, 2)
@@ -774,8 +774,8 @@ func (d *Device) sendCmdStr2(cmd uint8, p1 string, p2 string) (err error) {
} }
func (d *Device) waitRspCmd1(cmd uint8) (l uint8, err error) { func (d *Device) waitRspCmd1(cmd uint8) (l uint8, err error) {
defer d.spiSlaveDeselect() defer d.spiChipDeselect()
if err = d.waitForSlaveSelect(); err != nil { if err = d.waitForChipSelect(); err != nil {
return return
} }
return d.waitRspCmd(cmd, 1) return d.waitRspCmd(cmd, 1)
@@ -900,29 +900,29 @@ func (d *Device) checkStartCmd() (bool, error) {
return true, nil return true, nil
} }
func (d *Device) waitForSlaveSelect() (err error) { func (d *Device) waitForChipSelect() (err error) {
err = d.waitForSlaveReady() err = d.waitForChipReady()
if err == nil { if err == nil {
err = d.spiSlaveSelect() err = d.spiChipSelect()
} }
return return
} }
func (d *Device) waitForSlaveReady() error { func (d *Device) waitForChipReady() error {
if _debug { if _debug {
println("waitForSlaveReady()\r") println("waitForChipReady()\r")
} }
for t := newTimer(10 * time.Second); !(d.ACK.Get() == false); { for t := newTimer(10 * time.Second); !(d.ACK.Get() == false); {
if t.Expired() { if t.Expired() {
return ErrTimeoutSlaveReady return ErrTimeoutChipReady
} }
} }
return nil return nil
} }
func (d *Device) spiSlaveSelect() error { func (d *Device) spiChipSelect() error {
if _debug { if _debug {
println("spiSlaveSelect()\r") println("spiChipSelect()\r")
} }
d.CS.Low() d.CS.Low()
for t := newTimer(5 * time.Millisecond); !t.Expired(); { for t := newTimer(5 * time.Millisecond); !t.Expired(); {
@@ -930,12 +930,12 @@ func (d *Device) spiSlaveSelect() error {
return nil return nil
} }
} }
return ErrTimeoutSlaveSelect return ErrTimeoutChipSelect
} }
func (d *Device) spiSlaveDeselect() { func (d *Device) spiChipDeselect() {
if _debug { if _debug {
println("spiSlaveDeselect\r") println("spiChipDeselect\r")
} }
d.CS.High() d.CS.High()
} }