Tool/software:
Used SDK: ind_comms_sdk_am64x_09_02_00_15 (with several patches from TI to improve behaviour of MappingChanged callback)
In our tests, we noticed that the callback for mapping changes (registered by EC_API_SLV_PDO_registerMappingChanges()) is not reliably called by the stack to the application.
During the initial connection setup, everything works fine. However, when I change PDOs (mapping) and SyncManager (assignment) in TwinCAT, it sometimes happens that the process data image of the application and the stack no longer match.
In these cases, I identified that the contents of the PDOs differ. The root cause is the missing invocation of the mapping change callback.
Unfortunately, I cannot yet provide a precise pattern for when this mismatch occurs. Could you please check your code again to ensure that every change to the PDOs triggers this callback?