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.

IWR6843: rlGetRfDieId API have different output on SDK3.5 and SDK3.4

Part Number: IWR6843

Hello team,

rlGetRfDieId() API have different output on SDK3.5 and SDK3.4. Can you please provide an official reply on this issue? what's the reason and why it happen?

During my test, the RSS version will impact this output.

Please see my test result and code below.

Debug: Die ID Status
Lot no : 9323977, Wafer no: 33
Die cordinates in wafer. X : 23 , Y : 103
reserved0 : 0, reserved1: 0
reserved2: 0 , reserved3: 0
******************************************
xWR68xx MMW Demo 03.05.00.04 OOB demo with xwr6xxx_radarss_rprc.bin from SDK3.5(RADARSS 6.3.2.6)
******************************************
mmwDemo:/>

Debug: Die ID Status
Lot no : 9323977, Wafer no: 1507361
Die cordinates in wafer. X : 103 , Y : 0
reserved0 : 0, reserved1: 0
reserved2: 0 , reserved3: 0
******************************************
xWR68xx MMW Demo 03.04.00.03 OOB demo with xwr6xxx_radarss_rprc.bin from SDK3.4(RADARSS 6.2.1.5)
******************************************
mmwDemo:/>


Debug: Die ID Status
Lot no : 9323977, Wafer no: 33
Die cordinates in wafer. X : 23 , Y : 103
reserved0 : 0, reserved1: 0
reserved2: 0 , reserved3: 0
******************************************
xWR68xx MMW Demo 03.04.00.03 OOB demo with xwr6xxx_radarss_rprc.bin from SDK3.5(RADARSS 6.3.2.6)
******************************************
mmwDemo:/>

int8_t printbuf[50];
int32_t mmwaveLink_getDieIdStaus(void)
{
    int32_t         retVal;
    rlRfDieIdCfg_t dieIdStatus = { 0 };

    /* Get Device DIE ID */
    retVal = rlGetRfDieId(RL_DEVICE_MAP_INTERNAL_BSS, &dieIdStatus);

    /* Check for mmWaveLink API call status */
    if(retVal != 0)
    {
        /* Error: Link reported an issue. */
        System_printf("Error: rlGetRfdieId retVal=%d\n", retVal);
        sprintf(printbuf,"Error: rlGetRfdieId retVal=%d\n", retVal);
        UART_writePolling (gMmwMssMCB.commandUartHandle,
                           (uint8_t*)printbuf,
                           strlen(printbuf));
        return -1;
    }
    System_printf("Debug: Die ID Status\n");
    sprintf(printbuf,"Debug: Die ID Status\n");
    UART_writePolling (gMmwMssMCB.commandUartHandle,
                       (uint8_t*)printbuf,
                       strlen(printbuf));
    System_printf("Lot no : %d, Wafer no: %d\nDie cordinates in wafer. X : %d , Y : %d\n",
                  dieIdStatus.lotNo, dieIdStatus.waferNo, dieIdStatus.devX, dieIdStatus.devY);
    sprintf(printbuf,"Lot no : %d, Wafer no: %d\nDie cordinates in wafer. X : %d , Y : %d\n",
            dieIdStatus.lotNo, dieIdStatus.waferNo, dieIdStatus.devX, dieIdStatus.devY);
    UART_writePolling (gMmwMssMCB.commandUartHandle,
                       (uint8_t*)printbuf,
                       strlen(printbuf));

    sprintf(printbuf,"reserved0 : %d, reserved1: %d\nreserved2: %d , reserved3: %d\n",
                dieIdStatus.reserved0, dieIdStatus.reserved1, dieIdStatus.reserved2, dieIdStatus.reserved3);
        UART_writePolling (gMmwMssMCB.commandUartHandle,
                           (uint8_t*)printbuf,
                           strlen(printbuf));

    return 0;
}

Thanks.

Regards,

Wesley