This package contains some simple command line tools to help using Linux spidev devices.
Query or set the SPI configuration (mode, speed, bits per word, etc.)
Send and receive data simultaneously to and from a SPI device.
The tools are released under the GPLv2 license. See LICENSE
file for details.
Christophe Blaess http://www.blaess.fr/christophe
First, get the latest version on https://github.com/cpb-/spi-tools.git
There is no need for configuration. Simply do a make
to build the tools, then make install
to install them and the man pages.
If you have to use a cross-compilation toolchain, simply fill the CROSS_COMPILE
environment variable with the cross-compiler prefix.
By default the spi-tools are installed in /usr/sbin
but you can change this location by setting the INSTALL_DIR
environement variable.
The man pages are installed under /usr/share/man
but you can change this by setting the MAN_INSTALL_DIR
environment variable.
You can use make uninstall
to remove the installed files.
-d --device=<dev>
use the given spi-dev character device.-q --query
print the current configuration.-m --mode=[0-3]
use the selected spi mode.-l --lsb={0,1}
LSB first (1) or MSB first (0).-b --bits=[7...]
bits per word.-s --speed=<int>
set the speed in Hz.-h --help
help screen.-v --version
display the version number.
$ spi-config -d /dev/spidev0.0 -q
/dev/spidev0.0: mode=0, lsb=0, bits=8, speed=500000
$
$ spi-config -d /dev/spidev0.0 -s 10000000
$ spi-config -d /dev/spidev0.0 -q
/dev/spidev0.0: mode=0, lsb=0, bits=8, speed=10000000
$
-d --device=<dev>
use the given spi-dev character device.-b --blocksize=<int>
transfer block size in byte.-n --number=<int>
number of blocks to transfer.-h --help
help screen.-v --version
display the version number.
Sending data from command-1
to SPI link and receiving data from SPI link to command-2
$ command_1 | spi-pipe -d /dev/spidev0.0 | command_2
Note that command_1
, command_2
and spi-pipe
run simultaneously in three parallel processes.
$ command_1 | spi-pipe -d /dev/spidev0.0
$ spi-pipe -d /dev/spidev0.0 < /dev/zero | command_2
You can also use command_2 < /dev/spidev0.0
but with spi-pipe
you control what is sent to the device (always 0
in this case).
$ spi-pipe -d /dev/spidev0.0 -b 4 -n 40 < /dev/zero | command_2