[EMC]
VERSION = 1.1
MACHINE = Probe Basic ATC Metric ATC Simulation (Indexed)
#+ Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
DEBUG = 0

[DISPLAY]
DISPLAY = probe_basic
OPEN_FILE = ~/linuxcnc/nc_files/probe_basic/examples/blank.ngc
CONFIG_FILE = custom_config.yml
CYCLE_TIME = 0.200
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
MAX_FEED_OVERRIDE = 2.000000
MAX_SPINDLE_OVERRIDE = 2.000000
MIN_SPINDLE_OVERRIDE = 0.500000
DEFAULT_SPINDLE_SPEED = 300
PROGRAM_PREFIX = ~/linuxcnc/nc_files
INTRO_GRAPHIC = pbsplash.png
INTRO_TIME = 3
EDITOR = gedit
INCREMENTS = JOG 0.100 0.010 0.001
DEFAULT_LINEAR_VELOCITY = 50.0000
MAX_LINEAR_VELOCITY = 125.0000
MIN_LINEAR_VELOCITY = 0.5000
DEFAULT_ANGULAR_VELOCITY = 12.0000
MAX_ANGULAR_VELOCITY = 180.0000
MIN_ANGULAR_VELOCITY = 1.6667
GEOMETRY = xyz
#USER_TABS_PATH = user_tabs/
USER_BUTTONS_PATH = user_buttons/
USER_DROS_PATH = user_dro_display/
DRO_DISPLAY = XYZ
GEOMETRY = XYZ
OFFSET_COLUMNS = XYZR
TOOL_TABLE_COLUMNS = TZDR
KEYBOARD_JOG = true
KEYBOARD_JOG_SAFETY_OFF = true
# ATC tab display options, 0 = no atc tab displayed, 1 = Carousel atc display, 2 = rack atc display
ATC_TAB_DISPLAY = 2
USER_ATC_BUTTONS_PATH = user_atc_buttons/

[FILTER]
PROGRAM_EXTENSION = .nc,.txt,.tap Other NC files
PROGRAM_EXTENSION = .png,.gif,.jpg Greyscale Depth Image
    png = image-to-gcode
    gif = image-to-gcode
    jpg = image-to-gcode

[PYTHON]
TOPLEVEL = ./python/toplevel.py
PATH_APPEND = ./python/

[ATC]
# Carousel images are available for 8, 10, 12, 14, 16, 18, 20, 21, 24 pocket changers
POCKETS = 12

[RS274NGC]
RS274NGC_STARTUP_CODE = F10 S300 G21 G17 G40 G49 G54 G64 P0.001 G80 G90 G91.1 G92.1 G94 G97 G98
PARAMETER_FILE = vmc_metric.var
OWORD_NARGS = 1
NO_DOWNCASE_OWORD = 1
SUBROUTINE_PATH = macros_metric_sim
REMAP=M6  modalgroup=6 prolog=change_prolog ngc=toolchange epilog=change_epilog
REMAP=M10 modalgroup=6 argspec=P ngc=m10
REMAP=M11 modalgroup=6 argspec=p ngc=m11
REMAP=M12 modalgroup=6 argspec=p ngc=m12
REMAP=M13 modalgroup=6 ngc=m13
REMAP=M21 modalgroup=6 ngc=m21
REMAP=M22 modalgroup=6 ngc=m22
REMAP=M23 modalgroup=6 ngc=m23
REMAP=M24 modalgroup=6 ngc=m24
REMAP=M25 modalgroup=6 ngc=m25
REMAP=M26 modalgroup=6 ngc=m26

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

[TASK]
TASK = milltask
CYCLE_TIME = 0.010

[HAL]
HALUI = halui
HALFILE = vmc.hal
HALFILE = simulated_home_probe_basic.hal
# HALFILE = sim_vmc_inch.hal
# HALFILE = spindle.hal
# HALFILE = toolchange_index.hal
# HALFILE = sim_cannon.hal
POSTGUI_HALFILE = probe_basic_postgui.hal

[TRAJ]
AXES = 3
SPINDLES = 1
COORDINATES = X Y Z
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 50
MAX_LINEAR_VELOCITY = 125

[EMCIO]
EMCIO = io
CYCLE_TIME = 0.100
TOOL_TABLE = tool_metric.tbl
RANDOM_TOOLCHANGER = 0

[KINS]
KINEMATICS = trivkins coordinates=XYZ
JOINTS = 3

#==================
#      X Axis
#==================

[AXIS_X]
MIN_LIMIT = 0.0
MAX_LIMIT = 1270.0
MAX_VELOCITY = 100
MAX_ACCELERATION = 1000

[JOINT_0]
TYPE = LINEAR
;HOME = 0.000
MAX_VELOCITY = 100
MAX_ACCELERATION = 1000
MIN_LIMIT = 0.0
MAX_LIMIT = 1270.0
HOME_OFFSET = 25.4
HOME_SEARCH_VEL = 60
HOME_LATCH_VEL = -5
HOME_USE_INDEX = 0
HOME_IGNORE_LIMITS = 1
HOME_SEQUENCE = 2

#==================
#      Y Axis
#==================

[AXIS_Y]
MIN_LIMIT = 0.0
MAX_LIMIT = 1270.0
MAX_VELOCITY = 100
MAX_ACCELERATION = 1000

[JOINT_1]
TYPE = LINEAR
; HOME = 0
MAX_VELOCITY = 100
MAX_ACCELERATION = 1000
MIN_LIMIT = 0.0
MAX_LIMIT = 1270.0
HOME_OFFSET = -25.4
HOME_SEARCH_VEL = 60
HOME_LATCH_VEL = -5
HOME_USE_INDEX = 0
HOME_IGNORE_LIMITS = 1
HOME_SEQUENCE = 2

#==================
#      Z Axis
#==================

[AXIS_Z]
MIN_LIMIT = -400
MAX_LIMIT = 0.100
MAX_VELOCITY = 100
MAX_ACCELERATION = 1000

[JOINT_2]
TYPE = LINEAR
; HOME = -20
MAX_VELOCITY = 100
MAX_ACCELERATION = 1000
MIN_LIMIT = -400
MAX_LIMIT = 100
HOME_OFFSET = -25.4
HOME_SEARCH_VEL = 60
HOME_LATCH_VEL = -5
HOME_USE_INDEX = 0
HOME_IGNORE_LIMITS = 1
HOME_SEQUENCE = 1

[SPINDLE]
PGAIN_V = 0
IGAIN_V = 0.01
DGAIN_V = 0
FF0_V = 1
FF1_V = 0
PGAIN_P = 100
IGAIN_P = 1
DGAIN_P = 0
FF0_P = 0
FF1_P = 1
