SPI Plugin ========== This plugin enables control of LED pixel strings using SPI. Each SPI output is represented as an OLA Device. Devices can have multiple Ports, each of which controls a pixel string. Each Port can use a different personality (pixel type) and DMX start address, this allows a combination of various strings lengths & pixel hardware types. The start address and personality settings are controllable via RDM (each Port appears as a RDM responder). To support multiple ports per SPI output, we use an SPI-Backend. Two backends are supported right now, a software backend which concatenates all the pixel data into a single buffer and a hardware multiplexer backend which uses the GPIO pins to control an off-host multiplexer. It's recommended to use the hardware multiplexer. ## Config file: `ola-spi.conf` `base_uid = ` The starting UID to use for the SPI RDM, e.g. `7a70:00000100`. `device_prefix = ` The prefix of files to match in `/dev`. Usually set to `spidev`. Each match will instantiate a Device. ### Per Device Settings `-spi-speed = ` The speed of the SPI bus, range is 0 - 32000000 Hz. `-ce-high = ` The mode of the CE pin. Set to false this pulls the CE pin low when writing data. Set to true this will pull the pin high when writing. `-backend = [software | hardware]` The backend to use to multiplex the SPI data. `-gpio-pin = ` The GPIO pins to use for the hardware multiplexer. Add one line for each pin. The number of ports will be 2 ^ (# of pins). `-ports = ` If the software backend is used, this defines the number of ports which will be created. `-sync-ports = ` Controls which port triggers a flush (write) of the SPI data. If set to -1 the SPI data is written when any port changes. This can result in a lot of data writes (slow) and partial frames. If set to -2, the last port is used. ### Per Port Settings Ports are indexed from 0. `--dmx-address = ` The DMX address to use. e.g. `spidev0.1-0-dmx-address = 1` `--device-label = ` The RDM device label to use. `--personality = ` The RDM personality to use. `--pixel-count = ` The number of pixels for this port. e.g. `spidev0.1-1-pixel-count = 20`