MDF Rose Engine Lathe 2.0
Control System for Multiple Stepper Motors
Program Function
File Details & Identifiers
Axes
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.

Purpose Identifier Identifier Usage Syntax Notes Comments
General ; 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.
E End of the instructions
  • Line begins with a capital "E".
All files must have this as the last line in the file.
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 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#.

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#.

Spindle Moves 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-#
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.
Axis Moves Based on Sync Screen Selection
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#.

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.
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.
Hardcoded Axis Selection
B#
B-#
Move the cutter along the B axis.
  • A positive number specifies a move (along the B axis) in a pattern in a clockwise manner.
  • A positive number specifies a move (along the B axis) in a pattern in a counterclockwise/anticlockwise manner.
  • # 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.
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.
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.
Coordinated Axis & Spindle Moves 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.
Page Call :
Index Page

V23+

These were introduced in v23. If your system is a prior version, they will not work.
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.

NT# Indexing approach: divisions of a circle or degrees.
# Resulting Action
1 Divisions
2 Degrees
NI# Number of divisions or degrees for each index
  • # is a floating point number
NJ# Index ID
  • # is one of the pre-sets.
Page Call :
Move Page

V23+

These were introduced in v23. If your system is a prior version, they will not work.
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.

FD# Move Distance
  • # is a floating point number
Page Call :
Recip Page

V23+

These were introduced in v23. If your system is a prior version, they will not work.
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.

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

V23+

These were introduced in v23. If your system is a prior version, they will not work.
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.

GH# Helix type
# Resulting Action
0 Used for a left helix
1 Used for a right helix
GD# Distance
  • # is a floating point number
GR# Revolutions
  • # is a floating point number
Page Call :
B Parms

V23+

These were introduced in v23. If your system is a prior version, they will not work.
JR# Set the value for the B Radius
  • # is a floating point number for the distance to move.
Page Calls

V21 & V22 Only

These were introduced in v21. If your system is a prior version, they will not work. They were deprecated in v23. You can continue to use them for now, but at some time in the future, they will stop working.
QI# Execute the move specified on the Index page.
  • # is a positive integer

Recommend upgrading to V23+, and using the Nx identifiers.

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

Recommend upgrading to V23+, and using the Fx identifiers.

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

Recommend upgrading to V23+, 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.
  • # must be a positive integer.

Recommend upgrading to V23+, and using the Gx identifiers.


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

 

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