Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 15 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,11 +23,11 @@ It is necessary to have access to a shell onto the Beaglebone using serial, Ethe
Examples on how to do this can be found at [BeagleBoard.org](http://beagleboard.org/getting-started) or at
[Adafruit's Learning Site](https://learn.adafruit.com/ssh-to-beaglebone-black-over-usb/ssh-on-mac-and-linux).

###Start with a compatible Linux image
### Start with a compatible Linux image

To use LEDscape, you must use a version of the Linux kernel that supports the `uio_pruss` module. The Beaglebone.org Wheezy Linux images work well.

####Checking existing Linux version
#### Checking existing Linux version

Check which Debian version you are currently running by entering...

Expand All @@ -37,15 +37,15 @@ cat /etc/debian_version

This `README` was tested with version `7.11`, but any 7.x version should work. Version 8.x is currently not compatible because it does not support the PRUSS subsystem that LEDScape used to talk to the PRU units.

####Installing a compatible Linux version
#### Installing a compatible Linux version

If you have an incompatible version currently installed or just want to start with a clean install of to the most recent compatible version, you can follow the instructions here under "Update board with latest software"...

http://beagleboard.org/getting-started

Make sure you pick a "Wheezy" version of the Linux kernel since the "Jessie" versions do not yet work by default. This readme was tested against the "Debian 7.11 2015-06-15 4GB SD LXDE" image.

###Installing the LEDscape software
### Installing the LEDscape software

Log into a compatible Linux version as root and enter the following commands at a command line...

Expand All @@ -65,15 +65,15 @@ This will do the following....
4. Install the `uio_pruss` kernel module to let LEDscape talk to the PRU subsystem.
5. Reboot the machine.

###Updating an existing install
### Updating an existing install

If you are using an older version of LEDscape that keeps the configuration in a JSON file inside the LEDscape directory, you should copy your modified config to `/etc/ledscape-config.json`.

You should be able to update an existing install with the above procedure without overwriting your configuration in `/etc/ledscape-config.json`.

Note that the install process will not preserve any modified pin mappings.

###Testing the install
### Testing the install

Once the machine has rebooted, log in as root, enter the following commands to switch into the `LEDscape` directory you created above and manually start the LEDscape server...

Expand All @@ -85,7 +85,8 @@ cd LEDscape
It should print some diagnostic messages and continue running until you press Control-C or logout or reboot.

By default, the server starts sending a demo pattern in the WS2812B format on the output pins. If you connect the `DI` of some strings to these pins, they should light up. Pins P8-8, P8-10, P8-12, P8-14, P8-16, and P8-18 are great for testing since they are located near a ground on pin P8-2, they are all right next to each other, and they should always have pixel data in the default configuration.
###Setting the server to run automatically as a service

### Setting the server to run automatically as a service

If you want LEDscape to automatically start every time the machine is rebooted, you can install it as a service with the following command (run from a command line inside the LEDscape directory as root)...

Expand All @@ -95,14 +96,14 @@ If you want LEDscape to automatically start every time the machine is rebooted,
Open Pixel Control Server
=========================

##Configuration
## Configuration

By default LEDscape is configured for strings of 256 WS2811 pixels, accepting OPC
data on port 7890. You can adjust this by editing `run-ledscape` and
editing the parameters to `opc-server`


##Data Format
## Data Format

The `opc-server` server accepts data on OPC channel 0. It expects the data for
each LED strip concatenated together. This is done because LEDscape requires
Expand All @@ -115,7 +116,7 @@ with `--udp-port <port>`. Entering `0` for a port number will disable that serve
Note that if using the UDP server, `opc-server` will limit the number of pixels to 21835, or 454 pixels per port if
using all 48 ports.

##Output Modes
## Output Modes

LEDscape is capable of outputting several types of signal. By default, a ws2811-compatible signal is generated. The
output mode can be specified with the `--mode <mode-id>` parameter. A list of available modes and their descriptions
Expand All @@ -141,7 +142,7 @@ A human-readable pinout for a mapping can be generated by running

node pru/pinmap.js --mapping <mapping-id>

###Default pin mappings
### Default pin mappings

By default, LEDscape is set up to drive 48 strings of WS2812B LEDs, with each string having up to 600 pixels. You can connect shorter strings with no problems except that the update rate will be slower. If you connect longer strings, only the first 600 pixels will update.

Expand All @@ -156,7 +157,7 @@ Here are the default pin assignments for the first 6 channels so you can get you

These are the pins you would connect the to each string's `DI` (Data In).

###HDMI conflict
### HDMI conflict

#### BeagleBone Green
The BeagleBone Green has no HDMI port, so all 48 channels are available on the mapped pins by default.
Expand Down Expand Up @@ -235,13 +236,13 @@ Configuration

Config info is typically stored in `/etc/ledscape-config.json`.

##Default config
## Default config

The default config after installation is set up to drive WS281X strips connected to all of the 48 available output pins. Note that not all pins will work on BeagleBone Black unless you [disable the HDMI port](#HDMI Conflict).

A description of the file format and some example configurations are available in the [`configs/` subdirectory](/configs) of this repo.

##Directly editing the current config
## Directly editing the current config

You can edit the config file directly by typing...

Expand Down