HWML 4-Axis Stepper Motor Controller Command Set

FIRMWARE/HARDWARE COMMANDS
Command Parameters Setting Getting
?    (0x3F) I,O,H,L   Software Info
    ID = 1280137032 ("HWML"),
    Operating System ID,
    Version: (High.Low)
!    (0x21) N,A,R,M Use Device
    LPT Port: Num, Addr (PC Compatibility),
    Recalc Tick Resolution: R = 0,
    Recalc Max Available Velocity: M = 0
Device Used
    LPT Port: Num, Addr (PC Compatibility),
    Tick Resolution (Hz),
    Max Available Velocity (step/sec)
~    (0x7E) X,Y,Z,W Step Pins (0,+2..+9)
    0 = None, -: Inverted (Here and After)
    Can Designate Limits when not Inverted
Step Pins
^    (0x5E) X,Y,Z,W Direction Pins (0,+2..+9) Direction Pins
[    (0x5B) X,Y,Z,W Negative Limit Pins (0,+1,+10..+17) Negative Limit Pins
]    (0x5D) X,Y,Z,W Positive Limit Pins (0,+1,+10..+17)
    Can Share with Negative, by Direction
Positive Limit Pins
{    (0x7B) A,B,C,D Input Pins (0,+1,+10..+17) Input Pins
}    (0x7D) E,F,G,H Output Pins (0,+1..+9,+14,+16,+17)
Output Pins
_    (0x5F) X,Y,Z,W Revolution Distance (Memo, micron) Revolution Distance (Memo, micron)
`    (0x60) X,Y,Z,W Count of Steps Per Revolution (Memo) Count of Steps Per Revolution (Memo)
&    (0x26) X,Y,Z,W Feedrate Ratio Per Axis (%) Feedrate Ratio Per Axis (%)
<    (0x3C) A,B,C,D   Inputs (0/1) - Current Values
>    (0x3E) E,F,G,H Outputs (0/1) - Immediate (not Queued) Outputs (0/1) - Current Values
MOVEMENT COMMANDS
Command Parameters Setting Getting   (If Low Case Letter Command)
P    (0x50)
p    (0x70)
X,Y,Z,W Position (-2147483647..2147483647)
    -2147483648 = Omitted (Everywhere)
Position
V    (0x56)
v    (0x76)
F,B,M,A Velocity and Acceleration
    Feedrate = Slew Speed (step/sec),
    Base Speed = Initial Velocity (step/sec),
    Max Speed = Rapid Velocity (step/sec),
    Acceleration (step/sec/sec)
Velocity and Acceleration
    Feedrate = Slew Speed (step/sec),
    Base Speed = Initial Velocity (step/sec),
    Max Speed = Rapid Velocity (step/sec),
    Acceleration (step/sec/sec)
W    (0x57)
w    (0x77)
M,A,T,D Working Mode (0/1/...)
    Motion - Rapid/Linear/CW/CCW,
    Arc Plane - XY/XZ/YZ,
    Travel - Auto/Nudge/Continuous,
    Distance - Absolute/Relative
Working Mode (0/1/...)
    Motion - Rapid/Linear/CW/CCW,
    Arc Plane - XY/XZ/YZ,
    Travel - Auto/Nudge/Continuous,
    Distance - Absolute/Relative
L    (0x4C)
l    (0x6C)
X,Y,Z,W Enable/Disable Limits (0/4)
    0 = Enable, 4 = Disable
Limits (0..3)
    0 = Not Pressed, 1 = Negative Pressed,
    2 = Positive Pressed, 3 = Both Pressed
C    (0x43)
c    (0x63)
A,B,C,D Emergency Stop Inputs (0/1)
    0 = Unwatched, 1 = Stop if High (1)
Emergency Stop Inputs (0/1)
    Current Condition to be Queued
B    (0x42)
b    (0x62)
E,F,G,H Switch Outputs on Queue (0/1)
    Queued (not Immediate)
Switched Outputs on Queue (0/1)
    Current Queued Result
H    (0x48)
h    (0x68)
P Hold on Queue (msec, 1..86400000)
    Queued Pause (not Immediate)
Hold on Queue (msec)
    Last Queued Pause Value
Q    (0x51)
q    (0x71)
X,Y,Z,W Queue Up Move (Append to Queue)
    X,Y,Z,W Relative or Absolute
Queue Target Position Now
    X,Y,Z,W Absolute
U    (0x55)
u    (0x75)
I,J,K,R Arc Center Offsets (For Last Move)
    I,J,K Relative to X,Y,Z or R as +Radius
    (Max Available Arc Radius is 32767)
Result Arc Center Offsets
    I,J,K Relative to X,Y,Z
E    (0x45)
e    (0x65)
G Execute Queue
    Go Times: G > 1
Queue Execution Result
    OK: G = 0, Was Emergency/Limit: G > 0
R    (0x52)
r    (0x72)
C Reset Queue
    Clear: C = 0, Recall: C = 1
Number of Queue Elements Used
    Current Number, Available

(C) Aryeh Eiderman  < leib @ hwml . com >