I have uploaded a movie showing 30 seconds of input signal vs detected result. I checked this frame by frame and I didn’t find a single error. I still can’t figure out why I have output errors. Maybe you can!
This doesn’t come up in the movie, but there is an exception I handle where if there are 8 bits already stored right before I process an edge, I go ahead and xfer it to the PC in the ISR. Normally this is handled in main, but I found a few cases where main wasnt getting enough cpu time to get it out, so I do it on an exception basis in the ISR. It *only* happens with edges, and I tested it extensively.