[APPLICATIONS]
APP = halshow ./millturn.halshow

[EMC]
VERSION = 1.1
MACHINE = millturn (mm)
DEBUG = 0

[KINS]
KINEMATICS = millturn
JOINTS= 4

[HAL]
HALUI = halui
HALFILE = LIB:basic_sim.tcl
HALFILE = millturn.hal
HALCMD = net :kinstype-select <= motion.analog-out-03 => motion.switchkins-type
POSTGUI_HALFILE = millturn-postgui.hal

[RS274NGC]
    USER_M_PATH = ./mcodes
PARAMETER_FILE  = millturn.var
SUBROUTINE_PATH = ./remap_subs
   HAL_PIN_VARS = 1
          REMAP = M428  modalgroup=10  ngc=428remap
          REMAP = M429  modalgroup=10  ngc=429remap
# Set startup offsets
RS274NGC_STARTUP_CODE =    G10 L2 P7 X-290 Y0 Z-160 A0 G59.1


[HALUI]
# MDI-COMMANDS 00, 01 (remapped) for switching kinematics and limits:
# M428: mill (kinstype==0 startupDEFAULT)
# M429: turn (kinstype==1)
MDI_COMMAND = M428
MDI_COMMAND = M429
# MDI-COMMANDS 02, 03 are for altering limits when switching
# Note that M129 and M129 are not meant to be called directly.
MDI_COMMAND = M128
MDI_COMMAND = M129

[DISPLAY]
DISPLAY = axis
GEOMETRY = XYZA
CYCLE_TIME = 0.200
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 60.0
DEFAULT_ANGULAR_VELOCITY = 40.0
MAX_FEED_OVERRIDE = 2.0
PROGRAM_PREFIX = ./
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PYVCP = millturn.xml
EDITOR = geany
OPEN_FILE = example.ngc

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[EMCMOT]
EMCMOT = motmod
COMM_TIMEOUT = 1.0
SERVO_PERIOD = 1000000

[TRAJ]
COORDINATES = X Y Z A
LINEAR_UNITS = mm
ANGULAR_UNITS = deg
DEFAULT_LINEAR_VELOCITY = 60.0
DEFAULT_ANGULAR_VELOCITY = 60.0
MAX_LINEAR_VELOCITY = 200.0
MAX_ANGULAR_VELOCITY = 100.0
DEFAULT_LINEAR_ACCELERATION = 200.0
MAX_LINEAR_ACCELERATION = 400.0

[EMCIO]
TOOL_TABLE = millturn.tbl

[JOINT_0]
TYPE = LINEAR
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 400.0
MIN_LIMIT = -300
MAX_LIMIT =  300
HOME_SEQUENCE = 0
HOME_OFFSET = 0
HOME = 0
[JOINT_1]
TYPE = LINEAR
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 400.0
MIN_LIMIT = -100
MAX_LIMIT = 100
HOME_OFFSET = 0.0
HOME_SEQUENCE = 0
HOME = 0
[JOINT_2]
TYPE = LINEAR
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 400.0
MIN_LIMIT = -240
MAX_LIMIT = 0
HOME_OFFSET = 0.0
HOME_SEQUENCE = 0
HOME = 0
[JOINT_3]
TYPE = ANGULAR
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 400.0
HOME_OFFSET = 0.0
HOME_SEQUENCE = 0
HOME = 0.001

[AXIS_X]
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 400.0
# define softlimits for default kinematic (mill)
MIN_LIMIT = -300
MAX_LIMIT = 300
# define softlimits for alternate kinematic (turn)
MIN_LIMIT_TURN = -240
MAX_LIMIT_TURN = 0
[AXIS_Y]
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 400.0
# define softlimits for default kinematic (mill)
MIN_LIMIT = -100
MAX_LIMIT = 100
# define softlimits for alternate kinematic (turn)
MIN_LIMIT_TURN = -100
MAX_LIMIT_TURN = 100
[AXIS_Z]
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 400.0
# define softlimits for default kinematic (mill)
MIN_LIMIT = -240
MAX_LIMIT = 0
# define softlimits for alternate kinematic (turn)
MIN_LIMIT_TURN = -300
MAX_LIMIT_TURN = 300
[AXIS_A]
MAX_VELOCITY = 60.0
MAX_ACCELERATION = 400.0
