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 "RDM Responder Testing"

From wiki.openlighting.org

Jump to: navigation, search
(Downloading & Installing the Test Software)
 
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
As part of the [[Open Lighting Project]] a suite of tests for [[RDM]] responders has been developed. This enables manufacturers to check how well a RDM device conforms to the E1.20 specification. The tests cases are written in Python, and use the [[OLA Open Lighting Architecture]] to communicate with devices.
+
__NOTOC__
 +
As part of the [[Open Lighting Project]] we've developed a suite of tests for [[RDM]] responders. This enables manufacturers to check how well a RDM device conforms to the E1.20 specification. The tests cases are written in Python, and use the [[OLA| Open Lighting Architecture]] to communicate with devices.
  
 +
Have a question? Check the [[Responder Testing FAQ]] or ask on the [https://groups.google.com/forum/#!forum/rdm-testing RDM Test Group].
  
* [[Responder Testing FAQ]]
+
== Supported Devices ==
* [[Running the tests]]
 
* [[Writing RDM Responder Tests]]
 
  
 +
The following RDM Controller devices are supported:
 +
* [[RDM-TRI]] - this device doesn't support the Discovery tests yet.
 +
* [[DMXter4 RDM]] / [[MiniDMXter]]
 +
* [[Robe Universal Interface]] (latest firmware required)
 +
* [[DMX USB Pro]] (2.4 firmware required)
 +
* [[UltraDMX RDM Pro]] (1.3 firmware required. Also set USB Retry Count = 0)
  
== Setup the Test Rig ==
+
Please note due to limitations of ArtNet, the RDM tests cannot be run with ArtNet RDM. You need a physical DMX/RDM interface.
  
The following controller devices are supported:
+
== Downloading & Installing the Test Software ==
* [[RDM-TRI]]
 
*  [[DMXter4 RDM]] / [[MiniDMXter]]
 
  
Connect the device under test to the controller device and start ''olad''. Patch the output port on the controller device to a universe (UNIVERSE_NUMBER). Then run ''ola_rdm_discover'', you should see the responder's UID appear:
+
The tests are built on top of, and are included with, the [[Open Lighting Architecture]] which runs on Mac OS, Linux and FreeBSD. If you're a Windows user, or want to get up and running quickly, the easiest way is to use the [http://www.raspberrypi.org/ Raspberry Pi]. It's a $35 embedded computer and you can run all the tests through a web browser without ever having to log in.
  
  $ ola_rdm_discover -u UNIVERSE_NUMBER
+
=== Raspberry Pi Instructions ===
  00a1:00010003
 
  7a70:ffffff00
 
  
== Running the Tests ==
+
Follow the [[Responder Testing with the Raspberry Pi]] instructions.
 +
 
 +
=== Mac, Linux or FreeBSD Instructions ===
  
The tests are written in Python and run using ''ola_rdm_test.py''.  Below is the output from a typical test run:
+
If you want to run the tests from your own computer:
  
  ./ola_rdm_test.py --universe 1  --pid_file ../../python/pids.config  00a1:00010003
+
# Follow the [[Download & Install OLA|OLA Installation Instructions]]. If you're installing from source you need to add <tt>--enable-rdm-tests</tt> when running <tt>./configure </tt>. If you use Debian or Ubuntu packages make sure you install the <tt>ola-rdm-tests</tt> package. The tests are quite stable at this point, so unless you have a reason to use the Git version I'd stick to using the monthly releases.
  Starting tests, universe 3, UID 00a1:00010003
+
# Perform the [[RDM Test Setup Procedure]].
  SetManufacturerLabel: Passed
 
  SetSoftwareVersionLabel: Passed
 
  GetManufacturerLabel: Passed
 
  GetSoftwareVersionLabelWithData: Failed
 
  ...
 
  ------------- Warnings --------------
 
  ------------ By Category ------------
 
    Product Information:  7 /  7  100%
 
        RDM Information:  1 /  1  100%
 
    Core Functionality:  2 /  2  100%
 
      Error Conditions: 10 / 16  62%
 
          DMX512 Setup:  3 /  3  100%
 
  -------------------------------------
 
  29 / 30 tests run, 23 passed, 6 failed, 0 broken
 
  
== Useful Options ==
+
== Running the Tests ==
  
''ola_rdm_test.py'' has some options which can assist in debugging failures. For a full list of options run with -h
+
The tests can be run from either the [[Running the tests|command line]] or a [[Using the RDM Test UI|web browser]]. If you're new to using the command line we suggest you use the Web UI. It can do everything the command line tests can do.
  
; -d, --debug
+
== Interpreting the Output ==  
: Show all debugging output, including actual & expected responses.
 
; -l, --log
 
: Log the output of the tests to a file. The UID and timestamp is appended to the filename
 
; -t Test1,Test2  , --tests=Test1,Test2
 
: Only run a subset of the Tests. Only the tests listed (and their dependencies) will be run.
 
  
== Information on Tests ==
+
See the [[RDM Test Output|Guide to Interpreting Test Output]]. If you decide you want to add some additional tests read the [[Writing RDM Responder Tests| Guide to Writing Responder Tests]].
  
Some tests have dependencies, which are other tests that need to be completed before the test can be run. Dependencies can be used to check for supported parameters and other conditions that may affect responder behavior.
+
== Test Coverage ==
  
There are 4 result states for a test:
+
As of 7th July 2012 the following PIDs in E1.20 aren't tested:
  
; Passed
+
* STATUS_MESSAGES
: The responder replied with the expected result
+
* STATUS_ID_DESCRIPTION
; Failed
+
* SUB_DEVICE_STATUS_REPORT_THRESHOLD
: The responder failed to reply, or replied with an un-expected result
+
* RESET_DEVICE
; Not Run
 
: This test wasn't run because the responder doesn't support the required functionality
 
; Broken
 
: An internal error occurred, this indicates a programming error or an error with the test rig.
 

Latest revision as of 01:13, 9 December 2013

As part of the Open Lighting Project we've developed a suite of tests for RDM responders. This enables manufacturers to check how well a RDM device conforms to the E1.20 specification. The tests cases are written in Python, and use the Open Lighting Architecture to communicate with devices.

Have a question? Check the Responder Testing FAQ or ask on the RDM Test Group.

Supported Devices

The following RDM Controller devices are supported:

Please note due to limitations of ArtNet, the RDM tests cannot be run with ArtNet RDM. You need a physical DMX/RDM interface.

Downloading & Installing the Test Software

The tests are built on top of, and are included with, the Open Lighting Architecture which runs on Mac OS, Linux and FreeBSD. If you're a Windows user, or want to get up and running quickly, the easiest way is to use the Raspberry Pi. It's a $35 embedded computer and you can run all the tests through a web browser without ever having to log in.

Raspberry Pi Instructions

Follow the Responder Testing with the Raspberry Pi instructions.

Mac, Linux or FreeBSD Instructions

If you want to run the tests from your own computer:

  1. Follow the OLA Installation Instructions. If you're installing from source you need to add --enable-rdm-tests when running ./configure . If you use Debian or Ubuntu packages make sure you install the ola-rdm-tests package. The tests are quite stable at this point, so unless you have a reason to use the Git version I'd stick to using the monthly releases.
  2. Perform the RDM Test Setup Procedure.

Running the Tests

The tests can be run from either the command line or a web browser. If you're new to using the command line we suggest you use the Web UI. It can do everything the command line tests can do.

Interpreting the Output

See the Guide to Interpreting Test Output. If you decide you want to add some additional tests read the Guide to Writing Responder Tests.

Test Coverage

As of 7th July 2012 the following PIDs in E1.20 aren't tested:

  • STATUS_MESSAGES
  • STATUS_ID_DESCRIPTION
  • SUB_DEVICE_STATUS_REPORT_THRESHOLD
  • RESET_DEVICE