Thanks for posting your code, Josh! I may try to write my own code, or clean this up a little, and if either of those things happen I will post my results. I'm probably not much further along than you coding-wise, but I think there are a few if-statements that could benefit from an && instead of being nested, and your different StartByte evaluations could be cleaned up by being converted to Switch statements!
I might also suggest GitHub again, as it would be a great place to congregate over the code: pull and push requests will allow everyone to democratically arrive at slimmer and more efficient/effective code; forks will allow people to also make their own version for special cases; it will shield people who are more interested in the optics/physical engineering/etc. from having to listen to nerds talk about code!
But if it's just you and me who are interested in the code side of things, maybe that's not necessary.
Thanks again, keep it coming. Close-ups of your breadboard/pinout board requested in particular :)