-
Notifications
You must be signed in to change notification settings - Fork 25
Software: Setting up sled for iCEbreaker based matrices
vifino created an LED matrix based on iCEbreaker FPGAs.
This is how to power that matrix, but with some tweaking, it should be usable for other matrices.
To build sled for it you need some packages.
apt install git build-essential libftdi1-dev libftdi-dev
You need to install libmpsse and patch it with some changes:
git clone https://github.com/devttys0/libmpsse.git
cd libmpsse/src/
To patch it, change line 114 in mpsse.h from
#define DEFAULT_TRIS (SK | DO | CS | GPIO0 | GPIO1 | GPIO2 | GPIO3)
to
#define DEFAULT_TRIS (SK | DO | CS )
Now run the usual configure, make and make install step.
./configure --disable-python && make && make install
Next we need to install sled.
Go to a folder of your choosing to install sled. In this case, we chose /opt
.
cd /opt/ # Tweak this if you want.
git clone https://github.com/shinyblink/sled.git
cd sled
cp Makefiles/sledconf.default sledconf
Edit sledconf. You may want to add
CFLAGS+= -O3 -march=native
on line 11 to improve the performance.
If you are on a headless machine, you can skip the SDL2 dependency by not building the out_sdl2
output.
To do that, change line 34 in sledconf from
DEFAULT_OUTMOD := sdl2
to
DEFAULT_OUTMOD := ansi
You must change line 46 in sledconf and add out_mpsse_spi
.
it changes from
MODULES := out_$(DEFAULT_OUTMOD)
to
MODULES := out_$(DEFAULT_OUTMOD) out_mpsse_spi
then build sled.
make
Now you can use the following comand while in the sled folder to run vifino's 256x256 matrix powered by two iCEbreakers:
./sled -o mpsse_spi:x=0,y=0,h=32,w=1024,linediv=2,linepad=255/x=1024,y=0,h=32,w=1024,linediv=2,linepad=255,index=1 -f smapper:8
Alternatively, modify it to suit your needs and matrices.