machines/systems/flexibot/docs/marlin/_gcode/G006.md
2025-03-11 23:32:39 +01:00

2.8 KiB

tag title brief author contrib group experimental requires codes notes parameters
g006 Direct Stepper Move Perform a direct, uninterpolated, and non-kinematic synchronized move shitcreek colinrgodsey motion true DIRECT_STEPPING
G6
Requires `DIRECT_STEPPING`.
Position sync in step-daemon is not entirely finished and movements made with the control panel may be lost. At this moment, homing is required to sync step daemon and the device. Always home before issuing movement commands.
Use with extra caution.
tag optional description values
I true Set page index
tag type
index int
tag optional description values
R true Step rate per second. Last value is cached for future invocations.
tag type
rate float
tag optional description values
S true Number of steps to take. Defaults to max steps.
tag type
rate float
tag optional description values
X true 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats.
tag type
direction int
tag optional description values
Y true 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats.
tag type
direction int
tag optional description values
Z true 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats.
tag type
direction int
tag optional description values
E true 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats.
tag type
direction int

Direct Stepping allows a host device to issue direct stepper movements in binary format, pre-written by the host device to a page in the device RAM.

A "page manager" mechanism is provided to load the binary data onto the device. The page manager provided here uses a parallel protocol over the USB serial connection to write pages to the device RAM, and is decoupled from the normal serial G-code pipeline. This allows the host device to preload pages as fast as possible without waiting on the G-code pipeline.

Once a page is written by the device, it can be triggered using the G6 G-code which references the page index that should be used for that move. Depending on the page format, direction arguments may need to be provided in the G6 code.