|
RDM General Implementation Discussion General Discussion and questions relating to implementing RDM in a product. |
|
Thread Tools | Search this Thread | Display Modes |
|
July 20th, 2011 | #1 |
Junior Member
Join Date: Jul 2011
Posts: 1
|
errors when testing discovery
Hi all. I'm new to this forum, but it was recommended as a great place for RDM issues so I'm looking forward to being part of it. I am currently in the process of testing a RDM/DMX system that I finished designing and am stuck with the discovery process. I am using a DMXter4 RDM to test my code out.
When I run a new discovery, everything runs as should. Using a logic analyzer, all of the timings appear to be within the protocol standards, but I am receiving an "euid is not within dub range" error. If I end discovery at this point and look at the response packet data, it is correct and the check sums are all there. If I let discovery continue, I instantly get a "framing error, dub resp too short, and a euid decode error" and the response packet is 00. It was my understanding that once the euid was found a mute packet would be sent out before another discovery, but I never see a mute packet come across. I am not quite sure what this "euid is not within dub range" error is or why it is trying another discovery if I let it continue. Any help or explanation of this error would be great. |
July 20th, 2011 | #2 |
Task Group Member
Join Date: Aug 2008
Posts: 379
|
"euid is not within dub range" typically means that you have an off-by-one error in your handling of the discovery range, or some other logical error in the DUB response handling.
When the controller sends a Discover Unique Branch, it sends a lower bound, and an upper bound for the discovery range. The "euid is not within dub range" error means that the controller received a valid discovery response, but when it decoded the EUID into a UID, the UID was outside the bounds included in the discovery request. A simplified example: -The controller says "Discover Unique Branch" between 11 and 15. -The responder responds, and the EUID decodes to 18. 18 is not between 11 and 15, so even if the packet data is valid, it's outside the requested range. I believe the DMXter only does this check when it's reached the very bottom of the binary search tree. Another simple example: -The controller says "Discover Unique Branch" between 21 and 21. -The responder responds, and the EUID decodes to 22. The DMXter returns the "euid is not within dub range" error because 22 is not between 21 and 21. Because it's an error, the DMXter won't attempt to Mute the device, which is why you're not seeing a Mute packet. Using the "View Previous Request" feature of the DMXter, you can look at the payload of the DUB request. DUB has a 12-byte PDL. Chances are you'll find the same 6-byte UID is included twice. Does this match your responder's UID? If you're still having trouble, end discovery when you get the error, then dump the packet data to the USB port. From there you can copy both the discovery request, and the response to the forum for further analysis. |
Bookmarks |
Thread Tools | Search this Thread |
Display Modes | |
|
|