flexi-bot/docs/marlin/_gcode/G006.md
2023-09-05 20:38:49 +02:00

86 lines
2.8 KiB
Markdown

---
tag: g006
title: Direct Stepper Move
brief: Perform a direct, uninterpolated, and non-kinematic synchronized move
author: shitcreek
contrib: colinrgodsey
group: motion
experimental: true
requires: DIRECT_STEPPING
codes: [ G6 ]
notes:
- 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.
parameters:
-
tag: I
optional: true
description: Set page index
values:
-
tag: index
type: int
-
tag: R
optional: true
description: Step rate per second. Last value is cached for future invocations.
values:
-
tag: rate
type: float
-
tag: S
optional: true
description: Number of steps to take. Defaults to max steps.
values:
-
tag: rate
type: float
-
tag: X
optional: true
description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats.
values:
-
tag: direction
type: int
-
tag: Y
optional: true
description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats.
values:
-
tag: direction
type: int
-
tag: Z
optional: true
description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats.
values:
-
tag: direction
type: int
-
tag: E
optional: true
description: 1 for positive, 0 for negative. Last value is cached for future invocations. Not used for directional formats.
values:
-
tag: direction
type: 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.
- Requires [Step Daemon](//github.com/colinrgodsey/step-daemon) by [@ColinRGodsey](//github.com/colinrgodsey).
- Visit [RepRap Wiki](//reprap.org/wiki/Direct_Stepping) for more details.