I upgraded my system from 2.3 to 2.4. I read on the wiki to take out the line: NML_FILE = emc.nml. I did this and started emc2.

The errors located in the file emc23_error_nonml were observed.

I then included the line with NML_FILE and the errors in the emc24_error.txt were observed.

If I comment out the "HALFILE =             joypad.hal" ecm2.4 runs ok.

I am including my ini file with this post. The joypad ran fine before the upgrade.

Any ideas?

Kirk

Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.24-16-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.4
EMC2 - 2.4.0
Machine configuration directory is '/home/kirk/emc2/configs/stepper'
Machine configuration file is 'stepper_inch.ini'
INIFILE=/home/kirk/emc2/configs/stepper/stepper_inch.ini
PARAMETER_FILE=stepper.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=halui
DISPLAY=axis
NML_FILE=
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
Starting HAL User Interface program: halui
Shutting down and cleaning up EMC2...
ERROR: button 0 export failed with err=-22
Killing task emcsvr, PID=5166
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
Can not find -sec EMC -var NML_FILE -num 1 
Unrecognized line skipped: POC     FMS     LEN     DIAM    COMMENT
standard_pinout.hal:22: Warning: linkpp command is deprecated, use 'net'
HAL: ERROR: pin_new called after hal_ready
joypad.hal:19: Pin 'joypad.axis.0' does not exist
5166
  PID TTY      STAT   TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[  148.502342] I-pipe: Domain RTAI registered.
[  148.502356] RTAI[hal]: <3.6.1> mounted over IPIPE-NOTHREADS 2.0-04.
[  148.502358] RTAI[hal]: compiled with gcc version 4.2.4 (Ubuntu 
4.2.4-1ubuntu3).
[  148.502365] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs 
DISPATCHED), ISOL_CPUS_MASK: 0).
[  148.502367] PIPELINE layers:
[  148.502370] f8c63000 9ac15d93 RTAI 200
[  148.502372] c0383180 0 Linux 100
[  148.551462] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[  148.565118] RTAI[sched]: loaded (IMMEDIATE, UP, USER/KERNEL SPACE: <with 
RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[  148.565128] RTAI[sched]: hard timer type/freq = 8254-PIT/1193180(Hz); 
default timing: periodic; linear timed lists.
[  148.565132] RTAI[sched]: Linux timer freq = 250 (Hz), CPU freq = 2675164000 
hz.
[  148.565134] RTAI[sched]: timer setup = 2010 ns, resched latency = 2689 ns.
[  148.700391] RTAI[math]: loaded.
[  148.757183] rtapi: no version for "nano2count" found: kernel tainted.
[  148.763867] RTAPI: Init
[  148.764155] RTAPI: Init complete
[  148.791282] HAL_LIB: loading kernel lib
[  148.791290] RTAPI: initing module HAL_LIB
[  148.791294] RTAPI: module 'HAL_LIB' loaded, ID: 1
[  148.792121] RTAPI: shmem 01 created by module 01, key: 1212238898, size: 
262000
[  148.792132] HAL_LIB: kernel lib installed successfully
[  149.013655] config string '0x0378'
[  149.830013] RTAI[math]: unloaded.
[  149.893465] SCHED releases registered named ALIEN RTGLBH
[  149.908133] RTAI[malloc]: unloaded.
[  150.007412] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 
0, syscalls 0).
[  150.010701] I-pipe: Domain RTAI unregistered.
[  150.010711] RTAI[hal]: unmounted.



