On Thursday 30 August 2018 18:09:42 andy pugh wrote:

> On Thu, 30 Aug 2018 at 22:18, Gene Heskett <ghesk...@shentel.net> wrote:
> > LCNC now loads but somethings off yet, I am getting a following
> > error within .0005" of x movement. Like the offset.0.fb-out isn't
> > getting back to motion.
>
> Are both offset functions added to threads, and in the right place in
> those threads.
>
yes, but they may be out of order:

# motion controller, get name and thread periods from ini file
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD 
num_joints=[KINS]JOINTS

###################################################
# extra, slower thread for jogwheel stuffs at 100Hz
loadrt          threads name1=jog-thread period1=10000000 fp1=1
###################################################
# hostmot2 driver
loadrt hostmot2

# load low-level driver
loadrt  [HOSTMOT2](DRIVER) config=[HOSTMOT2](CONFIG) spiclk_rate=41666 
spiclk_rate_rd=25000
[...]
loadrt  lincurve count=2 personality=16
loadrt  offset   count=1
[...]
addf    hm2_[HOSTMOT2](BOARD).0.read    servo-thread
addf    wd-bite-reset                   servo-thread
addf    watchdog-reset                  servo-thread
addf    abs_encdir                      servo-thread
addf    s32_float_cmd                   servo-thread
addf    s32_float_spndl                 servo-thread
addf    motion-command-handler          servo-thread
addf    motion-controller               servo-thread
addf    spindle-abs                     servo-thread
addf    spindle-tach-unidir             servo-thread
addf    estop-latch.0                   servo-thread
addf    scale-tach                      servo-thread
addf    spindle-track                   servo-thread
addf    spindle-tach-filter             servo-thread
addf    X-axis-track                    servo-thread
addf    Z-axis-track                    servo-thread
addf    spindle-steady                  servo-thread
addf    close-enough                    servo-thread
addf    reset-vfd                       servo-thread
# now track spindle overshoot for g33.1
addf    sample-dirchg                   servo-thread
addf    sample-spndlchg                 servo-thread
addf    sum2.ovrtrvl                    servo-thread
addf    trig-frz                        servo-thread
addf    ovrtvl-frz                      servo-thread
addf    mult2turns                      servo-thread
addf    mult2distance                   servo-thread
# offset.0  needs fastest thread
addf    offset.0.update-feedback        servo-thread
addf    offset.0.update-output          servo-thread
# while a lincurve can be slower but put at top of jog-thread
addf    lincurve.0                      jog-thread
addf    lincurve.1                      jog-thread
# jogwheel stuff
addf    jogsteerx                       jog-thread #j1x
addf    jogsteerz                       jog-thread #j1z
addf    and2xtoggle                     jog-thread #j2x
addf    and2ztoggle                     jog-thread #j2z
addf    edgextrig                       jog-thread #j3x
addf    edgeztrig                       jog-thread #j3z
addf    or2xretrig                      jog-thread #j4x
addf    or2zretrig                      jog-thread #j4z
addf    lut5timex                       jog-thread #j6x
addf    lut5timez                       jog-thread #j6z
addf    timex                           jog-thread #j5x
addf    timez                           jog-thread #j5z
addf    lut5xup                         jog-thread #j6x
addf    lut5zup                         jog-thread #j6z
addf    lut5xdown                       jog-thread #j6x
addf    lut5zdown                       jog-thread #j6z
addf    lut5jogx                        jog-thread #j6x
addf    lut5jogz                        jog-thread #j6z
addf    and2xgate                       jog-thread #j7x
addf    and2zgate                       jog-thread #j7z
addf    and2xgainup                     jog-thread #j8x
addf    and2xgaindown                   jog-thread #J8x
addf    and2zgainup                     jog-thread #j9z
addf    and2zgaindown                   jog-thread #j9z
addf    notjogx                         jog-thread #j10x
addf    notjogz                         jog-thread #j10z
addf    updownxcounter                  jog-thread
addf    updownzcounter                  jog-thread
addf    conv-s32-u32.0                  jog-thread
addf    conv-s32-u32.1                  jog-thread
addf    mux8addrx                       jog-thread
addf    mux8addrz                       jog-thread
addf    mux8jogspeedx                   jog-thread
addf    mux8jogspeedz                   jog-thread
addf    s32floatx                       jog-thread
addf    s32floatz                       jog-thread
addf    mult2x1                         jog-thread
addf    mult2x2                         jog-thread
addf    mult2z1                         jog-thread
addf    mult2z2                         jog-thread
addf    mult2gear                       jog-thread
addf    mult2pwm                        jog-thread
addf    floats32x                       jog-thread
addf    floats32z                       jog-thread
addf    jogmux2x                        jog-thread
addf    jogmux2z                        jog-thread

# revel in the free time here from not having to run PID's
# every bit of the processing as set by addf order MUST BE DONE
# between the above read, and the below write.

addf hm2_[HOSTMOT2](BOARD).0.write      servo-thread

jog-thread is a 10 millisecond thread, and plenty fast enough to keep up
with a 70 ipm z axis, or a 30 ipm x axis. The steps for lincurve.0.x-val-## 
are at 2.25" intervals from about .050 away from the nut of an ER40
adapter in the spindle, carrying about 22" of slightly crooked A2 rod 
for the measurements.

However it may be that that the lincurve stuff is too early, but I'm not 
seeing its output change. So I think I'll disconnect the offset outputs and 
temporarily
restore straight thru, then see what happens to offset.0.out when it has 
no control. Probably tomorrow as I got up to putz with this about 5Am local.

> Halscope might help.

Maybe, if I can get it to move at all. Z is ok, but X is frozen due to the F.E. 
:(

Thanks Andy.

-- 
Cheers, Gene Heskett
--
"There are four boxes to be used in defense of liberty:
 soap, ballot, jury, and ammo. Please use in that order."
-Ed Howdershelt (Author)
Genes Web page <http://geneslinuxbox.net:6309/gene>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to