This is a major code refactoring that modified a substantial portion of the interface code. This is mostly an improvement directed at developers for core/module programming.
The following enhancements were added:
Clear separation of the protocol and stream compilation units. Communication from the board should now be all handled by calls in the grbl_protocol compilation unit.
New print helper class that implements a simplified/modified version of stdio printf/sprintf. This allows programmers to output grbl verbose using a similar sintax to printf. Some additional features are also added like the ability to print arrays of numbers or IP addresses.
Integration of the value to string implementation of system menu in the new print helpers
Also a generic atof implementation is available. This string to float converter function can now be used in multiple places besides the gcode parser
Improved debug messages. Besides also taking advantage of the ability of printing formatted string debug messages, the debug stream has an intermediate buffer. This prevents debug messages to be interleaved with normal Grbl protocol messages, allowing a more clearer and error free read.
This is a major code refactoring that modified a substantial portion of the interface code. This is mostly an improvement directed at developers for core/module programming. The following enhancements were added: