Skip to content
LEDCube screenserver and application libraries
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
application
common
exampleApplications
renderer
server
server_FPGA
server_FPGA_RPISPI
server_RGBMatrix
server_simulator
server_testapp
tests
.gitignore
.gitmodules
CMakeLists.txt
README.md

README.md

LEDCube matrixserver

This is a screenserver for the purpose of being used with differently orientated LED Matrix panels. It currently has been implemented for the LEDCube project, but it can also be used in simple, planar screen orientations, as well as other complex screen orientations.

Dependencies

on raspbian and ubuntu: sudo apt install git libeigen3-dev cmake wiringpi libboost-all-dev libasound2-dev libprotobuf-dev protobuf-compiler

Building

make sure you have cloned with submodules git clone --recursive
tested on ubuntu, raspbian & macOS

cd build && cmake .. && make

Quickstart

If you have an IceBreaker board with HUB75 PMOD:

The Project is divided into multiple modules:

  • common

    • protobuf message definition for communication
      • multiple communication classes

          * IPC (boost message queue, currently the most efficient local communication)
          * UnixSocket
          * TCPSocket (remote communication possible)
        
      • Screen & Color classes

  • renderer

    • different renderers for interface with physical or virtual displays
    • multiple renderers can be used at the same time. i.e. SimulatorRenderer(remote over network) && HardwareRenderer
    • currently implemented:
  • server & application

    • server logic
    • application interface library (applications link against this)
    • cubeapplication interface with convenient setPixel3D etc. methods
  • exampleApplications

  • server_* folders:

    • these are main.cpp with setups for servers with the different renderers
      • server_FPGA
        • the Icebreaker USB FTDI Renderer
      • server_FPGA_RPISPI
        • the Icebreaker native Raspberry Pi SPI renderer (more infos soon)
      • server_testapp
        • if you have installed OpenCV this target will be available. It shows the Screens as simple OpenCV windows (useful for debugging)
      • server_simulator
You can’t perform that action at this time.