ELFOS
ELFOS
Program Function
File Details & Identifiers
Axes

Axes

The axis identifiers are consistent with those used in machining on a lathe.

Axis Comments
Traditional Cartesian Coordinate Axes
X Perpendicular to the axis of the spindle
Parallel to the plane of the lathe's bed
The object held in the lathe is rotated 90°; thusly, the top and bottom of the piece are aligned with the spindle.
Y Perpendicular to the axis of the spindle
Perpendicular to the plane of the lathe's bed
Z Parallel to the axis of the spindle
Parallel to the plane of the lathe's bed
Additional Axes
A

Rotation about the X axis.

This would be used if a rotary table is implemented on a dome chuck.

The M3 or M4 stepper motor could be used for driving this.

B Rotation about the Y axis. This gets used with a rotary slide.

The M3 or M4 stepper motor could be used for driving this.

C Rotation about the Z axis, or the Spindle. This gets used when turning the rosette at a different speed than the spindle, among other things.

In version 3.0, this is also used as a short descriptor for the axis controlled by the M3 stepper motor.

Other Axes
D Not truly an axis per se In version 3.0, this is used as a short descriptor for the axis controlled by the M4 stepper motor.

File Formatting

  1. The file must be plain text (ASCII).

  2. The file needs to be saved on a microSD card using a separate computer. Because the SD Card library only supports the 8.3 or Short File Name convention, the file name must be a maximum 8 characters + a period + three-character extension (thus the 8.3); the name is not case sensitive. It's not necessary to have the extension, but the limit for the name is 8 characters when no extension is used. Multiple files can be loaded onto the microSD card for use on one or more work pieces as desired.

  3. Each command in the file must be on a separate line unless otherwise noted (e.g., H & V).

  4. Each line in the file must begin with an identifier letter and end with the length of the move, except for commands which don't have a length requirement (e.g., ; and E).


Identifiers

In all cases, the # symbol below is used as a multiplier or actual length.


General Purpose

Axis Identifier Identifier Usage Syntax Notes Comments
n/a ; Comment
  • Begins with a semi-colon, ";".
  • May have up to 25 characters per comment line.
  • Each comment line must have a least one additional character.
There is no limit on the number of comment lines in a file.
n/a E End of the instructions
  • Line begins with a capital "E".
All files must have this as the last line in the file.
n/a P# Pause in seconds.
  • # must be a positive integer.
This is often used to allow time for manually moving the cutter in or out.


Segment Counts

Axis Identifier Identifier Usage Syntax Notes Comments
n/a WA# Set the axial size of the pattern.
  • # is the count of axial segments in the pattern.
  • # must be a positive integer.

This identifier is required for all patterns.

Prior to v21, this was A#.

Sp WS# Set the radial size of the pattern.
  • # is the count of vertical segments in the pattern.
  • # must be a positive integer.

This identifier is required for all patterns.

Prior to v21, this was S#.

M3 WB# Sets how many M3 radial segments in the file.
  • # must be a positive integer.

When M3 is driving a rotary table holding the workpiece and it is set to Radial on the motor page, WB should be used to set the segment length, similar to WS for the spindle.

When M3 is driving a rotary table holding a sliderest (spherical apparatus), WB should not be used.

WD should also not be used when M4 is set to Linear.

M4 WD# Sets how many M4 radial segments in the file.
  • # must be a positive integer.

When M4 is driving a rotary table holding the workpiece and it is set to Radial on the motor page, WD should be used to set the segment length, similar to WS for the spindle.

When M4 is driving a rotary table holding a sliderest (spherical apparatus), WD should not be used.

WD should also not be used when M4 is set to Linear.


Spindle Moves

Axis Identifier Identifier Usage Syntax Notes Comments
Sp S#
S-#
Rotate the spindle.
  • A positive number specifies a spindle rotation in the CCW direction.
  • A negative number specifies a spindle rotation in the CW direction.
  • # can be a floating point number.
Prior to v21, this was U# or D#.
C C#
C-#
Move about the C axis.
  • # can be a floating point number.
The C axis is the same as the spindle; i.e., a rotation about the Z axis.


Enable or Disable Stepper Motors

Axis Identifier Identifier Usage Syntax Notes Comments
Sp KS# Enable / disable the spindle.
  • # is either 0 or 1.
    • 0 = Disable
    • 1 = Enable
Steppers are automatically enabled when executing a command, so it is not necessary to enable one after disabling it.
X KX# Enable / disable the X Axis.
Z KZ# Enable / disable the Z Axis.
M3 KB# Enable / disable the M3 Axis.
n/a KA# Enable / disable the current Program Page Axis.


Axis Moves
Based on Sync Screen Selection

Axis Identifier Identifier Usage Syntax Notes Comments
n/a A#
A-#
Move the cutter along the axis selected on the Grk screen.
  • A positive number specifies a move along the direction selected on the Grk screen.
  • A negative number specifies a move in the opposite direction.
  • # can be a floating point number.
A
Moves
I and O
Moves
B X
X Z
Z X

I and O are opposite moves from each other. Think of them as "In" or "Out". They are used to move the cutter into or away from the workpiece to allow for moving to a new position without cutting.

Prior to v21, A# was R# or L#.

n/a I# Move the cutter into the workpiece.

This is movement along the opposite axis from what was selected on the Program screen.

  • # must be a positive number.
  • # can be a floating point number.
n/a O# Move the cutter out from (away from) the workpiece.

This is movement along the opposite axis from what was selected on the Program screen.

  • # must be a positive number.
  • # can be a floating point number.


Axis Moves
Hardcoded Axis Selection

Axis Identifier Identifier Usage Syntax Notes Comments
X X#
X-#
Move the cutter along the X axis.
  • A positive number specifies a move (along the X axis) in a pattern away from the center line of the spindle.
  • A negative number specifies a move (along the X axis) in a pattern towards from center line of the spindle.
  • # can be a floating point number.

These hardcoded axis selections are used to move the cutter along the identified axis, regardless of what is selected on the Grk screen

When this key is used to set the direction, the positive and negative movements are as noted to the left.
 
This key makes the movements work in the opposite manner.
Z Z#
Z-#
Move the cutter along the Z axis.
  • A positive number specifies a move (along the Z axis) in a pattern away from the spindle.
  • A negative number specifies a move (along the Z axis) in a pattern towards from the spindle.
  • # can be a floating point number.
M3
or
B
B#
B-#
Move the cutter along the M3 axis.
  • A positive number specifies a move (along the M3 {or B} axis) in a pattern in a clockwise manner.
  • A positive number specifies a move (along the M3 {or B} axis) in a pattern in a counterclockwise/anticlockwise manner.
  • # can be a floating point number.
M4 D#
D-#
Move the cutter along the M4 axis.
  • A positive number specifies a move (along the M4 axis) in a pattern in a clockwise manner.
  • A positive number specifies a move (along the M4 axis) in a pattern in a counterclockwise/anticlockwise manner.
  • # can be a floating point number.


Coordinated Axis & Spindle Moves

Axis Identifier Identifier Usage Syntax Notes Comments
n/a H#
H-#

V#
V-#
Specifies a coordinated move with the spindle and the active axis.
  • H & V must be on the same line.
    • H#V#
    • H-#V#
    • H#V-#
    • H-#V-#
  • # can be a floating point number.
  • H is a horizontal move with the selected axis.
  • V is vertical move with the spindle.
  • Each move is a leg of a right triangle.
n/a Ta1#a2# Specifies a coordinated move between two axes.
  • # is a multiplier or an actual length of the movement.

    # is assumed to be positive. A minus sign ("-") can be added to make this negative (e.g., TX-3Z2).


  • a1 is the first axis.
  • a2 is the second axis.

Axis Identifier to Use
(for a1 or a2)
Spindle S
X X
Z Z
M3 B
M4 D

This allows Cartesian movements when the M3 or M4 are set to Linear, and Polar movements when they are set to Radial.

This works similar to the HV command except you can specify which two axes(motors) you want to move.


Page Call: Index Page
These were introduced in v23. If your system is a prior version, they will not work.

Axis Identifier Identifier Usage Syntax Notes Comments
Sp NN# Index the spindle using settings on the Index page, using settings on that page.
# Resulting Action
1 moves CW
-1 moves CCW

Settings on the page are used.

Sp NT# Indexing approach: divisions of a circle or degrees.
# Resulting Action
1 Divisions
2 Degrees
Sp NJ# Index ID
  • # is one of the pre-sets.


Page Call: Move Page
These were introduced in v23. If your system is a prior version, they will not work.

