Skip to content

Software: Setting up sled for iCEbreaker based matrices

Adrian Pistol edited this page Jun 19, 2019 · 2 revisions

Building sled for iCEbreaker-based Matrices (Debian)

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

Building libmpsse

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

sled

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

Run it all

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.