Personal tools
The Open Lighting Project has moved!

We've launched our new site at www.openlighting.org. This wiki will remain and be updated with more technical information.

Difference between revisions of "Using OLA"

From wiki.openlighting.org

Jump to: navigation, search
(How to setup an interface)
 
(10 intermediate revisions by 5 users not shown)
Line 1: Line 1:
=== Using LLA ===
+
== About OLA ==
  
[[LLA]] is a utility that allows applications to send and receive DMX using various hardware devices and DMX over IP protocols. Hardware devices and protocols can also be connected together and LLA will route the DMX between the two.
+
[[OLA]] is a framework that allows applications to send and receive DMX using various hardware devices and DMX over IP protocols. Hardware devices and protocols can also be connected together and OLA will route the DMX data between the two.
  
LLA consists of 4 parts:
+
OLA consists of 4 parts:
- the lla daemon (llad)
+
* the ola daemon (olad)
- the lla client library (liblla)
+
* the ola client library (libola for C++, OlaClient.py for Python)
- various lla plugins (libllaX)
+
* various ola plugins (libolaX)
- example programs (lla_dev_info, lla_patch etc.)
+
* example/client programs (ola_dev_info, ola_patch etc.)
  
== LLA Terminology ==
+
Most of the time you'll only need to deal with the daemon and the client programs.
 +
 
 +
 
 +
== OLA Terminology ==
  
 
; Port (noun)
 
; Port (noun)
Line 18: Line 21:
  
 
; Plugin (noun)
 
; Plugin (noun)
:A LLA plugin supports a group of physical devices or a DMX over IP protocol. Example plugins include ArtNet, ShowNet, EspNet, DmxUsbPro, OpenDmx, StageProfi, Dmx4Linux etc. On startup plugins look for the devices they are responsible for and set them up.
+
:A OLA plugin supports a group of physical devices or a DMX over IP protocol. Example plugins include ArtNet, ShowNet, EspNet, DmxUsbPro, OpenDmx, StageProfi, Dmx4Linux etc. On start up the plugins look for the devices they are responsible for and set them up.
  
 
; Universe (noun)
 
; Universe (noun)
Line 24: Line 27:
  
 
; Client (noun)
 
; Client (noun)
: A client is another application that connects to LLA using liblla.
+
: A client is another application that connects to OLA using libola.
  
 
; Patch (verb)
 
; Patch (verb)
; The act of assigning a port to a universe.
+
: The act of assigning a port to a universe.
  
== Using LLA ==
+
== Using OLA ==
  
 
In the general case you want to:
 
In the general case you want to:
- start the lla daemon
+
* start the ola daemon
- patch some output ports to universes
+
* patch some output ports to universes
- patch an input port or run a client application
+
* patch an input port or run a client application
 +
 
 +
=== How to start olad ===
 +
 
 +
For testing run olad in non-forking, log to stdout, debug level 3:
  
=== How to start llad ===
+
olad -l 3
  
For testing run llad in non-forking, log to stdout, debug level 3:
+
olad refuses to run as root. If OLA doesn't work as a normal user it's due to incorrect permissions on files within /dev - look at the logs, fix the permission and try again.
  
llad -d 3 -f -s
+
=== How to setup an interface ===
  
'''Do not run this as root'''. If LLA doesn't work as your user it's due to incorrect permissions on files within /dev - fix them and try again. I repeat do not run this as root.
+
Before an interface (e.g. a USB dongle) can be used, a ''port'' on the ''device'' must be ''patched'' to a ''universe''. This example uses the command line tools in the ola-examples package. If you built OLA with http support you can just use the web interface on http://localhost:9090
  
 +
First run ola_dev_info and find out what device / port the desired interface has:
  
=== How to setup an interface ===
+
$ ola_dev_info
 +
  Device 0: Art-Net Device
 +
  port 0, cap IN
 +
  port 1, cap IN
 +
  port 2, cap IN
 +
  port 3, cap IN
 +
  port 4, cap OUT
 +
  port 5, cap OUT
 +
  port 6, cap OUT
 +
  port 7, cap OUT
 +
Device 1: Stage Profi Device
 +
  port 0, cap OUT
 +
 
 +
In this case we want to use the StageProfi device so we patch device 1, port 0 to a new universe (1)
 +
 
 +
Then the command '''ola_patch''' can be given the numbers just found and the desired universe, so they get connected.
 +
 
 +
ola_patch  -d 1 -p 0 -u 1
 +
 
 +
Running ola_dev_info again shows us the patch has been made:
 +
 
 +
$ ola_dev_info
 +
  Device 0: Art-Net Device
 +
  port 0, cap IN
 +
  port 1, cap IN
 +
  port 2, cap IN
 +
  port 3, cap IN
 +
  port 4, cap OUT
 +
  port 5, cap OUT
 +
  port 6, cap OUT
 +
  port 7, cap OUT
 +
Device 1: Stage Profi Device
 +
  port 0, cap OUT, universe 1
  