Print file information:
RUN_IN_PLACE=no
EMC2_DIR=
EMC2_BIN_DIR=/usr/bin
EMC2_TCL_DIR=/usr/share/emc/tcl
EMC2_SCRIPT_DIR=
EMC2_RTLIB_DIR=/usr/realtime-2.6.24-16-rtai/modules/emc2
EMC2_CONFIG_DIR=
EMC2_LANG_DIR=/usr/share/emc/tcl/msgs
INIVAR=inivar
HALCMD=halcmd
EMC2_EMCSH=/usr/bin/wish8.4
EMC2 - 2.4.0
Machine configuration directory is '/home/kirk/emc2/configs/stepper'
Machine configuration file is 'stepper_inch.ini'
INIFILE=/home/kirk/emc2/configs/stepper/stepper_inch.ini
PARAMETER_FILE=stepper.var
EMCMOT=motmod
EMCIO=io
TASK=milltask
HALUI=halui
DISPLAY=axis
NML_FILE=emc.nml
Starting EMC2...
Starting EMC2 server program: emcsvr
Loading Real Time OS, RTAPI, and HAL_LIB modules
Starting EMC2 IO program: io
libnml/buffer/physmem.cc 143: PHYSMEM_HANDLE: Can't write 6348 bytes at offset 
60 from buffer of size 4064.
libnml/cms/cms_in.cc 1383: CMS:(toolSts) Error writing 6348 bytes to global 
memory at offset 8055710
 (See  libnml/cms/cms_in.cc line 1386.)

**********************************************************
* Current Directory = /home/kirk/emc2/configs/stepper
* 
**********************************************************
* BufferName = toolSts
* BufferType = 0
* ProcessName = tool
* Configuration File = emc.nml
* CMS Status = -3 (CMS_INTERNAL_ACCESS_ERROR: An error occured during an 
internal access function. )
* Recent errors repeated:

PHYSMEM_HANDLE: Can't write 6348 bytes at offset 60 from buffer of size 4064.

