Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/2.8' into master-merge
Browse files Browse the repository at this point in the history
* origin/2.8:
  docs: make an index.html page for the PDF docs
  cosmetic fix to a configure error message
  Update for new version of Rpi400
  Update for new version of Rpi400
  docs: changed url in halshow doc
  docs: created mb2hal doc based on sample ini file
  mb2hal: added pins to manpage
  docs: fixed link
  docs: include mb2hal ini file in docs
  mb2hal: updated and fixed sample configuration
  gmoccapy: sensitize save button after 'save as'
  gmoccapy: fix detection of file change
  Update ini-config.txt
  Update ini-config.txt
  Add files via upload
  correcting submakefile for 2.8
  update
  missing in documentation for INI RS274 section
  Change EDITOR = geany. Restore more generous dirhold and dirsetup timing.
  Updated the gantry example with what I gather from the forum is best practice. 1) Reduce from 4(XYZA) to 3(XYZY) coordinate. 2) Use negative HOME_SEQUENCE values for synchronous homing of the dual Y joints. 3) Rename signals such as adir, astep to y2dir, ystep.
  full update xhc-whb04b-6 for 2.8
  • Loading branch information
SebKuzminsky committed May 1, 2022
2 parents 8b267bb + 652e88c commit a10b14d
Show file tree
Hide file tree
Showing 15 changed files with 407 additions and 284 deletions.
11 changes: 6 additions & 5 deletions configs/by_interface/parport/gantry/README
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
Stepper Gantry basic configurations using gantrykins.
Stepper Gantry basic configurations.

gantry has no home switches
It is very important for gantry machines to set initial home switch positions before first homing so they reach home switches at a very similar time. To remove any skewing on the gantry adjust the home offset of one joint. After homing the configuration will switch from joint mode to world mode.

This configuration is a stepper based configuration for a gantry type of device using independent Y axis steppers on the gantry. When this configuration is started you will be in joint mode and each axis can be jogged independently. This allows you to square up the gantry to match marks then home each joint. Once this is completed switch to world mode before trying to jog the gantry.
gantry_joints.ini uses the same .hal file but uses kinstype=BOTH which requires independently homing each joint axis.

gantry-hs has home switches for each joint
gantry.ini implements a dual Y motor gantry. This is the configuration to use after you verify the directions and speeds of the individual joints using gantry_joints.ini.

These configs use switches for min-home on the X,Y,Y2 axis and max-home for Z. Pay attention to the parallel input pin assignment for the switches.

This configuration is just like gantry.ini with the addition of home switches. Homing is done in joint mode. It is very important for gantries to set initial home switch positions before first homing so they reach home switches at a very similar time. To remove any skewing on the gantry adjust of home offset of one joint. After homing switch to world mode.
9 changes: 0 additions & 9 deletions configs/by_interface/parport/gantry/README_es

This file was deleted.

154 changes: 0 additions & 154 deletions configs/by_interface/parport/gantry/gantry-hs.ini

This file was deleted.

61 changes: 38 additions & 23 deletions configs/by_interface/parport/gantry/gantry.hal
Original file line number Diff line number Diff line change
@@ -1,14 +1,9 @@
# Kinematics
# Generated by stepconf 1.1 at Mon Feb 28 16:28:49 2022
# If you make changes to this file, they will be
# overwritten when you run stepconf again
loadrt [KINS]KINEMATICS

# Settings for gantrykins
setp gantrykins.joint-0 0
setp gantrykins.joint-1 1
setp gantrykins.joint-2 2
setp gantrykins.joint-3 1

loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
loadrt hal_parport cfg="0x378 out "
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 5000
loadrt stepgen step_type=0,0,0,0

Expand All @@ -21,20 +16,32 @@ addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd <= spindle.0.speed-out
net spindle-cmd-rpm <= spindle.0.speed-out
net spindle-cmd-rpm-abs <= spindle.0.speed-out-abs
net spindle-cmd-rps <= spindle.0.speed-out-rps
net spindle-cmd-rps-abs <= spindle.0.speed-out-rps-abs
net spindle-at-speed => spindle.0.at-speed

net xstep => parport.0.pin-02-out
net xstep => parport.0.pin-02-out
setp parport.0.pin-02-out-reset 1
net xdir => parport.0.pin-03-out
net ystep => parport.0.pin-04-out
net xdir => parport.0.pin-03-out
net ystep => parport.0.pin-04-out
setp parport.0.pin-04-out-reset 1
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
net ydir => parport.0.pin-05-out
net zstep => parport.0.pin-06-out
setp parport.0.pin-06-out-reset 1
net zdir => parport.0.pin-07-out
net astep => parport.0.pin-08-out
net zdir => parport.0.pin-07-out
net y2step => parport.0.pin-08-out
setp parport.0.pin-08-out-reset 1
net adir => parport.0.pin-09-out
net y2dir => parport.0.pin-09-out

#
# Very likely that you will have wired your limit/home switches differently.
#
net min-home-y2 <= parport.0.pin-10-in
net max-home-z <= parport.0.pin-11-in
net min-home-y <= parport.0.pin-12-in
net min-home-x <= parport.0.pin-13-in

setp stepgen.0.position-scale [JOINT_0]SCALE
setp stepgen.0.steplen 1
Expand All @@ -47,6 +54,8 @@ net xpos-fb stepgen.0.position-fb => joint.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable joint.0.amp-enable-out => stepgen.0.enable
net min-home-x => joint.0.home-sw-in
net min-home-x => joint.0.neg-lim-sw-in

setp stepgen.1.position-scale [JOINT_1]SCALE
setp stepgen.1.steplen 1
Expand All @@ -59,6 +68,8 @@ net ypos-fb stepgen.1.position-fb => joint.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable joint.1.amp-enable-out => stepgen.1.enable
net min-home-y => joint.1.home-sw-in
net min-home-y => joint.1.neg-lim-sw-in

setp stepgen.2.position-scale [JOINT_2]SCALE
setp stepgen.2.steplen 1
Expand All @@ -71,18 +82,22 @@ net zpos-fb stepgen.2.position-fb => joint.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable joint.2.amp-enable-out => stepgen.2.enable
net max-home-z => joint.2.home-sw-in
net max-home-z => joint.2.pos-lim-sw-in

setp stepgen.3.position-scale [JOINT_3]SCALE
setp stepgen.3.steplen 1
setp stepgen.3.stepspace 0
setp stepgen.3.dirhold 40000
setp stepgen.3.dirsetup 40000
setp stepgen.3.maxaccel [JOINT_3]STEPGEN_MAXACCEL
net apos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net apos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net astep <= stepgen.3.step
net adir <= stepgen.3.dir
net aenable joint.3.amp-enable-out => stepgen.3.enable
net y2pos-cmd joint.3.motor-pos-cmd => stepgen.3.position-cmd
net y2pos-fb stepgen.3.position-fb => joint.3.motor-pos-fb
net y2step <= stepgen.3.step
net y2dir <= stepgen.3.dir
net y2enable joint.3.amp-enable-out => stepgen.3.enable
net min-home-y2 => joint.3.home-sw-in
net min-home-y2 => joint.3.neg-lim-sw-in

net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
Expand Down
Loading

0 comments on commit a10b14d

Please sign in to comment.