I want to start by saying “great job” to Michal for all the work that he has done here.
Next, I would like to say to all listening that I believe it important to preserve the original serial command mechanisms because it provides an easy way to test things by hand and it will maintain backwards compatibility. Also, it should not cause any problems switching between them both the way Michal is currently doing.
That said, I believe that the switch to binary mode should not be triggered using the ‘$’ character because it would be too easy to input this by accident during hand testing. That is because ‘$’ is next to ‘#’ on most keyboards. Accidentally doing this by hand could be disastrous.
My first thought was to move this to ‘&’ because its keyboard is reasonably far away to avoid accidents. However, I have come up with an even better idea, use -4 (0xFB); this will be impossible to type by accident on most keyboards.