I felt, what suggested by "AvaTar" is the appropriate design for this kind of application.ISRBuffer between ISR and main loopState machine in main loopTimeouts if response(s) are not received in stipulated timeRetries, if response(s) are not received...