Motion Control Protocol

From SoMakeIt
Jump to: navigation, search
Motion Control Protocol
SoMakeItLogo.png
What:
We aim to create a binary protocol for use on 3D printers that removes use of ASCII, increases reliability and speed, improve usability and increases flexibility.
Participants:
User:Bracken, User:LeoDearden, User:hindessm



Contents

Outline communication stack

  • Application data (Machine commands and status)
  • Data flow control (and error detection/correction?)
  • Data transport (USB or serial)

Command structure

Header includes command type, fields present (axes, acceletation, speed, jerk) and offsets are implied by common field length. All position, speed, jerk and acceleration values are two's compliment fixed point. Some CRC TBD.

g-code equivalent commands (type 1)

Directly compatible with current g-code instructions.

set speed set acceleration move to target position (implicit acceleration and speed limit)

RISC motion command (type 2)

Indented to allow host software complete control to craft manoeuvres of any shape and resolution.

acceleration, end position

CISC motion command (type 3)

Intended to allow host software more control of manoeuvres executed by firmware based on context that the firmware cannot know (eg. perimeter vs infill).

end position, acceleration, jerk, speed.

axis addressing

Arbitrary number of axies

Axies are either absolute or relative

Required Actions

  • Design payloads for g-code equivalent functionality
    • Commands
      • command structure
    • Enquiry
      • Static
        • Bed size
        • Size/Max size of fixed point values
      • Dynamic
        • Temps
        • Position
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox
Donate