CMS:(toolSts) Error writing 6348 bytes to global memory at offset 8055710
 (See  libnml/cms/cms_in.

* BufferLine: B toolSts               SHMEM   localhost       4096    0       0 
      5       16 1005 TCP=5005 xdr
* ProcessLine: P tool          toolSts         LOCAL   localhost       W       
0       1.0     0       3
* error_type = 5 (NML_INTERNAL_CMS_ERROR)
************************************************************

libnml/buffer/physmem.cc 143: PHYSMEM_HANDLE: Can't write 6348 bytes at offset 
60 from buffer of size 4064.
libnml/cms/cms_in.cc 1383: CMS:(toolSts) Error writing 6348 bytes to global 
memory at offset 8055710
 (See  libnml/cms/cms_in.cc line 1386.)
Starting HAL User Interface program: halui
Shutting down and cleaning up EMC2...
ERROR: button 0 export failed with err=-22
Killing task emcsvr, PID=6725
Removing HAL_LIB, RTAPI, and Real Time OS modules
Removing NML shared memory segments
Cleanup done

Debug file information:
Unrecognized line skipped: POC     FMS     LEN     DIAM    COMMENT
standard_pinout.hal:22: Warning: linkpp command is deprecated, use 'net'
HAL: ERROR: pin_new called after hal_ready
joypad.hal:19: Pin 'joypad.axis.0' does not exist
6725
  PID TTY      STAT   TIME COMMAND
Stopping realtime threads
Unloading hal components

Kernel message information:
[  300.769223] I-pipe: Domain RTAI registered.
[  300.769236] RTAI[hal]: <3.6.1> mounted over IPIPE-NOTHREADS 2.0-04.
[  300.769239] RTAI[hal]: compiled with gcc version 4.2.4 (Ubuntu 
4.2.4-1ubuntu3).
[  300.769245] RTAI[hal]: mounted (IPIPE-NOTHREADS, IMMEDIATE (INTERNAL IRQs 
DISPATCHED), ISOL_CPUS_MASK: 0).
[  300.769248] PIPELINE layers:
[  300.769250] f8c67000 9ac15d93 RTAI 200
[  300.769253] c0383180 0 Linux 100
[  300.785625] RTAI[malloc]: global heap size = 2097152 bytes, <BSD>.
[  300.786047] RTAI[sched]: loaded (IMMEDIATE, UP, USER/KERNEL SPACE: <with 
RTAI OWN KTASKs>, kstacks pool size = 524288 bytes.
[  300.786054] RTAI[sched]: hard timer type/freq = 8254-PIT/1193180(Hz); 
default timing: periodic; linear timed lists.
[  300.786058] RTAI[sched]: Linux timer freq = 250 (Hz), CPU freq = 2675164000 
hz.
[  300.786061] RTAI[sched]: timer setup = 2010 ns, resched latency = 2689 ns.
[  300.869883] RTAI[math]: loaded.
[  300.904714] RTAPI: Init
[  300.904773] RTAPI: Init complete
[  300.914069] HAL_LIB: loading kernel lib
[  300.914078] RTAPI: initing module HAL_LIB
[  300.914082] RTAPI: module 'HAL_LIB' loaded, ID: 1
[  300.914376] RTAPI: shmem 01 created by module 01, key: 1212238898, size: 
262000
[  300.914385] HAL_LIB: kernel lib installed successfully
[  301.016644] config string '0x0378'
[  301.511356] RTAI[math]: unloaded.
[  301.575244] SCHED releases registered named ALIEN RTGLBH
[  301.591751] RTAI[malloc]: unloaded.
[  301.690715] RTAI[sched]: unloaded (forced hard/soft/hard transitions: traps 
0, syscalls 0).
[  301.693719] I-pipe: Domain RTAI unregistered.
[  301.693729] RTAI[hal]: unmounted.



# Note: emcsvr is the master for all NML channels, and therefore is the
# first to start.

# Buffers
# Name                  Type    Host            size    neut?   (old)   buffer# 
MP ---

# Top-level buffers to EMC
B emcCommand            SHMEM   localhost       8192    0       0       1       
16 1001 TCP=5005 xdr
B emcStatus             SHMEM   localhost       16384   0       0       2       
16 1002 TCP=5005 xdr
B emcError              SHMEM   localhost       8192    0       0       3       
16 1003 TCP=5005 xdr queue

# These are for the IO controller, EMCIO
B toolCmd               SHMEM   localhost       1024    0       0       4       
16 1004 TCP=5005 xdr
B toolSts               SHMEM   localhost       4096    0       0       5       
16 1005 TCP=5005 xdr

# Processes
# Name          Buffer          Type    Host            Ops     server? timeout 
master? cnum

P emc           emcCommand      LOCAL   localhost       RW      0       1.0     
0       0
P emc           emcStatus       LOCAL   localhost       W       0       1.0     
0       0
P emc           emcError        LOCAL   localhost       W       0       1.0     
0       0
P emc           toolCmd         LOCAL   localhost       W       0       1.0     
0       0
P emc           toolSts         LOCAL   localhost       R       0       1.0     
0       0

P emcsvr        emcCommand      LOCAL   localhost       W       1       1.0     
1       2
P emcsvr        emcStatus       LOCAL   localhost       R       1       1.0     
1       2
P emcsvr        emcError        LOCAL   localhost       R       1       1.0     
1       2
P emcsvr        toolCmd         LOCAL   localhost       W       1       1.0     
1       2
P emcsvr        toolSts         LOCAL   localhost       R       1       1.0     
1       2
P emcsvr        default         LOCAL   localhost       RW      1       1.0     
1       2

P tool          emcError        LOCAL   localhost       W       0       1.0     
0       3
P tool          toolCmd         LOCAL   localhost       RW      0       1.0     
0       3
P tool          toolSts         LOCAL   localhost       W       0       1.0     
0       3

P xemc          emcCommand      LOCAL   localhost       W       0       10.0    
0       10
P xemc          emcStatus       LOCAL   localhost       R       0       10.0    
0       10
P xemc          emcError        LOCAL   localhost       R       0       10.0    
0       10
P xemc          toolCmd         LOCAL   localhost       W       0       10.0    
0       10
P xemc          toolSts         LOCAL   localhost       R       0       10.0    
0       10

P keystick      emcCommand      LOCAL   localhost       W       0       10.0    
0       10
P keystick      emcStatus       LOCAL   localhost       R       0       10.0    
0       10
P keystick      emcError        LOCAL   localhost       R       0       10.0    
0       10
P keystick      toolCmd         LOCAL   localhost       W       0       10.0    
0       10
P keystick      toolSts         LOCAL   localhost       R       0       10.0    
0       10
# joypad.hal -- hal configuration file to move a cnc machine using a joypad

# [JOG]
# Components 

# We will use hal_joystick to read the axis value (float) for X Y Z, we will 
send these values to the 
# speed pin of a sim-encoder component, for X Y Z, this component outputs 
Phase-A and Phase-B signal, 
# just like a real quadrature rotary encoder. We will decode those signals with 
an encoder component for X Y Z
# and will send the result counts value to the axis jog pin for X Y Z.

# Load the hal_joystick component that creates joypad.axis.<n> and 
joypad.button.<n> pins
loadusr hal_joystick -d /dev/input/js0 -p joypad

# Load three encoder and three sim_encoder components
loadrt encoder num_chan=3 
loadrt sim_encoder num_chan=3 

# Create links between the axis pins and the speed pin of the sim-encoder for X 
Y Z
net velX joypad.axis.0 => sim-encoder.0.speed
net velY joypad.axis.1 => sim-encoder.1.speed
net velZ joypad.axis.3 => sim-encoder.2.speed

# Create links between sim-encoder Phase-A and Phase-B and encoder Phase-A and 
Phase-B for X Y Z
net XA sim-encoder.0.phase-A => encoder.0.phase-A
net XB sim-encoder.0.phase-B => encoder.0.phase-B
net YA sim-encoder.1.phase-A => encoder.1.phase-A
net YB sim-encoder.1.phase-B => encoder.1.phase-B
net ZA sim-encoder.2.phase-A => encoder.2.phase-A
net ZB sim-encoder.2.phase-B => encoder.2.phase-B

# Create links between encoder counts and jog counts for X Y Z
net countX encoder.0.counts => axis.0.jog-counts
net countY encoder.1.counts => axis.1.jog-counts
net countZ encoder.2.counts => axis.2.jog-counts

# Set parameter values
setp encoder.0.position-scale            1
setp encoder.0.x4-mode         TRUE
setp encoder.1.position-scale            1
setp encoder.1.x4-mode         TRUE
setp encoder.2.position-scale            1
setp encoder.2.x4-mode         TRUE
setp encoder.capture-position.tmax            0
setp encoder.update-counters.tmax            0
setp sim-encoder.0.ppr     00000500
setp sim-encoder.0.scale            1
setp sim-encoder.1.ppr     00000500
setp sim-encoder.1.scale            -1
setp sim-encoder.2.ppr     00000500
setp sim-encoder.2.scale            -1
setp sim-encoder.make-pulses.tmax            0
setp sim-encoder.update-speed.tmax            0

# Enable jog for X Y Z
setp axis.0.jog-enable TRUE
setp axis.1.jog-enable TRUE
setp axis.2.jog-enable TRUE

#Set jogwheel input into velocity mode
setp axis.0.jog-vel-mode 1
setp axis.1.jog-vel-mode 1
setp axis.2.jog-vel-mode 1

# Attach realtime functions to threads
addf encoder.capture-position servo-thread
addf sim-encoder.update-speed servo-thread
addf encoder.update-counters base-thread
addf sim-encoder.make-pulses base-thread



# [BUTTON-SAMPLES]

# Here are two examples on how to attach some functions to joypad buttons. We 
will use Halui pins for the 
# second example.

# Scale button 

# we set two buttons (1 and 0) to choose the jogscale value. Pressing button 1 
will set the scale to 0.01 
# while pressing button 0 will set it to 0.1.

# Components
# We will use a two values selector and a flipflop component 

loadrt mux2 
loadrt flipflop 

# Link between buttons and flipflop, flipflop will output TRUE when rising edge 
is detected on set pin, FALSE 
# when rising edge is on reset pin.
net button0 joypad.button.0 => flipflop.0.reset
net button1 joypad.button.1 => flipflop.0.set

# Link between flipflop and mux2, mux2 will output value mux2.0.in0 when 
mux2.0.sel is FALSE and #mux2.0.in1 
# when TRUE.
net selected flipflop.0.out => mux2.0.sel

# Link between the mux2 output and the jogscale pin for X Y Z
net jogscale mux2.0.out => axis.0.jog-scale
net jogscale mux2.0.out => axis.1.jog-scale
net jogscale mux2.0.out => axis.2.jog-scale

# Set parameters values
setp flipflop.0.tmax         3750
setp mux2.0.tmax         3601

# Set the two scale values
setp mux2.0.in0          0.00017
setp mux2.0.in1          0.00001

# Attach realtime functions to threads
addf flipflop.0 servo-thread
addf mux2.0 servo-thread
# Power On Button
net button9 joypad.button.9 => halui.machine.on

# Estop Button
net button5 joypad.button.5 => halui.estop.activate
net button7 joypad.button.7 => halui.estop.reset

# Spindle
net button6 joypad.button.6 => halui.spindle.start
net button4 joypad.button.4 => halui.spindle.stop

# Program Start/Stop
net button3 joypad.button.3 => halui.program.resume
net button2 joypad.button.2 => halui.program.pause

# Flood button

# We will set a single button (button 7) to start and stop flood. We will use 
Halui pins for that.

# Components
# We will use simply two and2 and 1 not components

#loadrt and2 count=2
#loadrt not 

# Flood-is-on halui pin is linked to the and2.0.in0 and the not-flood-is-on, 
generated using the not component 
# is linked to the and2.1.in0. So, if the flood is on, we will have and2.0.in0 
TRUE and and2.1.in0 FALSE.
#net flood-is-on halui.flood.is-on => and2.0.in0
#net flood-is-on halui.flood.is-on => not.0.in
#net not-flood-is-on not.0.out => and2.1.in0

# Link between button 7 and and.0.in1 and and.1.in1. In this way, if the flood 
for example is on, when the 
# button is pressed TRUE will be sent to and2.0.in1 and and2.1.in1, while the 
in0 value for and2 components 
# will be TRUE for the first and2 and FALSE for the second. So the first and2 
will output TRUE.
#net button7 joypad.button.7 => and2.0.in1
#net button7 joypad.button.7 => and2.1.in1

# Link between and2 outputs and halui pin flood on and off. So, as seen above, 
if the flood is on, the and2.0
# will output TRUE and the flood will turn off.
#net floodOff and2.0.out => halui.flood.off
#net floodOn and2.1.out => halui.flood.on

# Attach realtime functions to threads
#addf and2.0 servo-thread
#addf and2.1 servo-thread
#addf not.0 servo-thread





# standard pinout config file for 3-axis steppers
# using a parport for I/O
#
# first load the parport driver
loadrt hal_parport cfg="0x0378"
#
# next connect the parport functions to threads
# read inputs first
addf parport.0.read base-thread 1
# write outputs last
addf parport.0.write base-thread -1
#
# finally connect physical pins to the signals
net Xstep => parport.0.pin-03-out
net Xdir  => parport.0.pin-02-out
net Ystep => parport.0.pin-05-out
net Ydir  => parport.0.pin-04-out
net Zstep => parport.0.pin-07-out
net Zdir  => parport.0.pin-06-out

# create a signal for the estop loopback
net estop-loop iocontrol.0.user-enable-out iocontrol.0.emc-enable-in

# create signals for tool loading loopback
net tool-prep-loop iocontrol.0.tool-prepare iocontrol.0.tool-prepared
net tool-change-loop iocontrol.0.tool-change iocontrol.0.tool-changed

# connect "spindle on" motion controller pin to a physical pin
net spindle-on motion.spindle-on => parport.0.pin-09-out

###
### You might use something like this to enable chopper drives when machine ON
### the Xen signal is defined in core_stepper.hal
###

# net Xen => parport.0.pin-01-out

###
### If you want active low for this pin, invert it like this:
###

# setp parport.0.pin-01-out-invert 1

###
### A sample home switch on the X axis (axis 0).  make a signal,
### link the incoming parport pin to the signal, then link the signal
### to EMC's axis 0 home switch input pin
###

# net Xhome parport.0.pin-10-in => axis.0.home-sw-in

###
### Shared home switches all on one parallel port pin?
### that's ok, hook the same signal to all the axes, but be sure to 
### set HOME_IS_SHARED and HOME_SEQUENCE in the ini file.  See the
### user manual!
###

# net homeswitches <= parport.0.pin-10-in
# net homeswitches => axis.0.home-sw-in
# net homeswitches => axis.1.home-sw-in
# net homeswitches => axis.2.home-sw-in

###
### Sample separate limit switches on the X axis (axis 0)
###

# net X-neg-limit parport.0.pin-11-in => axis.0.neg-lim-sw-in
# net X-pos-limit parport.0.pin-12-in => axis.0.pos-lim-sw-in

###
### Just like the shared home switches example, you can wire together
### limit switches.  Beware if you hit one, EMC will stop but can't tell
### you which switch/axis has faulted.  Use caution when recovering from this.
###

# net Xlimits parport.0.pin-13-in => axis.0.neg-lim-sw-in axis.0.pos-lim-sw-in
# EMC controller parameters for generic controller. Make these what you need
# for your system.

# General note: Comments can either be preceded with a # or ; - either is
# acceptable, although # is in keeping with most linux config files.

# Settings with a + at the front of the comment are likely needed to get 
# changed by the user.
# Settings with a - at the front are highly unneeded to be changed
###############################################################################
# General section 
###############################################################################
[EMC]

#- Version of this INI file
VERSION =               $Revision: 1.4.2.4 $

#+ Name of machine, for use with display, etc.
MACHINE =               EMC-HAL-STEP-IN

#- Name of NML file to use, default is emc.nml
#NML_FILE =              emc.nml

#+ Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
# DEBUG =                0x00000001
# DEBUG =               0x00000007
# DEBUG =               0x7FFFFFFF
DEBUG = 0

###############################################################################
# Sections for display options 
###############################################################################
[DISPLAY]

#+ Name of display program, e.g., xemc
DISPLAY =              axis
# DISPLAY =              usrmot
# DISPLAY =              mini
# DISPLAY =             tkemc
# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME =            0.200

#- Path to help file
HELP_FILE =             help/tkemc.txt

#- Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET =       RELATIVE

#- Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK =     ACTUAL

#+ Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE =     1.2

#- Prefix to be used
PROGRAM_PREFIX =        /home/kirk/emc2/nc_files

#- Introductory graphic
INTRO_GRAPHIC =         emc2.gif
INTRO_TIME =            5

[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script

png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

###############################################################################
# Task controller section 
###############################################################################
[TASK]

#- Name of task controller program, e.g., bridgeporttask
TASK =                  milltask
# TASK =                minimilltask

#- Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME =            0.002

###############################################################################
# Part program interpreter section 
###############################################################################
[RS274NGC]

#- File containing interpreter variables
PARAMETER_FILE =        stepper.var

###############################################################################
# Motion control section 
###############################################################################
[EMCMOT]

#- Name of the motion controller to use (only one exists for nontrivkins)
EMCMOT =              motmod

#- Key for real OS shared memory, e.g., for simulated motion
SHMEM_KEY =             111

#- Timeout for comm to emcmot, in seconds
COMM_TIMEOUT =          1.0

#- Interval between tries to emcmot, in seconds
COMM_WAIT =             0.010

#+ Base task period, in nanosecs - this is the fastest thread in the machine
BASE_PERIOD =                28000
#BASE_PERIOD =                50000
DIRHOLD = 2
#- Servo task period, in nanosecs - will be rounded to an int multiple of 
BASE_PERIOD
SERVO_PERIOD =               1000000
#- Trajectory Planner task period, in nanosecs - will be rounded to an
#   integer multiple of SERVO_PERIOD
TRAJ_PERIOD =                5000000

###############################################################################
# Hardware Abstraction Layer section
###############################################################################
[HAL]
HALUI = halui
# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.
#

# list of hal config files to run through halcmd
#+ files are executed in the order in which they appear
HALFILE =                    core_stepper.hal
#HALFILE =                    xylotex_pinout.hal
HALFILE =                    standard_pinout.hal
HALFILE =                       joypad.hal
#- list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD =                    save neta

###############################################################################
# Trajectory planner section
###############################################################################
[TRAJ]
#+ machine specific settings
AXES =                  3
# COORDINATES =         X Y Z R P W
COORDINATES =           X Y Z
HOME =                  0 0 0
LINEAR_UNITS =          inch
ANGULAR_UNITS =         degree
CYCLE_TIME =            0.010
DEFAULT_VELOCITY =      0.167
MAX_VELOCITY =          0.25
DEFAULT_ACCELERATION =  0.2
MAX_ACCELERATION =      0.5
PROBE_INDEX =           0
PROBE_POLARITY =        1

###############################################################################
# Axes sections
###############################################################################

#+ First axis
[AXIS_0]

TYPE =                          LINEAR

HOME =                          0.000
MAX_VELOCITY =                  0.22
# NOTE:  the step generator module applies its own limits to
# acceleration and velocity.  We have discovered that it needs
# to have a little "headroom" over the accel by the trajectory
# planner, otherwise it can fall slightly behind during accel
# and later overshoot as it catches up.  In the long term we
# hope to come up with a clean fix for this problem.  In the
# meantime, please set STEPGEN_MAXACCEL below to a few percent
# higher than the regular acceleration limit MAX_ACCELERATION
MAX_ACCELERATION =              0.5
STEPGEN_MAXVEL =                0.22
STEPGEN_MAXACCEL =              21.0
BACKLASH = 0.006
CYCLE_TIME =                    0.001000
INPUT_SCALE =                   72000
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT =                     -1000.0
MAX_LIMIT =                     1000.0
FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                0.0
HOME_LATCH_VEL =                 0.0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO

#+ Second axis
[AXIS_1]

TYPE =                          LINEAR

HOME =                          0.000
MAX_VELOCITY =                  0.22
MAX_ACCELERATION =              0.5
STEPGEN_MAXVEL =                .25
STEPGEN_MAXACCEL =              21.0
BACKLASH = 0.006
CYCLE_TIME =                    0.001000
INPUT_SCALE =                   72000
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT =                     -1000.0
MAX_LIMIT =                     1000.0
FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                0.0
HOME_LATCH_VEL =                 0.0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO

#+ Third axis
[AXIS_2]

TYPE =                          LINEAR

HOME =                          0.0
MAX_VELOCITY =                  0.20
MAX_ACCELERATION =              .5
STEPGEN_MAXVEL =                .25
STEPGEN_MAXACCEL =              21.0
BACKLASH = 0.006
CYCLE_TIME =                    0.001000
INPUT_SCALE =                   35555.5556
OUTPUT_SCALE = 1.000 0.000
MIN_LIMIT =                     -1000.0
MAX_LIMIT =                     1000.0
FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET =                    0.0
HOME_SEARCH_VEL =                0.0
HOME_LATCH_VEL =                 0.0
HOME_USE_INDEX =                 NO
HOME_IGNORE_LIMITS =             NO

###############################################################################
# section for main IO controller parameters 
###############################################################################
[EMCIO]

#- Name of IO controller program, e.g., io
EMCIO =                 io

#- cycle time, in seconds
CYCLE_TIME =            0.100

#- tool table file
TOOL_TABLE =            stepper.tbl


###############################################################################
# section for external NML server parameters
###############################################################################
[EMCSERVER]
# Uncomment the following line if you need to run a remote GUI.
# EMCSERVER =           emcsvr
------------------------------------------------------------------------------

_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to