Skip to content

Arduino library for communicating with the Reiser Lab Modular LED panels display arena.

License

Notifications You must be signed in to change notification settings

janelia-arduino/ArenaController

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

91 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ArenaController

Library Information

Modular LED Display

System Components

Quarter Panel

A quarter panel is a set of LED pixels arranged in rows and columns.

Panel

A panel is a set of quarter panels arranged in rows and columns.

Region

A region is a set of panels arranged in rows and columns with a common communication interface.

Display

An display is a set of regions arranged in rows and columns.

Display Messages

Quarter Panel

Pixels

Pixel numbering for each pixel in a quarter panel:

Grayscale

In grayscale mode, each LED can be one of sixteen brightness levels.

Binary

In binary mode, each LED can be one of two brightness levels, on or off.

Panel

Quarter Panels in Panel

Quarter panel numbering for each quarter panel in a panel plus pixel numbering for select pixels in a panel:

Region

Regions in Display

Region numbering for each region in an display:

Panels in Region

Panel numbering for each panel in an region:

Display

Panels in Display

Panel update order for each panel in an display:

Synchronous

Asynchronous

Firmware

Active Object State Machines

Arena

SerialCommandInterface

EthernetCommandInterface

Display

Development

Download this repository

https://github.com/janelia-arduino/ArenaController.git

sudo apt install -y git
mkdir -p ~/tmp && cd ~/tmp && git clone https://github.com/janelia-arduino/ArenaController.git

PlatformIO

Install PlatformIO Core

https://docs.platformio.org/en/latest/core/installation/index.html

Example

python3 -m venv .venv
source .venv/bin/activate
pip install platformio
pio --version

99-platformio-udev.rules

Linux users have to install udev rules for PlatformIO supported boards/devices.

Download udev rules file to /etc/udev/rules.d
curl -fsSL https://raw.githubusercontent.com/platformio/platformio-core/develop/platformio/assets/system/99-platformio-udev.rules | sudo tee /etc/udev/rules.d/99-platformio-udev.rules
Restart udev management tool
sudo service udev restart
Add user to groups
sudo usermod -a -G dialout $USER
sudo usermod -a -G plugdev $USER
Remove modemmanager
sudo apt-get purge --auto-remove modemmanager

Compile the firmware

make teensy-firmware

Upload the firmware

make teensy-upload

Monitor

make monitor

About

Arduino library for communicating with the Reiser Lab Modular LED panels display arena.

Resources

License

Stars

Watchers

Forks

Packages

No packages published