This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CC2533: HOW TO Assembly packets of cc2533 MASS PRODUCTION MODE

Part Number: CC2533
Other Parts Discussed in Thread: CC2531

From the wiki page  http://processors.wiki.ti.com/index.php/RemoTI_Production_Test#Tools

I got that  the MP production tool for RF4CE cc2533. 

And that I can set up the RF4CE reciver  server on PC side successfully with cc2531 dongle

but I failed to dig out that how to assebly the .packet sent out by cc2533 remote base on Remote TI SDK 1.4.0,ZRC 2.0 ,

example : how to fill the PAN ID and the source and destination NWK address

Could aynbody show the related code.

  • Hi,

    For the Mass Production Test we "fake" the pairing entry. In other words we manually set the pairing information. This is done via the RTI_Read/WriteItem_ APIs. The same APIs are used under Linux as are used embedded. So, the example code for Linux should translate directly to embedded.

  • Sir

    we implement the function to kick out the mass producton protocol  packets as below

    void mass_production(void)

    {

     // demo for masstest

    rcnNwkPairingEntry_t pEntry;

    pEntry.pairingRef = 0X00;

    pEntry.srcNwkAddress = 0xCCC1;

    pEntry.logicalChannel = 15;

    pEntry.ieeeAddress[7] = 0x00;

    pEntry.ieeeAddress[6] = 0x12;

    pEntry.ieeeAddress[5] = 0x4B;

    pEntry.ieeeAddress[4] = 0x00;

    pEntry.ieeeAddress[3] = 0x12;

    pEntry.ieeeAddress[2] = 0x34;

    pEntry.ieeeAddress[1] = 0x00;

    pEntry.ieeeAddress[0] = 0x01;

    pEntry.panId = 0xEEE1;

    pEntry.nwkAddress = 0xDDD1;

    pEntry.recCapabilities = 0x0F;

    pEntry.securityKeyValid = 0x01;

    pEntry.securityKey[0] = 0x01;

    pEntry.securityKey[1] = 0x01;

    pEntry.securityKey[2] = 0x01;

    pEntry.securityKey[3] = 0x01;

    pEntry.securityKey[4] = 0x02;

    pEntry.securityKey[5] = 0x02;

    pEntry.securityKey[6] = 0x02;

    pEntry.securityKey[7] = 0x02;

    pEntry.securityKey[8] = 0x02;

    pEntry.securityKey[9] = 0x02;

    pEntry.securityKey[10] = 0x02;

    pEntry.securityKey[11] = 0x02;

    pEntry.securityKey[12] = 0x01;

    pEntry.securityKey[13] = 0x01;

    pEntry.securityKey[14] = 0x01;

    pEntry.securityKey[15] = 0x01;

    pEntry.vendorIdentifier = 0x0007;

    pEntry.devTypeList[0] = 0x01;

    pEntry.devTypeList[1] = 0x00;

    pEntry.devTypeList[2] = 0x00;

    pEntry.recFrameCounter = 0x00000000;

    pEntry.profileDiscs = 0x02;

    // Set current pairing entry

    int ret;

    ret = RTI_WriteIndexedItemEx( RTI_PROFILE_RTI,

    RTI_SA_ITEM_PAIRING_TABLE_ENTRY,

    0,

    sizeof( pEntry ),

    (uint8 *) &pEntry );

    RTI_WriteItemEx(RTI_PROFILE_RTI, RTI_SA_ITEM_PAN_ID, 2, (uint8 *) &pEntry.panId);

    RTI_WriteItemEx(RTI_PROFILE_RTI, RTI_SA_ITEM_SHORT_ADDRESS, 2, (uint8 *) &pEntry.srcNwkAddress);

       // select initial target device type

       // currently, this routine finds the first pairing entry index, if one exists

       // Åä¶Ô¼Ç¼±í, ÖØÆô¿ÉÒÔÖ±½Ó»ñÈ¡Åä¶Ô½Úµã, »Ö¸´ÏÖ³¡, ²»ÐèÒªÅä¶Ô, Ä¿±ê²àÒ²ÎÞÐëallowBind

       rsaSelectInitialTargetDevice();

    // ·¢ËÍЭÒéÄÚÈÝ

    uint8 txBuf[16];

    txBuf[0] = 0x20;    // Test Protocol

    txBuf[1] = 0x40;    // Production Test Command

    txBuf[2] = 0x01;    // Sequence Number

    txBuf[3] = 0x00;    // Reserved

    txBuf[4] = 0x01;    // Software Version

    txBuf[5] = 0x00;

    txBuf[6] = 0x00;

    txBuf[7] = 0x01;

    txBuf[8] = 0x00;    // IEEE address

    txBuf[9] = 0x12;

    txBuf[10] = 0x4B;

    txBuf[11] = 0x00;

    txBuf[12] = 0x12;

    txBuf[13] = 0x34;

    txBuf[14] = 0x00;

    txBuf[15] = 0x01;

    RTI_SendDataReq(rsaDestIndex,

    RTI_PROFILE_TI,

    RTI_VENDOR_TEXAS_INSTRUMENTS,

    RTI_TX_OPTION_ACKNOWLEDGED | RTI_TX_OPTION_VENDOR_SPECIFIC,

    sizeof(txBuf),

    txBuf);

    // Çå³ýÅä¶Ô±í

    rsaClearAllTargetDevice();

    }

    And sniifer the packets over the air kickout by the CC2533 RC, but the mass production tool has no response to the packects kick out  by  the  RC

    Could you help to check it.

  • Sir

    I have implemented  the function which make CC2533 RC to kick out the mass production protocl packets ,

    the sniffer can capture the packets as below ,but the MassProduction tool has no response to these packets

    massproduction-protocl-sniffer.psd

     

  • Since the previous image didnot show the right PAN and network address, so paste a new one

  • I setup NPI server at  windows PC IP=192.168.1.122, and Mass production tool at windows PC IP=192.168.1.222. and connection between NPI server and Mass poroduction tool  

    I could capture the data send from NPI server to Mass poroduction tool  , and the capature  data show NPI server can reciver the packets kicked  out by CC2533 RC and NPI foward these packets to massproduction tool , but the Mass Prodtuction tool has no response and didnot show anything.

    below picture show the data masked by blue is the packets payload kick out by CC2533 RC 

  • update status: problem has been resolved. 

    mistaken by fill test cmd wrong