Before an interface (e.g. a USB dongle) can be used, a ''port'' on a ''device'' must be ''patched'' (assigned) to a ''universe''.
+
Newer versions of OLA use port 0 for in and out, so it looks like this:
  
First you can use the command '''lla_dev_info''' to look up which number the desired interface and port has.
+
$ ola_dev_info
 +
  Device 6: SandNet [192.168.2.132]
 +
  port 0, IN , priority 100
 +
  port 1, IN , priority 100
 +
  port 2, IN , priority 100
 +
  port 3, IN , priority 100
 +
  port 4, IN , priority 100
 +
  port 5, IN , priority 100
 +
  port 6, IN , priority 100
 +
  port 7, IN , priority 100
 +
  port 0, OUT
 +
  port 1, OUT
  
Then the command '''lla_patch''' can be given the numbers just found and the desired universe, so they get connected.
+
To patch the input port you hav to add  -i . Default patch is output. ola_patch --help has all the options
  
Finally the setup can be tested with '''lla_dmxconsole''' or '''lla_dmxmonitor''' to set or receive DMX values.
+
Finally the setup can be tested with '''ola_dmxconsole''' or '''ola_dmxmonitor''' to send or receive DMX values.
  
Command line options can be seen [http://nomis52.net/?section=projects&sect2=lla&page=llatools here].
+
Command line options are described at [[OLA Command Line Tools]].
  
 
[[Category:Articles]]
 
[[Category:Articles]]

Latest revision as of 10:43, 10 December 2011

About OLA

OLA is a framework that allows applications to send and receive DMX using various hardware devices and DMX over IP protocols. Hardware devices and protocols can also be connected together and OLA will route the DMX data between the two.

OLA consists of 4 parts:

  • the ola daemon (olad)
  • the ola client library (libola for C++, OlaClient.py for Python)
  • various ola plugins (libolaX)
  • example/client programs (ola_dev_info, ola_patch etc.)

Most of the time you'll only need to deal with the daemon and the client programs.


OLA Terminology

Port (noun)
A port represents up to 512 DMX channels that sends data (OUT port) or receives data (IN port). It can be either a physical port on a device or a virtual port created by a DMX over IP protocol.
Device (noun)
A device is a group of ports, for example some devices might have an input and output port.
Plugin (noun)
A OLA plugin supports a group of physical devices or a DMX over IP protocol. Example plugins include ArtNet, ShowNet, EspNet, DmxUsbPro, OpenDmx, StageProfi, Dmx4Linux etc. On start up the plugins look for the devices they are responsible for and set them up.
Universe (noun)
A universe is a set of 512 DMX channels. Ports can be patched to universes in which case they'll either send the data for the universe (in the case of output ports) or set the values for the universe (for input ports)
Client (noun)
A client is another application that connects to OLA using libola.
Patch (verb)
The act of assigning a port to a universe.

Using OLA

In the general case you want to:

  • start the ola daemon
  • patch some output ports to universes
  • patch an input port or run a client application

How to start olad

For testing run olad in non-forking, log to stdout, debug level 3:

olad -l 3

olad refuses to run as root. If OLA doesn't work as a normal user it's due to incorrect permissions on files within /dev - look at the logs, fix the permission and try again.

How to setup an interface

Before an interface (e.g. a USB dongle) can be used, a port on the device must be patched to a universe. This example uses the command line tools in the ola-examples package. If you built OLA with http support you can just use the web interface on http://localhost:9090

First run ola_dev_info and find out what device / port the desired interface has:

$ ola_dev_info
 Device 0: Art-Net Device
  port 0, cap IN
  port 1, cap IN
  port 2, cap IN
  port 3, cap IN
  port 4, cap OUT
  port 5, cap OUT
  port 6, cap OUT
  port 7, cap OUT
Device 1: Stage Profi Device
  port 0, cap OUT

In this case we want to use the StageProfi device so we patch device 1, port 0 to a new universe (1)

Then the command ola_patch can be given the numbers just found and the desired universe, so they get connected.

ola_patch  -d 1 -p 0 -u 1

Running ola_dev_info again shows us the patch has been made:

$ ola_dev_info
 Device 0: Art-Net Device
  port 0, cap IN
  port 1, cap IN
  port 2, cap IN
  port 3, cap IN
  port 4, cap OUT
  port 5, cap OUT
  port 6, cap OUT
  port 7, cap OUT
Device 1: Stage Profi Device
  port 0, cap OUT, universe 1

Newer versions of OLA use port 0 for in and out, so it looks like this:

$ ola_dev_info
 Device 6: SandNet [192.168.2.132]
  port 0, IN , priority 100
  port 1, IN , priority 100
  port 2, IN , priority 100
  port 3, IN , priority 100
  port 4, IN , priority 100
  port 5, IN , priority 100
  port 6, IN , priority 100
  port 7, IN , priority 100
  port 0, OUT 
  port 1, OUT 

To patch the input port you hav to add -i . Default patch is output. ola_patch --help has all the options

Finally the setup can be tested with ola_dmxconsole or ola_dmxmonitor to send or receive DMX values.

Command line options are described at OLA Command Line Tools.