Prusa Block & Binary G-code reader / writer / converter
A new G-code file format featuring the following improvements over the legacy G-code:
- Block structure with distinct blocks for metadata vs. G-code
- Faster navigation
- Coding & compression for smaller file size
- Checksum for data validity
- Extensivity through new (custom) blocks. For example, a file signature block may be welcome by corporate customers.
libbgcode library is split into three API:
core api contains the basic definitions and functionality which allow to read a G-code file in binary format as defined into SPECIFICATIONS.
See src/LibBGCode/core/core.hpp
binarize api contains the definitions and functionality which allow to write a G-code file in binary format as defined into SPECIFICATIONS.
See src/LibBGCode/binarize/binarize.hpp
convert api contains the functionality which allow to convert G-code files to/from binary format as defined into SPECIFICATIONS.
See src/LibBGCode/convert/convert.hpp
See SPECIFICATIONS for file format specifications.
See BUILDING for building instructions.
See BGCODE for instructions.
We would like to thank Scott Vokes (@atomicobject) for his work on heatshrink and Scott Mudge (@scottmudge) for developing and maintaining MeatPack.