Thanks for the prompt response. Your website has been instrumental in my latest project. You will appreciate this "nerdly" story... I am designing the DMX receiver portion of a VFD controller, and all was perfect in my bit-banging receiver code until I ordered a crappy $34 Chinese DMX controller on EBAY for testing purposes. I soon realized why it was $34. I was getting intermittent byte shifting and tracked it down to an occasional MAB of 2.6uS that the crappy controller would send out once every 2 or 3 seconds. The rest of the time it was exactly 4uS. The glitched short MAB was about 1uS shorter than my code could reliably detect, so it would sometimes miss the short MAB all together and confuse the first "0 byte" in the packet for the MAB causing the received packet to be off by a byte. It was very irritating but quite satisfying once I tracked the problem down. So I had to choose between trashing the controller and getting a new one that conformed to the 4uS minimum spec, or tweak my code to handle a shorter MAB. I took on the challenge and chose to tweak the code, however the only way I could come up with tightening my MAB check loop with the required speed to hit 2.5uS consistently and still have a "time out" feature was to use an internal hardware timer and check the time-out over-flow flag. This solved the "short MAB" detection issue, but the longest duration before overflow I could configure the internal time out timer was 30mS hence the limitation.
Based on your experience, my receiver should be well within it's "rights" to reject a packet with an MAB longer than 30mS, no?