Setting up a 5i25/G540/7i76 Gantry

More
15 Feb 2019 03:19 #126518 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!
Attachments:

Please Log in or Create an account to join the conversation.

More
15 Feb 2019 03:22 #126521 by MartyJ
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

Please Log in or Create an account to join the conversation.

More
15 Feb 2019 10:37 - 15 Feb 2019 10:38 #126530 by andypugh
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...
-- 	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.

More
15 Feb 2019 13:20 #126536 by MartyJ
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.

Please Log in or Create an account to join the conversation.

More
15 Feb 2019 13:30 #126537 by MartyJ
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

Please Log in or Create an account to join the conversation.

More
15 Feb 2019 14:32 #126542 by PCW
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

Please Log in or Create an account to join the conversation.

More
15 Feb 2019 14:39 #126544 by MartyJ
Thanks, as far as I can tell I'm using the correct names.

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.

More
15 Feb 2019 14:41 #126545 by MartyJ
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.

More
15 Feb 2019 14:43 #126546 by MartyJ
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.

More
15 Feb 2019 14:46 #126547 by PCW
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

Please Log in or Create an account to join the conversation.

Time to create page: 0.146 seconds
Powered by Kunena Forum