Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
layout
default

Raspberry Pi Network Display Code

The 'Raspberry Network Display' is a small collection of software to display images on the HDMI port on a Raspberry Pi (or basically, any Linux machine with a compatible frame-buffer interface), and quickly (20ms) change between them via network commands (in UDP packages).

The software was developed to control spatial light modulators for microscopes, but is general enough to probably work in other context. It is of typical 'side-project' quality, i.e., it was written because and while it was needed for this specific purpose.

It consists of two parts:

Display code (in 'display'):

  • Load images into memory
    • Either uploaded via TCP or read from PNGs
    • Multiple images groups in 'banks' (e.g. 4 banks with 10 images each)
  • Switch between images via UDP packages
    • Either by providing a number
    • Or by providing the filename
  • Fixed pattern (stripes, checkerboard) also available
  • At startup, a test image is loaded
  • At compile time, the resolution is set (see 'global.h'). Code will fail if images are not in that resolution.

This part of the software is written in C, and supposed to run on e.g. a Raspberry Pi (hence the name). It should however be compatible with any linux system offering frame-buffer access.

It should compile almost everywhere by using the included Makefile and gcc. It requires the "wiring" library for an optional feature, that is sending a UDP package each time a TTL pulse is received on the Pi's GPIO pins.

Control code (in 'control'):

This is a plugin to ImageJ / Fiji, which currently allows to:

  • Issue "switch image" commands to the display
  • Upload a stack to a memory bank on the display
  • Switch to predefined pattern (stripes, checkerboard)

Raspberry config (in 'raspberry-config'):

Some (commented) example configs to

  • auto-start the software on Raspberry boot up
  • configure a very specific modeline on the HDMI output (needed for the display in use)

License and lodepng

Everything is under GPLv3 or later, expect for stuff in 'external', which is

About

Tools to frame-buffer display on the Raspberry and switch via UDP network commands

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published