KL02 Sub-Family Reference Manual (http://www.nxp.com/docs/en/reference-manual/KL02P32M48SF0RM.pdf )
clearly indicates register I2Cx_FLT does not have SSIE bit (start / stop interrupt), why is MKL02Z4_features.h defined otherwise?
/* @brief Has I2C bus start and stop detection (register bits FLT[SSIE], FLT[STARTF] and FLT[STOPF]). */
#define FSL_FEATURE_I2C_HAS_START_STOP_DETECT (1)
/* @brief Has I2C bus stop detection (register bits FLT[STOPIE] and FLT[STOPF]). */
#define FSL_FEATURE_I2C_HAS_STOP_DETECT (0)
Slave receive works with FSL_FEATURE_I2C_HAS_START_STOP_DETECT set to (1), but not when set to (0) with FSL_FEATURE_I2C_HAS_STOP_DETECT set to (1).
Which is correct?
After 1 week digging and debugging fsl_i2c library it felt unfinished at 70%, some of the functions are not used and it should be made very clear to user that the library does not support multi-master configuration - where single I2C instance need to support both master/slave operation. The proof is the library does not handle slave and master handles differently, only one can be created at one time - the one created later overwrites the former.
Hi, Soon Yet Chan
Yes, the I2Cx_FLT register has the STARTF bit. I will try to request a new version from NXP develop team for you.
Thank you very much and apologize for the mistake sincerely!
Regards
Pan Jing
Testing START condition generation from another device, KL02 did enter interrupt meaning it has START interrupt support, from header files this would be bit4 of I2Cx_FLT.
Is there a new version of Reference Manual?