johnl / pycubedemo

LED cube demo application

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

3D cube demo patterns

Supports both an internal OpenGL renderer, and driving an external LED cube.

Requires numpy (python-numpy pakcage on Debian-like systems).

The OpenGL renderer requires pygame and pyOpenGL (python-pygame/python-opengl)

The default target is the the OpenGL renderer, and will cycle through all patterns in a random order.
You can connect to to an external cube/simulator with --port hostname:portnum

A particular [set of] pattern(s) can be selected with the --pattern commandline option.

New patterns can be added by by placing a new python file in the patterns/
directory, which implements the 'Pattern' class.  The 'init' function is
called when the pattern is started. It should return the delay between frames.
For every frame the 'tick' functin is called.

The image is set using self.cube.clear and self.cube.set_pixel. To avoid
flickering, double buffering can be enabled with self.double_buffer = True.

The easiest way to get started is to copy and modify and existing pattern.
fade and wave are probably good starting points.

Installing pygame on a Mac is apparently much harder than it should be.
Mac users may be interested in the node/webgl cube emulator at
https://github.com/ultrafez/ledcube-webgl

About

LED cube demo application

License:GNU General Public License v3.0