ola
ola copied to clipboard
Trouble configuring ola-uartdmx for input ("port doesn't exist")
I've been tasked with replacing a stand alone DMX recorder (Elation DR-Pro Rack) with a Raspberry Pi running OLA, but am having trouble capturing the existing DMX data. The Elation recorder (which doesn't seem very "pro" to me) allows backing up the scene data to an SD card, but annoyingly this is in a proprietary binary format for which I have not been able to find a parser. The only option seems to be to record the data from the DMX output as the (static) scene is active. Our set-up consists of 65 fixtures, about half of which are RGBWA fixtures, so we're using well over 200 DMX channels - but there is only one static scene, so timing is unimportant. It seems ola_recorder is what I need, but when I try to patch my RS485 interface as input I'm told the "port doesn't exist":
$ less /etc/ola/ola-uartdmx.conf
/dev/ttyUSB1-break = 100
/dev/ttyUSB1-malf = 100
device = /dev/ttyUSB1
enabled = true
$ ola_uni_info
Id Name Merge Mode
----------------------------------------------------------
----------------------------------------------------------
$ ola_dev_info
Device 1: UART native DMX
port 0, OUT /dev/ttyUSB1
$ ola_patch -d 1 -p 0 -i -u 1
Port doesn't exist
I can patch this as an output port and have been using it as such with OLA and QLC+ without any issues whatsoever:
$ ola_patch -d 1 -p 0 -u 1
$ ola_uni_info
Id Name Merge Mode
----------------------------------------------------------
1 Universe 1 LTP
----------------------------------------------------------
Edit: In case you're wondering, I'm using a StarTech ICUSB2324852 dual port USB <> RS232/422/485 interface, which contains two FTDI FT232H UARTs. I'm connecting to port S2 which has been configured for 4-wire RS485 (in other words "full duplex" with separate TX/RX differential pairs).
Never mind, I managed to capture the DMX data with a snippet of Python instead:
#!/usr/bin/env python3
import serial
tty = serial.Serial("/dev/ttyUSB1", 250000, 8, serial.PARITY_NONE, serial.STOPBITS_TWO)
tty.flushInput()
for i in range(513):
try:
raw = tty.read()
value = int.from_bytes(raw, "little")
print(i-1, value)
except Exception as error:
print(error)
tty.close()
break
Getting the capture to start at the right spot was much easier than I expected - in fact it worked on the second try. Knowing the channel map, and having a known gap (265-299 are unused, followed by a single fixture on 300-302) made it easy to verify a correct capture. So I guess this issue can be closed, but I'd still be interested to hear if there's any way to use an FTDI RS485 port for DMX input under OLA.
Hi @clickworkorange ,
Regarding UART input, as you saw from ola_dev_info, the plugin currently only provides a DMX output port, we can't currently receive DMX input on an FTDI port. For further detail see #1719 , #1662 and #1183 amongst others, the challenges for UART and FTDI are pretty similar.
Never mind, I managed to capture the DMX data with a snippet of Python instead:
I'm sure others will appreciate that code, so thanks for sharing.
Getting the capture to start at the right spot was much easier than I expected - in fact it worked on the second try.
I'm also sure you'll appreciate that a plugin that only works every other time will be frustrating as much as anything!
Regarding the scenes from the SD card:
I've been tasked with replacing a stand alone DMX recorder (Elation DR-Pro Rack) with a Raspberry Pi running OLA, but am having trouble capturing the existing DMX data. The Elation recorder (which doesn't seem very "pro" to me) allows backing up the scene data to an SD card, but annoyingly this is in a proprietary binary format for which I have not been able to find a parser.
If you'd care to share the file the Elation gave you, along with the captured data from the static frame, hopefully it wouldn't be too hard to extract some of the info from it, and potentially make an Elation to OLA show file converter...
If you'd care to share the file the Elation gave you, along with the captured data from the static frame, hopefully it wouldn't be too hard to extract some of the info from it, and potentially make an Elation to OLA show file converter...
Sure! Here's a CSV of the channel values, and ZIP file with the contents of the Elation DR-Pro's SD card: