Setting up a 5i25/G540/7i76 Gantry
15 Feb 2019 03:19 #126518
by MartyJ
Setting up a 5i25/G540/7i76 Gantry was created by MartyJ
Hello, I'm setting up a 4-motor 3-axis gantry router.
I've got a 5i25 set up with a G540 plugged into P3 and a 7i76 plugged into P2.
The 540 will drive the motors and handle Estop, all homes and limits will go through the 7i76.
I've read literally every HAL file out there for G540's on 5i25's. What I have now is my best mashup of what I could find.
My current roadblock is that I need to be able to enable the G540.
Based on examples I'd seen, I am trying to use
setp hm2_5i25.0.gpio.000.is_output true
Which gives me a "parameter or pin not found.
If anyone can look at my HAL/ini (which is kind of a mess right now since I've been commenting and uncommenting like mad to see if I can get things to work), that would be great.
OR, if anyone has a known good 5i25/G540 HAL for the current master, that would be a big help, too. All the 5i25/G540 examples out there are different, so it would be nice to be able to see a known good config.
Thanks!
I've got a 5i25 set up with a G540 plugged into P3 and a 7i76 plugged into P2.
The 540 will drive the motors and handle Estop, all homes and limits will go through the 7i76.
I've read literally every HAL file out there for G540's on 5i25's. What I have now is my best mashup of what I could find.
My current roadblock is that I need to be able to enable the G540.
Based on examples I'd seen, I am trying to use
setp hm2_5i25.0.gpio.000.is_output true
Which gives me a "parameter or pin not found.
If anyone can look at my HAL/ini (which is kind of a mess right now since I've been commenting and uncommenting like mad to see if I can get things to work), that would be great.
OR, if anyone has a known good 5i25/G540 HAL for the current master, that would be a big help, too. All the 5i25/G540 examples out there are different, so it would be nice to be able to see a known good config.
Thanks!
Please Log in or Create an account to join the conversation.
15 Feb 2019 03:22 #126521
by MartyJ
Replied by MartyJ on topic Setting up a 5i25/G540/7i76 Gantry
I realize the dout is probably wrong... I was just trying that quickly because I saw it in another 5i25/G540 example. Here's what I've been trying mostly:
# --- MACHINE-IS-ENABLED ---
setp hm2_5i25.0.gpio.000.is_output true
net machine-is-enabled hm2_5i25.0.gpio.000.out
# --- MACHINE-IS-ENABLED ---
setp hm2_5i25.0.gpio.000.is_output true
net machine-is-enabled hm2_5i25.0.gpio.000.out
Please Log in or Create an account to join the conversation.
15 Feb 2019 10:37 - 15 Feb 2019 10:38 #126530
by andypugh
Replied by andypugh on topic Setting up a 5i25/G540/7i76 Gantry
Doesn't the G540 need a PWM "charge pump" signal to be activated?
Looking at the G540 PIN file in the Hostmot2 source (Sorry about the line wrap. It seems wrong that the forum line-wraps code...
It looks like the G540 stepgens are numbers 0,1,2,3 and then there is a single channel stepgen.4 that is intended to drive the G54- charge pump (you would set that to velocity mode to give 16kHz, and set the step length and step space accordingly, then enable that stepgen with your machine-is-enabled signal
(This is with the G540_7i76 firmware, with the 7i76_G540 firmware the charge pump is stepgen,9)
Putting together the data above and the G540 manual (www.geckodrive.com/amfile/file/download/...id/22/product_id/14/) it seems that the pin hm2_5i25.0.gpio.000.out drives DB25 pin 1 which is the G540 Output2.
To enable the G540 you need to send a > 10 kHz pulse train to the charge pump on DB25 pin 16. (Which, as mentioned, is hard-coded to be stepgen.04.step)
See also linuxcnc.org/docs/devel/html/man/man9/hostmot2.9.html#stepgen
Looking at the G540 PIN file in the Hostmot2 source (Sorry about the line wrap. It seems wrong that the forum line-wraps code...
-- Base func sec unit sec func sec pin -- external DB25
IOPortTag & x"00" & NullTag & NullPin, -- I/O 00 PIN 1 Output 2 just GPIO
IOPortTag & x"00" & PWMTag & PWMAOutPin, -- I/O 01 PIN 14 Spindle DAC PWM
IOPortTag & x"00" & StepGenTag & StepGenStepPin, -- I/O 02 PIN 2 X Step
IOPortTag & x"00" & NullTag & NullPin, -- I/O 03 PIN 15 Fault in just GPIO
IOPortTag & x"00" & StepGenTag & StepGenDirPin, -- I/O 04 PIN 3 X Dir
IOPortTag & x"04" & StepGenTag & StepGenStepPin, -- I/O 05 PIN 16 Charge Pump (16 KHz)
IOPortTag & x"01" & StepGenTag & StepGenStepPin, -- I/O 06 PIN 4 Y Step
IOPortTag & x"00" & NullTag & NullPin, -- I/O 07 PIN 17 Output 1 just GPIO
IOPortTag & x"01" & StepGenTag & StepGenDirPin, -- I/O 08 PIN 5 Y Dir
IOPortTag & x"02" & StepGenTag & StepGenStepPin, -- I/O 09 PIN 6 Z Step
IOPortTag & x"02" & StepGenTag & StepGenDirPin, -- I/O 10 PIN 7 Z Dir
IOPortTag & x"03" & StepGenTag & StepGenStepPin, -- I/O 11 PIN 8 A Step
IOPortTag & x"03" & StepGenTag & StepGenDirPin, -- I/O 12 PIN 9 A Dir
IOPortTag & x"00" & QCountTag & QCountQAPin, -- I/O 13 PIN 10 Input 1 (Quad A)
IOPortTag & x"00" & QCountTag & QCountQBPin, -- I/O 14 PIN 11 Input 2 (Quad B)
IOPortTag & x"00" & QCountTag & QCountIdxPin, -- I/O 15 PIN 12 Input 3 (Quad Idx)
IOPortTag & x"00" & NullTag & NullPin, -- I/O 16 PIN 13 Input 4 just GPIO
It looks like the G540 stepgens are numbers 0,1,2,3 and then there is a single channel stepgen.4 that is intended to drive the G54- charge pump (you would set that to velocity mode to give 16kHz, and set the step length and step space accordingly, then enable that stepgen with your machine-is-enabled signal
(This is with the G540_7i76 firmware, with the 7i76_G540 firmware the charge pump is stepgen,9)
Putting together the data above and the G540 manual (www.geckodrive.com/amfile/file/download/...id/22/product_id/14/) it seems that the pin hm2_5i25.0.gpio.000.out drives DB25 pin 1 which is the G540 Output2.
To enable the G540 you need to send a > 10 kHz pulse train to the charge pump on DB25 pin 16. (Which, as mentioned, is hard-coded to be stepgen.04.step)
See also linuxcnc.org/docs/devel/html/man/man9/hostmot2.9.html#stepgen
setp hm2_5i25.0.stepgen.04.control-type 1
setp hm2_5i25.0.stepgen.04.position-scale 1
setp hm2_5i25.0.stepgen.04.velocity-cmd 16000
setp hm2_5i25.0.stepgen.04.steplen 62500
net machine-is-enabled hm2_5i25.0.stepgen.04.enable
Last edit: 15 Feb 2019 10:38 by andypugh.
The following user(s) said Thank You: MartyJ
Please Log in or Create an account to join the conversation.
15 Feb 2019 13:20 #126536
by MartyJ
Replied by MartyJ on topic Setting up a 5i25/G540/7i76 Gantry
Thanks for that. I had different code for the stepgen for the charge pump, I'll use yours.
Any ideas as to why I can't set "hm2_5i25.0.gpio.000.is_output true"?
According to the Hostmot2 layout you posted, it should be a GPIO as expected, so either my syntax is wrong or something else is going on.
Any ideas as to why I can't set "hm2_5i25.0.gpio.000.is_output true"?
According to the Hostmot2 layout you posted, it should be a GPIO as expected, so either my syntax is wrong or something else is going on.
Please Log in or Create an account to join the conversation.
15 Feb 2019 13:30 #126537
by MartyJ
Replied by MartyJ on topic Setting up a 5i25/G540/7i76 Gantry
Also what's the correct method for inverting the direction of my slaved X axis joint (joint 3)?
I tried: setp hm2_5i25.0.stepgen.03.invert_output 1 but it says that doesn't exist, so I must not have understood the usage described in the manual.
Here's what I have for that joint, I just want to reverse the step direction output (or whatever method is best practice for getting a motor to run in reverse, but synchronized with another motor on the gantry). I have it set up properly in the INI file, just need to get the motion reversed.
#*******************
# JOINT 3 (X)
#*******************
setp pid.0.Pgain [JOINT_3]P
setp pid.0.Igain [JOINT_3]I
setp pid.0.Dgain [JOINT_3]D
setp pid.0.bias [JOINT_3]BIAS
setp pid.0.FF0 [JOINT_3]FF0
setp pid.0.FF1 [JOINT_3]FF1
setp pid.0.FF2 [JOINT_3]FF2
setp pid.0.deadband [JOINT_3]DEADBAND
setp pid.0.maxoutput [JOINT_3]MAX_OUTPUT
setp pid.0.error-previous-target true
setp pid.0.maxerror .0005
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.03.invert_output 1
setp hm2_5i25.0.stepgen.03.dirsetup [JOINT_3]DIRSETUP
setp hm2_5i25.0.stepgen.03.dirhold [JOINT_3]DIRHOLD
setp hm2_5i25.0.stepgen.03.steplen [JOINT_3]STEPLEN
setp hm2_5i25.0.stepgen.03.stepspace [JOINT_3]STEPSPACE
setp hm2_5i25.0.stepgen.03.position-scale [JOINT_3]STEP_SCALE
setp hm2_5i25.0.stepgen.03.step_type 0
setp hm2_5i25.0.stepgen.03.control-type 1
setp hm2_5i25.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net 3-pos-cmd <= joint.3.motor-pos-cmd
net 3-vel-cmd <= joint.3.vel-cmd
net 3-output <= hm2_5i25.0.stepgen.03.velocity-cmd
net 3-pos-fb <= hm2_5i25.0.stepgen.03.position-fb
net 3-pos-fb => joint.3.motor-pos-fb
net 3-enable <= joint.3.amp-enable-out
net 3-enable => hm2_5i25.0.stepgen.03.enable
I tried: setp hm2_5i25.0.stepgen.03.invert_output 1 but it says that doesn't exist, so I must not have understood the usage described in the manual.
Here's what I have for that joint, I just want to reverse the step direction output (or whatever method is best practice for getting a motor to run in reverse, but synchronized with another motor on the gantry). I have it set up properly in the INI file, just need to get the motion reversed.
#*******************
# JOINT 3 (X)
#*******************
setp pid.0.Pgain [JOINT_3]P
setp pid.0.Igain [JOINT_3]I
setp pid.0.Dgain [JOINT_3]D
setp pid.0.bias [JOINT_3]BIAS
setp pid.0.FF0 [JOINT_3]FF0
setp pid.0.FF1 [JOINT_3]FF1
setp pid.0.FF2 [JOINT_3]FF2
setp pid.0.deadband [JOINT_3]DEADBAND
setp pid.0.maxoutput [JOINT_3]MAX_OUTPUT
setp pid.0.error-previous-target true
setp pid.0.maxerror .0005
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.03.invert_output 1
setp hm2_5i25.0.stepgen.03.dirsetup [JOINT_3]DIRSETUP
setp hm2_5i25.0.stepgen.03.dirhold [JOINT_3]DIRHOLD
setp hm2_5i25.0.stepgen.03.steplen [JOINT_3]STEPLEN
setp hm2_5i25.0.stepgen.03.stepspace [JOINT_3]STEPSPACE
setp hm2_5i25.0.stepgen.03.position-scale [JOINT_3]STEP_SCALE
setp hm2_5i25.0.stepgen.03.step_type 0
setp hm2_5i25.0.stepgen.03.control-type 1
setp hm2_5i25.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net 3-pos-cmd <= joint.3.motor-pos-cmd
net 3-vel-cmd <= joint.3.vel-cmd
net 3-output <= hm2_5i25.0.stepgen.03.velocity-cmd
net 3-pos-fb <= hm2_5i25.0.stepgen.03.position-fb
net 3-pos-fb => joint.3.motor-pos-fb
net 3-enable <= joint.3.amp-enable-out
net 3-enable => hm2_5i25.0.stepgen.03.enable
Please Log in or Create an account to join the conversation.
15 Feb 2019 14:32 #126542
by PCW
Replied by PCW on topic Setting up a 5i25/G540/7i76 Gantry
I would recommend listing all the parameter and pin names so you are not working in the dark, to do this, launch LinuxCNC and then in a terminal window type:
halcmd show pin > allpins.txt
halcmd show param > allparams.txt
Now you have a lists of all available pin and parameter names specific to your system
If you are only interested in stepgen pins:
halcmd show param | grep stepgen
will list them all in the terminal
halcmd show pin > allpins.txt
halcmd show param > allparams.txt
Now you have a lists of all available pin and parameter names specific to your system
If you are only interested in stepgen pins:
halcmd show param | grep stepgen
will list them all in the terminal
Please Log in or Create an account to join the conversation.
15 Feb 2019 14:39 #126544
by MartyJ
Replied by MartyJ on topic Setting up a 5i25/G540/7i76 Gantry
Thanks, as far as I can tell I'm using the correct names.
Here's the output of show pins:
Here's the output of show pins:
Component Pins:
Owner Type Dir Value Name
7 s32 OUT 0 hm2_5i25.0.0.debug
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-00
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-00-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-01
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-01-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-02
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-02-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-03
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-03-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-04
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-04-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-05
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-05-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-06
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-06-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-07
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-07-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-08
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-08-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-09
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-09-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-10
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-10-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-11
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-11-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-12
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-12-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-13
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-13-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-14
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-14-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-15
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-15-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-16
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-16-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-17
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-17-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-18
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-18-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-19
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-19-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-20
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-20-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-21
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-21-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-22
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-22-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-23
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-23-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-24
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-24-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-25
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-25-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-26
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-26-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-27
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-27-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-28
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-28-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-29
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-29-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-30
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-30-not
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-31
7 bit OUT FALSE hm2_5i25.0.7i76.0.0.input-31-not
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-00
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-01
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-02
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-03
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-04
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-05
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-06
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-07
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-08
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-09
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-10
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-11
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-12
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-13
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-14
7 bit IN FALSE hm2_5i25.0.7i76.0.0.output-15
7 bit IN FALSE hm2_5i25.0.7i76.0.0.spindir
7 bit IN FALSE hm2_5i25.0.7i76.0.0.spinena
7 float IN 0 hm2_5i25.0.7i76.0.0.spinout
7 bit OUT FALSE hm2_5i25.0.gpio.000.in
7 bit OUT TRUE hm2_5i25.0.gpio.000.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.001.in
7 bit OUT TRUE hm2_5i25.0.gpio.001.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.002.in
7 bit OUT TRUE hm2_5i25.0.gpio.002.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.003.in
7 bit OUT TRUE hm2_5i25.0.gpio.003.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.004.in
7 bit OUT TRUE hm2_5i25.0.gpio.004.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.005.in
7 bit OUT TRUE hm2_5i25.0.gpio.005.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.006.in
7 bit OUT TRUE hm2_5i25.0.gpio.006.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.007.in
7 bit OUT TRUE hm2_5i25.0.gpio.007.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.008.in
7 bit OUT TRUE hm2_5i25.0.gpio.008.in_not
7 bit OUT FALSE hm2_5i25.0.gpio.009.in
7 bit OUT TRUE hm2_5i25.0.gpio.009.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.010.in
7 bit OUT FALSE hm2_5i25.0.gpio.010.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.011.in
7 bit OUT FALSE hm2_5i25.0.gpio.011.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.012.in
7 bit OUT FALSE hm2_5i25.0.gpio.012.in_not
7 bit IN FALSE hm2_5i25.0.gpio.012.out
7 bit OUT FALSE hm2_5i25.0.gpio.013.in
7 bit OUT TRUE hm2_5i25.0.gpio.013.in_not
7 bit IN FALSE hm2_5i25.0.gpio.013.out
7 bit OUT FALSE hm2_5i25.0.gpio.014.in
7 bit OUT TRUE hm2_5i25.0.gpio.014.in_not
7 bit IN FALSE hm2_5i25.0.gpio.014.out
7 bit OUT FALSE hm2_5i25.0.gpio.015.in
7 bit OUT TRUE hm2_5i25.0.gpio.015.in_not
7 bit IN FALSE hm2_5i25.0.gpio.015.out
7 bit OUT TRUE hm2_5i25.0.gpio.016.in
7 bit OUT FALSE hm2_5i25.0.gpio.016.in_not
7 bit IN FALSE hm2_5i25.0.gpio.016.out
7 bit OUT FALSE hm2_5i25.0.gpio.017.in
7 bit OUT TRUE hm2_5i25.0.gpio.017.in_not
7 bit IN FALSE hm2_5i25.0.gpio.017.out
7 bit OUT FALSE hm2_5i25.0.gpio.018.in
7 bit OUT TRUE hm2_5i25.0.gpio.018.in_not
7 bit OUT TRUE hm2_5i25.0.gpio.019.in
7 bit OUT FALSE hm2_5i25.0.gpio.019.in_not
7 bit IN FALSE hm2_5i25.0.gpio.019.out
7 bit OUT TRUE hm2_5i25.0.gpio.020.in
7 bit OUT FALSE hm2_5i25.0.gpio.020.in_not
7 bit IN FALSE hm2_5i25.0.gpio.020.out
7 bit OUT TRUE hm2_5i25.0.gpio.021.in
7 bit OUT FALSE hm2_5i25.0.gpio.021.in_not
7 bit IN FALSE hm2_5i25.0.gpio.021.out
7 bit OUT TRUE hm2_5i25.0.gpio.022.in
7 bit OUT FALSE hm2_5i25.0.gpio.022.in_not
7 bit IN FALSE hm2_5i25.0.gpio.022.out
7 bit OUT TRUE hm2_5i25.0.gpio.023.in
7 bit OUT FALSE hm2_5i25.0.gpio.023.in_not
7 bit IN FALSE hm2_5i25.0.gpio.023.out
7 bit OUT FALSE hm2_5i25.0.gpio.024.in
7 bit OUT TRUE hm2_5i25.0.gpio.024.in_not
7 bit IN FALSE hm2_5i25.0.gpio.024.out
7 bit OUT TRUE hm2_5i25.0.gpio.025.in
7 bit OUT FALSE hm2_5i25.0.gpio.025.in_not
7 bit IN FALSE hm2_5i25.0.gpio.025.out
7 bit OUT TRUE hm2_5i25.0.gpio.026.in
7 bit OUT FALSE hm2_5i25.0.gpio.026.in_not
7 bit IN FALSE hm2_5i25.0.gpio.026.out
7 bit OUT TRUE hm2_5i25.0.gpio.027.in
7 bit OUT FALSE hm2_5i25.0.gpio.027.in_not
7 bit IN FALSE hm2_5i25.0.gpio.027.out
7 bit OUT TRUE hm2_5i25.0.gpio.028.in
7 bit OUT FALSE hm2_5i25.0.gpio.028.in_not
7 bit IN FALSE hm2_5i25.0.gpio.028.out
7 bit OUT TRUE hm2_5i25.0.gpio.029.in
7 bit OUT FALSE hm2_5i25.0.gpio.029.in_not
7 bit IN FALSE hm2_5i25.0.gpio.029.out
7 bit OUT TRUE hm2_5i25.0.gpio.030.in
7 bit OUT FALSE hm2_5i25.0.gpio.030.in_not
7 bit IN FALSE hm2_5i25.0.gpio.030.out
7 bit OUT TRUE hm2_5i25.0.gpio.031.in
7 bit OUT FALSE hm2_5i25.0.gpio.031.in_not
7 bit IN FALSE hm2_5i25.0.gpio.031.out
7 bit OUT TRUE hm2_5i25.0.gpio.032.in
7 bit OUT FALSE hm2_5i25.0.gpio.032.in_not
7 bit IN FALSE hm2_5i25.0.gpio.032.out
7 bit OUT TRUE hm2_5i25.0.gpio.033.in
7 bit OUT FALSE hm2_5i25.0.gpio.033.in_not
7 bit IN FALSE hm2_5i25.0.gpio.033.out
7 bit IN FALSE hm2_5i25.0.led.CR01
7 bit IN FALSE hm2_5i25.0.led.CR02
7 bit IN FALSE hm2_5i25.0.pwmgen.00.enable
7 float IN 0 hm2_5i25.0.pwmgen.00.value
7 s32 OUT 0 hm2_5i25.0.read.time
7 s32 OUT 0 hm2_5i25.0.read_gpio.time
7 u32 OUT 0x00000000 hm2_5i25.0.sserial.port-0.fault-count
7 u32 OUT 0x00000000 hm2_5i25.0.sserial.port-0.port_state
7 u32 OUT 0x00000000 hm2_5i25.0.sserial.port-0.port_state2
7 u32 OUT 0x00000000 hm2_5i25.0.sserial.port-0.port_state3
7 bit IN TRUE hm2_5i25.0.sserial.port-0.run
7 bit IN FALSE hm2_5i25.0.stepgen.00.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.00.counts
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.00.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.00.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.00.enable
7 float IN 0 hm2_5i25.0.stepgen.00.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.00.position-fb
7 float IN 0 hm2_5i25.0.stepgen.00.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.00.velocity-fb
7 bit IN FALSE hm2_5i25.0.stepgen.01.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.01.counts
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.01.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.01.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.01.enable
7 float IN 0 hm2_5i25.0.stepgen.01.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.01.position-fb
7 float IN 0 hm2_5i25.0.stepgen.01.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.01.velocity-fb
7 bit IN FALSE hm2_5i25.0.stepgen.02.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.02.counts
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.02.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.02.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.02.enable
7 float IN 0 hm2_5i25.0.stepgen.02.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.02.position-fb
7 float IN 0 hm2_5i25.0.stepgen.02.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.02.velocity-fb
7 bit IN FALSE hm2_5i25.0.stepgen.03.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.03.counts
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.03.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.03.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.03.enable
7 float IN 0 hm2_5i25.0.stepgen.03.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.03.position-fb
7 float IN 0 hm2_5i25.0.stepgen.03.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.03.velocity-fb
7 bit IN FALSE hm2_5i25.0.stepgen.04.control-type
7 s32 OUT 0 hm2_5i25.0.stepgen.04.counts
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_err_at_match
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_ff_vel
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_pos_minus_prev_cmd
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_s_to_match
7 s32 OUT 0 hm2_5i25.0.stepgen.04.dbg_step_rate
7 float OUT 0 hm2_5i25.0.stepgen.04.dbg_vel_error
7 bit IN FALSE hm2_5i25.0.stepgen.04.enable
7 float IN 0 hm2_5i25.0.stepgen.04.position-cmd
7 float OUT 0 hm2_5i25.0.stepgen.04.position-fb
7 float IN 0 hm2_5i25.0.stepgen.04.velocity-cmd
7 float OUT 0 hm2_5i25.0.stepgen.04.velocity-fb
7 bit I/O FALSE hm2_5i25.0.watchdog.has_bit
7 s32 OUT 0 hm2_5i25.0.write.time
7 s32 OUT 0 hm2_5i25.0.write_gpio.time
Please Log in or Create an account to join the conversation.
15 Feb 2019 14:41 #126545
by MartyJ
Replied by MartyJ on topic Setting up a 5i25/G540/7i76 Gantry
So what I'm doing right now is stripping down the INI/HAL to be as bare-bones as possible, try to get axis motion and charge pump working. Something right now is causing LinuxCNC to be unable to init the HAL, so that is making troubleshooting difficult. Basically the interface opens up but then freezes for a few minutes before throwing a emcTrajInit failed, can't initialize motion error.
Please Log in or Create an account to join the conversation.
15 Feb 2019 14:43 #126546
by MartyJ
Replied by MartyJ on topic Setting up a 5i25/G540/7i76 Gantry
Current ini/HAL
loadrt [KINS]KINEMATICS
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hostmot2
loadrt hm2_pci config=" num_encoders=0 num_pwmgens=0 num_stepgens=5"
setp hm2_5i25.0.watchdog.timeout_ns 5000000
loadrt pid names=pid.0,pid.1,pid.2,pid.3,pid.s
#loadrt estop_latch count=1
#CHARGE PUMP
setp hm2_5i25.0.stepgen.04.control-type 1
setp hm2_5i25.0.stepgen.04.position-scale 1
setp hm2_5i25.0.stepgen.04.velocity-cmd 16000
setp hm2_5i25.0.stepgen.04.steplen 62500
net machine-is-enabled hm2_5i25.0.stepgen.04.enable
# external output signals
# --- SPINDLE-ON ---
#setp hm2_5i25.0.gpio.012.out.is_output true
# See further down for spindle-enable setting the gpio pin
# external input signals
# --- ESTOP-EXT ---
# EXTRA HW ESTOP BUTTON ON 7i76
#net estop-ext <= hm2_5i25.0.7i76.0.0.input-01
# --- HOME-0 ---
net home-0 <= hm2_5i25.0.7i76.0.0.input-02
# --- MIN-0 ---
#net min-0 <= hm2_5i25.0.7i76.0.0.input-02
# --- HOME-1 ---
net home-1 <= hm2_5i25.0.7i76.0.0.input-03
# --- MIN-1 ---
#net min-1 <= hm2_5i25.0.7i76.0.0.input-04
# --- HOME-2 ---
net home-2 <= hm2_5i25.0.7i76.0.0.input-05
# --- MAX-2 ---
#net max-2 <= hm2_5i25.0.7i76.0.0.input-06
# --- HOME-3 ---
net home-3 <= hm2_5i25.0.7i76.0.0.input-07
# --- MIN-3 ---
#net min-3 <= hm2_5i25.0.7i76.0.0.input-08
#*******************
# JOINT 0 (X)
#*******************
setp pid.0.Pgain [JOINT_0]P
setp pid.0.Igain [JOINT_0]I
setp pid.0.Dgain [JOINT_0]D
setp pid.0.bias [JOINT_0]BIAS
setp pid.0.FF0 [JOINT_0]FF0
setp pid.0.FF1 [JOINT_0]FF1
setp pid.0.FF2 [JOINT_0]FF2
setp pid.0.deadband [JOINT_0]DEADBAND
setp pid.0.maxoutput [JOINT_0]MAX_OUTPUT
setp pid.0.error-previous-target true
setp pid.0.maxerror .0005
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.00.dirsetup [JOINT_0]DIRSETUP
setp hm2_5i25.0.stepgen.00.dirhold [JOINT_0]DIRHOLD
setp hm2_5i25.0.stepgen.00.steplen [JOINT_0]STEPLEN
setp hm2_5i25.0.stepgen.00.stepspace [JOINT_0]STEPSPACE
setp hm2_5i25.0.stepgen.00.position-scale [JOINT_0]STEP_SCALE
setp hm2_5i25.0.stepgen.00.step_type 0
setp hm2_5i25.0.stepgen.00.control-type 1
setp hm2_5i25.0.stepgen.00.maxaccel [JOINT_0]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.00.maxvel [JOINT_0]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net 0-pos-cmd <= joint.0.motor-pos-cmd
net 0-vel-cmd <= joint.0.vel-cmd
net 0-output <= hm2_5i25.0.stepgen.00.velocity-cmd
net 0-pos-fb <= hm2_5i25.0.stepgen.00.position-fb
net 0-pos-fb => joint.0.motor-pos-fb
net 0-enable <= joint.0.amp-enable-out
net 0-enable => hm2_5i25.0.stepgen.00.enable
# ---setup home / limit switch signals---
net home-0 => joint.0.home-sw-in
net home-0 => joint.0.neg-lim-sw-in
#*******************
# JOINT 3 (X)
#*******************
setp pid.0.Pgain [JOINT_3]P
setp pid.0.Igain [JOINT_3]I
setp pid.0.Dgain [JOINT_3]D
setp pid.0.bias [JOINT_3]BIAS
setp pid.0.FF0 [JOINT_3]FF0
setp pid.0.FF1 [JOINT_3]FF1
setp pid.0.FF2 [JOINT_3]FF2
setp pid.0.deadband [JOINT_3]DEADBAND
setp pid.0.maxoutput [JOINT_3]MAX_OUTPUT
setp pid.0.error-previous-target true
setp pid.0.maxerror .0005
# Step Gen signals/setup
#setp hm2_5i25.0.stepgen.03.invert_output 1
setp hm2_5i25.0.stepgen.03.dirsetup [JOINT_3]DIRSETUP
setp hm2_5i25.0.stepgen.03.dirhold [JOINT_3]DIRHOLD
setp hm2_5i25.0.stepgen.03.steplen [JOINT_3]STEPLEN
setp hm2_5i25.0.stepgen.03.stepspace [JOINT_3]STEPSPACE
setp hm2_5i25.0.stepgen.03.position-scale [JOINT_3]STEP_SCALE
setp hm2_5i25.0.stepgen.03.step_type 0
setp hm2_5i25.0.stepgen.03.control-type 1
setp hm2_5i25.0.stepgen.03.maxaccel [JOINT_3]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.03.maxvel [JOINT_3]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net 3-pos-cmd <= joint.3.motor-pos-cmd
net 3-vel-cmd <= joint.3.vel-cmd
net 3-output <= hm2_5i25.0.stepgen.03.velocity-cmd
net 3-pos-fb <= hm2_5i25.0.stepgen.03.position-fb
net 3-pos-fb => joint.3.motor-pos-fb
net 3-enable <= joint.3.amp-enable-out
net 3-enable => hm2_5i25.0.stepgen.03.enable
# ---setup home / limit switch signals---
net home-3 => joint.3.home-sw-in
net home-3 => joint.3.neg-lim-sw-in
#*******************
# JOINT 1 (Y)
#*******************
setp pid.1.Pgain [JOINT_1]P
setp pid.1.Igain [JOINT_1]I
setp pid.1.Dgain [JOINT_1]D
setp pid.1.bias [JOINT_1]BIAS
setp pid.1.FF0 [JOINT_1]FF0
setp pid.1.FF1 [JOINT_1]FF1
setp pid.1.FF2 [JOINT_1]FF2
setp pid.1.deadband [JOINT_1]DEADBAND
setp pid.1.maxoutput [JOINT_1]MAX_OUTPUT
setp pid.1.error-previous-target true
setp pid.1.maxerror .0005
net 1-index-enable <=> pid.1.index-enable
net 1-enable => pid.1.enable
net 1-pos-cmd => pid.1.command
net 1-vel-cmd => pid.1.command-deriv
net 1-pos-fb => pid.1.feedback
net 1-output => pid.1.output
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.01.dirsetup [JOINT_1]DIRSETUP
setp hm2_5i25.0.stepgen.01.dirhold [JOINT_1]DIRHOLD
setp hm2_5i25.0.stepgen.01.steplen [JOINT_1]STEPLEN
setp hm2_5i25.0.stepgen.01.stepspace [JOINT_1]STEPSPACE
setp hm2_5i25.0.stepgen.01.position-scale [JOINT_1]STEP_SCALE
setp hm2_5i25.0.stepgen.01.step_type 0
setp hm2_5i25.0.stepgen.01.control-type 1
setp hm2_5i25.0.stepgen.01.maxaccel [JOINT_1]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.01.maxvel [JOINT_1]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net 1-pos-cmd <= joint.1.motor-pos-cmd
net 1-vel-cmd <= joint.1.vel-cmd
net 1-output <= hm2_5i25.0.stepgen.01.velocity-cmd
net 1-pos-fb <= hm2_5i25.0.stepgen.01.position-fb
net 1-pos-fb => joint.1.motor-pos-fb
net 1-enable <= joint.1.amp-enable-out
net 1-enable => hm2_5i25.0.stepgen.01.enable
# ---setup home / limit switch signals---
net home-1 => joint.1.home-sw-in
net home-1 => joint.1.neg-lim-sw-in
#*******************
# JOINT 2 (Z)
#*******************
setp pid.2.Pgain [JOINT_2]P
setp pid.2.Igain [JOINT_2]I
setp pid.2.Dgain [JOINT_2]D
setp pid.2.bias [JOINT_2]BIAS
setp pid.2.FF0 [JOINT_2]FF0
setp pid.2.FF1 [JOINT_2]FF1
setp pid.2.FF2 [JOINT_2]FF2
setp pid.2.deadband [JOINT_2]DEADBAND
setp pid.2.maxoutput [JOINT_2]MAX_OUTPUT
setp pid.2.error-previous-target true
setp pid.2.maxerror .0005
net 2-index-enable <=> pid.2.index-enable
net 2-enable => pid.2.enable
net 2-pos-cmd => pid.2.command
net 2-vel-cmd => pid.2.command-deriv
net 2-pos-fb => pid.2.feedback
net 2-output => pid.2.output
# Step Gen signals/setup
setp hm2_5i25.0.stepgen.02.dirsetup [JOINT_2]DIRSETUP
setp hm2_5i25.0.stepgen.02.dirhold [JOINT_2]DIRHOLD
setp hm2_5i25.0.stepgen.02.steplen [JOINT_2]STEPLEN
setp hm2_5i25.0.stepgen.02.stepspace [JOINT_2]STEPSPACE
setp hm2_5i25.0.stepgen.02.position-scale [JOINT_2]STEP_SCALE
setp hm2_5i25.0.stepgen.02.step_type 0
setp hm2_5i25.0.stepgen.02.control-type 1
setp hm2_5i25.0.stepgen.02.maxaccel [JOINT_2]STEPGEN_MAXACCEL
setp hm2_5i25.0.stepgen.02.maxvel [JOINT_2]STEPGEN_MAXVEL
# ---closedloop stepper signals---
net 2-pos-cmd <= joint.2.motor-pos-cmd
net 2-vel-cmd <= joint.2.vel-cmd
net 2-output <= hm2_5i25.0.stepgen.02.velocity-cmd
net 2-pos-fb <= hm2_5i25.0.stepgen.02.position-fb
net 2-pos-fb => joint.2.motor-pos-fb
net 2-enable <= joint.2.amp-enable-out
net 2-enable => hm2_5i25.0.stepgen.02.enable
# ---setup home / limit switch signals---
net home-2 => joint.2.home-sw-in
net max-2 => joint.2.pos-lim-sw-in
#******************************
# connect miscellaneous signals
#******************************
# ---HALUI signals---
#net axis-select-x halui.axis.x.select
#net jog-x-pos halui.axis.x.plus
#net jog-x-neg halui.axis.x.minus
#net jog-x-analog halui.axis.x.analog
#net x-is-homed halui.joint.0.is-homed
#net axis-select-y halui.axis.y.select
#net jog-y-pos halui.axis.y.plus
#net jog-y-neg halui.axis.y.minus
#net jog-y-analog halui.axis.y.analog
#net y-is-homed halui.joint.1.is-homed
#net axis-select-z halui.axis.z.select
#net jog-z-pos halui.axis.z.plus
#net jog-z-neg halui.axis.z.minus
#net jog-z-analog halui.axis.z.analog
#net z-is-homed halui.joint.2.is-homed
#net jog-selected-pos halui.axis.selected.plus
#net jog-selected-neg halui.axis.selected.minus
#net spindle-manual-cw halui.spindle.0.forward
#net spindle-manual-ccw halui.spindle.0.reverse
#net spindle-manual-stop halui.spindle.0.stop
#net machine-is-on halui.machine.is-on
#net jog-speed halui.axis.jog-speed
#net MDI-mode halui.mode.is-mdi
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
#setp hm2_5i25.0.gpio.016.is_output False
#net probe-in => motion.probe-input
# ---motion control signals---
net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled
# ---digital in / out signals---
# ---estop signals---
#net estop-out <= iocontrol.0.user-enable-out
net estop-out <= hm2_5i25.0.gpio.003.in_not #<= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
# ---manual tool change signals---
loadusr -W hal_manualtoolchange
net tool-change-request iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-change-confirmed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
[EMC]
MACHINE = MCJmill
DEBUG = 0
VERSION = 1.1
[DISPLAY]
DISPLAY = gmoccapy
#DISPLAY = axis
EDITOR = gedit
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
#ARCDIVISION = 64
GRIDS = 10mm 20mm 50mm 100mm 1in 2in 5in 10in
MAX_FEED_OVERRIDE = 2
MIN_SPINDLE_OVERRIDE = .5
MAX_SPINDLE_OVERRIDE = 1.5
DEFAULT_LINEAR_VELOCITY = 1.00
MIN_LINEAR_VELOCITY = 0.015
MAX_LINEAR_VELOCITY = 10.00
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 1
PROGRAM_PREFIX = /home/marty/linuxcnc/nc_files
INCREMENTS = .1in .05in .01in .005in .001in .0005in .0001in
GEOMETRY = xyz
[KINS]
JOINTS = 4
KINEMATICS = trivkins coordinates=XYZX
[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
PROGRAM_EXTENSION = .py Python Script
PROGRAM_EXTENSION = .nc,.tap G-Code File
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python
[TASK]
TASK = milltask
CYCLE_TIME = 0.010
[RS274NGC]
#SUBROUTINE_PATH = macros
PARAMETER_FILE = linuxcnc.var
# GMOCCAPY PROBING Enables the reading of INI and HAL values from gcode
#FEATURES=12
# GMOCCAPY PROBING is the sub, with is called when a error during tool change happens
#ON_ABORT_COMMAND=O <on_abort> call
# GMOCCAPY PROBING The remap code
#REMAP=M6 modalgroup=6 prolog=change_prolog ngc=change epilog=change_epilog
[TOOLSENSOR]
#X = 0.05
#Y = -26.5
#Z = -5.0
#MAXPROBE = -3.0
[CHANGE_POSITION]
#X = 15.0
#Y = -15.0
#Z = -0.5
[PYTHON]
# The path to start a search for user modules
#PATH_PREPEND = python
# The start point for all.
#TOPLEVEL = python/toplevel.py
[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
COMM_WAIT = 0.010
SERVO_PERIOD = 1000000
[HOSTMOT2]
# **** This is for info only ****
# DRIVER0=hm2_pci
# BOARD0=5i25
# FIRMWARE=5i25_g540_7i76.bit
[HAL]
#HALUI = halui
HALFILE = MCJmill.hal
HALFILE = custom.hal
#POSTGUI_HALFILE = postgui_call_list.hal
#SHUTDOWN = shutdown.hal
[HALUI]
# FROM https://forum.linuxcnc.org/38-general-linuxcnc-questions/35633-how-do-people-home-or-touch-off-z-axis-consistently?start=0
#MDI_COMMAND=G28
#MDI_COMMAND=M7
#MDI_COMMAND=M9
#MDI_COMMAND=o100 call
#MDI_COMMAND=o100 cal
#MDI_COMMAND=...
#MDI_COMMAND=...
#MDI_COMMAND=...
[TRAJ]
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 1.00
MAX_LINEAR_VELOCITY = 10.00
CYCLE_TIME = 0.010
[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool.tbl
[JOINT_0]
TYPE = LINEAR
HOME = 0.05
MIN_LIMIT = -0.01
MAX_LIMIT = 48.0
MAX_VELOCITY = 8.5
MAX_ACCELERATION = 25.0
STEPGEN_MAXVEL = 10.7
STEPGEN_MAXACCEL = 31.25
STEP_SCALE = 1913.275
FERROR = 1.0
MIN_FERROR = 0.5
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = -1.5
HOME_LATCH_VEL = -0.050000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = -1
HOME_IS_SHARED = 1
VOLATILE_HOME = 1
HOME_USE_INDEX = NO
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 500
DIRHOLD = 500
STEPLEN = 1500
STEPSPACE = 1500
[JOINT_3]
TYPE = LINEAR
HOME = 0.05
MIN_LIMIT = -0.01
MAX_LIMIT = 48.0
MAX_VELOCITY = 8.5
MAX_ACCELERATION = 25.0
STEPGEN_MAXVEL = 10.7
STEPGEN_MAXACCEL = 31.25
STEP_SCALE = 1913.275
FERROR = 1.0
MIN_FERROR = 0.5
HOME_OFFSET = -0.1
HOME_SEARCH_VEL = -1.5
HOME_LATCH_VEL = -0.050000
HOME_IGNORE_LIMITS = YES
HOME_SEQUENCE = -1
HOME_IS_SHARED = 1
VOLATILE_HOME = 1
HOME_USE_INDEX = NO
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 500
DIRHOLD = 500
STEPLEN = 1500
STEPSPACE = 1500
[AXIS_X]
MAX_VELOCITY = 8.5
MAX_ACCELERATION = 25.0
MIN_LIMIT = -0.01
MAX_LIMIT = 48.0
[JOINT_1]
TYPE = LINEAR
HOME = -0.02
MIN_LIMIT = -27.5
MAX_LIMIT = 0.01
MAX_VELOCITY = 10.0
MAX_ACCELERATION = 25.0
STEPGEN_MAXACCEL = 31.0
STEPGEN_MAXVEL = 10.7
STEP_SCALE = 2539.0
FERROR = 1.0
MIN_FERROR = 0.5
HOME_OFFSET = 0.04
HOME_SEARCH_VEL = 1.0000
HOME_LATCH_VEL = 0.050000
HOME_IGNORE_LIMITS = YES
HOME_IS_SHARED = 1
VOLATILE_HOME = 1
HOME_SEQUENCE = 2
HOME_USE_INDEX = NO
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 500
DIRHOLD = 500
STEPLEN = 1500
STEPSPACE = 1500
[AXIS_Y]
MAX_VELOCITY = 10.0
MAX_ACCELERATION = 25.0
MIN_LIMIT = -27.5
MAX_LIMIT = 0.01
[JOINT_2]
TYPE = LINEAR
HOME = -0.02
MIN_LIMIT = -9.0
MAX_LIMIT = 0.01
MAX_VELOCITY = 3.0
MAX_ACCELERATION = 25.0
STEPGEN_MAXACCEL = 15
STEPGEN_MAXVEL = 12.0
STEP_SCALE = 10150.0
FERROR = 1.0
MIN_FERROR = 0.5
HOME_OFFSET = 0.04
HOME_SEARCH_VEL = 1.0000
HOME_LATCH_VEL = 0.050000
HOME_IGNORE_LIMITS = YES
HOME_IS_SHARED = 1
VOLATILE_HOME = 1
HOME_SEQUENCE = 0
HOME_USE_INDEX = NO
P = 1000.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
# these are in nanoseconds
DIRSETUP = 500
DIRHOLD = 500
STEPLEN = 1500
STEPSPACE = 1500
[AXIS_Z]
MAX_VELOCITY = 3.0
MAX_ACCELERATION = 25.0
MIN_LIMIT = -9.0
MAX_LIMIT = 0.01
Please Log in or Create an account to join the conversation.
15 Feb 2019 14:46 #126547
by PCW
Replied by PCW on topic Setting up a 5i25/G540/7i76 Gantry
Did you do the same with parameters?
It also seems like you may not have the correct firmware
(if you cannot set the I/O mode of GPIO0 that suggests the pin is "owned" by some other function like a stepgen)
Can you post the results of:
sudo mesaflash --device 5i25 --readhmid > pinout.txt
It also seems like you may not have the correct firmware
(if you cannot set the I/O mode of GPIO0 that suggests the pin is "owned" by some other function like a stepgen)
Can you post the results of:
sudo mesaflash --device 5i25 --readhmid > pinout.txt
Please Log in or Create an account to join the conversation.
Time to create page: 0.083 seconds