To be strictly compliant with the example you've given, I think you have to drop the packet and not respond.
Table 6-7 explicitly dis-allows NACKs is response to a Discovery, and according to section 6.3.4:
"The response RESPONSE_TYPE_NACK_REASON shall only be used in conjunction with the
Command Classes GET_COMMAND_RESPONSE & SET_COMMAND_RESPONSE."
This has always bugged me about how NACK_REASON is defined. If you get some unknown PID, say 0x56, if you strictly follow the standard you can't respond and must drop the packet.
A controller should probably be able to handle the case where an oddball CC gets NACK'd though, just in case.
|