Axis Identifier Identifier Usage Syntax Notes Comments
n/a FF# Moves an axis using settings on the Move page, using settings on that page.
# Resulting Action
-1 Moves towards the headstock
1 Moves away from the headstock

Settings on the page are used.

Axes should be set the same on the Program page as they are on the called page.

I and O will usually be used in conjunction with the page moves. They take the axis setting on the Program page and the page moves use the settings on that page.

n/a FD# Move Distance
  • # is a floating point number


Page Call: Recip Page
These were introduced in v23. If your system is a prior version, they will not work.

Axis Identifier Identifier Usage Syntax Notes Comments
n/a VV# Execute the moves specified on the Recip page, using settings on that page.
# Resulting Action
1 moves away from the headstock
-1 moves towards from the headstock

Settings on the page are used.

Axes should be set the same on the Program page as they are on the called page.

I and O will usually be used in conjunction with the page moves. They take the axis setting on the Program page and the page moves use the settings on that page.

n/a VT# Reciprocation type.
# Resulting Action
0 Reciprocate radially
1 Reciprocate axially
n/a VK# Reciprocation style
  • # is one of the pre-set patterns
n/a VW# Reciprocation Waves
  • # is a positive integer
n/a VS# Reciprocation Spindle
  • # is a floating point number
n/a VA# Reciprocation Axis
  • # is a floating point number


Page Call: Sync Page
These were introduced in v23. If your system is a prior version, they will not work.

Axis Identifier Identifier Usage Syntax Notes Comments
n/a GG# Execute the moves specified on the Sync page, using settings on that page.
# Resulting Action
1 moves away from the headstock
-1 moves towards from the headstock

Settings on the page are used.

Axes should be set the same on the Program page as they are on the called page.

I and O will usually be used in conjunction with the page moves. They take the axis setting on the Program page and the page moves use the settings on that page.

n/a GH# Helix type
# Resulting Action
0 Used for a left helix
1 Used for a right helix
n/a GD# Distance
  • # is a floating point number
n/a GR# Revolutions
  • # is a floating point number


Page Call: M3 & M4 Parms
These were introduced in v3. If your system is a prior version, they will not work.

Axis Identifier Identifier Usage Syntax Notes Comments
M3 JR# Set the value for the M3 radius.
  • # is a floating point number for the radius.

If using a version prior to 3.0, this is for the B axis.

M4 LR# Set the value for the M4 radius.
  • # is a floating point number for the radius.


The example file below ...

; Pattern 2a
; Set vertical segments to 3
WS3
; Set axial segments to 2
WA2
; Move the pattern 2 segments away from the spindle
; (move right)
A2
; Move the pattern 2 segments down
S-2
; Move the pattern 1 segment towards the spindle
; (move left)
A-1
; Move the pattern 1 segment up
S1
; Move the pattern 1 segment towards the spindle
; (move left)
A-1
; Move the pattern 2 segments down
S-2
; End the pattern
E

... produces the movements seen below.


; Helical Path
; This pattern returns on same path to compensate for backlash.
; Creates helical path on Z axis or spiral on X axis.
; Cutter must be set to cut depth before starting.
WS1
WA1
;Do the path.
GG-1
GG1
;Move cutter away from workpiece.
O1
;Index to next start position.
NN1
;Move cutter into the workpiece
I1
E

 

Deprecated Identifiers

These file identifiers were deprecated in version 3.0, and are no longer supported. They are listed here for historical purposes, and to assist in converting to the newer 3.0 identifiers.

Identifier Identifier Usage Syntax Notes Comments
NI# Number of divisions or degrees for each index
  • # is a positive integer

Recommend upgrading to V3.0, and using the other Nx identifiers.

QI# Executed the move specified on the Index page.
  • # is a positive integer

Recommend upgrading to V3.0, and using the Nx identifiers.

QM# Execute the move specified on the Move page.
  • # is a positive integer

Recommend upgrading to V3.0, and using the Fx identifiers.

QR# Execute the move specified on the Recip> page.
  • # is a positive integer

Recommend upgrading to V3.0, and using the Vx identifiers.

QS#
QS-#
Execute the moves specified on the Sync page.
  • Axis selected on the Grk page must match the axis set on Sync.
  • # is a positive integer

Recommend upgrading to V3.0, and using the Gx identifiers.


Questions or comments? Contact us at
ColvinTools@Gmail.com
Disclaimers