milltask - Userspace task controller for LinuxCNC
milltask is an internal process of LinuxCNC. It is generally not invoked directly but by an inifile setting: [TASK]TASK=milltask. The milltask process creates the ini.* hal pins listed below and owned by the inihal user component. These pins may be modified while LinuxCnC is running to alter values that are typically specified in an inifile.
The inihal pins are sampled in every task cycle, however, commands affected by their values typically use the value present at the time when the command is processed. Such commands include all codes handled by the interpreter (Gcode programs and MDI commands) and NML jogging commands issued by a GUI (including halui). Wheel jogging is implemented in the realtime motion module so inihal pin changes (e.g., ini.*.max_velocity, ini.*.max_acceleration) may be honored as soon as altered values are propagated to the motion module.
Per-joint
pins (N == joint number)
ini.N.backlash
Allows adjustment of [JOINT_N]BACKLASH
ini.N.ferror
Allows adjustment of [JOINT_N]FERROR
ini.N.min_ferror
Allows adjustment of [JOINT_N]MIN_FERROR
ini.N.min_limit
Allows adjustment of [JOINT_N]MIN_LIMIT
ini.N.max_limit
Allows adjustment of [JOINT_N]MAX_LIMIT
ini.N.max_velocity
Allows adjustment of [JOINT_N]MAX_VELOCITY
ini.N.max_acceleration
Allows adjustment of [JOINT_N]MAX_ACCELERATION
ini.N.home
Allows adjustment of [JOINT_N]HOME
ini.N.home_offset
Allows adjustment of [JOINT_N]HOME_OFFSET
ini.N.home_offset
Allows adjustment of [JOINT_N]HOME_SEQUENCE
Per-axis
pins (L == axis letter)
ini.L.min_limit
Allows adjustment of [AXIS_L]MIN_LIMIT
ini.L.max_limit
Allows adjustment of [AXIS_L]MAX_LIMIT
ini.L.max_velocity
Allows adjustment of [AXIS_L]MAX_VELOCITY
ini.L.max_acceleration
Allows adjustment of [AXIS_L]MAX_ACCELERATION
Global pins
ini.traj_default_acceleration
Allows adjustment of [TRAJ]DEFAULT_ACCELERATION
ini.traj_default_velocity
Allows adjustment of [TRAJ]DEFAULT_VELOCITY
ini.traj_max_acceleration
Allows adjustment of [TRAJ]MAX_ACCELERATION
ini.traj_max_velocity
Allows adjustment of [TRAJ]MAX_VELOCITY
Global pins
(arc_blend trajectory planner)
ini.traj_arc_blend_enable
Allows adjustment of [TRAJ]ARC_BLEND_ENABLE
ini.traj_arc_blend_fallback_enable
Allows adjustment of [TRAJ]ARC_BLEND_FALLBACK_ENABLE
ini.traj_arc_blend_gap_cycles
Allows adjustment of [TRAJ]ARC_OPTIMIZATION_DEPTH
ini.traj_arc_blend_optimization_depth
Allows adjustment of [TRAJ]ARC_BLEND_GAP_CYCLES
ini.traj_arc_blend_ramp_freq
Allows adjustment of [TRAJ]ARC_BLEND_RAMP_FREQ
The inihal pins cannot be linked or set in a halfile that is specified by an inifile [HAL]HALFILE item because they are not created until milltask is started. The inihal pin values can be altered by independent halcmd programs specified by [APPLICATION]APP items or by GUIs that support a [HAL]POSTGUI_HALFILE.
The inifile is not automatically updated with values altered by inihal pin settings but can be updated using the calibration program (emccalib.tcl) when using a [HAL]POSTGUI_HALFILE.