?
This commit is contained in:
153
configs/sim.gmoccapy/6_axis.ini
Executable file
153
configs/sim.gmoccapy/6_axis.ini
Executable file
@@ -0,0 +1,153 @@
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = gmoccapy_9_axis
|
||||
DEBUG = 0
|
||||
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
CYCLE_TIME = 150
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 1
|
||||
GEOMETRY = XYZABC
|
||||
|
||||
# Values that will be allowed for override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = 0.5
|
||||
|
||||
DEFAULT_SPINDLE_SPEED = 500
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
|
||||
|
||||
|
||||
[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 = python3
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.150
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 0 0 2
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = core_sim_6.hal
|
||||
#HALFILE = simulated_home_9.hal
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A B C
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 50.0
|
||||
DEFAULT_LINEAR_ACCEL = 500.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 45.0
|
||||
MAX_LINEAR_VELOCITY = 200.0
|
||||
MAX_LINEAR_ACCEL = 250.0
|
||||
MAX_ANGULAR_VELOCITY = 90.0
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=XYZABC
|
||||
JOINTS = 6
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_B]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_C]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_4]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_5]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
|
||||
167
configs/sim.gmoccapy/7_axis.ini
Executable file
167
configs/sim.gmoccapy/7_axis.ini
Executable file
@@ -0,0 +1,167 @@
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = gmoccapy_9_axis
|
||||
DEBUG = 0
|
||||
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
CYCLE_TIME = 150
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 1
|
||||
GEOMETRY = XYZABCUVW
|
||||
|
||||
# Values that will be allowed for override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = 0.5
|
||||
|
||||
DEFAULT_SPINDLE_SPEED = 500
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
|
||||
|
||||
|
||||
[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 = python3
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.150
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 0 0 2
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = core_sim_7.hal
|
||||
#HALFILE = simulated_home_9.hal
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A B C U
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 50.0
|
||||
DEFAULT_LINEAR_ACCEL = 500.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 45.0
|
||||
MAX_LINEAR_VELOCITY = 200.0
|
||||
MAX_LINEAR_ACCEL = 250.0
|
||||
MAX_ANGULAR_VELOCITY = 90.0
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=XYZABCU
|
||||
JOINTS = 7
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_B]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_C]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_U]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_4]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_5]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_6]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
|
||||
181
configs/sim.gmoccapy/7_axis_tool.ini
Executable file
181
configs/sim.gmoccapy/7_axis_tool.ini
Executable file
@@ -0,0 +1,181 @@
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = gmoccapy_9_axis
|
||||
DEBUG = 0
|
||||
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
CYCLE_TIME = 150
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 1
|
||||
GEOMETRY = XYZABCUVW
|
||||
|
||||
# Values that will be allowed for override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = 0.5
|
||||
|
||||
DEFAULT_SPINDLE_SPEED = 500
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
|
||||
|
||||
|
||||
[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 = python3
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.150
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 0 0 2
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = core_sim_7.hal
|
||||
#HALFILE = simulated_home_9.hal
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A B C U
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 50.0
|
||||
DEFAULT_LINEAR_ACCEL = 500.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 45.0
|
||||
MAX_LINEAR_VELOCITY = 200.0
|
||||
MAX_LINEAR_ACCEL = 250.0
|
||||
MAX_ANGULAR_VELOCITY = 90.0
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=XYZABCU
|
||||
JOINTS = 7
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_B]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_C]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_U]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_4]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_5]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_6]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[TOOLSENSOR]
|
||||
X = 10
|
||||
Y = 10
|
||||
Z = -20
|
||||
# abort change if no toolsensor contact after this probe distance
|
||||
MAXPROBE = -20
|
||||
|
||||
# this is not named TOOL_CHANGE_POSITION on purpose - canon uses it and will
|
||||
# interfere
|
||||
[CHANGE_POSITION]
|
||||
X = 10
|
||||
Y = 10
|
||||
Z = -2
|
||||
|
||||
179
configs/sim.gmoccapy/8_axis.ini
Executable file
179
configs/sim.gmoccapy/8_axis.ini
Executable file
@@ -0,0 +1,179 @@
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = gmoccapy_9_axis
|
||||
DEBUG = 0
|
||||
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
CYCLE_TIME = 150
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 1
|
||||
GEOMETRY = XYZABCUVW
|
||||
|
||||
# Values that will be allowed for override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = 0.5
|
||||
|
||||
DEFAULT_SPINDLE_SPEED = 500
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
|
||||
|
||||
|
||||
[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 = python3
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.150
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 0 0 2
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = core_sim_8.hal
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A B C U V
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 50.0
|
||||
DEFAULT_LINEAR_ACCEL = 500.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 45.0
|
||||
MAX_LINEAR_VELOCITY = 200.0
|
||||
MAX_LINEAR_ACCEL = 250.0
|
||||
MAX_ANGULAR_VELOCITY = 90.0
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=XYZABCUV
|
||||
JOINTS = 8
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_B]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_C]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_U]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_V]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_4]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_5]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_6]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_7]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
193
configs/sim.gmoccapy/9_axis.ini
Executable file
193
configs/sim.gmoccapy/9_axis.ini
Executable file
@@ -0,0 +1,193 @@
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = gmoccapy_9_axis
|
||||
DEBUG = 0
|
||||
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
CYCLE_TIME = 150
|
||||
POSITION_OFFSET = RELATIVE
|
||||
POSITION_FEEDBACK = ACTUAL
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 1
|
||||
GEOMETRY = XYZABCUVW
|
||||
|
||||
# Values that will be allowed for override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = 0.5
|
||||
|
||||
DEFAULT_SPINDLE_SPEED = 500
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
|
||||
|
||||
|
||||
[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 = python3
|
||||
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.150
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 0 0 2
|
||||
|
||||
[HAL]
|
||||
HALUI = halui
|
||||
HALFILE = core_sim_9.hal
|
||||
#HALFILE = simulated_home_9.hal
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A B C U V W
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 50.0
|
||||
DEFAULT_LINEAR_ACCEL = 500.0
|
||||
DEFAULT_ANGULAR_VELOCITY = 45.0
|
||||
MAX_LINEAR_VELOCITY = 200.0
|
||||
MAX_LINEAR_ACCEL = 250.0
|
||||
MAX_ANGULAR_VELOCITY = 90.0
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=XYZABCUVW
|
||||
JOINTS = 9
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_A]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_B]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_C]
|
||||
MIN_LIMIT = -360.0
|
||||
MAX_LIMIT = 360.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[AXIS_U]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_V]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[AXIS_W]
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_4]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_5]
|
||||
TYPE = ANGULAR
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_6]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_7]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -250.0
|
||||
MAX_LIMIT = 250.0
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
[JOINT_8]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 100
|
||||
MAX_ACCELERATION = 1250
|
||||
MIN_LIMIT = -50.0
|
||||
MAX_LIMIT = 100.0
|
||||
HOME_SEQUENCE = 0
|
||||
13
configs/sim.gmoccapy/README
Executable file
13
configs/sim.gmoccapy/README
Executable file
@@ -0,0 +1,13 @@
|
||||
A touch screen user interface for mills, lathes and plasma cutters.
|
||||
Based of the design of moccagui, a GUI coded in FreePascal.
|
||||
GMOCCAPY is using Python instead.
|
||||
|
||||
GMOCCAPY is designed to bring the feel of industrial controls to LinuxCNC users,
|
||||
most controls can be used with a touch screen and also most are accessible through
|
||||
hal pins, so real hardware can be used.
|
||||
|
||||
Feel free to send any comment to
|
||||
|
||||
gmoccapy@web.de
|
||||
|
||||
|
||||
13
configs/sim.gmoccapy/README_es
Executable file
13
configs/sim.gmoccapy/README_es
Executable file
@@ -0,0 +1,13 @@
|
||||
Esta es una simulación de una fresadora con ejes XYZ y también un torno.
|
||||
|
||||
Esta pantalla se basa en el diseño de moccagui, una GUI codificada en FreePascal.
|
||||
|
||||
gmoccapy utiliza Python en su lugar.
|
||||
|
||||
gmoccapy está diseñado para brindar la sensación de los controles industriales a los usuarios de LinuxCNC.
|
||||
La mayoría de los controles se pueden usar con una pantalla táctil y son accesibles a través de
|
||||
pines hal, por lo que se puede utilizar hardware real.
|
||||
|
||||
Siéntase libre de enviar cualquier comentario a
|
||||
|
||||
gmoccapy@web.de
|
||||
27
configs/sim.gmoccapy/blockdelete.glade
Executable file
27
configs/sim.gmoccapy/blockdelete.glade
Executable file
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Generated with glade 3.38.2 -->
|
||||
<interface>
|
||||
<requires lib="gtk+" version="3.24"/>
|
||||
<requires lib="gladevcp" version="0.0"/>
|
||||
<object class="GtkWindow" id="window1">
|
||||
<property name="can-focus">False</property>
|
||||
<child>
|
||||
<object class="HAL_ToggleButton" id="tbtn_blockdelete">
|
||||
<property name="width-request">48</property>
|
||||
<property name="height-request">48</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">True</property>
|
||||
<property name="receives-default">True</property>
|
||||
<property name="halign">center</property>
|
||||
<property name="valign">center</property>
|
||||
<child>
|
||||
<object class="GtkImage" id="img_blockdelete">
|
||||
<property name="visible">True</property>
|
||||
<property name="can-focus">False</property>
|
||||
<property name="icon-name">aptdaemon-error</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
3
configs/sim.gmoccapy/blockdelete.hal
Executable file
3
configs/sim.gmoccapy/blockdelete.hal
Executable file
@@ -0,0 +1,3 @@
|
||||
# This is the blockdelete.hal file
|
||||
|
||||
net blockdelete gmoccapy.blockdelete <= blockdelete.tbtn_blockdelete
|
||||
58
configs/sim.gmoccapy/blockdelete.py
Executable file
58
configs/sim.gmoccapy/blockdelete.py
Executable file
@@ -0,0 +1,58 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: UTF-8 -*-
|
||||
"""
|
||||
This file will add some timer options to an additional panel to gmoccapy
|
||||
and demonstrates at the same time the possibilities you have introducing
|
||||
your own handler files and functions to that screen, showing the
|
||||
possibilities to modify the layout and behavior
|
||||
|
||||
Copyright 2021 Norbert Schechner
|
||||
nieson@web.de
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to the Free Software
|
||||
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
"""
|
||||
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk as gtk
|
||||
from gmoccapy import preferences
|
||||
from gmoccapy import getiniinfo
|
||||
|
||||
|
||||
class BlockDeleteClass:
|
||||
def __init__(self, halcomp, builder, useropts):
|
||||
self.builder = builder
|
||||
self.halcomp = halcomp
|
||||
|
||||
self.defaults = {
|
||||
IniFile.vars: {
|
||||
"machine_time": 0.0,
|
||||
"spindle_time": 0.0,
|
||||
"running_time": 0.0,
|
||||
},
|
||||
}
|
||||
|
||||
get_ini_info = getiniinfo.GetIniInfo()
|
||||
prefs = preferences.preferences(get_ini_info.get_preference_file_path())
|
||||
theme_name = prefs.getpref("gtk_theme", "Follow System Theme", str)
|
||||
if theme_name == "Follow System Theme":
|
||||
theme_name = gtk.Settings.get_default().get_property("gtk-theme-name")
|
||||
gtk.Settings.get_default().set_string_property("gtk-theme-name", theme_name, "")
|
||||
|
||||
|
||||
def get_handlers(halcomp, builder, useropts):
|
||||
return [BlockDeleteClass(halcomp, builder, useropts)]
|
||||
|
||||
115
configs/sim.gmoccapy/button.glade
Executable file
115
configs/sim.gmoccapy/button.glade
Executable file
@@ -0,0 +1,115 @@
|
||||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<!-- interface-requires gladevcp 0.0 -->
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-naming-policy project-wide -->
|
||||
<object class="GtkWindow" id="window1">
|
||||
<child>
|
||||
<object class="GtkTable" id="tbl_marius">
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">2</property>
|
||||
<property name="n_columns">3</property>
|
||||
<property name="column_spacing">5</property>
|
||||
<property name="row_spacing">5</property>
|
||||
<child>
|
||||
<object class="HAL_Button" id="hal_button1">
|
||||
<property name="label" translatable="yes">B1</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="x_options">GTK_SHRINK</property>
|
||||
<property name="y_options">GTK_SHRINK</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="hal_button2">
|
||||
<property name="label" translatable="yes">B4</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">GTK_SHRINK</property>
|
||||
<property name="y_options">GTK_SHRINK</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="hal_button3">
|
||||
<property name="label" translatable="yes">B2</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="x_options">GTK_SHRINK</property>
|
||||
<property name="y_options">GTK_SHRINK</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="hal_button4">
|
||||
<property name="label" translatable="yes">B5</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">GTK_SHRINK</property>
|
||||
<property name="y_options">GTK_SHRINK</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="hal_button5">
|
||||
<property name="label" translatable="yes">B3</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="x_options">GTK_SHRINK</property>
|
||||
<property name="y_options">GTK_SHRINK</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="hal_button6">
|
||||
<property name="label" translatable="yes">B6 </property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
<property name="x_options">GTK_SHRINK</property>
|
||||
<property name="y_options">GTK_SHRINK</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
51
configs/sim.gmoccapy/core_sim.hal
Executable file
51
configs/sim.gmoccapy/core_sim.hal
Executable file
@@ -0,0 +1,51 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS num_dio=10
|
||||
# load 6 differentiators (for velocity and accel signals
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-axis velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# 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
|
||||
|
||||
59
configs/sim.gmoccapy/core_sim4.hal
Executable file
59
configs/sim.gmoccapy/core_sim4.hal
Executable file
@@ -0,0 +1,59 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
||||
# load 6 differentiators (for velocity and accel signals
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
net Cpos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-axis velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# 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
|
||||
|
||||
net spindle-fwd spindle.0.forward
|
||||
net spindle-rev spindle.0.reverse
|
||||
#net spindle-speed spindle.0.speed-out
|
||||
|
||||
net lube iocontrol.0.lube
|
||||
net flood iocontrol.0.coolant-flood
|
||||
net mist iocontrol.0.coolant-mist
|
||||
61
configs/sim.gmoccapy/core_sim_6.hal
Executable file
61
configs/sim.gmoccapy/core_sim_6.hal
Executable file
@@ -0,0 +1,61 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt trivkins
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
||||
# load 6 differentiators (for velocity and accel signals
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
net Apos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
|
||||
net Bpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
|
||||
net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-joint velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# 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
|
||||
|
||||
net spindle-fwd spindle.0.forward
|
||||
net spindle-rev spindle.0.reverse
|
||||
#net spindle-speed spindle.0.speed-out
|
||||
|
||||
net lube iocontrol.0.lube
|
||||
net flood iocontrol.0.coolant-flood
|
||||
net mist iocontrol.0.coolant-mist
|
||||
62
configs/sim.gmoccapy/core_sim_7.hal
Executable file
62
configs/sim.gmoccapy/core_sim_7.hal
Executable file
@@ -0,0 +1,62 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt trivkins
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
||||
# load 6 differentiators (for velocity and accel signals
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
net Apos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
|
||||
net Bpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
|
||||
net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
|
||||
net Upos joint.6.motor-pos-cmd => joint.6.motor-pos-fb
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-joint velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# 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
|
||||
|
||||
net spindle-fwd spindle.0.forward
|
||||
net spindle-rev spindle.0.reverse
|
||||
#net spindle-speed spindle.0.speed-out
|
||||
|
||||
net lube iocontrol.0.lube
|
||||
net flood iocontrol.0.coolant-flood
|
||||
net mist iocontrol.0.coolant-mist
|
||||
63
configs/sim.gmoccapy/core_sim_8.hal
Executable file
63
configs/sim.gmoccapy/core_sim_8.hal
Executable file
@@ -0,0 +1,63 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt trivkins
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
||||
# load 6 differentiators (for velocity and accel signals
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
net Apos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
|
||||
net Bpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
|
||||
net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
|
||||
net Upos joint.6.motor-pos-cmd => joint.6.motor-pos-fb
|
||||
net Vpos joint.7.motor-pos-cmd => joint.7.motor-pos-fb
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-joint velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# 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
|
||||
|
||||
net spindle-fwd spindle.0.forward
|
||||
net spindle-rev spindle.0.reverse
|
||||
#net spindle-speed spindle.0.speed-out
|
||||
|
||||
net lube iocontrol.0.lube
|
||||
net flood iocontrol.0.coolant-flood
|
||||
net mist iocontrol.0.coolant-mist
|
||||
64
configs/sim.gmoccapy/core_sim_9.hal
Executable file
64
configs/sim.gmoccapy/core_sim_9.hal
Executable file
@@ -0,0 +1,64 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt trivkins
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS
|
||||
# load 6 differentiators (for velocity and accel signals
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
net Apos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
|
||||
net Bpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
|
||||
net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
|
||||
net Upos joint.6.motor-pos-cmd => joint.6.motor-pos-fb
|
||||
net Vpos joint.7.motor-pos-cmd => joint.7.motor-pos-fb
|
||||
net Wpos joint.8.motor-pos-cmd => joint.8.motor-pos-fb
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-joint velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# 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
|
||||
|
||||
net spindle-fwd spindle.0.forward
|
||||
net spindle-rev spindle.0.reverse
|
||||
#net spindle-speed spindle.0.speed-out
|
||||
|
||||
net lube iocontrol.0.lube
|
||||
net flood iocontrol.0.coolant-flood
|
||||
net mist iocontrol.0.coolant-mist
|
||||
65
configs/sim.gmoccapy/core_sim_XYZAB.hal
Executable file
65
configs/sim.gmoccapy/core_sim_XYZAB.hal
Executable file
@@ -0,0 +1,65 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
#autoconverted trivkins
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS unlock_joints_mask=16
|
||||
# load 6 differentiators (for velocity and accel signals
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
net Apos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
|
||||
net Bpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
|
||||
#net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
|
||||
#net Upos joint.6.motor-pos-cmd => joint.6.motor-pos-fb
|
||||
#net Vpos joint.7.motor-pos-cmd => joint.7.motor-pos-fb
|
||||
#net Wpos joint.8.motor-pos-cmd => joint.8.motor-pos-fb
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-axis velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# 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
|
||||
|
||||
net spindle-fwd spindle.0.forward
|
||||
net spindle-rev spindle.0.reverse
|
||||
#net spindle-speed spindle.0.speed-out
|
||||
|
||||
net lube iocontrol.0.lube
|
||||
net flood iocontrol.0.coolant-flood
|
||||
net mist iocontrol.0.coolant-mist
|
||||
65
configs/sim.gmoccapy/core_sim_XYZAC.hal
Executable file
65
configs/sim.gmoccapy/core_sim_XYZAC.hal
Executable file
@@ -0,0 +1,65 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
#autoconverted trivkins
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS unlock_joints_mask=16
|
||||
# load 6 differentiators (for velocity and accel signals
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
net Apos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
|
||||
net Cpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
|
||||
#net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
|
||||
#net Upos joint.6.motor-pos-cmd => joint.6.motor-pos-fb
|
||||
#net Vpos joint.7.motor-pos-cmd => joint.7.motor-pos-fb
|
||||
#net Wpos joint.8.motor-pos-cmd => joint.8.motor-pos-fb
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-axis velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# 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
|
||||
|
||||
net spindle-fwd spindle.0.forward
|
||||
net spindle-rev spindle.0.reverse
|
||||
#net spindle-speed spindle.0.speed-out
|
||||
|
||||
net lube iocontrol.0.lube
|
||||
net flood iocontrol.0.coolant-flood
|
||||
net mist iocontrol.0.coolant-mist
|
||||
65
configs/sim.gmoccapy/core_sim_XYZCW.hal
Executable file
65
configs/sim.gmoccapy/core_sim_XYZCW.hal
Executable file
@@ -0,0 +1,65 @@
|
||||
# core HAL config file for simulation
|
||||
|
||||
# first load all the RT modules that will be needed
|
||||
# kinematics
|
||||
loadrt [KINS]KINEMATICS
|
||||
#autoconverted trivkins
|
||||
# motion controller, get name and thread periods from ini file
|
||||
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[KINS]JOINTS unlock_joints_mask=16
|
||||
# load 6 differentiators (for velocity and accel signals
|
||||
loadrt ddt names=ddt_x,ddt_xv,ddt_y,ddt_yv,ddt_z,ddt_zv
|
||||
# load additional blocks
|
||||
loadrt hypot names=vel_xy,vel_xyz
|
||||
|
||||
# add motion controller functions to servo thread
|
||||
addf motion-command-handler servo-thread
|
||||
addf motion-controller servo-thread
|
||||
# link the differentiator functions into the code
|
||||
addf ddt_x servo-thread
|
||||
addf ddt_xv servo-thread
|
||||
addf ddt_y servo-thread
|
||||
addf ddt_yv servo-thread
|
||||
addf ddt_z servo-thread
|
||||
addf ddt_zv servo-thread
|
||||
addf vel_xy servo-thread
|
||||
addf vel_xyz servo-thread
|
||||
|
||||
# create HAL signals for position commands from motion module
|
||||
# loop position commands back to motion module feedback
|
||||
net Xpos joint.0.motor-pos-cmd => joint.0.motor-pos-fb ddt_x.in
|
||||
net Ypos joint.1.motor-pos-cmd => joint.1.motor-pos-fb ddt_y.in
|
||||
net Zpos joint.2.motor-pos-cmd => joint.2.motor-pos-fb ddt_z.in
|
||||
net Cpos joint.3.motor-pos-cmd => joint.3.motor-pos-fb
|
||||
net Wpos joint.4.motor-pos-cmd => joint.4.motor-pos-fb
|
||||
#net Cpos joint.5.motor-pos-cmd => joint.5.motor-pos-fb
|
||||
#net Upos joint.6.motor-pos-cmd => joint.6.motor-pos-fb
|
||||
#net Vpos joint.7.motor-pos-cmd => joint.7.motor-pos-fb
|
||||
#net Wpos joint.8.motor-pos-cmd => joint.8.motor-pos-fb
|
||||
|
||||
# send the position commands thru differentiators to
|
||||
# generate velocity and accel signals
|
||||
net Xvel ddt_x.out => ddt_xv.in vel_xy.in0
|
||||
net Xacc <= ddt_xv.out
|
||||
net Yvel ddt_y.out => ddt_yv.in vel_xy.in1
|
||||
net Yacc <= ddt_yv.out
|
||||
net Zvel ddt_z.out => ddt_zv.in vel_xyz.in0
|
||||
net Zacc <= ddt_zv.out
|
||||
|
||||
# Cartesian 2- and 3-axis velocities
|
||||
net XYvel vel_xy.out => vel_xyz.in1
|
||||
net XYZvel <= vel_xyz.out
|
||||
|
||||
# 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
|
||||
|
||||
net spindle-fwd spindle.0.forward
|
||||
net spindle-rev spindle.0.reverse
|
||||
#net spindle-speed spindle.0.speed-out
|
||||
|
||||
net lube iocontrol.0.lube
|
||||
net flood iocontrol.0.coolant-flood
|
||||
net mist iocontrol.0.coolant-mist
|
||||
278
configs/sim.gmoccapy/dro.glade
Executable file
278
configs/sim.gmoccapy/dro.glade
Executable file
@@ -0,0 +1,278 @@
|
||||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<!-- interface-requires gladevcp 0.0 -->
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-naming-policy project-wide -->
|
||||
<object class="GtkWindow" id="window1">
|
||||
<property name="width_request">200</property>
|
||||
<property name="height_request">712</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="default_width">712</property>
|
||||
<property name="default_height">200</property>
|
||||
<property name="icon">icon/Logo.png</property>
|
||||
<child>
|
||||
<object class="GtkTable" id="table1">
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">4</property>
|
||||
<property name="n_columns">4</property>
|
||||
<child>
|
||||
<object class="HAL_DRO" id="hal_dro4">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label</property>
|
||||
<property name="joint_number">1</property>
|
||||
<property name="display_units_mm">True</property>
|
||||
<attributes>
|
||||
<attribute name="style" value="normal"/>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="3.000000"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_DRO" id="hal_dro5">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label</property>
|
||||
<property name="display_units_mm">True</property>
|
||||
<attributes>
|
||||
<attribute name="style" value="normal"/>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="3.000000"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_DRO" id="hal_dro7">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label</property>
|
||||
<property name="joint_number">1</property>
|
||||
<property name="display_units_mm">True</property>
|
||||
<property name="reference_type">2</property>
|
||||
<attributes>
|
||||
<attribute name="style" value="normal"/>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="3.000000"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
<property name="right_attach">4</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_DRO" id="hal_dro8">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label</property>
|
||||
<property name="display_units_mm">True</property>
|
||||
<property name="reference_type">2</property>
|
||||
<attributes>
|
||||
<attribute name="style" value="normal"/>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="3.000000"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
<property name="right_attach">4</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_DRO" id="hal_dro3">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label</property>
|
||||
<property name="joint_number">1</property>
|
||||
<property name="display_units_mm">True</property>
|
||||
<property name="reference_type">1</property>
|
||||
<attributes>
|
||||
<attribute name="style" value="normal"/>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="3.000000"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_DRO" id="hal_dro2">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label</property>
|
||||
<property name="display_units_mm">True</property>
|
||||
<property name="reference_type">1</property>
|
||||
<attributes>
|
||||
<attribute name="style" value="normal"/>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="3.000000"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_DRO" id="hal_dro6">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label</property>
|
||||
<property name="joint_number">2</property>
|
||||
<property name="display_units_mm">True</property>
|
||||
<attributes>
|
||||
<attribute name="style" value="normal"/>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="3.000000"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_DRO" id="hal_dro1">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label</property>
|
||||
<property name="joint_number">2</property>
|
||||
<property name="display_units_mm">True</property>
|
||||
<property name="reference_type">1</property>
|
||||
<attributes>
|
||||
<attribute name="style" value="normal"/>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="3.000000"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_DRO" id="hal_dro9">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">label</property>
|
||||
<property name="joint_number">2</property>
|
||||
<property name="display_units_mm">True</property>
|
||||
<property name="reference_type">2</property>
|
||||
<attributes>
|
||||
<attribute name="style" value="normal"/>
|
||||
<attribute name="weight" value="bold"/>
|
||||
<attribute name="scale" value="3.000000"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
<property name="right_attach">4</property>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label2">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">ABS</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label3">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">REL</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label4">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">DTG</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">3</property>
|
||||
<property name="right_attach">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label5">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">X</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label6">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Y</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label7">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Z</property>
|
||||
<attributes>
|
||||
<attribute name="weight" value="bold"/>
|
||||
</attributes>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="top_attach">3</property>
|
||||
<property name="bottom_attach">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
201
configs/sim.gmoccapy/gmoccapy.ini
Executable file
201
configs/sim.gmoccapy/gmoccapy.ini
Executable file
@@ -0,0 +1,201 @@
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy
|
||||
DEBUG = 0x7FFFFFFF
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
#DISPLAY = gmoccapy -logo /home/gmoccapy/Bilder/coolant_on.gif
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Values that will be allowed for override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = 0.5
|
||||
|
||||
# Max and default jog speeds in units per second
|
||||
MAX_LINEAR_VELOCITY = 166
|
||||
DEFAULT_LINEAR_VELOCITY = 100
|
||||
MAX_ANGULAR_VELOCITY = 234
|
||||
DEFAULT_SPINDLE_SPEED = 450
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm, 1.2345 inch
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 35
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
#NO_FORCE_HOMING = 1
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME = -10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = go_to_position x-pos y-pos z-pos
|
||||
MACRO = i_am_lost
|
||||
MACRO = increment x-incr y-incr
|
||||
MACRO = macro_4
|
||||
MACRO = macro_5
|
||||
MACRO = macro_6
|
||||
MACRO = macro_7
|
||||
MACRO = macro_8
|
||||
MACRO = macro_9
|
||||
MACRO = macro_10
|
||||
MACRO = macro_11
|
||||
MACRO = macro_12
|
||||
MACRO = macro_13
|
||||
MACRO = macro_14
|
||||
MACRO = macro_15
|
||||
|
||||
|
||||
75
configs/sim.gmoccapy/gmoccapy.pref
Executable file
75
configs/sim.gmoccapy/gmoccapy.pref
Executable file
@@ -0,0 +1,75 @@
|
||||
[DEFAULT]
|
||||
dro_digits = 5
|
||||
dro_size = 28
|
||||
abs_color = #0000FF
|
||||
rel_color = #000000
|
||||
dtg_color = #FFFF00
|
||||
homed_color = #00FF00
|
||||
unhomed_color = #FF0000
|
||||
enable_dro = False
|
||||
scale_jog_vel = 140.4
|
||||
scale_spindle_override = 1
|
||||
scale_feed_override = 1
|
||||
scale_rapid_override = 1
|
||||
spindle_bar_min = 0.0
|
||||
spindle_bar_max = 6000.0
|
||||
turtle_jog_factor = 20
|
||||
hide_turtle_jog_button = False
|
||||
unlock_code = 123
|
||||
toggle_readout = True
|
||||
spindle_start_rpm = 450.0
|
||||
kbd_height = 250
|
||||
blockheight = 0.0
|
||||
open_file = /home/linuxcnc/linuxcnc/nc_files/examples/cone.ngc
|
||||
screen1 = maximized
|
||||
hide_titlebar = False
|
||||
x_pos = 40
|
||||
y_pos = 30
|
||||
width = 979
|
||||
height = 750
|
||||
use_toolmeasurement = False
|
||||
gtk_theme = Follow System Theme
|
||||
icon_theme = material-light
|
||||
audio_enabled = True
|
||||
audio_alert = /usr/share/sounds/freedesktop/stereo/dialog-warning.oga
|
||||
audio_error = /usr/share/sounds/freedesktop/stereo/dialog-error.oga
|
||||
grid_size = 1.0
|
||||
view = z
|
||||
mouse_btn_mode = 4
|
||||
hide_cursor = False
|
||||
hide_tooltips = False
|
||||
system_name_tool = Tool
|
||||
system_name_g5x = G5x
|
||||
system_name_rot = Rot
|
||||
system_name_g92 = G92
|
||||
system_name_g54 = G54
|
||||
system_name_g55 = G55
|
||||
system_name_g56 = G56
|
||||
system_name_g57 = G57
|
||||
system_name_g58 = G58
|
||||
system_name_g59 = G59
|
||||
system_name_g59.1 = G59.1
|
||||
system_name_g59.2 = G59.2
|
||||
system_name_g59.3 = G59.3
|
||||
jump_to_dir = /home/linuxcnc
|
||||
show_keyboard_on_offset = False
|
||||
show_keyboard_on_tooledit = False
|
||||
show_keyboard_on_edit = False
|
||||
show_keyboard_on_mdi = False
|
||||
x_pos_popup = 45.0
|
||||
y_pos_popup = 55
|
||||
width_popup = 250.0
|
||||
max_messages = 10
|
||||
message_font = sans 10
|
||||
use_frames = True
|
||||
reload_tool = True
|
||||
blockdel = False
|
||||
show_offsets = False
|
||||
show_dtg = False
|
||||
view_tool_path = True
|
||||
view_dimension = True
|
||||
run_from_line = no_run
|
||||
unlock_way = no
|
||||
show_preview_on_offset = False
|
||||
use_keyboard_shortcuts = True
|
||||
|
||||
4
configs/sim.gmoccapy/gmoccapy.txt
Executable file
4
configs/sim.gmoccapy/gmoccapy.txt
Executable file
@@ -0,0 +1,4 @@
|
||||
Standard GMOCCAPY configuration for a XYZ mill including example macros.
|
||||
|
||||
|
||||
|
||||
81
configs/sim.gmoccapy/gmoccapy2.glade
Executable file
81
configs/sim.gmoccapy/gmoccapy2.glade
Executable file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<!-- interface-requires gladevcp 0.0 -->
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-naming-policy project-wide -->
|
||||
<object class="GtkWindow" id="window2">
|
||||
<property name="height_request">600</property>
|
||||
<child>
|
||||
<object class="GtkTable" id="table1">
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">3</property>
|
||||
<property name="n_columns">3</property>
|
||||
<child>
|
||||
<object class="HAL_Meter" id="s_display2">
|
||||
<property name="width_request">200</property>
|
||||
<property name="height_request">200</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="label">Spindle</property>
|
||||
<property name="bg_color">#ffffffffffff</property>
|
||||
<property name="z0_color">#0000ffff0000</property>
|
||||
<property name="max">2000</property>
|
||||
<property name="majorscale">200</property>
|
||||
<property name="z1_color">#ffffffff0000</property>
|
||||
<property name="z2_color">#ffff00000000</property>
|
||||
<property name="sublabel">RPM</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label1">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">screen 2</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="button1">
|
||||
<property name="label" translatable="yes">Custom
|
||||
Button</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<signal name="clicked" handler="on_button_press"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">2</property>
|
||||
<property name="bottom_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
205
configs/sim.gmoccapy/gmoccapy_4_axis.ini
Executable file
205
configs/sim.gmoccapy/gmoccapy_4_axis.ini
Executable file
@@ -0,0 +1,205 @@
|
||||
# General section -------------------------------------------------------------
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = gmoccapy 4 axis
|
||||
DEBUG = 0
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm, 90.000 °
|
||||
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim4.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z C
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 50
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
|
||||
# First axis = X
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyzc
|
||||
JOINTS = 4
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis = Y
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Third axis = Z
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME = -10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Fourth axis = A
|
||||
# Fifth axis = B
|
||||
|
||||
# Sixt axis = C
|
||||
[AXIS_C]
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 40
|
||||
OUTPUT_SCALE = 1.000
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
4
configs/sim.gmoccapy/gmoccapy_4_axis.txt
Executable file
4
configs/sim.gmoccapy/gmoccapy_4_axis.txt
Executable file
@@ -0,0 +1,4 @@
|
||||
GMOCCAPY configuration for a 4-axis mill XYZC with C as rotating axis.
|
||||
|
||||
|
||||
|
||||
251
configs/sim.gmoccapy/gmoccapy_XYZAB.ini
Executable file
251
configs/sim.gmoccapy/gmoccapy_XYZAB.ini
Executable file
@@ -0,0 +1,251 @@
|
||||
# This config file was created 2016-07-03 00:20:41.859215 by the update_ini script
|
||||
# The original config files may be found in the /home/emcmesa/linuxcnc-org/configs/sim/gmoccapy/gmoccapy_XYZAB.old directory
|
||||
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy XYZAB
|
||||
DEBUG = 0
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
#DISPLAY = gmoccapy -user_mode -quiet -debug -nonsense
|
||||
|
||||
# this is to create separate windows and the corresponding hal files,
|
||||
# the name and location are only needed, because gscreen needs them to
|
||||
# initialize the tabs and then execute the command
|
||||
#EMBED_TAB_NAME = left_side_panel
|
||||
#EMBED_TAB_LOCATION = box_left
|
||||
#EMBED_TAB_COMMAND = gladevcp -g 64x697+997+10 -H v_buttonlist.hal v_buttonlist.glade
|
||||
|
||||
#EMBED_TAB_NAME = right_side_panel
|
||||
#EMBED_TAB_LOCATION = box_right
|
||||
#EMBED_TAB_COMMAND = gladevcp -g 995x64+0+805 -H h_buttonlist.hal h_buttonlist.glade
|
||||
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Max and default jog speeds in units per second
|
||||
MAX_LINEAR_VELOCITY = 166
|
||||
DEFAULT_LINEAR_VELOCITY = 5
|
||||
DEFAULT_ANGULAR_VELOCITY = 180
|
||||
MIN_ANGULAR_VELOCITY = 10
|
||||
MAX_ANGULAR_VELOCITY = 720
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim_XYZAB.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A B
|
||||
HOME = 0 0 0 0 0
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 9.0
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
NO_FORCE_HOMING = 0
|
||||
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyzab
|
||||
JOINTS = 5
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 600.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 600.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 4.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 4.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
[AXIS_A]
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 40
|
||||
OUTPUT_SCALE = 1.000
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_B]
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[JOINT_4]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 40
|
||||
OUTPUT_SCALE = 1.000
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 45.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
LOCKING_INDEXER = 0
|
||||
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
239
configs/sim.gmoccapy/gmoccapy_XYZAC.ini
Executable file
239
configs/sim.gmoccapy/gmoccapy_XYZAC.ini
Executable file
@@ -0,0 +1,239 @@
|
||||
# This config file was created 2016-07-03 00:25:14.051011 by the update_ini script
|
||||
# The original config files may be found in the /home/emcmesa/linuxcnc-org/configs/sim/gmoccapy/gmoccapy_XYZAC.old directory
|
||||
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy XYZAC
|
||||
DEBUG = 0
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
EMBED_TAB_NAME = right_side_panel
|
||||
EMBED_TAB_LOCATION = box_right
|
||||
EMBED_TAB_COMMAND = gladevcp -H pendant_5_axis.hal pendant_5_axis.glade
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Max and default jog speeds in units per second
|
||||
MAX_LINEAR_VELOCITY = 166
|
||||
DEFAULT_LINEAR_VELOCITY = 5
|
||||
MAX_ANGULAR_VELOCITY = 234
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim_XYZAC.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z A C
|
||||
HOME = 0 0 0 0 0
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 50
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
NO_FORCE_HOMING = 1
|
||||
|
||||
# Axes sections ---------------------------------------------------------------
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyzac
|
||||
JOINTS = 5
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 600.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 600.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 4.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 4.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
[AXIS_A]
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 40
|
||||
OUTPUT_SCALE = 1.000
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_C]
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[JOINT_4]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 40
|
||||
OUTPUT_SCALE = 1.000
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
242
configs/sim.gmoccapy/gmoccapy_XYZCW.ini
Executable file
242
configs/sim.gmoccapy/gmoccapy_XYZCW.ini
Executable file
@@ -0,0 +1,242 @@
|
||||
# This config file was created 2016-07-03 00:29:54.563095 by the update_ini script
|
||||
# The original config files may be found in the /home/emcmesa/linuxcnc-org/configs/sim/gmoccapy/gmoccapy_XYZCW.old directory
|
||||
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy XYZAB
|
||||
DEBUG = 0
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Max and default jog speeds in units per second
|
||||
MAX_LINEAR_VELOCITY = 166
|
||||
DEFAULT_LINEAR_VELOCITY = 5
|
||||
MAX_ANGULAR_VELOCITY = 234
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim_XYZCW.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z C W
|
||||
HOME = 0 0 0 0 0
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 50
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
NO_FORCE_HOMING = 0
|
||||
|
||||
# Axes sections ---------------------------------------------------------------
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyzcw
|
||||
JOINTS = 5
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 600.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 600.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -0.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 4.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 4.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME_SEARCH_VEL = 5.0
|
||||
HOME_LATCH_VEL = 1.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
|
||||
[AXIS_C]
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
|
||||
[JOINT_3]
|
||||
TYPE = ANGULAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 90.0
|
||||
MAX_ACCELERATION = 1200.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 40
|
||||
OUTPUT_SCALE = 1.000
|
||||
FERROR = 5.0
|
||||
MIN_FERROR = 1.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 0.0
|
||||
HOME_LATCH_VEL = 0.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
|
||||
[AXIS_W]
|
||||
MIN_LIMIT = -2.0
|
||||
MAX_LIMIT = 4.0
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 20.0
|
||||
|
||||
[JOINT_4]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 1.2
|
||||
MAX_ACCELERATION = 20.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -2.0
|
||||
MAX_LIMIT = 4.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
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 0
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
205
configs/sim.gmoccapy/gmoccapy_blockdelete.ini
Executable file
205
configs/sim.gmoccapy/gmoccapy_blockdelete.ini
Executable file
@@ -0,0 +1,205 @@
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy
|
||||
DEBUG = 0x7FFFFFFF
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
#DISPLAY = gmoccapy -logo /home/gmoccapy/Bilder/coolant_on.gif
|
||||
|
||||
EMBED_TAB_NAME = blockdelete
|
||||
EMBED_TAB_LOCATION = box_custom_4
|
||||
EMBED_TAB_COMMAND = gladevcp -x {XID} -c blockdelete -H blockdelete.hal -u blockdelete.py blockdelete.glade
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Values that will be allowed for override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = 0.5
|
||||
|
||||
# Max and default jog speeds in units per second
|
||||
MAX_LINEAR_VELOCITY = 166
|
||||
DEFAULT_LINEAR_VELOCITY = 100
|
||||
MAX_ANGULAR_VELOCITY = 234
|
||||
DEFAULT_SPINDLE_SPEED = 450
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm, 1.2345 inch
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 35
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
#NO_FORCE_HOMING = 1
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME = -10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = go_to_position x-pos y-pos z-pos
|
||||
MACRO = i_am_lost
|
||||
MACRO = increment x-incr y-incr
|
||||
MACRO = macro_4
|
||||
MACRO = macro_5
|
||||
MACRO = macro_6
|
||||
MACRO = macro_7
|
||||
MACRO = macro_8
|
||||
MACRO = macro_9
|
||||
MACRO = macro_10
|
||||
MACRO = macro_11
|
||||
MACRO = macro_12
|
||||
MACRO = macro_13
|
||||
MACRO = macro_14
|
||||
MACRO = macro_15
|
||||
|
||||
|
||||
188
configs/sim.gmoccapy/gmoccapy_left_panel.ini
Executable file
188
configs/sim.gmoccapy/gmoccapy_left_panel.ini
Executable file
@@ -0,0 +1,188 @@
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy_left_panel
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
DEBUG = 0
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
EMBED_TAB_NAME = left_side_panel
|
||||
EMBED_TAB_LOCATION = box_left
|
||||
EMBED_TAB_COMMAND = gladevcp -x {XID} -H v_buttonlist.hal v_buttonlist.glade
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1mm, 0.1mm, 0.01mm, 0.001mm, 1.2345in
|
||||
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 9.0
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
|
||||
# First axis
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
219
configs/sim.gmoccapy/gmoccapy_messages.ini
Executable file
219
configs/sim.gmoccapy/gmoccapy_messages.ini
Executable file
@@ -0,0 +1,219 @@
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy_development
|
||||
DEBUG = 0
|
||||
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Max and default jog speeds in units per second
|
||||
MAX_LINEAR_VELOCITY = 166
|
||||
DEFAULT_LINEAR_VELOCITY = 5
|
||||
MAX_ANGULAR_VELOCITY = 234
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm ,1.2345 in
|
||||
|
||||
# set up 3 user popup message dialogs
|
||||
# the messages support pango markup language
|
||||
# detailed information about the markup language can be found at
|
||||
# https://developer.gnome.org/pango/stable/PangoMarkupFormat.html
|
||||
|
||||
# MESSAGE_TEXT = The text to be displayed, may be pango markup formatted
|
||||
# MESSAGE_TYPE = one of "status" , "okdialog" , "yesnodialog"
|
||||
# status : Will just display a message as popup window, using the messsaging system of gmoccapy
|
||||
# okdialog : Will hold focus on the message dialog and will activate a "-waiting" Hal_Pin OUT.
|
||||
# Closing the message will reset the waiting pin
|
||||
# yesnodialog : Will hold focus on the message dialog and will activate a "-waiting" Hal_Pin bit OUT
|
||||
# it will also give access to an "-response" Hal_Pin Bit Out, this pin will hold 1 if the
|
||||
# user clicks OK, and in all other states it will be 0
|
||||
# Closing the message will reset the waiting pin
|
||||
# The response Hal Pin will remain 1 until the dialog is called again
|
||||
# MESSAGE_PINNAME = is the name of the hal pin group to be created
|
||||
|
||||
|
||||
MESSAGE_TEXT = This is a <span background="#ff0000" foreground="#ffffff">info message</span> test
|
||||
MESSAGE_TYPE = status
|
||||
MESSAGE_PINNAME = statustest
|
||||
|
||||
MESSAGE_TEXT = This is a yes no dialog test
|
||||
MESSAGE_TYPE = yesnodialog
|
||||
MESSAGE_PINNAME = yesnodialog
|
||||
|
||||
MESSAGE_TEXT = Text can be <small>small</small>, <big>big</big>, <b>bold</b>, <i>italic</i> and even be <span color="red">colored</span>.
|
||||
MESSAGE_TYPE = okdialog
|
||||
MESSAGE_PINNAME = okdialog
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 9.0
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
#NO_FORCE_HOMING = 1
|
||||
|
||||
# First axis
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME = -10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
189
configs/sim.gmoccapy/gmoccapy_pedant.ini
Executable file
189
configs/sim.gmoccapy/gmoccapy_pedant.ini
Executable file
@@ -0,0 +1,189 @@
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy_pendant
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
DEBUG = 0
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
EMBED_TAB_NAME = right_side_panel
|
||||
EMBED_TAB_LOCATION = box_right
|
||||
EMBED_TAB_COMMAND = gladevcp -H pendant.hal pendant.glade
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1mm, 0.1mm, 0.01mm, 0.001mm, 1.2345in
|
||||
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
#HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 9.0
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
#NO_FORCE_HOMING = 1
|
||||
|
||||
# First axis
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME = -10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
75
configs/sim.gmoccapy/gmoccapy_pendant.pref
Executable file
75
configs/sim.gmoccapy/gmoccapy_pendant.pref
Executable file
@@ -0,0 +1,75 @@
|
||||
[DEFAULT]
|
||||
dro_digits = 3
|
||||
dro_size = 28
|
||||
abs_color = #0000FF
|
||||
rel_color = #000000
|
||||
dtg_color = #FFFF00
|
||||
homed_color = #00FF00
|
||||
unhomed_color = #FF0000
|
||||
enable_dro = False
|
||||
scale_jog_vel = 140.4
|
||||
scale_spindle_override = 1
|
||||
scale_feed_override = 1
|
||||
scale_rapid_override = 1
|
||||
spindle_bar_min = 0.0
|
||||
spindle_bar_max = 6000.0
|
||||
turtle_jog_factor = 20
|
||||
hide_turtle_jog_button = False
|
||||
unlock_code = 123
|
||||
toggle_readout = True
|
||||
spindle_start_rpm = 300.0
|
||||
kbd_height = 250
|
||||
blockheight = 0.0
|
||||
open_file =
|
||||
screen1 = window
|
||||
hide_titlebar = False
|
||||
x_pos = 40
|
||||
y_pos = 30
|
||||
width = 979
|
||||
height = 750
|
||||
use_toolmeasurement = False
|
||||
gtk_theme = Follow System Theme
|
||||
icon_theme = classic
|
||||
audio_enabled = True
|
||||
audio_alert = /usr/share/sounds/freedesktop/stereo/dialog-warning.oga
|
||||
audio_error = /usr/share/sounds/freedesktop/stereo/dialog-error.oga
|
||||
grid_size = 1.0
|
||||
view = p
|
||||
mouse_btn_mode = 4
|
||||
hide_cursor = False
|
||||
hide_tooltips = False
|
||||
system_name_tool = Tool
|
||||
system_name_g5x = G5x
|
||||
system_name_rot = Rot
|
||||
system_name_g92 = G92
|
||||
system_name_g54 = G54
|
||||
system_name_g55 = G55
|
||||
system_name_g56 = G56
|
||||
system_name_g57 = G57
|
||||
system_name_g58 = G58
|
||||
system_name_g59 = G59
|
||||
system_name_g59.1 = G59.1
|
||||
system_name_g59.2 = G59.2
|
||||
system_name_g59.3 = G59.3
|
||||
jump_to_dir = /home/linuxcnc
|
||||
show_keyboard_on_offset = False
|
||||
show_keyboard_on_tooledit = False
|
||||
show_keyboard_on_edit = False
|
||||
show_keyboard_on_mdi = False
|
||||
x_pos_popup = 45.0
|
||||
y_pos_popup = 55
|
||||
width_popup = 250.0
|
||||
max_messages = 10
|
||||
message_font = sans 10
|
||||
use_frames = True
|
||||
reload_tool = True
|
||||
blockdel = False
|
||||
show_offsets = False
|
||||
show_dtg = False
|
||||
view_tool_path = True
|
||||
view_dimension = True
|
||||
run_from_line = no_run
|
||||
unlock_way = use
|
||||
show_preview_on_offset = False
|
||||
use_keyboard_shortcuts = False
|
||||
|
||||
27
configs/sim.gmoccapy/gmoccapy_postgui.hal
Executable file
27
configs/sim.gmoccapy/gmoccapy_postgui.hal
Executable file
@@ -0,0 +1,27 @@
|
||||
###################################################################
|
||||
# moccapy_postgui.hal file from Norbert Schechner #
|
||||
###################################################################
|
||||
|
||||
loadrt abs names=abs_spindle_feedback
|
||||
addf abs_spindle_feedback servo-thread
|
||||
|
||||
net spindle-speed-limited => abs_spindle_feedback.in
|
||||
net spindle-abs abs_spindle_feedback.out => gmoccapy.spindle_feedback_bar
|
||||
net spindle-at-speed gmoccapy.spindle_at_speed_led
|
||||
|
||||
# the unlink pin commands are only used, because they are connected
|
||||
# in core_sim.hal and we use this file to simulate
|
||||
unlinkp iocontrol.0.tool-change
|
||||
unlinkp iocontrol.0.tool-changed
|
||||
unlinkp iocontrol.0.tool-prep-number
|
||||
|
||||
#net tool-change gmoccapy.toolchange-change <= iocontrol.0.tool-change
|
||||
#net tool-changed gmoccapy.toolchange-changed <= iocontrol.0.tool-changed
|
||||
#net tool-prep-number gmoccapy.toolchange-number <= iocontrol.0.tool-prep-number
|
||||
|
||||
net tool-change-loop iocontrol.0.tool-change => iocontrol.0.tool-changed
|
||||
#net tool-prep-loop iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
|
||||
|
||||
net tooloffset-x gmoccapy.tooloffset-x <= motion.tooloffset.x
|
||||
net tooloffset-z gmoccapy.tooloffset-z <= motion.tooloffset.z
|
||||
|
||||
237
configs/sim.gmoccapy/gmoccapy_pyngcgui.ini
Executable file
237
configs/sim.gmoccapy/gmoccapy_pyngcgui.ini
Executable file
@@ -0,0 +1,237 @@
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy
|
||||
DEBUG = 0
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
EMBED_TAB_NAME = NGC-GUI
|
||||
EMBED_TAB_COMMAND = gladevcp -x {XID} pyngcgui.ui
|
||||
EMBED_TAB_LOCATION = ntb_user_tabs
|
||||
|
||||
# these are interpreted by ngcgui:
|
||||
#NGCGUI_OPTIONS = opt1 opt2 ...
|
||||
# opt items:
|
||||
# nonew -- disallow making new tab page
|
||||
# noremove -- disallow removing any tab page
|
||||
# noauto -- no autosend (makeFile, then manually send)
|
||||
# noiframe -- no internal image, image on separate toplevel
|
||||
# nom2 -- no m2 terminator (use %)
|
||||
# these are interpreted by touchy:
|
||||
NGCGUI_PREAMBLE = mm_std.ngc
|
||||
NGCGUI_SUBFILE = arc1.ngc
|
||||
NGCGUI_SUBFILE = arc2.ngc
|
||||
NGCGUI_SUBFILE = qpocket.ngc
|
||||
NGCGUI_SUBFILE = slot.ngc
|
||||
NGCGUI_SUBFILE = db25.ngc
|
||||
# NGCGUI_SUBFILE = gosper.ngc
|
||||
NGCGUI_SUBFILE = helix.ngc
|
||||
# NGCGUI_SUBFILE = helix_rtheta.ngc
|
||||
NGCGUI_SUBFILE = hole_circle.ngc
|
||||
NGCGUI_SUBFILE = ihex.ngc
|
||||
NGCGUI_SUBFILE = ohex.ngc
|
||||
NGCGUI_SUBFILE = iquad.ngc
|
||||
NGCGUI_SUBFILE = oquad.ngc
|
||||
NGCGUI_SUBFILE = rectangle_probe.ngc
|
||||
# NGCGUI_SUBFILE = simp.ngc
|
||||
NGCGUI_SUBFILE = xyz.ngc
|
||||
NGCGUI_SUBFILE = ""
|
||||
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Values that will be allowed for override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = 0.5
|
||||
|
||||
# Max and default jog speeds in units per second
|
||||
MAX_LINEAR_VELOCITY = 166
|
||||
DEFAULT_LINEAR_VELOCITY = 100
|
||||
MAX_ANGULAR_VELOCITY = 234
|
||||
DEFAULT_SPINDLE_SPEED = 450
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm, 1.2345 inch
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
SUBROUTINE_PATH = macros:../nc_files/ngcgui_lib:../nc_files/ngcgui_lib/utilitysubs
|
||||
USER_M_PATH = ../nc_files/ngcgui_lib/mfiles
|
||||
PARAMETER_FILE = sim.var
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 35
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
#NO_FORCE_HOMING = 1
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME = -10
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = go_to_position x-pos y-pos z-pos
|
||||
MACRO = i_am_lost
|
||||
MACRO = increment x-incr y-incr
|
||||
MACRO = macro_4
|
||||
MACRO = macro_5
|
||||
MACRO = macro_6
|
||||
MACRO = macro_7
|
||||
MACRO = macro_8
|
||||
MACRO = macro_9
|
||||
MACRO = macro_10
|
||||
MACRO = macro_11
|
||||
MACRO = macro_12
|
||||
MACRO = macro_13
|
||||
MACRO = macro_14
|
||||
MACRO = macro_15
|
||||
|
||||
|
||||
9
configs/sim.gmoccapy/gmoccapy_pyngcgui.txt
Executable file
9
configs/sim.gmoccapy/gmoccapy_pyngcgui.txt
Executable file
@@ -0,0 +1,9 @@
|
||||
Standard GMOCCCPAY configuration for a XYZ mill,
|
||||
|
||||
including
|
||||
|
||||
- example macros
|
||||
- pyngcgui in embedded user tab
|
||||
|
||||
|
||||
|
||||
184
configs/sim.gmoccapy/gmoccapy_right_panel.ini
Executable file
184
configs/sim.gmoccapy/gmoccapy_right_panel.ini
Executable file
@@ -0,0 +1,184 @@
|
||||
# General section -------------------------------------------------------------
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = gmoccapy right panel
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
DEBUG = 0
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
EMBED_TAB_NAME = right_side_panel
|
||||
EMBED_TAB_LOCATION = box_right
|
||||
EMBED_TAB_COMMAND = gladevcp -x {XID} -H vcp_box.hal vcp_box.glade
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1mm, 0.1mm, 0.01mm, 0.001mm, 1.2345in
|
||||
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 9.0
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
|
||||
# First axis
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
190
configs/sim.gmoccapy/gmoccapy_sim_hardware_button.ini
Executable file
190
configs/sim.gmoccapy/gmoccapy_sim_hardware_button.ini
Executable file
@@ -0,0 +1,190 @@
|
||||
# General section -------------------------------------------------------------
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = gmoccapy sim hardware button
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
DEBUG = 0
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
# this is to create separate windows and the corresponding hal files,
|
||||
# the name and location are only needed, because gscreen needs them to
|
||||
# initialize the tabs and then execute the command
|
||||
EMBED_TAB_NAME = left_side_panel
|
||||
EMBED_TAB_LOCATION = box_left
|
||||
EMBED_TAB_COMMAND = gladevcp -g 64x697+997+10 -H v_buttonlist.hal v_buttonlist.glade
|
||||
|
||||
EMBED_TAB_NAME = right_side_panel
|
||||
EMBED_TAB_LOCATION = box_right
|
||||
EMBED_TAB_COMMAND = gladevcp -g 995x64+0+805 -H h_buttonlist.hal h_buttonlist.glade
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1mm, 0.1mm, 0.01mm, 0.001mm, 1.2345in
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 9.0
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
|
||||
# First axis
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
221
configs/sim.gmoccapy/gmoccapy_tool_sensor.ini
Executable file
221
configs/sim.gmoccapy/gmoccapy_tool_sensor.ini
Executable file
@@ -0,0 +1,221 @@
|
||||
# General section -------------------------------------------------------------
|
||||
[EMC]
|
||||
VERSION = 1.1
|
||||
MACHINE = gmoccapy tool sensor
|
||||
DEBUG = 0x00080000
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
#[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
# We do explicit give an preference file here, because otherwise
|
||||
# the sim may not work on other computers. That is also the reason
|
||||
# we use the prefix para, so it will not be ignored from git
|
||||
PREFERENCE_FILE_PATH = gmoccapy_tool_sensor.para
|
||||
|
||||
EMBED_TAB_NAME = tool sensor
|
||||
EMBED_TAB_LOCATION = box_right
|
||||
EMBED_TAB_COMMAND = gladevcp -x {XID} -H tool_sensor.hal tool_sensor.glade
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
DEFAULT_SPINDLE_SPEED = 450
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.0 mm, 0.1 mm, 0.01 mm, 0.001 mm
|
||||
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# optional features - a bit mask to selectively turn on experimental/dubious features
|
||||
# see
|
||||
# RETAIN_G43 0x00000001
|
||||
# OWORD_N_ARGS 0x00000002
|
||||
# INI_VARS 0x00000004
|
||||
# HAL_PIN_VARS 0x00000008
|
||||
# NO_DOWNCASE_OWORD 0x00000010
|
||||
# turn on all optional features
|
||||
|
||||
# turn on optional features in this case just INI reading
|
||||
FEATURES=12
|
||||
|
||||
ON_ABORT_COMMAND=O <on_abort> call
|
||||
|
||||
# parameters exposed by change_prolog/evaluated by change_epilog:
|
||||
# #<tool_in_spindle>
|
||||
# #<selected_tool>
|
||||
# #<current_pocket>
|
||||
# #<selected_pocket>
|
||||
REMAP=M6 modalgroup=6 prolog=change_prolog ngc=change epilog=change_epilog
|
||||
|
||||
# accessible in interp as #<_[section]name>
|
||||
# start of tool length touchoff probe
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 9.0
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
#NO_FORCE_HOMING = 1
|
||||
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = 0
|
||||
MAX_LIMIT = 150.0
|
||||
MAX_VELOCITY = 15.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 15.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
STEPGEN_MAXACCEL = 750.5
|
||||
SCALE = 266.6666
|
||||
FERROR = 1
|
||||
MIN_FERROR = .25
|
||||
MIN_LIMIT = 0
|
||||
MAX_LIMIT = 150.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10.000
|
||||
HOME_SEARCH_VEL = 30
|
||||
HOME_LATCH_VEL = 10
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = 0
|
||||
MAX_LIMIT = 110.0
|
||||
MAX_VELOCITY = 15.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 15.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
STEPGEN_MAXACCEL = 750.5
|
||||
SCALE = 266.6666
|
||||
FERROR = 1
|
||||
MIN_FERROR = .25
|
||||
MIN_LIMIT = 0
|
||||
MAX_LIMIT = 110.0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = 10.000
|
||||
HOME_SEARCH_VEL = 30
|
||||
HOME_LATCH_VEL = 10
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -100.0
|
||||
MAX_LIMIT = 0
|
||||
MAX_VELOCITY = 15.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
MAX_VELOCITY = 15.0
|
||||
MAX_ACCELERATION = 500.0
|
||||
STEPGEN_MAXACCEL = 750.5
|
||||
SCALE = 266.6666
|
||||
FERROR = 1
|
||||
MIN_FERROR = .25
|
||||
MIN_LIMIT = -100.0
|
||||
MAX_LIMIT = 0
|
||||
HOME_OFFSET = 0.0
|
||||
HOME = -10.000
|
||||
HOME_SEARCH_VEL = 30
|
||||
HOME_LATCH_VEL = 10
|
||||
HOME_IGNORE_LIMITS = YES
|
||||
HOME_SEQUENCE = 0
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[TOOLSENSOR]
|
||||
X = 10
|
||||
Y = 10
|
||||
Z = -20
|
||||
# abort change if no toolsensor contact after this probe distance
|
||||
MAXPROBE = -20
|
||||
|
||||
# this is not named TOOL_CHANGE_POSITION on purpose - canon uses it and will
|
||||
# interfere
|
||||
[CHANGE_POSITION]
|
||||
X = 10
|
||||
Y = 10
|
||||
Z = -2
|
||||
|
||||
# the Python plugins serves interpreter and task
|
||||
[PYTHON]
|
||||
PATH_PREPEND = python
|
||||
TOPLEVEL = python/toplevel.py
|
||||
LOG_LEVEL = 8
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
80
configs/sim.gmoccapy/gmoccapy_tool_sensor.para
Executable file
80
configs/sim.gmoccapy/gmoccapy_tool_sensor.para
Executable file
@@ -0,0 +1,80 @@
|
||||
[DEFAULT]
|
||||
dro_size = 28
|
||||
abs_color = #0000FF
|
||||
rel_color = #000000
|
||||
dtg_color = #FFFF00
|
||||
homed_color = #00FF00
|
||||
unhomed_color = #FF0000
|
||||
spindle_bar_min = 0.0
|
||||
spindle_bar_max = 6000.0
|
||||
unlock_code = 123
|
||||
probeheight = 22.0
|
||||
searchvel = 75.0
|
||||
probevel = 10.0
|
||||
use_toolmeasurement = True
|
||||
blockheight = 55.0
|
||||
spindle_start_rpm = 300.0
|
||||
scale_jog_vel = 140.4
|
||||
scale_spindle_override = 1
|
||||
scale_feed_override = 1
|
||||
scale_rapid_override = 1
|
||||
hide_turtle_jog_button = False
|
||||
turtle_jog_factor = 20
|
||||
open_file =
|
||||
screen1 = window
|
||||
x_pos = 40
|
||||
y_pos = 30
|
||||
width = 979
|
||||
height = 750
|
||||
use_screen2 = False
|
||||
gtk_theme = Follow System Theme
|
||||
audio_alert = /usr/share/sounds/freedesktop/stereo/dialog-warning.oga
|
||||
audio_error = /usr/share/sounds/freedesktop/stereo/dialog-error.oga
|
||||
grid_size = 1.0
|
||||
view = p
|
||||
mouse_btn_mode = 4
|
||||
hide_cursor = False
|
||||
system_name_tool = Tool
|
||||
system_name_g5x = G5x
|
||||
system_name_rot = Rot
|
||||
system_name_g92 = G92
|
||||
system_name_g54 = G54
|
||||
system_name_g55 = G55
|
||||
system_name_g56 = G56
|
||||
system_name_g57 = G57
|
||||
system_name_g58 = G58
|
||||
system_name_g59 = G59
|
||||
system_name_g59.1 = G59.1
|
||||
system_name_g59.2 = G59.2
|
||||
system_name_g59.3 = G59.3
|
||||
jump_to_dir = /home/emcmesa
|
||||
show_keyboard_on_offset = False
|
||||
show_keyboard_on_tooledit = False
|
||||
show_keyboard_on_edit = True
|
||||
show_keyboard_on_mdi = True
|
||||
show_keyboard_on_file_selection = False
|
||||
x_pos_popup = 45.0
|
||||
y_pos_popup = 55
|
||||
width_popup = 250.0
|
||||
max_messages = 10
|
||||
message_font = sans 10
|
||||
use_frames = True
|
||||
reload_tool = True
|
||||
blockdel = False
|
||||
opstop = False
|
||||
enable_dro = False
|
||||
show_offsets = False
|
||||
show_dtg = False
|
||||
view_tool_path = True
|
||||
view_dimension = True
|
||||
run_from_line = no_run
|
||||
unlock_way = use
|
||||
show_preview_on_offset = False
|
||||
use_keyboard_shortcuts = False
|
||||
dro_digits = 3
|
||||
toggle_readout = True
|
||||
tool_in_spindle = 5
|
||||
offset_axis_x = 0.0
|
||||
offset_axis_y = 0.0
|
||||
offset_axis_z = 0.0
|
||||
|
||||
207
configs/sim.gmoccapy/gmoccapy_with_user_tabs.ini
Executable file
207
configs/sim.gmoccapy/gmoccapy_with_user_tabs.ini
Executable file
@@ -0,0 +1,207 @@
|
||||
# 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 = 1.1
|
||||
MACHINE = gmoccapy with user tabs
|
||||
#DEBUG = 0x7FFFFFFF
|
||||
DEBUG = 0
|
||||
|
||||
# Sections for display options ------------------------------------------------
|
||||
[DISPLAY]
|
||||
DISPLAY = gmoccapy
|
||||
|
||||
#EMBED_TAB_NAME = right_side_panel
|
||||
#EMBED_TAB_LOCATION = box_right
|
||||
#EMBED_TAB_COMMAND = gladevcp -x {XID} v_buttonlist.glade
|
||||
|
||||
#EMBED_TAB_NAME = left_side_panel
|
||||
#EMBED_TAB_LOCATION = box_left
|
||||
#EMBED_TAB_COMMAND = gladevcp -x {XID} vcp_box.glade
|
||||
|
||||
EMBED_TAB_NAME = 6 Button
|
||||
EMBED_TAB_LOCATION = ntb_preview
|
||||
EMBED_TAB_COMMAND = gladevcp -x {XID} button.glade
|
||||
|
||||
EMBED_TAB_NAME = DRO
|
||||
EMBED_TAB_LOCATION = ntb_user_tabs
|
||||
EMBED_TAB_COMMAND = gladevcp -x {XID} dro.glade
|
||||
|
||||
EMBED_TAB_NAME = Second user tab
|
||||
EMBED_TAB_LOCATION = ntb_preview
|
||||
EMBED_TAB_COMMAND = gladevcp -x {XID} -H vcp_box.hal vcp_box.glade
|
||||
|
||||
#EMBED_TAB_NAME = Camera
|
||||
#EMBED_TAB_LOCATION = ntb_user_tabs
|
||||
#EMBED_TAB_COMMAND = camview-emc -w {XID}
|
||||
|
||||
# Cycle time, in milliseconds, that display will sleep between polls
|
||||
CYCLE_TIME = 100
|
||||
|
||||
# Highest value that will be allowed for feed override, 1.0 = 100%
|
||||
MAX_FEED_OVERRIDE = 1.5
|
||||
MAX_SPINDLE_OVERRIDE = 1.2
|
||||
MIN_SPINDLE_OVERRIDE = .5
|
||||
|
||||
# Prefix to be used
|
||||
PROGRAM_PREFIX = /home/linuxcnc/linuxcnc/nc_files
|
||||
|
||||
# Introductory graphic
|
||||
INTRO_GRAPHIC = linuxcnc.gif
|
||||
INTRO_TIME = 5
|
||||
|
||||
# list of selectable jog increments
|
||||
INCREMENTS = 1.000 mm, 0.100 mm, 0.010 mm, 0.001 mm, 1.2345 in
|
||||
|
||||
# for details see nc_files/subroutines/maco_instructions.txt
|
||||
[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 = python3
|
||||
|
||||
# Task controller section -----------------------------------------------------
|
||||
[RS274NGC]
|
||||
RS274NGC_STARTUP_CODE = G17 G21 G40 G43H0 G54 G64P0.005 G80 G90 G94 G97 M5 M9
|
||||
PARAMETER_FILE = sim.var
|
||||
SUBROUTINE_PATH = macros
|
||||
|
||||
# Motion control section ------------------------------------------------------
|
||||
[EMCMOT]
|
||||
EMCMOT = motmod
|
||||
COMM_TIMEOUT = 1.0
|
||||
BASE_PERIOD = 100000
|
||||
SERVO_PERIOD = 1000000
|
||||
|
||||
# Hardware Abstraction Layer section --------------------------------------------------
|
||||
[TASK]
|
||||
TASK = milltask
|
||||
CYCLE_TIME = 0.001
|
||||
|
||||
# Part program interpreter section --------------------------------------------
|
||||
[HAL]
|
||||
HALFILE = core_sim.hal
|
||||
HALFILE = spindle_sim.hal
|
||||
HALFILE = simulated_home.hal
|
||||
|
||||
# Single file that is executed after the GUI has started.
|
||||
POSTGUI_HALFILE = gmoccapy_postgui.hal
|
||||
|
||||
HALUI = halui
|
||||
|
||||
# Trajectory planner section --------------------------------------------------
|
||||
[HALUI]
|
||||
#No Content
|
||||
|
||||
[TRAJ]
|
||||
COORDINATES = X Y Z
|
||||
LINEAR_UNITS = mm
|
||||
ANGULAR_UNITS = degree
|
||||
DEFAULT_LINEAR_VELOCITY = 9.0
|
||||
MAX_LINEAR_VELOCITY = 234
|
||||
POSITION_FILE = position.txt
|
||||
|
||||
# First axis
|
||||
[EMCIO]
|
||||
EMCIO = io
|
||||
CYCLE_TIME = 0.100
|
||||
|
||||
# tool table file
|
||||
TOOL_TABLE = tool.tbl
|
||||
TOOL_CHANGE_POSITION = 100 100 -10
|
||||
TOOL_CHANGE_QUILL_UP = 1
|
||||
|
||||
[KINS]
|
||||
KINEMATICS = trivkins coordinates=xyz
|
||||
JOINTS = 3
|
||||
|
||||
[AXIS_X]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_0]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# Second axis
|
||||
[AXIS_Y]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_1]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.000
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 400.0
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 0.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 1
|
||||
|
||||
# Third axis
|
||||
[AXIS_Z]
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
|
||||
[JOINT_2]
|
||||
TYPE = LINEAR
|
||||
HOME = 0.0
|
||||
MAX_VELOCITY = 166
|
||||
MAX_ACCELERATION = 1500.0
|
||||
BACKLASH = 0.000
|
||||
INPUT_SCALE = 4000
|
||||
OUTPUT_SCALE = 1.000
|
||||
MIN_LIMIT = -400.0
|
||||
MAX_LIMIT = 0.001
|
||||
FERROR = 0.050
|
||||
MIN_FERROR = 0.010
|
||||
HOME_OFFSET = 1.0
|
||||
HOME_SEARCH_VEL = 200.0
|
||||
HOME_LATCH_VEL = 20.0
|
||||
HOME_USE_INDEX = NO
|
||||
HOME_IGNORE_LIMITS = NO
|
||||
HOME_SEQUENCE = 0
|
||||
HOME_IS_SHARED = 1
|
||||
|
||||
# section for main IO controller parameters -----------------------------------
|
||||
[MACROS]
|
||||
MACRO = i_am_lost
|
||||
MACRO = halo_world
|
||||
MACRO = jog_around
|
||||
MACRO = increment xinc yinc
|
||||
MACRO = go_to_position X-pos Y-pos Z-pos
|
||||
2
configs/sim.gmoccapy/gmoccapy_with_user_tabs.txt
Executable file
2
configs/sim.gmoccapy/gmoccapy_with_user_tabs.txt
Executable file
@@ -0,0 +1,2 @@
|
||||
GMOCCAPY configuration demonstrating the capabilities of using user tabs.
|
||||
|
||||
165
configs/sim.gmoccapy/h_buttonlist.glade
Executable file
165
configs/sim.gmoccapy/h_buttonlist.glade
Executable file
@@ -0,0 +1,165 @@
|
||||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<!-- interface-requires gladevcp 0.0 -->
|
||||
<!-- interface-requires gtk+ 2.8 -->
|
||||
<!-- interface-naming-policy project-wide -->
|
||||
<object class="GtkWindow" id="window1">
|
||||
<child>
|
||||
<object class="GtkHButtonBox" id="hbuttonbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<property name="layout_style">spread</property>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_0">
|
||||
<property name="label" translatable="yes">h_button_0</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_1">
|
||||
<property name="label" translatable="yes">h_button_1</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_2">
|
||||
<property name="label" translatable="yes">h_button_2</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_3">
|
||||
<property name="label" translatable="yes">h_button_3</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_4">
|
||||
<property name="label" translatable="yes">h_button_4</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_5">
|
||||
<property name="label" translatable="yes">h_button_5</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_6">
|
||||
<property name="label" translatable="yes">h_button_6</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">6</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_7">
|
||||
<property name="label" translatable="yes">h_button_7</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">7</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_8">
|
||||
<property name="label" translatable="yes">h_button_8</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">8</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="h_button_9">
|
||||
<property name="label" translatable="yes">h_button_9</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">9</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
15
configs/sim.gmoccapy/h_buttonlist.hal
Executable file
15
configs/sim.gmoccapy/h_buttonlist.hal
Executable file
@@ -0,0 +1,15 @@
|
||||
###################################################################
|
||||
# gmoccapy hal file from Norbert Schechner #
|
||||
###################################################################
|
||||
|
||||
net h_hardware_button_0 h_buttonlist.h_button_0 => gmoccapy.h-button.button-0
|
||||
net h_hardware_button_1 h_buttonlist.h_button_1 => gmoccapy.h-button.button-1
|
||||
net h_hardware_button_2 h_buttonlist.h_button_2 => gmoccapy.h-button.button-2
|
||||
net h_hardware_button_3 h_buttonlist.h_button_3 => gmoccapy.h-button.button-3
|
||||
net h_hardware_button_4 h_buttonlist.h_button_4 => gmoccapy.h-button.button-4
|
||||
net h_hardware_button_5 h_buttonlist.h_button_5 => gmoccapy.h-button.button-5
|
||||
net h_hardware_button_6 h_buttonlist.h_button_6 => gmoccapy.h-button.button-6
|
||||
net h_hardware_button_7 h_buttonlist.h_button_7 => gmoccapy.h-button.button-7
|
||||
net h_hardware_button_8 h_buttonlist.h_button_8 => gmoccapy.h-button.button-8
|
||||
net h_hardware_button_9 h_buttonlist.h_button_9 => gmoccapy.h-button.button-9
|
||||
|
||||
119
configs/sim.gmoccapy/jogwheel.glade
Executable file
119
configs/sim.gmoccapy/jogwheel.glade
Executable file
@@ -0,0 +1,119 @@
|
||||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-requires gladevcp 0.0 -->
|
||||
<!-- interface-naming-policy project-wide -->
|
||||
<object class="GtkWindow" id="window1">
|
||||
<child>
|
||||
<object class="GtkVBox" id="vbox1">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="spacing">4</property>
|
||||
<child>
|
||||
<object class="JogWheel" id="jog-wheel-spindle">
|
||||
<property name="visible">True</property>
|
||||
<property name="show_counts">False</property>
|
||||
<property name="label">Spindle</property>
|
||||
<property name="size">100</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="JogWheel" id="jog-wheel-feed">
|
||||
<property name="visible">True</property>
|
||||
<property name="show_counts">False</property>
|
||||
<property name="label">Feed</property>
|
||||
<property name="size">100</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox3">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="JogWheel" id="jog-wheel-jog">
|
||||
<property name="visible">True</property>
|
||||
<property name="show_counts">False</property>
|
||||
<property name="label">Jog. Vel.</property>
|
||||
<property name="size">100</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="JogWheel" id="jog-wheel-max">
|
||||
<property name="visible">True</property>
|
||||
<property name="show_counts">False</property>
|
||||
<property name="label">Max. Vel.</property>
|
||||
<property name="size">100</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="JogWheel" id="jog-wheel-x">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">Axis X</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="JogWheel" id="jog-wheel-y">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">Axis Y</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="JogWheel" id="jog-wheel-z">
|
||||
<property name="visible">True</property>
|
||||
<property name="label">Axis Z</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
16
configs/sim.gmoccapy/jogwheel.hal
Executable file
16
configs/sim.gmoccapy/jogwheel.hal
Executable file
@@ -0,0 +1,16 @@
|
||||
# connect encoder count, select the one you need
|
||||
net jog-spindle jogwheel.jog-wheel-spindle => gmoccapy.spindle-override-counts
|
||||
net jog-feed jogwheel.jog-wheel-feed => gmoccapy.feed-override-counts
|
||||
net jog-max-vel jogwheel.jog-wheel-max => gmoccapy.max-vel-counts
|
||||
net jog-jog jogwheel.jog-wheel-jog => gmoccapy.jog-speed-counts
|
||||
|
||||
net jog-x jogwheel.jog-wheel-x => axis.0.jog-counts
|
||||
net jog-y jogwheel.jog-wheel-y => axis.1.jog-counts
|
||||
net jog-z jogwheel.jog-wheel-z => axis.2.jog-counts
|
||||
|
||||
setp axis.0.jog-enable 1
|
||||
setp axis.1.jog-enable 1
|
||||
setp axis.2.jog-enable 1
|
||||
|
||||
net scale axis.2.jog-scale <= axis.1.jog-scale <= axis.0.jog-scale <= gmoccapy.jog-increment
|
||||
|
||||
5
configs/sim.gmoccapy/lathe.tbl
Executable file
5
configs/sim.gmoccapy/lathe.tbl
Executable file
@@ -0,0 +1,5 @@
|
||||
T1 P1 D0.400000 X-120.000000 Z-25.000000 I+26.000000 J+86.000000 Q2 ;60 Grad vorn
|
||||
T2 P2 D0.100000 X-36.337581 Z+39.000000 I+50.000000 J+85.000000 Q2 ;35 Grad vorn
|
||||
T3 P3 D0.400000 X-54.337581 Z-160.258367 I-80.000000 J-25.000000 Q3 ;55 Grad vorn
|
||||
T4 P4 D0.100000 I+94.000000 J+154.000000 Q1 ;60 Grad Rück
|
||||
T5 P5 D0.100000 X+5.737000 Z+12.239900 Q6 ;Einstichstahl
|
||||
10
configs/sim.gmoccapy/left.hal
Executable file
10
configs/sim.gmoccapy/left.hal
Executable file
@@ -0,0 +1,10 @@
|
||||
|
||||
net v_hardware_button_0 v_buttonlist.v_button_0 => gmoccapy.v-button-0
|
||||
net v_hardware_button_1 v_buttonlist.v_button_1 => gmoccapy.v-button-1
|
||||
net v_hardware_button_2 v_buttonlist.v_button_2 => gmoccapy.v-button-2
|
||||
net v_hardware_button_3 v_buttonlist.v_button_3 => gmoccapy.v-button-3
|
||||
net v_hardware_button_4 v_buttonlist.v_button_4 => gmoccapy.v-button-4
|
||||
net v_hardware_button_5 v_buttonlist.v_button_5 => gmoccapy.v-button-5
|
||||
net v_hardware_button_6 v_buttonlist.v_button_6 => gmoccapy.v-button-6
|
||||
|
||||
|
||||
13
configs/sim.gmoccapy/left_panel.hal
Executable file
13
configs/sim.gmoccapy/left_panel.hal
Executable file
@@ -0,0 +1,13 @@
|
||||
###################################################################
|
||||
# gmoccapy hal file from Norbert Schechner #
|
||||
###################################################################
|
||||
|
||||
net v_button_0 v_buttonlist.v_button_0 => gmoccapy.v-button-0
|
||||
net v_button_1 v_buttonlist.v_button_1 => gmoccapy.v-button-1
|
||||
net v_button_2 v_buttonlist.v_button_2 => gmoccapy.v-button-2
|
||||
net v_button_3 v_buttonlist.v_button_3 => gmoccapy.v-button-3
|
||||
net v_button_4 v_buttonlist.v_button_4 => gmoccapy.v-button-4
|
||||
net v_button_5 v_buttonlist.v_button_5 => gmoccapy.v-button-5
|
||||
net v_button_6 v_buttonlist.v_button_6 => gmoccapy.v-button-6
|
||||
|
||||
|
||||
75
configs/sim.gmoccapy/macros/change.ngc
Executable file
75
configs/sim.gmoccapy/macros/change.ngc
Executable file
@@ -0,0 +1,75 @@
|
||||
|
||||
o<change> sub
|
||||
;(debug, in change tool_in_spindle=#<tool_in_spindle> current_pocket=#<current_pocket>)
|
||||
;(debug, selected_tool=#<selected_tool> selected_pocket=#<selected_pocket>)
|
||||
|
||||
;otherwise after the M6 this information is gone!
|
||||
#<tool> = #<selected_tool>
|
||||
#<pocket> = #<selected_pocket>
|
||||
|
||||
; we must execute this only in the milltask interpreter
|
||||
; or preview will break, so test for '#<_task>' which is 1 for
|
||||
; the milltask interpreter and 0 in the UI's
|
||||
O100 if [#<_task> EQ 0]
|
||||
(debug, Task ist Null)
|
||||
O100 return [999]
|
||||
O100 endif
|
||||
|
||||
;first go up
|
||||
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
|
||||
; then move to change position
|
||||
G53 G0 X[#<_ini[CHANGE_POSITION]X>] Y[#<_ini[CHANGE_POSITION]Y>]
|
||||
|
||||
; cancel tool offset
|
||||
G49
|
||||
|
||||
; using the code being remapped here means 'use builtin behaviour'
|
||||
M6
|
||||
|
||||
O200 if [#<_hal[gmoccapy.toolmeasurement]> EQ 0]
|
||||
O200 return [3] ; indicate no tool measurement
|
||||
O200 endif
|
||||
|
||||
G53 G0 X[#<_ini[TOOLSENSOR]X>] Y[#<_ini[TOOLSENSOR]Y>]
|
||||
G53 G0 Z[#<_ini[TOOLSENSOR]Z>]
|
||||
|
||||
O300 if [#<_hal[gmoccapy.searchvel]> LE 0]
|
||||
O300 return [-1] ; indicate searchvel <= 0
|
||||
O300 endif
|
||||
|
||||
O400 if [#<_hal[gmoccapy.probevel]> LE 0]
|
||||
O400 return [-2] ; indicate probevel <= 0
|
||||
O400 endif
|
||||
|
||||
F #<_hal[gmoccapy.searchvel]>
|
||||
G91
|
||||
G38.2 Z #<_ini[TOOLSENSOR]MAXPROBE>
|
||||
G0 Z2
|
||||
; This is commented out only for sim.
|
||||
;F #<_hal[gmoccapy.probevel]>
|
||||
;G38.2 Z-4
|
||||
|
||||
O500 if [#5070 EQ 0]
|
||||
G90
|
||||
O500 return [-3] ; indicate probe contact failure to epilog
|
||||
O500 endif
|
||||
|
||||
G90
|
||||
G53 G0 Z[#<_ini[CHANGE_POSITION]Z>]
|
||||
|
||||
#<touch_result> = #5063
|
||||
#<probeheight> = #<_hal[gmoccapy.probeheight]>
|
||||
#<blockheight> = #<_hal[gmoccapy.blockheight]>
|
||||
|
||||
;(DEBUG, #<touch_result> #<probeheight> #<blockheight>)
|
||||
|
||||
G10 L1 P#<tool> Z[#<touch_result> - #<_hal[gmoccapy.probeheight]> + #<_hal[gmoccapy.blockheight]>]
|
||||
G43
|
||||
|
||||
;G10 L1 P#<tool> Z#<touch_result>
|
||||
;G10 L2 P0 Z[#<workpieceheight> + #<probeheight> + #<touch_result>]
|
||||
|
||||
; signal success be returning a value > 0:
|
||||
o<change> endsub [1]
|
||||
|
||||
|
||||
27
configs/sim.gmoccapy/macros/go_to_position.ngc
Executable file
27
configs/sim.gmoccapy/macros/go_to_position.ngc
Executable file
@@ -0,0 +1,27 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
; the image path must be relative from your config dir or absolute, "~" is allowed
|
||||
(IMAGE, ./macros/images/goto_x_y_z.png)
|
||||
|
||||
O<go_to_position> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<go_to_position> endsub
|
||||
|
||||
M2
|
||||
26
configs/sim.gmoccapy/macros/halo_world.ngc
Executable file
26
configs/sim.gmoccapy/macros/halo_world.ngc
Executable file
@@ -0,0 +1,26 @@
|
||||
; Testfile I am Lost
|
||||
; will just give messages
|
||||
|
||||
O<halo_world> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
G0 X10
|
||||
|
||||
(MSG, Hallo Welt)
|
||||
(MSG, halo world)
|
||||
(MSG, why does this apeera as an error?)
|
||||
|
||||
G0X-10
|
||||
|
||||
O<halo_world> endsub
|
||||
|
||||
M2
|
||||
|
||||
27
configs/sim.gmoccapy/macros/i_am_lost.ngc
Executable file
27
configs/sim.gmoccapy/macros/i_am_lost.ngc
Executable file
@@ -0,0 +1,27 @@
|
||||
; Testfile I am Lost
|
||||
; will jog to machine cero and set all axis to cero
|
||||
|
||||
; the image path must be relative from your config dir or absolute, "~" is allowed
|
||||
(IMAGE, ./macros/images/i_am_lost.png)
|
||||
|
||||
O<i_am_lost> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
(MSG, Will now move to machine cero)
|
||||
G53 G0 X0 Y0 Z0
|
||||
(MSG, will now set all axis to cero)
|
||||
G10 L20 P0 X0 Y0 Z0
|
||||
(MSG, all done)
|
||||
|
||||
|
||||
O<i_am_lost> endsub
|
||||
|
||||
M2
|
||||
BIN
configs/sim.gmoccapy/macros/images/goto_x_y_z.png
Executable file
BIN
configs/sim.gmoccapy/macros/images/goto_x_y_z.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
BIN
configs/sim.gmoccapy/macros/images/i_am_lost.png
Executable file
BIN
configs/sim.gmoccapy/macros/images/i_am_lost.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 14 KiB |
BIN
configs/sim.gmoccapy/macros/images/macro_8.png
Executable file
BIN
configs/sim.gmoccapy/macros/images/macro_8.png
Executable file
Binary file not shown.
|
After Width: | Height: | Size: 217 KiB |
22
configs/sim.gmoccapy/macros/increment.ngc
Executable file
22
configs/sim.gmoccapy/macros/increment.ngc
Executable file
@@ -0,0 +1,22 @@
|
||||
; Testfile I am Lost
|
||||
; will jog to machine cero and set all axis to cero
|
||||
|
||||
O<increment> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
G91 G0 X#1 Y#2
|
||||
G90
|
||||
|
||||
(DEBUG, X was [#1] and Y was [#2])
|
||||
|
||||
O<increment> endsub
|
||||
|
||||
M2
|
||||
29
configs/sim.gmoccapy/macros/jog_around.ngc
Executable file
29
configs/sim.gmoccapy/macros/jog_around.ngc
Executable file
@@ -0,0 +1,29 @@
|
||||
; Testfile I am Lost
|
||||
; will just jog a little bit around
|
||||
|
||||
O<jog_around> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
G91 G0 X 25
|
||||
Y-25
|
||||
Z-25
|
||||
Y25
|
||||
X-25
|
||||
Z25
|
||||
F250
|
||||
G2 I 25
|
||||
|
||||
(MSG, It is done!)
|
||||
|
||||
O<jog_around> endsub
|
||||
|
||||
M2
|
||||
|
||||
24
configs/sim.gmoccapy/macros/macro_0.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_0.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_0> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_0> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_1.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_1.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_1> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_1> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_10.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_10.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_10> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_10> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_11.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_11.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_11> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_11> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_12.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_12.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_12> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_12> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_13.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_13.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_13> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_13> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_14.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_14.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_14> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_14> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_15.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_15.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_15> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_15> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_2.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_2.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_2> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_2> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_3.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_3.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_3> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_3> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_4.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_4.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_4> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_4> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_5.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_5.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_5> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_5> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_6.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_6.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_6> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_6> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_7.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_7.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_7> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_7> endsub
|
||||
|
||||
M2
|
||||
27
configs/sim.gmoccapy/macros/macro_8.ngc
Executable file
27
configs/sim.gmoccapy/macros/macro_8.ngc
Executable file
@@ -0,0 +1,27 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
; the image path must be relative from your config dir or absolute, "~" is allowed
|
||||
(IMAGE, ./macros/images/macro_8.png)
|
||||
|
||||
O<macro_8> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_8> endsub
|
||||
|
||||
M2
|
||||
24
configs/sim.gmoccapy/macros/macro_9.ngc
Executable file
24
configs/sim.gmoccapy/macros/macro_9.ngc
Executable file
@@ -0,0 +1,24 @@
|
||||
; Testfile go to position
|
||||
; will jog the machine to a position to give
|
||||
|
||||
O<macro_9> sub
|
||||
|
||||
G17
|
||||
G21
|
||||
G54
|
||||
G61
|
||||
G40
|
||||
G49
|
||||
G80
|
||||
G90
|
||||
|
||||
;#1 = <X-Pos>
|
||||
;#2 = <Y-Pos>
|
||||
;#3 = <Z-Pos>
|
||||
|
||||
(DBG, Will now move machine to X = #1 , Y = #2 , Z = #3)
|
||||
G0 X #1 Y #2 Z #3
|
||||
|
||||
O<macro_9> endsub
|
||||
|
||||
M2
|
||||
44
configs/sim.gmoccapy/macros/macro_Instructions.txt
Executable file
44
configs/sim.gmoccapy/macros/macro_Instructions.txt
Executable file
@@ -0,0 +1,44 @@
|
||||
This is a small instruction to include macros in gmoccapy.
|
||||
|
||||
In your INI File you need to introduce a section called [MACROS]
|
||||
and for every macro you'll need to include a one-liner like so:
|
||||
|
||||
MACRO = jog_around
|
||||
or
|
||||
MACRO = increment xinc yinc
|
||||
|
||||
where xinc and yinc are placeholders
|
||||
|
||||
During execution of the macro, you will be asked to enter the values.
|
||||
|
||||
You are allowed to introduce 9 macros!
|
||||
If you enter more macros, only the first 9 will appear with button in gmoccapy.
|
||||
|
||||
In the [RS274NGC] section you may want to give a path to your macros like so:
|
||||
|
||||
[RS274NGC]
|
||||
SUBROUTINE_PATH = nc_files/subroutines
|
||||
|
||||
or you place your macros in the nc_files folder.
|
||||
|
||||
Each macro must have it's own file in one of the mentioned folders and they are normal subroutines, so the must begin with:
|
||||
|
||||
O<jog_around> sub
|
||||
|
||||
and end with
|
||||
|
||||
O<jog_around> endsub
|
||||
M2
|
||||
|
||||
The name of the file must be jog_around.ngc.
|
||||
And an macro must contain at least one movement of one axis.
|
||||
|
||||
macro name in INI file have to be the same as the file name and the sub must have also the same name (case sensitive!)!
|
||||
|
||||
BE CAREFUL:
|
||||
At this development step, the macros can only be interrupted by pressing the machine off button or the emergency exit button! I will check how to make this more secure!
|
||||
|
||||
Hope this does help.
|
||||
|
||||
Norbert
|
||||
|
||||
9
configs/sim.gmoccapy/macros/on_abort.ngc
Executable file
9
configs/sim.gmoccapy/macros/on_abort.ngc
Executable file
@@ -0,0 +1,9 @@
|
||||
%
|
||||
o<on_abort> sub
|
||||
|
||||
G90
|
||||
G40
|
||||
G49
|
||||
|
||||
o<on_abort> endsub
|
||||
%
|
||||
401
configs/sim.gmoccapy/pendant.glade
Executable file
401
configs/sim.gmoccapy/pendant.glade
Executable file
@@ -0,0 +1,401 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<!-- interface-requires gladevcp 0.0 -->
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-naming-policy project-wide -->
|
||||
<object class="GtkWindow" id="window1">
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkVBox" id="vbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">4</property>
|
||||
<child>
|
||||
<object class="GtkVButtonBox" id="vbuttonbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="feed">
|
||||
<property name="label" translatable="yes">feed</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">override-off</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="spindle">
|
||||
<property name="label" translatable="yes">spindle</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">override-off</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="JogWheel" id="override-wheel-counts">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label">Spindle</property>
|
||||
<property name="show_counts">False</property>
|
||||
<property name="size">100</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkVButtonBox" id="vbuttonbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="rapid">
|
||||
<property name="label" translatable="yes">rapid</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">override-off</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="jogvel">
|
||||
<property name="label" translatable="yes">jog vel</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">override-off</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHButtonBox" id="hbuttonbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="override-off">
|
||||
<property name="label" translatable="yes">Off</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel" id="label1">
|
||||
<property name="height_request">50</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes"> </property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox2">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="JogWheel" id="jog-wheel-counts">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label">Axis X</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkVButtonBox" id="vbuttonbox3">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="jog-off">
|
||||
<property name="label" translatable="yes">Off</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="jog-x">
|
||||
<property name="label" translatable="yes">X</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">jog-off</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="jog-y">
|
||||
<property name="label" translatable="yes">Y</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">jog-off</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="jog-z">
|
||||
<property name="label" translatable="yes">Z</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">jog-off</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkFrame" id="frame1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label_xalign">0.5</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="alignment1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="top_padding">5</property>
|
||||
<property name="bottom_padding">5</property>
|
||||
<property name="left_padding">5</property>
|
||||
<property name="right_padding">5</property>
|
||||
<child>
|
||||
<object class="GtkTable" id="table1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="n_rows">2</property>
|
||||
<property name="n_columns">3</property>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="rbt_incr_0">
|
||||
<property name="label" translatable="yes">OFF</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="rbt_incr_1">
|
||||
<property name="label" translatable="yes">1,000</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">rbt_incr_0</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="rbt_incr_2">
|
||||
<property name="label" translatable="yes">0,100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">rbt_incr_0</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="rbt_incr_3">
|
||||
<property name="label" translatable="yes">0,010</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">rbt_incr_0</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="rbt_incr_4">
|
||||
<property name="label" translatable="yes">0,001</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">rbt_incr_0</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">1</property>
|
||||
<property name="right_attach">2</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_RadioButton" id="rbt_incr_5">
|
||||
<property name="label" translatable="yes">1,1234</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_action_appearance">False</property>
|
||||
<property name="yalign">0.4699999988079071</property>
|
||||
<property name="draw_indicator">False</property>
|
||||
<property name="group">rbt_incr_0</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="left_attach">2</property>
|
||||
<property name="right_attach">3</property>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="lbl_og_Increments">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes"><b>Jog Increments</b></property>
|
||||
<property name="use_markup">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">True</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
48
configs/sim.gmoccapy/pendant.hal
Executable file
48
configs/sim.gmoccapy/pendant.hal
Executable file
@@ -0,0 +1,48 @@
|
||||
# connect encoder count, select the one you need
|
||||
net jog-counts pendant.jog-wheel-counts
|
||||
net jog-counts axis.x.jog-counts
|
||||
net jog-counts axis.y.jog-counts
|
||||
net jog-counts axis.z.jog-counts
|
||||
|
||||
net jog-x axis.x.jog-enable <= pendant.jog-x
|
||||
net jog-y axis.y.jog-enable <= pendant.jog-y
|
||||
net jog-z axis.z.jog-enable <= pendant.jog-z
|
||||
|
||||
# Set the scales per count / Faktor je count setzen
|
||||
# we could set them to fix value like
|
||||
# setp axis.z.jog-scale 0.05
|
||||
# setp axis.y.jog-scale 0.05
|
||||
# setp axis.x.jog-scale 0.05
|
||||
# but also better do connect them to the jog- increments of gmoccapy.
|
||||
net scale axis.z.jog-scale <= axis.y.jog-scale <= axis.x.jog-scale <= gmoccapy.jog.jog-increment
|
||||
|
||||
# Connect all counts to Jogwheel-counts / Alle count san Jogwheel-counts anbinden
|
||||
net override-counts pendant.override-wheel-counts
|
||||
net override-counts gmoccapy.rapid.rapid-override.counts
|
||||
net override-counts gmoccapy.feed.feed-override.counts
|
||||
net override-counts gmoccapy.spindle.spindle-override.counts
|
||||
net override-counts gmoccapy.jog.jog-velocity.counts
|
||||
|
||||
# the scales of the counts are set on the settings page of the GUI, not here
|
||||
# this is different from using halui pin!!
|
||||
|
||||
# jog velocity mode on (1) or off(0) / Geschwindigkeitsmodus an (1) oder aus (0)
|
||||
# 0 is default / 0 ist Standardwert
|
||||
# Mode 0 : after spinning the dial, axis may go on moving, because counts are still pending, Mode 1 will ignore pending steps
|
||||
# Mode 0 : Nach dem drehen des Handrades kann die Achse noch weiterlaufen, da noch Schritte auszuführen sind. Mode 1 hält sofort an
|
||||
setp axis.x.jog-vel-mode 1
|
||||
setp axis.y.jog-vel-mode 1
|
||||
setp axis.z.jog-vel-mode 1
|
||||
|
||||
net feed gmoccapy.feed.feed-override.count-enable <= pendant.feed
|
||||
net spindle gmoccapy.spindle.spindle-override.count-enable <= pendant.spindle
|
||||
net maxvel gmoccapy.rapid.rapid-override.count-enable <= pendant.rapid
|
||||
net jogvel gmoccapy.jog.jog-velocity.count-enable <= pendant.jogvel
|
||||
|
||||
net incr-0 gmoccapy.jog.jog-inc-0 <= pendant.rbt_incr_0
|
||||
net incr-1 gmoccapy.jog.jog-inc-1 <= pendant.rbt_incr_1
|
||||
net incr-2 gmoccapy.jog.jog-inc-2 <= pendant.rbt_incr_2
|
||||
net incr-3 gmoccapy.jog.jog-inc-3 <= pendant.rbt_incr_3
|
||||
net incr-4 gmoccapy.jog.jog-inc-4 <= pendant.rbt_incr_4
|
||||
net incr-5 gmoccapy.jog.jog-inc-5 <= pendant.rbt_incr_5
|
||||
|
||||
16
configs/sim.gmoccapy/position.txt
Executable file
16
configs/sim.gmoccapy/position.txt
Executable file
@@ -0,0 +1,16 @@
|
||||
7.99200000000011812
|
||||
8.76600000000014745
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
0.00000000000000000
|
||||
21
configs/sim.gmoccapy/pyngcgui.ui
Executable file
21
configs/sim.gmoccapy/pyngcgui.ui
Executable file
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<interface>
|
||||
<object class="GtkWindow" id="window1">
|
||||
<property name="can_focus">False</property>
|
||||
<property name="resizable">False</property>
|
||||
<property name="default_width">712</property>
|
||||
<property name="default_height">200</property>
|
||||
<child>
|
||||
<object class="PyNgcGui" id="pyngcgui1">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_keyboard">False</property>
|
||||
<property name="debug">False</property>
|
||||
<property name="verbose">False</property>
|
||||
<property name="send_function_name">default_send</property>
|
||||
<property name="send_to_dir"></property>
|
||||
<property name="control_font_name"></property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
19
configs/sim.gmoccapy/python/remap.py
Executable file
19
configs/sim.gmoccapy/python/remap.py
Executable file
@@ -0,0 +1,19 @@
|
||||
# This is a component of LinuxCNC
|
||||
# Copyright 2011, 2012, 2013, 2014 Dewey Garrett <dgarrett@panix.com>,
|
||||
# Michael Haberler <git@mah.priv.at>, Norbert Schechner <nieson@web.de>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
from stdglue import *
|
||||
200
configs/sim.gmoccapy/python/stdglue.py
Executable file
200
configs/sim.gmoccapy/python/stdglue.py
Executable file
@@ -0,0 +1,200 @@
|
||||
#NOTE:
|
||||
# The legacy names *selected_pocket* and *current_pocket* actually reference
|
||||
# a sequential tooldata index for tool items loaded from a tool
|
||||
# table ([EMCIO]TOOL_TABLE) or via a tooldata database ([EMCIO]DB_PROGRAM)
|
||||
|
||||
# This is a component of LinuxCNC
|
||||
# Copyright 2014 Norbert Schechner <nieson@web.de>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# gmoccapy - Remap of M6 for auto tool measurement
|
||||
|
||||
import os
|
||||
import sys
|
||||
import emccanon
|
||||
from interpreter import *
|
||||
from gscreen import preferences
|
||||
throw_exceptions = 1
|
||||
|
||||
debug = False
|
||||
if debug:
|
||||
pydevdir = '/home/emcmesa/Aptana_Studio_3/plugins/org.python.pydev_2.7.0.2013032300/pysrc'
|
||||
|
||||
# the 'emctask' module is present only in the milltask instance, otherwise both the UI and
|
||||
# milltask would try to connect to the debug server.
|
||||
|
||||
if os.path.isdir( pydevdir ) and 'emctask' in sys.builtin_module_names:
|
||||
sys.path.append( pydevdir )
|
||||
sys.path.insert( 0, pydevdir )
|
||||
try:
|
||||
import pydevd
|
||||
emccanon.MESSAGE( "pydevd imported, connecting to Eclipse debug server..." )
|
||||
pydevd.settrace()
|
||||
except:
|
||||
emccanon.MESSAGE( "no pydevd module found" )
|
||||
pass
|
||||
|
||||
# REMAP=M6 modalgroup=6 prolog=change_prolog ngc=change epilog=change_epilog
|
||||
# exposed parameters:
|
||||
# #<tool_in_spindle>
|
||||
# #<selected_tool>
|
||||
# #<current_pocket>
|
||||
# #<selected_pocket>
|
||||
|
||||
def change_prolog(self, **words):
|
||||
try:
|
||||
# this is relevant only when using iocontrol-v2.
|
||||
if self.params[5600] > 0.0:
|
||||
if self.params[5601] < 0.0:
|
||||
self.set_errormsg("Toolchanger hard fault %d" % (int(self.params[5601])))
|
||||
return INTERP_ERROR
|
||||
print("change_prolog: Toolchanger soft fault %d" % int(self.params[5601]))
|
||||
|
||||
if self.selected_pocket < 0:
|
||||
self.set_errormsg("M6: no tool prepared")
|
||||
return INTERP_ERROR
|
||||
|
||||
if self.cutter_comp_side:
|
||||
self.set_errormsg("Cannot change tools with cutter radius compensation on")
|
||||
return INTERP_ERROR
|
||||
self.params["tool_in_spindle"] = self.current_tool
|
||||
self.params["selected_tool"] = self.selected_tool
|
||||
self.params["current_pocket"] = self.current_pocket # this is probably nonsense
|
||||
self.params["selected_pocket"] = self.selected_pocket
|
||||
return INTERP_OK
|
||||
|
||||
except Exception as e:
|
||||
self.set_errormsg("M6/change_prolog: %s" % (e))
|
||||
return INTERP_ERROR
|
||||
|
||||
def change_epilog(self, **words):
|
||||
try:
|
||||
if not self.value_returned:
|
||||
r = self.blocks[self.remap_level].executing_remap
|
||||
self.set_errormsg("the %s remap procedure %s did not return a value"
|
||||
% (r.name,r.remap_ngc if r.remap_ngc else r.remap_py))
|
||||
return INTERP_ERROR
|
||||
|
||||
if self.return_value > 0.0:
|
||||
if self.return_value == 3:
|
||||
message = "No tool measurement ! Please take care of the entry in the tool table"
|
||||
emccanon.MESSAGE(message)
|
||||
return INTERP_OK
|
||||
else:
|
||||
if self.return_value == -1:
|
||||
message = "Searchvel <= 0, not permitted!, Please correct INI Settings."
|
||||
elif self.return_value == -2:
|
||||
message = "Probevel <= 0, not permitted!, Please correct INI Settings."
|
||||
elif self.return_value == -3:
|
||||
message = "Probe contact failure !!"
|
||||
else:
|
||||
message = "M6 aborted (return code %.1f)" % (self.return_value)
|
||||
self.set_errormsg(message)
|
||||
return INTERP_ERROR
|
||||
|
||||
except Exception as e:
|
||||
self.set_errormsg("M6/change_epilog: %s" % (e))
|
||||
return INTERP_ERROR
|
||||
|
||||
|
||||
_uvw = ("u","v","w","a","b","c")
|
||||
_xyz = ("x","y","z","a","b","c")
|
||||
# given a plane, return sticky words, incompatible axis words and plane name
|
||||
# sticky[0] is also the movement axis
|
||||
_compat = {
|
||||
emccanon.CANON_PLANE_XY : (("z","r"),_uvw,"XY"),
|
||||
emccanon.CANON_PLANE_YZ : (("x","r"),_uvw,"YZ"),
|
||||
emccanon.CANON_PLANE_XZ : (("y","r"),_uvw,"XZ"),
|
||||
emccanon.CANON_PLANE_UV : (("w","r"),_xyz,"UV"),
|
||||
emccanon.CANON_PLANE_VW : (("u","r"),_xyz,"VW"),
|
||||
emccanon.CANON_PLANE_UW : (("v","r"),_xyz,"UW")}
|
||||
|
||||
# extract and pass parameters from current block, merged with extra parameters on a continuation line
|
||||
# keep tjose parameters across invocations
|
||||
# export the parameters into the oword procedure
|
||||
def cycle_prolog(self,**words):
|
||||
# self.sticky_params is assumed to have been initialized by the
|
||||
# init_stgdlue() method below
|
||||
global _compat
|
||||
try:
|
||||
# determine whether this is the first or a subsequent call
|
||||
c = self.blocks[self.remap_level]
|
||||
r = c.executing_remap
|
||||
if c.g_modes[1] == r.motion_code:
|
||||
# first call - clear the sticky dict
|
||||
self.sticky_params[r.name] = dict()
|
||||
|
||||
self.params["motion_code"] = c.g_modes[1]
|
||||
|
||||
(sw,incompat,plane_name) =_compat[self.plane]
|
||||
for (word,value) in words.items():
|
||||
# inject current parameters
|
||||
self.params[word] = value
|
||||
# record sticky words
|
||||
if word in sw:
|
||||
if self.debugmask & 0x00080000: print("%s: record sticky %s = %.4f" % (r.name,word,value))
|
||||
self.sticky_params[r.name][word] = value
|
||||
if word in incompat:
|
||||
return "%s: Cannot put a %s in a canned cycle in the %s plane" % (r.name, word.upper(), plane_name)
|
||||
|
||||
# inject sticky parameters which were not in words:
|
||||
for (key,value) in self.sticky_params[r.name].items():
|
||||
if not key in words:
|
||||
if self.debugmask & 0x00080000: print("%s: inject sticky %s = %.4f" % (r.name,key,value))
|
||||
self.params[key] = value
|
||||
|
||||
if not "r" in self.sticky_params[r.name]:
|
||||
return "%s: cycle requires R word" % (r.name)
|
||||
else:
|
||||
if self.sticky_params[r.name] <= 0.0:
|
||||
return "%s: R word must be > 0 if used (%.4f)" % (r.name, words["r"])
|
||||
|
||||
if "l" in words:
|
||||
# checked in interpreter during block parsing
|
||||
# if l <= 0 or l not near an int
|
||||
self.params["l"] = words["l"]
|
||||
|
||||
if "p" in words:
|
||||
p = words["p"]
|
||||
if p < 0.0:
|
||||
return "%s: P word must be >= 0 if used (%.4f)" % (r.name, p)
|
||||
self.params["p"] = p
|
||||
|
||||
if self.feed_rate == 0.0:
|
||||
return "%s: feed rate must be > 0" % (r.name)
|
||||
if self.feed_mode == INVERSE_TIME:
|
||||
return "%s: Cannot use inverse time feed with canned cycles" % (r.name)
|
||||
if self.cutter_comp_side:
|
||||
return "%s: Cannot use canned cycles with cutter compensation on" % (r.name)
|
||||
return INTERP_OK
|
||||
|
||||
except Exception as e:
|
||||
raise
|
||||
return "cycle_prolog failed: %s" % (e)
|
||||
|
||||
# make sure the next line has the same motion code, unless overridden by a
|
||||
# new G-code
|
||||
def cycle_epilog(self,**words):
|
||||
try:
|
||||
c = self.blocks[self.remap_level]
|
||||
self.motion_mode = c.executing_remap.motion_code # retain the current motion mode
|
||||
return INTERP_OK
|
||||
except Exception as e:
|
||||
return "cycle_epilog failed: %s" % (e)
|
||||
|
||||
# this should be called from TOPLEVEL __init__()
|
||||
def init_stdglue(self):
|
||||
self.sticky_params = dict()
|
||||
20
configs/sim.gmoccapy/python/toplevel.py
Executable file
20
configs/sim.gmoccapy/python/toplevel.py
Executable file
@@ -0,0 +1,20 @@
|
||||
# This is a component of LinuxCNC
|
||||
# Copyright 2011, 2013, 2014 Dewey Garrett <dgarrett@panix.com>,
|
||||
# Michael Haberler <git@mah.priv.at>, Norbert Schechner <nieson@web.de>
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
import remap
|
||||
|
||||
119
configs/sim.gmoccapy/sim.var
Executable file
119
configs/sim.gmoccapy/sim.var
Executable file
@@ -0,0 +1,119 @@
|
||||
5161 0.000000
|
||||
5162 0.000000
|
||||
5163 0.000000
|
||||
5164 0.000000
|
||||
5165 0.000000
|
||||
5166 0.000000
|
||||
5167 0.000000
|
||||
5168 0.000000
|
||||
5169 0.000000
|
||||
5181 0.000000
|
||||
5182 0.000000
|
||||
5183 0.000000
|
||||
5184 0.000000
|
||||
5185 0.000000
|
||||
5186 0.000000
|
||||
5187 0.000000
|
||||
5188 0.000000
|
||||
5189 0.000000
|
||||
5210 0.000000
|
||||
5211 0.000000
|
||||
5212 0.000000
|
||||
5213 0.000000
|
||||
5214 0.000000
|
||||
5215 0.000000
|
||||
5216 0.000000
|
||||
5217 0.000000
|
||||
5218 0.000000
|
||||
5219 0.000000
|
||||
5220 1.000000
|
||||
5221 0.000000
|
||||
5222 0.000000
|
||||
5223 0.000000
|
||||
5224 0.000000
|
||||
5225 0.000000
|
||||
5226 0.000000
|
||||
5227 0.000000
|
||||
5228 0.000000
|
||||
5229 0.000000
|
||||
5230 0.000000
|
||||
5241 0.000000
|
||||
5242 0.000000
|
||||
5243 0.000000
|
||||
5244 0.000000
|
||||
5245 0.000000
|
||||
5246 0.000000
|
||||
5247 0.000000
|
||||
5248 0.000000
|
||||
5249 0.000000
|
||||
5250 0.000000
|
||||
5261 0.000000
|
||||
5262 0.000000
|
||||
5263 0.000000
|
||||
5264 0.000000
|
||||
5265 0.000000
|
||||
5266 0.000000
|
||||
5267 0.000000
|
||||
5268 0.000000
|
||||
5269 0.000000
|
||||
5270 0.000000
|
||||
5281 0.000000
|
||||
5282 0.000000
|
||||
5283 0.000000
|
||||
5284 0.000000
|
||||
5285 0.000000
|
||||
5286 0.000000
|
||||
5287 0.000000
|
||||
5288 0.000000
|
||||
5289 0.000000
|
||||
5290 0.000000
|
||||
5301 0.000000
|
||||
5302 0.000000
|
||||
5303 0.000000
|
||||
5304 0.000000
|
||||
5305 0.000000
|
||||
5306 0.000000
|
||||
5307 0.000000
|
||||
5308 0.000000
|
||||
5309 0.000000
|
||||
5310 0.000000
|
||||
5321 0.000000
|
||||
5322 0.000000
|
||||
5323 0.000000
|
||||
5324 0.000000
|
||||
5325 0.000000
|
||||
5326 0.000000
|
||||
5327 0.000000
|
||||
5328 0.000000
|
||||
5329 0.000000
|
||||
5330 0.000000
|
||||
5341 0.000000
|
||||
5342 0.000000
|
||||
5343 0.000000
|
||||
5344 0.000000
|
||||
5345 0.000000
|
||||
5346 0.000000
|
||||
5347 0.000000
|
||||
5348 0.000000
|
||||
5349 0.000000
|
||||
5350 0.000000
|
||||
5361 0.000000
|
||||
5362 0.000000
|
||||
5363 0.000000
|
||||
5364 0.000000
|
||||
5365 0.000000
|
||||
5366 0.000000
|
||||
5367 0.000000
|
||||
5368 0.000000
|
||||
5369 0.000000
|
||||
5370 0.000000
|
||||
5381 0.000000
|
||||
5382 0.000000
|
||||
5383 0.000000
|
||||
5384 0.000000
|
||||
5385 0.000000
|
||||
5386 0.000000
|
||||
5387 0.000000
|
||||
5388 0.000000
|
||||
5389 0.000000
|
||||
5390 0.000000
|
||||
119
configs/sim.gmoccapy/sim.var.bak
Executable file
119
configs/sim.gmoccapy/sim.var.bak
Executable file
@@ -0,0 +1,119 @@
|
||||
5161 0.000000
|
||||
5162 0.000000
|
||||
5163 0.000000
|
||||
5164 0.000000
|
||||
5165 0.000000
|
||||
5166 0.000000
|
||||
5167 0.000000
|
||||
5168 0.000000
|
||||
5169 0.000000
|
||||
5181 0.000000
|
||||
5182 0.000000
|
||||
5183 0.000000
|
||||
5184 0.000000
|
||||
5185 0.000000
|
||||
5186 0.000000
|
||||
5187 0.000000
|
||||
5188 0.000000
|
||||
5189 0.000000
|
||||
5210 0.000000
|
||||
5211 0.000000
|
||||
5212 0.000000
|
||||
5213 0.000000
|
||||
5214 0.000000
|
||||
5215 0.000000
|
||||
5216 0.000000
|
||||
5217 0.000000
|
||||
5218 0.000000
|
||||
5219 0.000000
|
||||
5220 1.000000
|
||||
5221 0.000000
|
||||
5222 0.000000
|
||||
5223 0.000000
|
||||
5224 0.000000
|
||||
5225 0.000000
|
||||
5226 0.000000
|
||||
5227 0.000000
|
||||
5228 0.000000
|
||||
5229 0.000000
|
||||
5230 0.000000
|
||||
5241 0.000000
|
||||
5242 0.000000
|
||||
5243 0.000000
|
||||
5244 0.000000
|
||||
5245 0.000000
|
||||
5246 0.000000
|
||||
5247 0.000000
|
||||
5248 0.000000
|
||||
5249 0.000000
|
||||
5250 0.000000
|
||||
5261 0.000000
|
||||
5262 0.000000
|
||||
5263 0.000000
|
||||
5264 0.000000
|
||||
5265 0.000000
|
||||
5266 0.000000
|
||||
5267 0.000000
|
||||
5268 0.000000
|
||||
5269 0.000000
|
||||
5270 0.000000
|
||||
5281 0.000000
|
||||
5282 0.000000
|
||||
5283 0.000000
|
||||
5284 0.000000
|
||||
5285 0.000000
|
||||
5286 0.000000
|
||||
5287 0.000000
|
||||
5288 0.000000
|
||||
5289 0.000000
|
||||
5290 0.000000
|
||||
5301 0.000000
|
||||
5302 0.000000
|
||||
5303 0.000000
|
||||
5304 0.000000
|
||||
5305 0.000000
|
||||
5306 0.000000
|
||||
5307 0.000000
|
||||
5308 0.000000
|
||||
5309 0.000000
|
||||
5310 0.000000
|
||||
5321 0.000000
|
||||
5322 0.000000
|
||||
5323 0.000000
|
||||
5324 0.000000
|
||||
5325 0.000000
|
||||
5326 0.000000
|
||||
5327 0.000000
|
||||
5328 0.000000
|
||||
5329 0.000000
|
||||
5330 0.000000
|
||||
5341 0.000000
|
||||
5342 0.000000
|
||||
5343 0.000000
|
||||
5344 0.000000
|
||||
5345 0.000000
|
||||
5346 0.000000
|
||||
5347 0.000000
|
||||
5348 0.000000
|
||||
5349 0.000000
|
||||
5350 0.000000
|
||||
5361 0.000000
|
||||
5362 0.000000
|
||||
5363 0.000000
|
||||
5364 0.000000
|
||||
5365 0.000000
|
||||
5366 0.000000
|
||||
5367 0.000000
|
||||
5368 0.000000
|
||||
5369 0.000000
|
||||
5370 0.000000
|
||||
5381 0.000000
|
||||
5382 0.000000
|
||||
5383 0.000000
|
||||
5384 0.000000
|
||||
5385 0.000000
|
||||
5386 0.000000
|
||||
5387 0.000000
|
||||
5388 0.000000
|
||||
5389 0.000000
|
||||
5390 0.000000
|
||||
32
configs/sim.gmoccapy/simulated_home.hal
Executable file
32
configs/sim.gmoccapy/simulated_home.hal
Executable file
@@ -0,0 +1,32 @@
|
||||
loadrt or2 names=or2_0
|
||||
loadrt comp names=comp_x,comp_y,comp_z
|
||||
|
||||
net Xhomeswpos => comp_x.in0
|
||||
net Yhomeswpos => comp_y.in0
|
||||
net Zhomeswpos => comp_z.in0
|
||||
|
||||
sets Xhomeswpos 1
|
||||
sets Yhomeswpos .5
|
||||
sets Zhomeswpos 2
|
||||
|
||||
net Xpos => comp_x.in1
|
||||
net Ypos => comp_y.in1
|
||||
net Zpos => comp_z.in1
|
||||
|
||||
setp comp_x.hyst .02
|
||||
setp comp_y.hyst .02
|
||||
setp comp_z.hyst .02
|
||||
|
||||
net Xhomesw <= comp_x.out
|
||||
net Yhomesw <= comp_y.out => joint.1.home-sw-in
|
||||
net Zhomesw <= comp_z.out
|
||||
|
||||
net Xhomesw => or2_0.in0
|
||||
net Zhomesw => or2_0.in1
|
||||
net XZhomesw or2_0.out => joint.0.home-sw-in joint.2.home-sw-in
|
||||
|
||||
addf comp_x servo-thread
|
||||
addf comp_y servo-thread
|
||||
addf comp_z servo-thread
|
||||
|
||||
addf or2_0 servo-thread
|
||||
21
configs/sim.gmoccapy/simulated_home_lathe.hal
Executable file
21
configs/sim.gmoccapy/simulated_home_lathe.hal
Executable file
@@ -0,0 +1,21 @@
|
||||
loadrt comp names=comp_x,comp_z
|
||||
|
||||
addf comp_x servo-thread
|
||||
addf comp_z servo-thread
|
||||
|
||||
net Xhomeswpos => comp_x.in0
|
||||
net Zhomeswpos => comp_z.in0
|
||||
|
||||
sets Xhomeswpos 1
|
||||
sets Zhomeswpos 2
|
||||
|
||||
net Xpos => comp_x.in1
|
||||
net Zpos => comp_z.in1
|
||||
|
||||
setp comp_x.hyst .02
|
||||
setp comp_z.hyst .02
|
||||
|
||||
net Xhomesw <= comp_x.out => joint.0.home-sw-in
|
||||
net Zhomesw <= comp_z.out => joint.1.home-sw-in
|
||||
|
||||
|
||||
69
configs/sim.gmoccapy/spindle_sim.hal
Executable file
69
configs/sim.gmoccapy/spindle_sim.hal
Executable file
@@ -0,0 +1,69 @@
|
||||
# counting the spindle encoder in software
|
||||
loadrt encoder names=encoder_0
|
||||
# simulate the encoder
|
||||
loadrt sim_encoder names=sim_encoder_0
|
||||
loadrt limit2 names=limit_speed
|
||||
|
||||
addf limit_speed servo-thread
|
||||
|
||||
#######################################################
|
||||
# Beginning of threading related stuff
|
||||
#######################################################
|
||||
|
||||
# spindle speed control
|
||||
net spindle-speed-cmd spindle.0.speed-out => limit_speed.in
|
||||
net spindle-speed-limited limit_speed.out => sim_encoder_0.speed
|
||||
|
||||
# simulate spindle mass
|
||||
setp limit_speed.maxv 3000.0 # rpm/second
|
||||
|
||||
# spindle encoder
|
||||
# connect encoder signals to encoder counter
|
||||
net spindle-phase-A sim_encoder_0.phase-A => encoder_0.phase-A
|
||||
net spindle-phase-B sim_encoder_0.phase-B => encoder_0.phase-B
|
||||
net spindle-phase-Z sim_encoder_0.phase-Z => encoder_0.phase-Z
|
||||
|
||||
# assume 120 ppr = 480 counts/rev for the spindle
|
||||
setp sim_encoder_0.ppr 12
|
||||
# iocontrol output is in rpm, but sim-encoder speed is rps
|
||||
setp sim_encoder_0.scale 60
|
||||
# scale encoder output to read in revolutions
|
||||
# (that way thread pitches can be straightforward,
|
||||
# a 20 tpi thread would multiply the encoder output
|
||||
# by 1/20, etc)
|
||||
setp encoder_0.position-scale 48
|
||||
|
||||
# encoder reset control
|
||||
# hook up motion controller's sync output
|
||||
net spindle-index-enable spindle.0.index-enable <=> encoder_0.index-enable
|
||||
|
||||
# report our revolution count to the motion controller
|
||||
net spindle-pos encoder_0.position => spindle.0.revs
|
||||
|
||||
# for spindle velocity estimate
|
||||
loadrt lowpass names=lowpass_velocity
|
||||
loadrt scale names=scale_to_rpm
|
||||
net spindle-rps-raw encoder_0.velocity lowpass_velocity.in
|
||||
net spindle-rps-filtered lowpass_velocity.out scale_to_rpm.in spindle.0.speed-in
|
||||
net spindle-rpm-filtered scale_to_rpm.out
|
||||
setp scale_to_rpm.gain 60
|
||||
setp lowpass_velocity.gain .07
|
||||
addf lowpass_velocity servo-thread
|
||||
addf scale_to_rpm servo-thread
|
||||
|
||||
# for at-speed detection
|
||||
loadrt near names=near_speed
|
||||
addf near_speed servo-thread
|
||||
setp near_speed.scale 1.1
|
||||
setp near_speed.difference 10
|
||||
net spindle-speed-cmd => near_speed.in1
|
||||
net spindle-rpm-filtered => near_speed.in2
|
||||
net spindle-at-speed near_speed.out spindle.0.at-speed
|
||||
|
||||
net spindle-fwd <= spindle.0.forward
|
||||
|
||||
addf encoder.capture-position servo-thread
|
||||
addf sim-encoder.update-speed servo-thread
|
||||
|
||||
addf sim-encoder.make-pulses base-thread
|
||||
addf encoder.update-counters base-thread
|
||||
18
configs/sim.gmoccapy/tool.tbl
Executable file
18
configs/sim.gmoccapy/tool.tbl
Executable file
@@ -0,0 +1,18 @@
|
||||
T1 P101 X0.0 Y0.0 Z-12.7129 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D1.0 I0.0 J0.0 Q0.0 ;3/4 roughing
|
||||
T2 P2 X0.0 Y0.0 Z-0.01 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D2.0 I0.0 J0.0 Q0.0 ;3/4 2 flute
|
||||
T3 P3 X0.0 Y0.0 Z33.3877 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D3.0 I0.0 J0.0 Q0.0 ;2-1/4 face mill
|
||||
T4 P4 X0.0 Y0.0 Z-10.1737 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D4.0 I0.0 J0.0 Q0.0 ;3/8 4fl carbide
|
||||
T5 P5 X0.0 Y0.0 Z-1.15 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D5.0 I0.0 J0.0 Q0.0 ;long ER40 collet chuck
|
||||
T6 P6 X0.0 Y0.0 Z-5.1252 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D7.0 I0.0 J0.0 Q0.0 ;tool 6
|
||||
T7 P7 X0.0 Y0.0 Z-1.07 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D7.0 I0.0 J0.0 Q0.0 ;big albrecht drill chuck .25 drill
|
||||
T8 P8 X0.0 Y0.0 Z-1.16 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D8.0 I0.0 J0.0 Q0.0 ;V engraving tool
|
||||
T9 P9 X0.0 Y0.0 Z-1.14 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D9.0 I0.0 J0.0 Q0.0 ;90 deg 3/8 mill-drill
|
||||
T10 P10 X0.0 Y0.0 Z-1.13 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D10.0 I0.0 J0.0 Q0.0 ;other big jacobs chuck
|
||||
T11 P11 X0.0 Y0.0 Z-0.09 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D11.0 I0.0 J0.0 Q0.0 ;1/8 2fl end mill
|
||||
T12 P12 X0.0 Y0.0 Z-1.12 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D12.0 I0.0 J0.0 Q0.0 ;1/2 2fl long em
|
||||
T13 P13 X0.0 Y0.0 Z-0.02 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D13.0 I0.0 J0.0 Q0.0 ;Tool 13
|
||||
T14 P14 X0.0 Y0.0 Z-0.04 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D14.0 I0.0 J0.0 Q0.0 ;Tool 14
|
||||
T15 P15 X0.0 Y0.0 Z-0.1 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D15.0 I0.0 J0.0 Q0.0 ;little albrecht chuck spot drill
|
||||
T16 P16 X0.0 Y0.0 Z-0.03 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D16.0 I0.0 J0.0 Q0.0 ;little jacobs chuck
|
||||
T18 P1 X0.0 Y0.0 Z-1.18 A0.0 B0.0 C0.0 U0.0 V0.0 W0.0 D18.0 I0.0 J0.0 Q0.0 ;big jacobs chuck
|
||||
|
||||
81
configs/sim.gmoccapy/tool_sensor.glade
Executable file
81
configs/sim.gmoccapy/tool_sensor.glade
Executable file
@@ -0,0 +1,81 @@
|
||||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-requires gladevcp 0.0 -->
|
||||
<!-- interface-naming-policy project-wide -->
|
||||
<object class="GtkWindow" id="window1">
|
||||
<child>
|
||||
<object class="GtkFrame" id="frm_tool_sensor">
|
||||
<property name="visible">True</property>
|
||||
<property name="label_xalign">0.5</property>
|
||||
<child>
|
||||
<object class="GtkAlignment" id="ali_tool_sensor">
|
||||
<property name="visible">True</property>
|
||||
<property name="top_padding">5</property>
|
||||
<property name="bottom_padding">5</property>
|
||||
<property name="left_padding">5</property>
|
||||
<property name="right_padding">5</property>
|
||||
<child>
|
||||
<object class="GtkVBox" id="vbox_tool_sensor">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox_tool_sensor">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="GtkLabel" id="lbl_tool_sensor">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes">Probe:</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_LED" id="led_tool_sensor">
|
||||
<property name="visible">True</property>
|
||||
<property name="pick_color_on">#0000ffff0000</property>
|
||||
<property name="pick_color_off">#ffff00000000</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="btn_tool_sensor_sim">
|
||||
<property name="label" translatable="yes">Sim Signal</property>
|
||||
<property name="width_request">112</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
<child type="label">
|
||||
<object class="GtkLabel" id="lbl_frm_tool_sensor">
|
||||
<property name="visible">True</property>
|
||||
<property name="label" translatable="yes"><b>Tool Probe</b></property>
|
||||
<property name="use_markup">True</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
4
configs/sim.gmoccapy/tool_sensor.hal
Executable file
4
configs/sim.gmoccapy/tool_sensor.hal
Executable file
@@ -0,0 +1,4 @@
|
||||
net tool_sensor tool_sensor.btn_tool_sensor_sim
|
||||
net tool_sensor motion.probe-input
|
||||
net tool_sensor tool_sensor.led_tool_sensor
|
||||
|
||||
84
configs/sim.gmoccapy/tool_sensor.para
Executable file
84
configs/sim.gmoccapy/tool_sensor.para
Executable file
@@ -0,0 +1,84 @@
|
||||
[DEFAULT]
|
||||
unlock_way = no
|
||||
rel_color = black
|
||||
log_actions = False
|
||||
show_preview_on_offset = True
|
||||
jump_to_dir = /home/emcmesa
|
||||
show_keyboard_on_offset = True
|
||||
x_pos_popup = 15.0
|
||||
homed_color = green
|
||||
enable_dro = False
|
||||
system_name_g92 = G92
|
||||
logo = False
|
||||
system_name_g59.2 = G59.2
|
||||
system_name_g59.3 = G59.3
|
||||
mouse_btn_mode = 4
|
||||
audio_error = /usr/share/sounds/ubuntu/stereo/dialog-question.ogg
|
||||
max_messages = 10.0
|
||||
view_tool_path = True
|
||||
system_name_g5x = G5x
|
||||
scale_max_vel = 140.2
|
||||
show_keyboard_on_edit = False
|
||||
open_file = ../../nc_files/gmoccapy_2_tools_with_cutter_radius_compensation.ngc
|
||||
abs_color = blue
|
||||
show_offsets = False
|
||||
system_name_g59 = G59
|
||||
width = 979.0
|
||||
spindle_bar_min = 0.0
|
||||
probevel = 10.0
|
||||
show_keyboard_on_mdi = False
|
||||
spindle_start_rpm = 300.0
|
||||
view_dimension = True
|
||||
blockheight = 25.0
|
||||
gremlin_view = rbt_view_p
|
||||
scale_spindle_override = 1.0
|
||||
system_name_tool = Tool
|
||||
system_name_g54 = G54
|
||||
system_name_rot = Rotation of Z
|
||||
system_name_g56 = G56
|
||||
system_name_g58 = G58
|
||||
unlock_code = 123
|
||||
hide_cursor = False
|
||||
x_pos = 10.0
|
||||
system_name_g57 = G57
|
||||
dtg_color = yellow
|
||||
message_font = sans 10
|
||||
screen1 = window
|
||||
dro_size = 28
|
||||
use_keyboard_shortcuts = True
|
||||
spindle_bar_max = 6000.0
|
||||
unhomed_color = red
|
||||
use_auto_units = True
|
||||
audio_alert = /usr/share/sounds/ubuntu/stereo/bell.ogg
|
||||
use_screen2 = False
|
||||
searchvel = 75.0
|
||||
opstop = False
|
||||
show_keyboard_on_file_selection = False
|
||||
grid_size = 1.0
|
||||
scale_feed_override = 1.0
|
||||
use_frames = True
|
||||
system_name_g55 = G55
|
||||
y_pos_popup = 55.0
|
||||
show_dtg = False
|
||||
run_from_line = no_run
|
||||
gtk_theme = Follow System Theme
|
||||
height = 750.0
|
||||
probeheight = 35.8
|
||||
use_toolmeasurement = True
|
||||
hide_axis_4 = False
|
||||
y_pos = 10.0
|
||||
width_popup = 250.0
|
||||
show_keyboard_on_tooledit = False
|
||||
show_dro_btn = False
|
||||
system_name_g59.1 = G59.1
|
||||
blockdel = False
|
||||
scale_jog_vel = 99.6
|
||||
view = p
|
||||
scale_rapid_override = 1
|
||||
hide_turtle_jog_button = False
|
||||
turtle_jog_factor = 20
|
||||
dro_digits = 3
|
||||
toggle_readout = True
|
||||
reload_tool = True
|
||||
tool_in_spindle = 3
|
||||
|
||||
122
configs/sim.gmoccapy/v_buttonlist.glade
Executable file
122
configs/sim.gmoccapy/v_buttonlist.glade
Executable file
@@ -0,0 +1,122 @@
|
||||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<!-- interface-requires gladevcp 0.0 -->
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-naming-policy project-wide -->
|
||||
<object class="GtkWindow" id="window1">
|
||||
<property name="default_width">64</property>
|
||||
<property name="default_height">724</property>
|
||||
<child>
|
||||
<object class="GtkVButtonBox" id="vbuttonbox1">
|
||||
<property name="visible">True</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<property name="layout_style">spread</property>
|
||||
<child>
|
||||
<object class="HAL_Button" id="v_button_0">
|
||||
<property name="label" translatable="yes">v_button_0</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="v_button_1">
|
||||
<property name="label" translatable="yes">v_button_1</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="v_button_2">
|
||||
<property name="label" translatable="yes">v_button_2</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="v_button_3">
|
||||
<property name="label" translatable="yes">v_button_3</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="v_button_4">
|
||||
<property name="label" translatable="yes">v_button_4</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="v_button_5">
|
||||
<property name="label" translatable="yes">v_button_5</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_Button" id="v_button_6">
|
||||
<property name="label" translatable="yes">v_button_6</property>
|
||||
<property name="width_request">56</property>
|
||||
<property name="height_request">56</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">6</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
13
configs/sim.gmoccapy/v_buttonlist.hal
Executable file
13
configs/sim.gmoccapy/v_buttonlist.hal
Executable file
@@ -0,0 +1,13 @@
|
||||
###################################################################
|
||||
# gmoccapy hal file from Norbert Schechner #
|
||||
###################################################################
|
||||
|
||||
net v_button_0 v_buttonlist.v_button_0 => gmoccapy.v-button.button-0
|
||||
net v_button_1 v_buttonlist.v_button_1 => gmoccapy.v-button.button-1
|
||||
net v_button_2 v_buttonlist.v_button_2 => gmoccapy.v-button.button-2
|
||||
net v_button_3 v_buttonlist.v_button_3 => gmoccapy.v-button.button-3
|
||||
net v_button_4 v_buttonlist.v_button_4 => gmoccapy.v-button.button-4
|
||||
net v_button_5 v_buttonlist.v_button_5 => gmoccapy.v-button.button-5
|
||||
net v_button_6 v_buttonlist.v_button_6 => gmoccapy.v-button.button-6
|
||||
|
||||
|
||||
67
configs/sim.gmoccapy/vcp_box.glade
Executable file
67
configs/sim.gmoccapy/vcp_box.glade
Executable file
@@ -0,0 +1,67 @@
|
||||
<?xml version="1.0"?>
|
||||
<interface>
|
||||
<!-- interface-requires gladevcp 0.0 -->
|
||||
<requires lib="gtk+" version="2.16"/>
|
||||
<!-- interface-naming-policy project-wide -->
|
||||
<object class="GtkWindow" id="window1">
|
||||
<child>
|
||||
<object class="GtkTable" id="table1">
|
||||
<property name="visible">True</property>
|
||||
<property name="n_rows">2</property>
|
||||
<child>
|
||||
<object class="HAL_Meter" id="hal_meter1">
|
||||
<property name="width_request">200</property>
|
||||
<property name="height_request">200</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="z2_color">#ffff00000000</property>
|
||||
<property name="label">RPM</property>
|
||||
<property name="majorscale">500</property>
|
||||
<property name="z0_border">250</property>
|
||||
<property name="z0_color">#ffffffff0000</property>
|
||||
<property name="max">6000</property>
|
||||
<property name="z1_color">#0000ffff0000</property>
|
||||
<property name="minorscale">100</property>
|
||||
<property name="bg_color">#ffffffffffff</property>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHBox" id="hbox1">
|
||||
<property name="visible">True</property>
|
||||
<child>
|
||||
<object class="HAL_LED" id="hal_led1">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_LED" id="hal_led3">
|
||||
<property name="visible">True</property>
|
||||
<property name="pick_color_off">#f6e0ebe201e9</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="HAL_LED" id="hal_led2">
|
||||
<property name="visible">True</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="fill">False</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="top_attach">1</property>
|
||||
<property name="bottom_attach">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</interface>
|
||||
6
configs/sim.gmoccapy/vcp_box.hal
Executable file
6
configs/sim.gmoccapy/vcp_box.hal
Executable file
@@ -0,0 +1,6 @@
|
||||
###################################################################
|
||||
# moccapy_postgui.hal file from Norbert Schechner #
|
||||
###################################################################
|
||||
|
||||
net spindle-speed-limited => vcp_box.hal_meter1
|
||||
|
||||
Reference in New Issue
Block a user