View Single Post
Old March 14th, 2018   #11
majid
Member
 
Join Date: Oct 2017
Location: Turkiye
Posts: 38
Default

Quote:
Originally Posted by prwatE120 View Post
Try running the RDMIntegrity tests. There is comprehensive string testing and error reporting.

If your responder does receive a SET text string that is longer than 32 characters, I would expect a NACK : FORMAT ERROR to be returned.

Peter
thanks for reply ,
I also handled over size by responding NACK FORMAT ERROR as you said

but there is not SET DEVICE_LABEL at all from OLA (please see previous post attachment)

I think my code does not response because there is no Set command during test 7 transactions, I am not sure.

here is my code :

if (ucRxData[INDEX_PDL] <= 32)
{
// normal response
}
else
{
// page29
ucTxData[INDEX_RESPONSE_TYPE] = RESPONSE_TYPE_NACK_REASON;
ucTxData[INDEX_SUB_DEVICE] = ucRxData[INDEX_SUB_DEVICE];
ucTxData[INDEX_SUB_DEVICE + 1] = ucRxData[INDEX_SUB_DEVICE + 1];

i = INDEX_CC;
ucTxData[i++] = CC.SetResponse;
ucTxData[i++] = ucRxData[INDEX_PID];
ucTxData[i++] = ucRxData[INDEX_PID + 1];
ucTxData[i++] = 0; // PDL = 2 , will be assigned before checksum...
ucTxData[i++] = NR.FormatError >> 8; // page29, Table A-17 page 117
ucTxData[i++] = NR.FormatError;
ucTxData[INDEX_MESSAGE_LENGTH] = i;
ucTxData[INDEX_PDL] = i - INDEX_PD;

rdm_send_tx_buffer();
}
majid is offline   Reply With Quote