Import LinuxCNC source tree
This commit is contained in:
6
configs/sim/pyvcp_demo/README
Normal file
6
configs/sim/pyvcp_demo/README
Normal file
@@ -0,0 +1,6 @@
|
||||
The sim configuration is a set of files
|
||||
that shows a demo of some of the pyvcp_widgets
|
||||
note:
|
||||
The bar widget changes color at certain value ranges.
|
||||
The value of spinboxs and dials can be changed using HAL signals.
|
||||
The multilabel will change text depending on the HAL signal.
|
||||
40
configs/sim/pyvcp_demo/custom.hal
Normal file
40
configs/sim/pyvcp_demo/custom.hal
Normal file
@@ -0,0 +1,40 @@
|
||||
# #########################################
|
||||
# Example hal file showing some linkages
|
||||
# of pyvcp_widgets
|
||||
|
||||
# top row of scales and spinboxes
|
||||
net scale2spin1 pyvcp.scale0-f => pyvcp.spinbox.0.param_pin => pyvcp.number0
|
||||
net scale2spin3 pyvcp.scale1-f => pyvcp.spinbox.1.param_pin => pyvcp.number1
|
||||
net scale2spin5 pyvcp.scale2-f => pyvcp.spinbox.2.param_pin => pyvcp.number2
|
||||
|
||||
# second row of dials and scales
|
||||
net dial2scale0 pyvcp.scale.3.param_pin <= pyvcp.dial0
|
||||
net dial2scale2 pyvcp.scale.4.param_pin <= pyvcp.dial1
|
||||
net dial2scale4 pyvcp.scale.5.param_pin <= pyvcp.dial2
|
||||
|
||||
# third row of label and led activating radio buttons
|
||||
net 1pressed pyvcp.multilabel.0.legend0 <= pyvcp.radio0.one
|
||||
net 2pressed pyvcp.multilabel.0.legend1 <= pyvcp.radio0.two
|
||||
net 3pressed pyvcp.multilabel.0.legend2 <= pyvcp.radio0.three
|
||||
net 4pressed pyvcp.multilabel.1.legend0 <= pyvcp.radio1.four
|
||||
net 5pressed pyvcp.multilabel.1.legend1 <= pyvcp.radio1.five
|
||||
net 6pressed pyvcp.multilabel.1.legend2 <= pyvcp.radio1.six
|
||||
|
||||
net cb0active pyvcp.checkbutton0 => pyvcp.led0
|
||||
net cb1active pyvcp.checkbutton1 => pyvcp.led1
|
||||
net cb2active pyvcp.checkbutton2 => pyvcp.led2
|
||||
net cb3active pyvcp.checkbutton3 => pyvcp.led3
|
||||
net cb4active pyvcp.checkbutton4 => pyvcp.led4
|
||||
net cb5active pyvcp.checkbutton5 => pyvcp.led5
|
||||
|
||||
# fourth row checkboxes with checkbox0 toggled by push button
|
||||
net toggle0 pyvcp.checkbutton0.changepin <= pyvcp.toggle-button0
|
||||
net toggle1 pyvcp.checkbutton5.changepin <= pyvcp.toggle-button1
|
||||
|
||||
# sixth row 3 colour bar activated by slider
|
||||
net bar1 pyvcp.my-bar <= pyvcp.my-hscale-f
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
9
configs/sim/pyvcp_demo/pyvcp_bottom_panel.hal
Normal file
9
configs/sim/pyvcp_demo/pyvcp_bottom_panel.hal
Normal file
@@ -0,0 +1,9 @@
|
||||
# #########################################
|
||||
# Example hal file showing some linkages
|
||||
# of pyvcp_widgets
|
||||
|
||||
# second row of dials and scales
|
||||
net dial2scale0 pyvcp.scale.0.param_pin <= pyvcp.dial0
|
||||
net dial2scale1 pyvcp.scale.1.param_pin <= pyvcp.dial1
|
||||
net dial2scale2 pyvcp.scale.2.param_pin <= pyvcp.dial2
|
||||
net dial2scale3 pyvcp.scale.3.param_pin <= pyvcp.dial3
|
||||
226
configs/sim/pyvcp_demo/pyvcp_bottom_panel.ini
Normal file
226
configs/sim/pyvcp_demo/pyvcp_bottom_panel.ini
Normal file
@@ -0,0 +1,226 @@
|
||||
# EMC controller parameters for a simulated machine.
|
||||
|
||||
# General note: Comments can either be preceded with a # or ; - either is
|
||||
# acceptable, although # is in keeping with most linux config files.
|
||||
|
||||
# General section -------------------------------------------------------------
|
||||
[EMC]
|
||||
# Version of this INI file
|
||||
VERSION = 1.1
|
||||
|
||||
# Name of machine, for use with display, etc.
|
||||
MACHINE = Pyvcp_demo1
|
||||
|
||||
# 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 = 0x7FFFFFFF
|
||||
DEBUG = 0
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
|
||||
DISPLAY = axis
|
||||
|
||||
PYVCP = pyvcp_bottom_panel.xml
|
||||
|
||||
# places the pyvcp panel at the bottom of the Axis window
|
||||
PYVCP_POSITION = BOTTOM
|
||||
|
||||
# Cycle time, in seconds, that display will sleep between polls
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# Path to help file
|
||||
HELP_FILE = doc/help.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
|
||||
MAX_SPINDLE_OVERRIDE = 1.0
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /media/imac/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
#EDITOR = geany
|
||||
|
||||
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm
|
||||
#INCREMENTS = 1 mm, .01 in, .1mm, 1 mil, .1 mil, 1/8000 in
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
PROGRAM_EXTENSION = .nc, .NC
|
||||
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
dxf = image-to-gcode
|
||||
py = python3
|
||||
nc = /usr/bin/axis
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
|
||||
# File containing interpreter variables
|
||||
PARAMETER_FILE = sim_mm.var
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
|
||||
EMCMOT = motmod
|
||||
|
||||
# Timeout for comm to emcmot, in seconds
|
||||
COMM_TIMEOUT = 1.0
|
||||
|
||||
# BASE_PERIOD is unused in this configuration but specified in core_sim.hal
|
||||
BASE_PERIOD = 0
|
||||
# Servo task period, in nano-seconds
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
|
||||
# Name of task controller program, e.g., milltask
|
||||
TASK = milltask
|
||||
|
||||
# Cycle time, in seconds, that task controller will sleep between polls
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
|
||||
# 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_sim.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
HALFILE = simulated_home.hal
|
||||
#HALFILE = gamepad.hal
|
||||
|
||||
# list of halcmd commands to execute
|
||||
# commands are executed in the order in which they appear
|
||||
#HALCMD = save neta
|
||||
|
||||
# Single file that is executed after the GUI has started. Only supported by
|
||||
# AXIS at this time (only AXIS creates a HAL component of its own)
|
||||
POSTGUI_HALFILE = pyvcp_bottom_panel.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
[HALUI]
|
||||
# add halui MDI commands here (max 64)
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 30.48
|
||||
MAX_LINEAR_VELOCITY = 53.34
|
||||
DEFAULT_LINEAR_ACCELERATION = 508
|
||||
MAX_LINEAR_ACCELERATION = 508
|
||||
POSITION_FILE = position_mm.txt
|
||||
|
||||
# Axes sections ---------------------------------------------------------------
|
||||
|
||||
# First axis
|
||||
[EMCIO]
|
||||
# tool table file
|
||||
TOOL_TABLE = sim_mm.tbl
|
||||
TOOL_CHANGE_POSITION = 0 0 50.8
|
||||
#RANDOM_TOOLCHANGER = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 157.48
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
FERROR = 1.27
|
||||
MIN_FERROR = .254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_USE_INDEX = NO
|
||||
#HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 157.48
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
FERROR = 1.27
|
||||
MIN_FERROR = .254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
#HOME_USE_INDEX = NO
|
||||
#HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -150
|
||||
MAX_LIMIT = 101.6
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 157.48
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -150
|
||||
MAX_LIMIT = 101.6
|
||||
FERROR = 1.27
|
||||
MIN_FERROR = .254
|
||||
HOME_OFFSET = 0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
#HOME_USE_INDEX = NO
|
||||
#HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
136
configs/sim/pyvcp_demo/pyvcp_bottom_panel.xml
Normal file
136
configs/sim/pyvcp_demo/pyvcp_bottom_panel.xml
Normal file
@@ -0,0 +1,136 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<pyvcp>
|
||||
<hbox>
|
||||
<labelframe>
|
||||
<bd>2</bd>
|
||||
<relief>RAISED</relief>
|
||||
<hbox>
|
||||
<dial>
|
||||
<size>100</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<text>"Dial 0"</text>
|
||||
<initval>5</initval>
|
||||
<resolution>1</resolution>
|
||||
<halpin>"dial0"</halpin>
|
||||
<dialcolor>"yellow"</dialcolor>
|
||||
<edgecolor>"green"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
<scale>
|
||||
<width>"15"</width>
|
||||
<halpin>"scale0"</halpin>
|
||||
<resolution>1</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>20</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<labelframe>
|
||||
<bd>2</bd>
|
||||
<relief>RAISED</relief>
|
||||
<hbox>
|
||||
<dial>
|
||||
<size>100</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<text>"Dial 1"</text>
|
||||
<initval>10</initval>
|
||||
<resolution>0.1</resolution>
|
||||
<halpin>"dial1"</halpin>
|
||||
<dialcolor>"green"</dialcolor>
|
||||
<edgecolor>"red"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
<scale>
|
||||
<width>"15"</width>
|
||||
<halpin>"scale1"</halpin>
|
||||
<resolution>0.1</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>10</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<labelframe>
|
||||
<bd>2</bd>
|
||||
<relief>RAISED</relief>
|
||||
<hbox>
|
||||
<dial>
|
||||
<size>100</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<text>"Dial 2"</text>
|
||||
<initval>15</initval>
|
||||
<resolution>0.01</resolution>
|
||||
<halpin>"dial2"</halpin>
|
||||
<dialcolor>"yellow"</dialcolor>
|
||||
<edgecolor>"green"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
<scale>
|
||||
<width>"15"</width>
|
||||
<halpin>"scale2"</halpin>
|
||||
<resolution>0.01</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>1</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<labelframe>
|
||||
<bd>2</bd>
|
||||
<relief>RAISED</relief>
|
||||
<hbox>
|
||||
<dial>
|
||||
<size>100</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<text>"Dial 3"</text>
|
||||
<initval>20</initval>
|
||||
<resolution>0.001</resolution>
|
||||
<halpin>"dial3"</halpin>
|
||||
<dialcolor>"green"</dialcolor>
|
||||
<edgecolor>"red"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
<scale>
|
||||
<width>"15"</width>
|
||||
<halpin>"scale3"</halpin>
|
||||
<resolution>0.001</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>10</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
</hbox>
|
||||
</pyvcp>
|
||||
|
||||
|
||||
223
configs/sim/pyvcp_demo/pyvcp_demo1.ini
Normal file
223
configs/sim/pyvcp_demo/pyvcp_demo1.ini
Normal file
@@ -0,0 +1,223 @@
|
||||
# EMC controller parameters for a simulated machine.
|
||||
|
||||
# General note: Comments can either be preceded with a # or ; - either is
|
||||
# acceptable, although # is in keeping with most linux config files.
|
||||
|
||||
# General section -------------------------------------------------------------
|
||||
[EMC]
|
||||
# Version of this INI file
|
||||
VERSION = 1.1
|
||||
|
||||
# Name of machine, for use with display, etc.
|
||||
MACHINE = Pyvcp_demo1
|
||||
|
||||
# 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 = 0x7FFFFFFF
|
||||
DEBUG = 0
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
|
||||
DISPLAY = axis
|
||||
|
||||
PYVCP = pyvcp_demo1.xml
|
||||
|
||||
# Cycle time, in seconds, that display will sleep between polls
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# Path to help file
|
||||
HELP_FILE = doc/help.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
|
||||
MAX_SPINDLE_OVERRIDE = 1.0
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /root/emc2/ngc/
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
#EDITOR = geany
|
||||
|
||||
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm
|
||||
#INCREMENTS = 1 mm, .01 in, .1mm, 1 mil, .1 mil, 1/8000 in
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
PROGRAM_EXTENSION = .nc, .NC
|
||||
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
dxf = image-to-gcode
|
||||
py = python3
|
||||
nc = /usr/bin/axis
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
|
||||
# File containing interpreter variables
|
||||
PARAMETER_FILE = sim_mm.var
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
|
||||
EMCMOT = motmod
|
||||
|
||||
# Timeout for comm to emcmot, in seconds
|
||||
COMM_TIMEOUT = 1.0
|
||||
|
||||
# BASE_PERIOD is unused in this configuration but specified in core_sim.hal
|
||||
BASE_PERIOD = 0
|
||||
# Servo task period, in nano-seconds
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
|
||||
# Name of task controller program, e.g., milltask
|
||||
TASK = milltask
|
||||
|
||||
# Cycle time, in seconds, that task controller will sleep between polls
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
|
||||
# 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_sim.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
HALFILE = simulated_home.hal
|
||||
#HALFILE = gamepad.hal
|
||||
|
||||
# list of halcmd commands to execute
|
||||
# commands are executed in the order in which they appear
|
||||
#HALCMD = save neta
|
||||
|
||||
# Single file that is executed after the GUI has started. Only supported by
|
||||
# AXIS at this time (only AXIS creates a HAL component of its own)
|
||||
POSTGUI_HALFILE = custom.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
[HALUI]
|
||||
# add halui MDI commands here (max 64)
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 30.48
|
||||
MAX_LINEAR_VELOCITY = 53.34
|
||||
DEFAULT_LINEAR_ACCELERATION = 508
|
||||
MAX_LINEAR_ACCELERATION = 508
|
||||
POSITION_FILE = position_mm.txt
|
||||
|
||||
# Axes sections ---------------------------------------------------------------
|
||||
|
||||
# First axis
|
||||
[EMCIO]
|
||||
# tool table file
|
||||
TOOL_TABLE = sim_mm.tbl
|
||||
TOOL_CHANGE_POSITION = 0 0 50.8
|
||||
#RANDOM_TOOLCHANGER = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 157.48
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
FERROR = 1.27
|
||||
MIN_FERROR = .254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_USE_INDEX = NO
|
||||
#HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 157.48
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
FERROR = 1.27
|
||||
MIN_FERROR = .254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
#HOME_USE_INDEX = NO
|
||||
#HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -150
|
||||
MAX_LIMIT = 101.6
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 157.48
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -150
|
||||
MAX_LIMIT = 101.6
|
||||
FERROR = 1.27
|
||||
MIN_FERROR = .254
|
||||
HOME_OFFSET = 0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
#HOME_USE_INDEX = NO
|
||||
#HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
474
configs/sim/pyvcp_demo/pyvcp_demo1.xml
Normal file
474
configs/sim/pyvcp_demo/pyvcp_demo1.xml
Normal file
@@ -0,0 +1,474 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<pyvcp>
|
||||
<labelframe text="Spinboxes linked to scales/number displays, shows initval and param_pin usage">
|
||||
<font>("Helvetica",10)</font>
|
||||
<bd>3</bd>
|
||||
<relief>SUNKEN</relief>
|
||||
<hbox>
|
||||
<!-- stack of 3 spinboxes -->
|
||||
<vbox>
|
||||
<hbox>
|
||||
<spinbox>
|
||||
<halpin>"spinbox0"</halpin>
|
||||
<min_>-12</min_>
|
||||
<max_>33</max_>
|
||||
<initval>10</initval>
|
||||
<resolution>0.1</resolution>
|
||||
<format>"2.3f"</format>
|
||||
<font>("Arial",16)</font>
|
||||
<param_pin>1</param_pin>
|
||||
</spinbox>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<spinbox>
|
||||
<halpin>"spinbox1"</halpin>
|
||||
<min_>-12</min_>
|
||||
<max_>33</max_>
|
||||
<initval>20</initval>
|
||||
<resolution>0.1</resolution>
|
||||
<format>"2.3f"</format>
|
||||
<font>("Arial",16)</font>
|
||||
<param_pin>1</param_pin>
|
||||
</spinbox>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<spinbox>
|
||||
<halpin>"spinbox2"</halpin>
|
||||
<min_>-12</min_>
|
||||
<max_>33</max_>
|
||||
<initval>30</initval>
|
||||
<resolution>0.1</resolution>
|
||||
<format>"2.3f"</format>
|
||||
<font>("Arial",16)</font>
|
||||
<param_pin>1</param_pin>
|
||||
</spinbox>
|
||||
</hbox>
|
||||
</vbox>
|
||||
<!-- stack of 3 horizontal scales in same hbox -->
|
||||
<vbox>
|
||||
<hbox>
|
||||
<scale>
|
||||
<font>("Helvetica",16)</font>
|
||||
<width>"30"</width>
|
||||
<halpin>"scale0"</halpin>
|
||||
<resolution>1</resolution>
|
||||
<orient>HORIZONTAL</orient>
|
||||
<initval>5</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<scale>
|
||||
<font>("Helvetica",16)</font>
|
||||
<width>"30"</width>
|
||||
<halpin>"scale1"</halpin>
|
||||
<resolution>1</resolution>
|
||||
<orient>HORIZONTAL</orient>
|
||||
<initval>15</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<scale>
|
||||
<font>("Helvetica",16)</font>
|
||||
<width>"30"</width>
|
||||
<halpin>"scale2"</halpin>
|
||||
<resolution>1</resolution>
|
||||
<orient>HORIZONTAL</orient>
|
||||
<initval>25</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</vbox>
|
||||
|
||||
<!-- stack of 3 number displays in same hbox -->
|
||||
<vbox>
|
||||
<hbox>
|
||||
<number>
|
||||
<halpin>"number0"</halpin>
|
||||
<font>("Helvetica",16)</font>
|
||||
<format>"+4.4f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<number>
|
||||
<halpin>"number1"</halpin>
|
||||
<font>("Helvetica",16)</font>
|
||||
<format>"+4.4f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<number>
|
||||
<halpin>"number2"</halpin>
|
||||
<font>("Helvetica",16)</font>
|
||||
<format>"+4.4f"</format>
|
||||
</number>
|
||||
</hbox>
|
||||
</vbox>
|
||||
|
||||
</hbox>
|
||||
</labelframe>
|
||||
|
||||
<!-- new hbox with 3 dials -->
|
||||
<labelframe text="Dials linked to scales, showing initval and param_pin usage">
|
||||
<font>("Helvetica",10)</font>
|
||||
<bd>3</bd>
|
||||
<relief>RAISED</relief>
|
||||
<hbox>
|
||||
<dial>
|
||||
<size>150</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<text>"Dial0"</text>
|
||||
<initval>10</initval>
|
||||
<resolution>0.01</resolution>
|
||||
<halpin>"dial0"</halpin>
|
||||
<dialcolor>"yellow"</dialcolor>
|
||||
<edgecolor>"green"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
|
||||
<dial>
|
||||
<size>150</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<text>"Dial1"</text>
|
||||
<initval>12</initval>
|
||||
<resolution>0.1</resolution>
|
||||
<halpin>"dial1"</halpin>
|
||||
<dialcolor>"green"</dialcolor>
|
||||
<edgecolor>"red"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
|
||||
<dial>
|
||||
<size>150</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<text>"Dial2"</text>
|
||||
<initval>5</initval>
|
||||
<resolution>1</resolution>
|
||||
<halpin>"dial2"</halpin>
|
||||
<dialcolor>"yellow"</dialcolor>
|
||||
<edgecolor>"green"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
</hbox>
|
||||
<!-- new hbox with 3 scales, spaced to sit under dials -->
|
||||
<hbox>
|
||||
<scale>
|
||||
<font>("Helvetica",16)</font>
|
||||
<width>"25"</width>
|
||||
<halpin>"scale3"</halpin>
|
||||
<resolution>0.01</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>1</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
|
||||
<!-- label used as a spacer -->
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
|
||||
<scale>
|
||||
<font>("Helvetica",16)</font>
|
||||
<width>"25"</width>
|
||||
<halpin>"scale4"</halpin>
|
||||
<resolution>0.1</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>10</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
|
||||
<!-- label used as a spacer -->
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
|
||||
<scale>
|
||||
<font>("Helvetica",16)</font>
|
||||
<width>"25"</width>
|
||||
<halpin>"scale5"</halpin>
|
||||
<resolution>1</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>20</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
|
||||
<!-- new hbox with 3 dials -->
|
||||
<labelframe text="Radio buttons linked to multi_labels showing legend selection">
|
||||
<font>("Helvetica",10)</font>
|
||||
<bd>3</bd>
|
||||
<relief>FLAT</relief>
|
||||
<hbox>
|
||||
<hbox>
|
||||
<vbox>
|
||||
<radiobutton>
|
||||
<choices>["one","two","three"]</choices>
|
||||
<halpin>"radio0"</halpin>
|
||||
<initval>0</initval>
|
||||
</radiobutton>
|
||||
</vbox>
|
||||
<vbox>
|
||||
<radiobutton>
|
||||
<choices>["four","five","six"]</choices>
|
||||
<halpin>"radio1"</halpin>
|
||||
<initval>1</initval>
|
||||
</radiobutton>
|
||||
</vbox>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<vbox>
|
||||
<multilabel>
|
||||
<legends>["Radio1-Selected","Now Radio2-Selected","And Now Radio3-Selected"]</legends>
|
||||
<font>("Helvetica", 10)</font>
|
||||
<disable_pin>True</disable_pin>
|
||||
<initval>0</initval>
|
||||
</multilabel>
|
||||
|
||||
<multilabel>
|
||||
<legends>["Radio4-Selected","Now Radio5-Selected","And Now Radio6-Selected"]</legends>
|
||||
<font>("Helvetica", 10)</font>
|
||||
<disable_pin>True</disable_pin>
|
||||
<initval>1</initval>
|
||||
</multilabel>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
|
||||
</hbox>
|
||||
</labelframe>
|
||||
|
||||
|
||||
<labelframe text="Checkbuttons showing initval setting / led operation and remote toggling of value">
|
||||
<font>("Helvetica",10)</font>
|
||||
<bd>3</bd>
|
||||
<relief>GROOVE</relief>
|
||||
<hbox>
|
||||
<hbox>
|
||||
<vbox>
|
||||
<checkbutton>
|
||||
<halpin>"checkbutton0"</halpin>
|
||||
<text>"Button 0"</text>
|
||||
<initval>1</initval>
|
||||
</checkbutton>
|
||||
<checkbutton>
|
||||
<halpin>"checkbutton1"</halpin>
|
||||
<text>"Button 1"</text>
|
||||
<initval>0</initval>
|
||||
</checkbutton>
|
||||
<checkbutton>
|
||||
<halpin>"checkbutton2"</halpin>
|
||||
<text>"Button 2"</text>
|
||||
<initval>0</initval>
|
||||
</checkbutton>
|
||||
</vbox>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<vbox>
|
||||
<checkbutton>
|
||||
<halpin>"checkbutton3"</halpin>
|
||||
<text>"Button 3"</text>
|
||||
<initval>0</initval>
|
||||
</checkbutton>
|
||||
<checkbutton>
|
||||
<halpin>"checkbutton4"</halpin>
|
||||
<text>"Button 4"</text>
|
||||
<initval>1</initval>
|
||||
</checkbutton>
|
||||
<checkbutton>
|
||||
<halpin>"checkbutton5"</halpin>
|
||||
<text>"Button 5"</text>
|
||||
<initval>0</initval>
|
||||
</checkbutton>
|
||||
</vbox>
|
||||
</hbox>
|
||||
<!-- hbox of labels used as a spacer -->
|
||||
<hbox>
|
||||
<vbox>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
</vbox>
|
||||
</hbox>
|
||||
<hbox>
|
||||
<vbox>
|
||||
<button>
|
||||
<halpin>"toggle-button0"</halpin>
|
||||
<text>"Toggle Checkbox 0"</text>
|
||||
</button>
|
||||
<!-- label used as a spacer -->
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<button>
|
||||
<halpin>"toggle-button1"</halpin>
|
||||
<text>"Toggle Checkbox 5"</text>
|
||||
</button>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
<!-- hbox of labels used as a spacer -->
|
||||
<hbox>
|
||||
<vbox>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
<hbox>
|
||||
<vbox>
|
||||
<led>
|
||||
<halpin>"led0"</halpin>
|
||||
<size>30</size>
|
||||
<on_color>"green"</on_color>
|
||||
<off_color>"red"</off_color>
|
||||
</led>
|
||||
<led>
|
||||
<halpin>"led1"</halpin>
|
||||
<size>30</size>
|
||||
<on_color>"green"</on_color>
|
||||
<off_color>"red"</off_color>
|
||||
</led>
|
||||
<led>
|
||||
<halpin>"led2"</halpin>
|
||||
<size>30</size>
|
||||
<on_color>"green"</on_color>
|
||||
<off_color>"red"</off_color>
|
||||
</led>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
<hbox>
|
||||
<vbox>
|
||||
<led>
|
||||
<halpin>"led3"</halpin>
|
||||
<size>30</size>
|
||||
<on_color>"green"</on_color>
|
||||
<off_color>"red"</off_color>
|
||||
</led>
|
||||
<led>
|
||||
<halpin>"led4"</halpin>
|
||||
<size>30</size>
|
||||
<on_color>"green"</on_color>
|
||||
<off_color>"red"</off_color>
|
||||
</led>
|
||||
<led>
|
||||
<halpin>"led5"</halpin>
|
||||
<size>30</size>
|
||||
<on_color>"green"</on_color>
|
||||
<off_color>"red"</off_color>
|
||||
</led>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
|
||||
</hbox>
|
||||
</labelframe>
|
||||
|
||||
|
||||
<labelframe text="Bar with ranges of different colours activated by scale / labels">
|
||||
<font>("Helvetica",10)</font>
|
||||
<bd>3</bd>
|
||||
<relief>RIDGE</relief>
|
||||
<hbox>
|
||||
<hbox>
|
||||
<bar>
|
||||
<halpin>"my-bar"</halpin>
|
||||
<min_>0</min_>
|
||||
<max_>150</max_>
|
||||
<bgcolor>"grey"</bgcolor>
|
||||
<range1>(0,100,"green")</range1>
|
||||
<range2>(101,129,"orange")</range2>
|
||||
<range3>(130,150,"red")</range3>
|
||||
<fillcolor>"green"</fillcolor>
|
||||
</bar>
|
||||
</hbox>
|
||||
|
||||
<hbox>
|
||||
<scale>
|
||||
<font>("Helvetica",16)</font>
|
||||
<width>"25"</width>
|
||||
<halpin>"my-hscale"</halpin>
|
||||
<resolution>1</resolution>
|
||||
<orient>HORIZONTAL</orient>
|
||||
<initval>0</initval>
|
||||
<min_>0</min_>
|
||||
<max_>150</max_>
|
||||
</scale>
|
||||
</hbox>
|
||||
|
||||
<!-- hbox of labels used as a spacer -->
|
||||
<hbox>
|
||||
<vbox>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
</vbox>
|
||||
</hbox>
|
||||
|
||||
<hbox>
|
||||
<vbox>
|
||||
<label>
|
||||
<relief>FLAT</relief>
|
||||
<text>"I am a borderless label"</text>
|
||||
</label>
|
||||
<label>
|
||||
<bd>3</bd>
|
||||
<relief>RAISED</relief>
|
||||
<text>"I am a raised label"</text>
|
||||
</label>
|
||||
<label>
|
||||
<bd>3</bd>
|
||||
<relief>SUNKEN</relief>
|
||||
<text>"I am a sunken label"</text>
|
||||
</label>
|
||||
</vbox>
|
||||
</hbox>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
|
||||
|
||||
</pyvcp>
|
||||
|
||||
|
||||
8
configs/sim/pyvcp_demo/pyvcp_embed_tab.hal
Normal file
8
configs/sim/pyvcp_demo/pyvcp_embed_tab.hal
Normal file
@@ -0,0 +1,8 @@
|
||||
# #########################################
|
||||
# Example hal file showing some linkages
|
||||
# of pyvcp_widgets
|
||||
|
||||
#net dials1scale0 dials1.scale.0.param_pin <= dials1.dial0
|
||||
#net dials1scale1 dials1.scale.1.param_pin <= dials1.dial1
|
||||
#net dials2scale0 dials2.scale.0.param_pin <= dials2.dial0
|
||||
#net dials2scale1 dials2.scale.1.param_pin <= dials2.dial1
|
||||
227
configs/sim/pyvcp_demo/pyvcp_embed_tab.ini
Normal file
227
configs/sim/pyvcp_demo/pyvcp_embed_tab.ini
Normal file
@@ -0,0 +1,227 @@
|
||||
# EMC controller parameters for a simulated machine.
|
||||
|
||||
# General note: Comments can either be preceded with a # or ; - either is
|
||||
# acceptable, although # is in keeping with most linux config files.
|
||||
|
||||
# General section -------------------------------------------------------------
|
||||
[EMC]
|
||||
# Version of this INI file
|
||||
VERSION = 1.1
|
||||
|
||||
# Name of machine, for use with display, etc.
|
||||
MACHINE = Pyvcp_demo1
|
||||
|
||||
# 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 = 0x7FFFFFFF
|
||||
DEBUG = 0
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
|
||||
DISPLAY = axis
|
||||
|
||||
# embed two PyVCP panels as tabs
|
||||
EMBED_TAB_NAME = Dials1
|
||||
EMBED_TAB_COMMAND = pyvcp pyvcp_embed_tab_1.xml
|
||||
EMBED_TAB_NAME = Dials2
|
||||
EMBED_TAB_COMMAND = pyvcp pyvcp_embed_tab_2.xml
|
||||
|
||||
# Cycle time, in seconds, that display will sleep between polls
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# Path to help file
|
||||
HELP_FILE = doc/help.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
|
||||
MAX_SPINDLE_OVERRIDE = 1.0
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /media/imac/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
#EDITOR = geany
|
||||
|
||||
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm
|
||||
#INCREMENTS = 1 mm, .01 in, .1mm, 1 mil, .1 mil, 1/8000 in
|
||||
|
||||
[FILTER]
|
||||
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
|
||||
PROGRAM_EXTENSION = .py Python Script
|
||||
PROGRAM_EXTENSION = .nc, .NC
|
||||
|
||||
png = image-to-gcode
|
||||
gif = image-to-gcode
|
||||
jpg = image-to-gcode
|
||||
dxf = image-to-gcode
|
||||
py = python3
|
||||
nc = /usr/bin/axis
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
|
||||
# File containing interpreter variables
|
||||
PARAMETER_FILE = sim_mm.var
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
|
||||
EMCMOT = motmod
|
||||
|
||||
# Timeout for comm to emcmot, in seconds
|
||||
COMM_TIMEOUT = 1.0
|
||||
|
||||
# BASE_PERIOD is unused in this configuration but specified in core_sim.hal
|
||||
BASE_PERIOD = 0
|
||||
# Servo task period, in nano-seconds
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
|
||||
# Name of task controller program, e.g., milltask
|
||||
TASK = milltask
|
||||
|
||||
# Cycle time, in seconds, that task controller will sleep between polls
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
|
||||
# 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_sim.hal
|
||||
HALFILE = axis_manualtoolchange.hal
|
||||
HALFILE = simulated_home.hal
|
||||
#HALFILE = gamepad.hal
|
||||
|
||||
# list of halcmd commands to execute
|
||||
# commands are executed in the order in which they appear
|
||||
#HALCMD = save neta
|
||||
|
||||
# Single file that is executed after the GUI has started. Only supported by
|
||||
# AXIS at this time (only AXIS creates a HAL component of its own)
|
||||
POSTGUI_HALFILE = pyvcp_embed_tab.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
[HALUI]
|
||||
# add halui MDI commands here (max 64)
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 30.48
|
||||
MAX_LINEAR_VELOCITY = 53.34
|
||||
DEFAULT_LINEAR_ACCELERATION = 508
|
||||
MAX_LINEAR_ACCELERATION = 508
|
||||
POSITION_FILE = position_mm.txt
|
||||
|
||||
# Axes sections ---------------------------------------------------------------
|
||||
|
||||
# First axis
|
||||
[EMCIO]
|
||||
# tool table file
|
||||
TOOL_TABLE = sim_mm.tbl
|
||||
TOOL_CHANGE_POSITION = 0 0 50.8
|
||||
#RANDOM_TOOLCHANGER = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 157.48
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
FERROR = 1.27
|
||||
MIN_FERROR = .254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
HOME_USE_INDEX = NO
|
||||
#HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 157.48
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -254
|
||||
MAX_LIMIT = 254
|
||||
FERROR = 1.27
|
||||
MIN_FERROR = .254
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
#HOME_USE_INDEX = NO
|
||||
#HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -150
|
||||
MAX_LIMIT = 101.6
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 30.48
|
||||
MAX_ACCELERATION = 508
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 157.48
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -150
|
||||
MAX_LIMIT = 101.6
|
||||
FERROR = 1.27
|
||||
MIN_FERROR = .254
|
||||
HOME_OFFSET = 0
|
||||
HOME_SEARCH_VEL = 0
|
||||
HOME_LATCH_VEL = 0
|
||||
#HOME_USE_INDEX = NO
|
||||
#HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
77
configs/sim/pyvcp_demo/pyvcp_embed_tab_1.xml
Normal file
77
configs/sim/pyvcp_demo/pyvcp_embed_tab_1.xml
Normal file
@@ -0,0 +1,77 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<pyvcp>
|
||||
<vbox>
|
||||
<label>
|
||||
<text>"Embedded Tab #1"</text>
|
||||
<font>("Helvetica",14)</font>
|
||||
<pady>8</pady>
|
||||
</label>
|
||||
<hbox>
|
||||
<labelframe>
|
||||
<bd>2</bd>
|
||||
<relief>RAISED</relief>
|
||||
<hbox>
|
||||
<dial>
|
||||
<size>100</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<text>"Dial 0"</text>
|
||||
<initval>50</initval>
|
||||
<resolution>1</resolution>
|
||||
<halpin>"dial0"</halpin>
|
||||
<dialcolor>"red"</dialcolor>
|
||||
<edgecolor>"yellow"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
<scale>
|
||||
<width>"15"</width>
|
||||
<halpin>"scale0"</halpin>
|
||||
<resolution>1</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>50</initval>
|
||||
<min_>0</min_>
|
||||
<max_>100</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<labelframe>
|
||||
<bd>2</bd>
|
||||
<relief>RAISED</relief>
|
||||
<hbox>
|
||||
<dial>
|
||||
<size>100</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>10</max_>
|
||||
<text>"Dial 1"</text>
|
||||
<initval>5</initval>
|
||||
<resolution>0.1</resolution>
|
||||
<halpin>"dial1"</halpin>
|
||||
<dialcolor>"green"</dialcolor>
|
||||
<edgecolor>"cyan"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
<scale>
|
||||
<width>"15"</width>
|
||||
<halpin>"scale1"</halpin>
|
||||
<resolution>0.1</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>5</initval>
|
||||
<min_>0</min_>
|
||||
<max_>10</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</pyvcp>
|
||||
|
||||
|
||||
77
configs/sim/pyvcp_demo/pyvcp_embed_tab_2.xml
Normal file
77
configs/sim/pyvcp_demo/pyvcp_embed_tab_2.xml
Normal file
@@ -0,0 +1,77 @@
|
||||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<pyvcp>
|
||||
<vbox>
|
||||
<label>
|
||||
<text>"Embedded Tab #2"</text>
|
||||
<font>("Helvetica",16)</font>
|
||||
<pady>8</pady>
|
||||
</label>
|
||||
<hbox>
|
||||
<labelframe>
|
||||
<bd>2</bd>
|
||||
<relief>RAISED</relief>
|
||||
<hbox>
|
||||
<dial>
|
||||
<size>100</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>1</max_>
|
||||
<text>"Dial 2"</text>
|
||||
<initval>0.5</initval>
|
||||
<resolution>0.01</resolution>
|
||||
<halpin>"dial0"</halpin>
|
||||
<dialcolor>"cyan"</dialcolor>
|
||||
<edgecolor>"magenta"</edgecolor>
|
||||
<dotcolor>"black"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
<scale>
|
||||
<width>"15"</width>
|
||||
<halpin>"scale0"</halpin>
|
||||
<resolution>0.01</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>.5</initval>
|
||||
<min_>0</min_>
|
||||
<max_>1</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
<label>
|
||||
<text>" "</text>
|
||||
</label>
|
||||
<labelframe>
|
||||
<bd>2</bd>
|
||||
<relief>RAISED</relief>
|
||||
<hbox>
|
||||
<dial>
|
||||
<size>100</size>
|
||||
<cpr>100</cpr>
|
||||
<min_>0</min_>
|
||||
<max_>0.1</max_>
|
||||
<text>"Dial 3"</text>
|
||||
<initval>0.05</initval>
|
||||
<resolution>0.001</resolution>
|
||||
<halpin>"dial1"</halpin>
|
||||
<dialcolor>"yellow"</dialcolor>
|
||||
<edgecolor>"red"</edgecolor>
|
||||
<dotcolor>"blue"</dotcolor>
|
||||
<param_pin>1</param_pin>
|
||||
</dial>
|
||||
<scale>
|
||||
<width>"15"</width>
|
||||
<halpin>"scale1"</halpin>
|
||||
<resolution>0.001</resolution>
|
||||
<orient>VERTICAL</orient>
|
||||
<initval>0.05</initval>
|
||||
<min_>0</min_>
|
||||
<max_>0.1</max_>
|
||||
<param_pin>1</param_pin>
|
||||
</scale>
|
||||
</hbox>
|
||||
</labelframe>
|
||||
</hbox>
|
||||
</vbox>
|
||||
</pyvcp>
|
||||
|
||||
|
||||
1
configs/sim/pyvcp_demo/sim_mm.tbl
Symbolic link
1
configs/sim/pyvcp_demo/sim_mm.tbl
Symbolic link
@@ -0,0 +1 @@
|
||||
../sim_mm.tbl
|
||||
Reference in New Issue
Block a user