|
RDM General Implementation Discussion General Discussion and questions relating to implementing RDM in a product. |
|
Thread Tools | Search this Thread | Display Modes |
December 9th, 2019 | #1 |
Junior Member
Join Date: Dec 2019
Posts: 2
|
InvalidDiscoveryPID: FAILED
In my test with 'RDM Responder Tests',the following problem occurred:
InvalidDiscoveryPID: FAILED Send an invalid Discovery CC PID, see E1.20 6.3.4 DISCOVERY: pid: 0x000f, sub device: 0, data: '' Response: RDMResponse(type=NACK, reason="Unknown PID"), PID: 0x000f, TN: 26 Failed: expected one of: RDM_TIMEOUT RDM_PLUGIN_DISCOVERY_NOT_SUPPORTED so, a question I have: Whether all PIDs less than 0x0010 are Discovery CC PIDs. |
December 9th, 2019 | #2 |
Administrator
|
Welcome to the forums. Which RDM Test Platform are you using? There's a couple out there so knowing that will help.
The Discovery Command Class is 0x10. This is detailed in Table A-1. The PID values are in Table A-3 in the document. What are you are probably seeing is that Section 6.3.4 stipulates that a NACK is only sent for unknown GET_COMMAND and SET_COMMAND requests. If you see a Command Class for DISCOVERY_COMMAND then you should not send a NACK.
__________________
Scott M. Blair RDM Protocol Forums Admin |
December 9th, 2019 | #3 | |
Junior Member
Join Date: Dec 2019
Posts: 2
|
Quote:
In the case of unicast: CC: 0x10, PID:0x000F(Unknown PID) ------> Response : RDM_TIMEOUT CC: 0x20, PID:0x000F(Unknown PID) ------> Response : NACK, NR_UNKNOWN_PID CC: 0x30, PID:0x000F(Unknown PID) ------> Response : NACK, NR_UNKNOWN_PID CC: 0x20, PID:0x0002(DISC_MUTE) ------> Response : NACK, NR_UNSUPPORTED_CC CC: 0x30, PID:0x0002(DISC_MUTE) ------> Response : NACK, NR_UNSUPPORTED_CC CC: 0x10, PID: >0x0003(Not Discovery PID) ------> Response : RDM_TIMEOUT |
|
December 10th, 2019 | #4 |
Task Group Member
Join Date: Jun 2006
Posts: 181
|
I suggest you also consider using RDMIntegrity for your testing. It produces log files you can email others that show the exact sequence of testing. It also (with the appropriate hardware) allows checking of the RDM Timing, which is critical to correct/reliable RDM behaviour. The issue, as Scott as identified, is that NACK is only applicable to the GET/SET command class. If the command class is not as per Table A-1 you cannot reply. Peter
|
January 6th, 2020 | #5 | |||
Junior Member
Join Date: Oct 2018
Location: London
Posts: 11
|
Quote:
You can see the code here, which as it's Python is reasonably human-readable: https://github.com/OpenLightingProje...s.py#L167-L190 Quote:
Quote:
|
|||
Bookmarks |
Thread Tools | Search this Thread |
Display Modes | |
|
|