API Reference v9.2.0
Translatorclass
Module: zaber_motion.gcode
Represents a live G-Code translator. It allows to stream G-Code blocks to a connected device. It requires a stream to be setup on the device.
Requires at least Firmware 7.11.
The following example illustrates how you can obtain an instance of this type:
from zaber_motion.ascii import Connection
from zaber_motion.gcode import Translator
connection = Connection.open_serial_port('COM3')
device = connection.get_device(1)
streams = device.streams
stream = streams.get_stream(1)
translator = Translator.setup(stream)Related Guides:
Index
pProperties
Properties
p
Methods
m
translator.flush(wait_until_idle = True)Flushes the remaining stream commands waiting in optimization buffer into the underlying stream. The flush is also performed by M2 and M30 codes.
Arguments
| Name | Type | Description |
|---|---|---|
| wait_until_idle | bool | Determines whether to wait for the stream to finish all the movements. |
Return Value
List[str] The remaining stream commands.m
translator.get_axis_coordinate_system_offset(coordinate_system, axis, unit)Gets offset of an axis in a given coordinate system.
Arguments
| Name | Type | Description |
|---|---|---|
| coordinate_system | str | Coordinate system (e.g. G54). |
| axis | str | Letter of the axis. |
| unit | LengthUnits | Units of position. |
Return Value
float Offset in translator units of the axis.m
translator.get_axis_position(axis, unit)Gets position of translator's axis. This method does not query device but returns value from translator's state.
Arguments
| Name | Type | Description |
|---|---|---|
| axis | str | Letter of the axis. |
| unit | LengthUnits | Units of position. |
Return Value
float Position of translator's axis.m
m
m
translator.set_axis_home_position(axis, position, unit)Sets the home position of translator's axis. This position is used by G28.
Arguments
| Name | Type | Description |
|---|---|---|
| axis | str | Letter of the axis. |
| position | float | The home position. |
| unit | LengthUnits | Units of position. |
m
translator.set_axis_position(axis, position, unit)Sets position of translator's axis. Use this method to set position after performing movement outside of the translator. This method does not cause any movement.
Arguments
| Name | Type | Description |
|---|---|---|
| axis | str | Letter of the axis. |
| position | float | The position. |
| unit | LengthUnits | Units of position. |
m
translator.set_axis_secondary_home_position(axis, position, unit)Sets the secondary home position of translator's axis. This position is used by G30.
Arguments
| Name | Type | Description |
|---|---|---|
| axis | str | Letter of the axis. |
| position | float | The home position. |
| unit | LengthUnits | Units of position. |
m
m
translator.set_traverse_rate(traverse_rate, unit)Sets the speed at which the device moves when traversing (G0).
Arguments
| Name | Type | Description |
|---|---|---|
| traverse_rate | float | The traverse rate. |
| unit | VelocityUnits | Units of the traverse rate. |
s
Translator.setup(stream, config = None)Sets up the translator on top of a provided stream.
Arguments
| Name | Type | Description |
|---|---|---|
| stream | Stream | The stream to setup the translator on. The stream must be already setup in a live or a store mode. |
| config | Optional[TranslatorConfig] | Configuration of the translator. |
Return Value
Translator New instance of translator.m
translator.translate(block)Translates a single block (line) of G-code. The commands are queued in the underlying stream to ensure smooth continues movement. Returning of this method indicates that the commands are queued (not necessarily executed).
Arguments
| Name | Type | Description |
|---|---|---|
| block | str | Block (line) of G-code. |
Return Value
TranslateResult Result of translation containing the commands sent to the device.