Environment: CVI 6.1 and ARINC 429, condor engg CEi520.
My requirement is to send test packets to UUT. Some reason packets not detected by UUT, in the begging of txn. say first 50 data packets going waste, but 51 packet onwards UUT able to receive each and every data packet sent by ARINC card.
Is the any issue with the Card setup/configuration. I have no control over the UUT. and no idea on time delays bwtn packets in UUT etc.
Here is the sample code used:
I request clarification on this.
//1
if(ar_loadslv(nBoard,0,0,0) == ARS_NORMAL)
{
/* Configure the board for the test stand bitrate and speed */
if(ar_set_config(nArincBoardNum,(int)rBitRate,(int)rSpeed) == ARS_NORMAL)
{
for(nChan=0;nChan<nNumChannels;nChan++)
{
/* Configure the channels or ports with the given parity */
if(ar_set_config(nArincBoardNum,(CEI_INT16)((int)rParity + nChan),AR_ODD) == ARS_NORMAL)
{
nSuccessFlag++;
}
}
/* Log the result as pass or fail */
if(nChan == nSuccessFlag)
{
PopulateError(ARINC_CARD_CONFIG_SUCCESS,testData,testError) ;
}
else
{
PopulateError(ARINC_CARD_CONFIG_FAILED,testData,testError) ;
}
}
//Start the Board.
if( ar_go(nArincBoardNum) == ARS_NORMAL )
{
PopulateError(ARINC_BOARD_START_SUCCESS,testData,testError) ;
}
////Following is the the code for Taming packets..
for(nLoopcount=0;nLoopcount<50;nLoopcount++)
{
nTxHexData[4]=nHexData;
for(nChannel=0;nChannel<nNumChannels;nChannel++)
{
for(nNumData=0;nNumData<5;nNumData++)
{
if(nNumData==4)
{
nTxHexData[4]= nTxHexData[4] + 0X00000400 ;
}
Delay(0.05);
/* Sends each data of the table nTxHexData to teh UUT */
if(ar_putword(nArincBoardNum,nChannel,nTxHexData[nNumData]) != ARS_NORMAL)
{
nDataTxFlag++;
}
}
/* Delay between channels */
Delay(0.1);
}
Delay(0.1);
}
nFlag=1;