Hi, This is directed to Thorsten, but anyone else could help me if they want! I'm a total newbie to MIOS, but I'm a software engineer so I can appreciate how great it is. TK you're a legend! However, what I'm currently stuck on is the lack of documentation regarding when MIOS ISRs get called and what you can and can't do in them. What I want to do is not use USER_DIN_NotifyToggle but rather do my own handler of edge transitions in the DIN shift registers. I am ASSUMING I can just handle USER_SR_Service_Finish and then call MIOS_DIN_SRGet to get the FSR to point to the start of the "array" containing the captured state of the DIN module's input pins. Then in this handler I can compare to a cache (in my app's memory) and do whatever MIDI I/O I want then - by iterating FSR1, I can compare the before/after state of the captured DIN input pins. ie. I want more than a toggle handler... I want to do things like "if this switch is currently closed AND another switch becomes closed, then send this MIDI event" etc. I just want confirmation that (a) USER_SR_Service_Finish gets called between updates of the DIN state in RAM, and (b) I can iterate FSR1 to iterate over that DIN state in RAM (I don't need to call MIOS_DIN_SRGet to access each register, right?) ALSO, what's the mapping between DIN module pins and the bit positions in registers returned by MIOS_DIN_SRGet? Apologies if this was already answered on the forum or in a MIOS example... Thanks, Wilba