Inserting and Removing DMX Cable - Causing "Unrecoverable" DMX_ERR_IMPROPER_SLOT #174
Replies: 1 comment
-
Hi Ben, just in case that you are still struggling with this - use dmx_receive_num() instead of dmx_receive(). |
Beta Was this translation helpful? Give feedback.
-
Hi,
We see the following when inserting a DMX cable from a lighting console that is actively sending DMX:
In the above image the data in line 6 should have matched the data in line 1.
In software we ultimately perform the following logic:
A. Call to dmx_receive with a wait ticks of 10ms
B. If there is no data for 100ms then the DMX State is changed to 0 (IDLE); this was seen in line 2 in the image
C. If there is data then switch on packet.err
D. When packet.err is set to DMX_ERR_IMPROPER_SLOT log; this was seen in line 3 and 4 in the image
E. Otherwise when packet.err is set to DMX_OK we log the first 10 bytes of the data; as shown in the image line 1 and 6 log data
What is interesting is that after the DMX_ERR_IMPROPER_SLOT, the dmx_receive will always return all 0's for the data. If we then insert and remove the cable multiple times, it will sometimes eventually recover and send the actual data.
Beta Was this translation helpful? Give feedback.
All reactions