That's fantastic progress John!
Couldn't do it without
@gerritv He's been the real brains behind all this.
Here's mine as far as configuring the MESA 7i92H:
board_ip="192.168.1.121" config=" num_encoders=2 num_pwmgens=1 num_stepgens=6"
Here's the Path Pilot version:
board_ip=10.10.10.10 config=num_encoders=0 num_pwmgens=1 num_3pwmgens=0 num_stepgens=5
Likely the BIT file for the 7i92 used by Path Pilot doesn't have encoders so a few other things have to be changed to make this all come together. For example in the ini file there is:
BITFILE0=mesa/tormach_mill3_7i92.bit
I can put the .bit file I use for my system in place of this but then I also have to make sure I name the appropriate I/O in the hal file to match. Looks like they are using the standard parallel port pin numbers as used for MACH3. This is all a lot of work but it looks possible.
# Configuration pin-out:
#
# IO Connections for P3
# Mill Function Pin# I/O Pri. func Sec. func Chan Pin func Pin Dir
#
# Spindle Speed 1 0 IOPort StepGen 4 Step/Table1 (Out)
# Coolant 14 1 IOPort None (Out)
# X Direction 2 2 IOPort StepGen 0 Dir/Table2 (Out)
# Estop Reset 15 3 IOPort None (In)
# X Step 3 4 IOPort StepGen 0 Step/Table1 (Out)
# Spindle Dir 16 5 IOPort None (Out)
# Y Direction 4 6 IOPort StepGen 1 Dir/Table2 (Out)
# Charge Pump 17 7 IOPort PWM 0 PWM (Out)
# Y Step 5 8 IOPort StepGen 1 Step/Table1 (Out)
# Z Direction 6 9 IOPort StepGen 2 Dir/Table2 (Out)
# Z Step 7 10 IOPort StepGen 2 Step/Table1 (Out)
# A Direction 8 11 IOPort StepGen 3 Dir/Table2 (Out)
# A Step 9 12 IOPort StepGen 3 Step/Table1 (Out)
# X Limit 10 13 IOPort None (In)
# Y Limit 11 14 IOPort None (In)
# Z Limit 12 15 IOPort None (In)
# Probe In 13 16 IOPort None (In)
#
Mine isn't a lot different for the first port except I'm not using Spindle Speed on #1 and instead use that stepgen for my charge pump where Tormach uses pin 17 PWM for the charge pump. But the stepgens match for the 4 axis. My BoB wants ESTOP on Pin10 where it's an X Limit on the Tormach.
# IO Connections for P2 MESA 7i92_PMDX126Ax2D.pin (modified from pin file)
# DBn.m_PMDX_Jn.m I/O Pri.func Sec. func Chan Pin func Pin Dir System usage
# P1.1_J6.2 0 IOPort None (Out) machine-is-enabled (output)
# P1.14_J6.3 1 IOPort PWM 0 PWM (Out) spindle-vel-cmd-rps PWM (output)
# P1.2_J4.2 2 IOPort StepGen 0 Step/Table1 (Out) x axis step pulse (output)
# P1.15_J12.9 3 IOPort None (In) max-x-y-min-z (input)
# P1.3_J4.3 4 IOPort StepGen 0 Dir/Table2 (Out) x axis dir signal (output)
# P1.16_J6.4 5 IOPort None (Out) spindle-ccw output (output)
# P1.4_J3.2 6 IOPort StepGen 1 Step/Table1 (Out) y axis step pulse (output)
# P1.17_J6.5 7 IOPort StepGen 4 Step/Table1 (Out) Charge Pump frequency (output)
# P1.5_J3.3 8 IOPort StepGen 1 Dir/Table2 (Out) y axis dir signal (output)
# P1.6_J2.2 9 IOPort StepGen 2 Step/Table1 (Out) z axis step pulse (output)
# P1.7_J2.3 10 IOPort StepGen 2 Dir/Table2 (Out) z axis dir signal (output)
# P1.8_J1.2 11 IOPort StepGen 3 Step/Table1 (Out) a axis step pulse (output)
# P1.9_J1.2 12 IOPort StepGen 3 Dir/Table2 (Out) a axis dir signal (output)
# P1.10_J13.4 13 IOPort None (In) estop-external-in (input)
# P1.11_J12.3 14 IOPort QCount 0 Quad-A (In) min home-x (input)
# P1.12_J12.5 15 IOPort QCount 0 Quad-B (In) min home-y (input)
# P1.13_J12.7 16 IOPort QCount 0 Quad-IDX (in) max-home-z (input)
These are all just assignments that are easy enough to change. For example in mine...
setp hm2_7i92.0.stepgen.00.step_type 0
setp hm2_7i92.0.stepgen.00.control-type 1
In the Tormach the macros HOSTMOT2 and BOARD are defined in the INI file
[HOSTMOT2]
BOARD=7i92
turns this into exactly the same thing as mine for the X axis.
# X axis
# step/dir
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.step_type 0
# velocity control
setp hm2_[HOSTMOT2](BOARD).0.stepgen.00.control-type 1
Confusing yes. But eventually it does start to make sense.