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