The UI is already talking with Dialin. Your simulator is using dialin to talk to the UI. Because the UI doesn't recognize Dialin at all, Dialin has to talk on the HD to UI or DG to UI channels instead when sending up commands to the UI. This poses a security risk because the UI could never restrict communication to just the DG/HD only. If Dialin can talk to the UI on separate channels then those channels can be ignored in production mode later.
It's your stack so your call but something I think we should consider
None of the functions we have check for any of these conditions. If we want to implement this in the code, we will need to remove this comment from all *.py Dialin API files and implement the checks in all *.py Dialin API files. Please let me know how you would like to proceed.
How long does this take? We may need to break this loop into smaller pieces and have ModeInitPOST call this function multiple times so that general task does not take too long (> 40ms or so). Otherwise, watchdog will not get pet within its ~50ms window and expire - and also other general and background operations will be blocked until this test is completed.