- This enables more complex use case like write-then-read, 3-wire SPI and when
the number of bits per word changes accross packets.
- Remove the transparent Tx() buffer cutting, the Raspberry Pi 3 spi_bcm2835
driver asserts the CS line even if csChange = 0 on the last packet. This broke
some use case (like FLIR Lepton).
spi-io: improve with more use cases. Used for adhoc testing of the SPI bus and
looking at the results over an oscilloscope.
- Allow both app and device drive set max bus speed.
- Make DevParams callable only exactly once.
- sysfs-spi: make SPI implement io.Reader.
- sysfs-spi: Fix Tx() with write only or read only.
Now each connection can report if the underlying communication channel is
half-duplex or full-duplex.
This information is leveraged by some clients, like memory mapped registers
helper struct, to change their behavior or deny use on certain kind of
communication channel.
- Make error more consistent and more helpful. Not all errors are wrapped yet
but a fair part is now.
- Remove the 'first' pattern in i2c, spi, uart and make it work.
- Add allwinner.Pin.wrap() for coherence with PinPL and bcm283x.Pin.
- headers.All() return a copy.
- Remove fmt.Stringer and io.Writer from conn.Conn. This makes it compatible
with exp/io.
- Rename i2c.Conn to i2c.Bus since this was confusion. This clarifies the
distinction between a point-to-point connection and a bus.
- Add these to bus specific interfaces, i2c.Bus, spi.Conn, uart.Conn.
Fixes#15.
Ran:
git sed 's/pio/periph/g
git sed 's/gperiph/gpio/g'
git sed 's/Gperiph/Gpio/g'
git sed 's/PIO/Periph/g'
git sed 's/GPeriph/GPIO/g'
git mv pio.go periph.go
git mv pio_test.go periph_test.go
cd cmd
git mv pio-info periph-info
git mv pio-setup periph-setup
where 'git sed' is an alias to run sed over all files in git ls-files.
Fixes#11.