Quote:
Originally Posted by prwatE120
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();
}