...
PNS_IF_IM0_FILTER_DATA_HAS_IM_DATA means, that the Modul module has his own I&M Data:
(The DAP has in data)
...
PNS_IF_IM0_FILTER_DATA_MODULE_REF means, that the I&M data of this Modul are the reference for all Submoduls submodules which belong to this modulmodule:
(All other submoduls submodules response with the I&M data from the DAP)
...
PNS_IF_IM0_FILTER_DATA_DEVICE_REF this is used only one time (on the DAP) and means, that all other Moduls modules and Submoduls submodules without own I&M data willrefer will refer to this modulmodule:
(All other soduls modules and submoduls submodules response with the I&M data from the DAP)
...
(Slot 2 has its own I&M data and will not response with the I&M data from the DAP)
...
(For the Modul not marked yellow only ptReadImRes->tData.tData.atIM0FilterData[0].ulFlags = PNS_IF_IM0_FILTER_DATA_HAS_IM_DATA; is necessary, because no submodulssubmodules)
More informations to I&M can be found on How to deal with I&M data? (Updated 2016-12-20)
5. Indication implementation
I&M0 is allways always read only read. In a PNS_IF_WRITE_IM_IND comes for I&M0, than this can not be correct. I&M0 has the value usIMRevisionCounter. This must be updatet as soon as I&M1 till 4 go written.
I&M1 till 4 is are read/write and need to be saved remanent on the application flash.
I&M5 is allwasy only readalways read only.
That means each write and read can come for a slot with a subslot and the application need needs to ckeck check if the combination of reaquested requested slot and subslot and sbuslot, write or read is really possbilepossible.