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.

IWR6843ISK-ODS: issue on I2C slave driver API

Part Number: IWR6843ISK-ODS
Other Parts Discussed in Thread: IWR6843

HI all,

Our objective is to implement a I2C slave protocol on the current radar sensor.

There have the I2C slave driver API in the mmWave SDK.

However, it seems to have bug.

Issues

 It will not generate an interrupt if there are 2 continue operation.

This issue is similar to below thread.

RTOS/AWR1642: Read Issue from I2C Slave - Sensors forum - Sensors - TI E2E support forums

The test program perform a master read first then do a read & write operation.

There are no issue for the first master read operation.

Log as below.

It wait forever after the slave write operation.

In my test program, I do a slave read operation first, then loop below read & write operation.

retVal = I2CSlave_read(i2cHandle, &rxData, 1);
if (retVal == false)
{
    System_printf("Error: I2C Slave read failed.    \n");

}
else
{
    System_printf("Read the data successfully \n");
}

retVal = I2CSlave_write(i2cHandle, &txData, 1);
if (retVal == false)
{
  System_printf("Error: I2C Slave write failed. \n");

}
else
{
  System_printf("Send out the data successfully\n");
}
         

It can work if in the master side add ~0.4s between the master read and write operation.

Logs.

However, this is not a good solution as 0.4s delay is too long.

So, any ideas of what is the root cause?

Is there any practical code example for using the I2C slave driver?

Thanks.

Best regards,

Tom