Skip to content

Prusa Block & Binary G-code reader / writer / converter

License

Notifications You must be signed in to change notification settings

prusa3d/libbgcode

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5041c09 · Feb 20, 2025
Feb 19, 2025
Nov 2, 2023
Feb 19, 2025
Oct 18, 2023
Sep 14, 2023
Sep 3, 2024
Feb 19, 2025
Feb 19, 2025
Jul 4, 2024
Nov 2, 2023
Oct 24, 2023
Jul 26, 2023
Oct 18, 2023
Oct 24, 2023
Nov 14, 2023

Repository files navigation

libbgcode

Prusa Block & Binary G-code reader / writer / converter

Description

A new G-code file format featuring the following improvements over the legacy G-code:

  1. Block structure with distinct blocks for metadata vs. G-code
  2. Faster navigation
  3. Coding & compression for smaller file size
  4. Checksum for data validity
  5. 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

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

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

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

Specifications

See SPECIFICATIONS for file format specifications.

Building

See BUILDING for building instructions.

Command line application

See BGCODE for instructions.

References

We would like to thank Scott Vokes (@atomicobject) for his work on heatshrink and Scott Mudge (@scottmudge) for developing and maintaining MeatPack.

About

Prusa Block & Binary G-code reader / writer / converter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published