Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
971fb46
hal_glib -add a function to run the gobject mainloop once
c-morley Sep 27, 2025
54c9817
hal_glib -add function to process one ZMQ message
c-morley Jul 9, 2026
c802e9c
hal_glib - add soft key messages
c-morley Jul 15, 2026
8a25990
add python3-zmq package for halui
c-morley Feb 2, 2026
00e0446
add python3-zmq to python3 depends
c-morley Feb 8, 2026
cb6be33
halui initial testing of embedded python halui
c-morley Aug 16, 2025
e777212
halui -add an angular jograte pin and send angular jograte messages
c-morley Apr 10, 2026
cdbdb2b
halui -use angular jograte pin/messages for angular axis
c-morley Apr 12, 2026
6de1692
hal_bridge -add a warning if the write address is already used
c-morley Jul 3, 2026
267ee41
halui -add reload display and shutdown pins
c-morley Jul 9, 2026
3027f80
halui -add softkey pins and message
c-morley Jul 15, 2026
5ca7b81
halui -change pin names for cycles and softkeys
c-morley Jul 19, 2026
5eedf9e
halui -change gui pin names
c-morley Aug 11, 2026
3e174c7
bridge -quiet print statements
c-morley Aug 11, 2026
c8c76a6
halui -change gui ok/cancel pin names
c-morley Aug 13, 2026
e7d7940
halui -quiet debugging prints
c-morley Aug 15, 2026
a1bfafb
halui -change MPG name to gui.mpg-aux.0
c-morley Aug 18, 2026
06fbcf2
hal_glib -check if zmq read socket is available
c-morley Aug 21, 2026
7c59adb
bridge - send out a key string with macro/mdi name
c-morley Aug 23, 2026
fed260d
hal_glib -change request macro function signature to add a key string
c-morley Aug 23, 2026
3811656
bridge -Don't break everything if there is no ZMQ library
c-morley Aug 14, 2026
4136366
halui - add docs for halui zmq messages and pins
c-morley Jul 20, 2026
31daa6e
gladevcp -speedcontrol: add angular jograte type and command and Gstat
c-morley Aug 16, 2025
065a322
gladevcp -gtk_action: add ability to run new style INI MDI commands
c-morley Sep 1, 2025
1ae3224
qtvcp/gladevcp -action: add ability; return to mode after INI mdi
c-morley Sep 2, 2025
f244726
gladevcp -hal_gremlin: clear the plot if reloading the screen
c-morley Jul 9, 2026
d291247
gladevcp -gtk_action :get shutdown to work reliably
c-morley Jul 10, 2026
86424e5
qtvcp -dialog widget: add status message control of tool change dialog
c-morley Sep 1, 2025
dbc345d
qtvcp -baseclass: register dialogs for later checks
c-morley Dec 14, 2025
be9bece
qtvcp -axis tool button: allow for MPG selection
c-morley May 28, 2026
0d16fb9
qtvcp -dialog_widget: check ZMQ messages directly
c-morley Jul 9, 2026
22f2094
qtvcp -fix close dialog response when using zmq messages
c-morley Jul 29, 2026
61f6242
qtvcp -axis tool button: quiet debugging print
c-morley Aug 15, 2026
11f7603
qtvcp -allow setting of window title from designer
c-morley Sep 9, 2026
b88ceab
common/iniinfo -parse ini commands in a better way
c-morley Sep 1, 2025
c97d6ec
qtdragon -adjust external pause message to toggle
c-morley Aug 22, 2025
60b0811
qtdragon -add mpg_select button logic control
c-morley Dec 13, 2025
0a8a941
qtdragon -find the currently visible dialog to send messages to
c-morley Dec 14, 2025
c483e3a
qtdragon -fix MPG selection from panel
c-morley Mar 15, 2026
824bc61
qtdragon -external run of macros, use cycle start for MDI running
c-morley Jul 3, 2026
3ecf40d
qtdragon -add basic support for softkeys to select main tabs
c-morley Jul 21, 2026
dc98185
qtdragon -check if softkey number is invalid
c-morley Aug 13, 2026
da57061
qtdragon -adjust request macro function signature
c-morley Aug 23, 2026
9a2ccfa
qtdragon -add halui test sim
c-morley Aug 23, 2025
7d82c3f
qtdragon -add docs for halui messages/gui pins
c-morley Jul 20, 2026
a532592
gmoccapy -allow ZMQ messages to call macros in gmoccapy
c-morley Sep 9, 2026
626f32d
gmoccapy -ability to run INI MDI commands using HAL bridge
c-morley Jul 31, 2025
56ffa81
gmoccapy -add gstat message control of start and pause
c-morley Sep 1, 2025
4d46635
gmoccapy -used new mode return INI MDI function
c-morley Sep 2, 2025
deff062
gmoccapy -change system dialog to accept halui messages
c-morley Dec 14, 2025
1978354
gmoccapy -change warning dialogs to accept HALUI messages
c-morley Dec 27, 2025
0a8538a
gmoccapy -set jog speed control widget to use messages
c-morley Feb 1, 2026
e045f89
gmoccapy -use halui message to cancel notifications
c-morley Feb 1, 2026
bcfad7e
gmoccapy -can submit the current MDI command from HALUI
c-morley Feb 7, 2026
5f3da1e
gmoccapy -update external pause/start behavior
c-morley Apr 4, 2026
b57e292
gmoccapy -entry dialog respond to halui, add non blocking wait code
c-morley Apr 10, 2026
c361fe4
gmoccapy -dialogs: search through focused dialogs, clean up code
c-morley Jul 30, 2026
fd65612
gmoccapy -update the angular speedcontrol to new angular type
c-morley Apr 10, 2026
85901b6
gmoccapy -honour shutdown request
c-morley Jul 9, 2026
43866a3
gmoccapy -respond to softkeys and make exit do shutdown
c-morley Jul 10, 2026
52b9df3
gmoccapy -add MPG input to zoom and scroll
c-morley Jul 10, 2026
594a69f
gmoccapy -fix error from y/n dialog wrong function signature
c-morley Aug 11, 2026
bef7725
gmoccapy -fix a 'dialog not found' error message
c-morley Aug 11, 2026
d411e6c
gmoccapy -dialogs: cleanup warning dialog, control exit
c-morley Aug 12, 2026
bcb5520
gmoccapy -fix some missed warning dialog function signatures
c-morley Aug 18, 2026
b15baf1
gmoccapy -fix dialog error when editing tools or offsets
c-morley Aug 19, 2026
8a4f3ce
gmoccapy -create a dialog in gmoccapy for system shutdown
c-morley Sep 9, 2026
364ae06
gmoccapy -fix request macro function to call macro properly
c-morley Aug 23, 2026
6ea3ecd
gmoccapy -fix request to run macro with variables
c-morley Aug 29, 2026
0e7cc16
gmoccapy -dialogs: allow setting of message type for yes/no dialog
c-morley Aug 29, 2026
72a0076
gmoccapy -change system shutdown dialog message
c-morley Aug 29, 2026
6b9c6fb
gmoccapy -add a halui test config with a sim test panel
c-morley Sep 1, 2025
232ba42
gmoccapy -add docs for halui messages
c-morley Jul 20, 2026
7d0eab2
axis -incorporate zmq messages
c-morley Aug 13, 2026
f91914c
axis -sim: for halui zmq messages
c-morley Sep 8, 2026
0806437
axis -docs: add info about HALUI gui pins
c-morley Aug 24, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
235 changes: 235 additions & 0 deletions configs/sim/axis/control_panel_simulated.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
# EMC controller parameters for a simulated machine.

# General note: Comments can either be preceded with a # or ; - either is
# acceptable, although # is in keeping with most linux config files.

# General section -------------------------------------------------------------
[EMC]

# Version of this INI file
VERSION = 1.1

# Name of machine, for use with display, etc.
MACHINE = LinuxCNC-HAL-SIM-AXIS

# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG = 0x7FFFFFFF
DEBUG = 0

# Sections for display options ------------------------------------------------
[DISPLAY]

# Name of display program, e.g., axis
DISPLAY = axis

# Cycle time, in seconds, that display will sleep between polls
CYCLE_TIME = 0.100

# Path to help file
HELP_FILE = doc/help.txt

# Initial display setting for position, RELATIVE or MACHINE
POSITION_OFFSET = RELATIVE

# Initial display setting for position, COMMANDED or ACTUAL
POSITION_FEEDBACK = ACTUAL

# Highest value that will be allowed for feed override, 1.0 = 100%
MAX_FEED_OVERRIDE = 1.2
MAX_SPINDLE_OVERRIDE = 1.0

MAX_LINEAR_VELOCITY = 5
DEFAULT_LINEAR_VELOCITY = .25
DEFAULT_SPINDLE_SPEED = 200
# Prefix to be used
PROGRAM_PREFIX = ../../nc_files/

# Introductory graphic
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5

#EDITOR = geany
TOOL_EDITOR = tooledit

INCREMENTS = 1 in, 0.1 in, 10 mil, 1 mil, 1mm, .1mm, 1/8000 in

[MDI_COMMAND_LIST]
MDI_COMMAND_MACRO0 = G53 G0 Z0;G0 X0 Y0;Z0, Goto\nUser\nZero
MDI_COMMAND_MACRO1 = G53 G0 Z0;G53 G0 X0 Y0,Goto\nMachn\nZero

[MACROS]
MACRO_COMMAND_MACRO6 = go_to_position x-pos y-pos z-pos, Go To \nPosition
MACRO_COMMAND_MACRO2 = lost, LOST
MACRO_COMMAND_MACRO3 = increment x-incr y-incr, INCR
MACRO_COMMAND_MACRO4 = macro_4
MACRO_COMMAND_MACRO5 = macro_5

[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 -----------------------------------------------------
[TASK]

# Name of task controller program, e.g., milltask
TASK = milltask

# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME = 0.001

# Part program interpreter section --------------------------------------------
[RS274NGC]

# File containing interpreter variables
PARAMETER_FILE = sim.var
SUBROUTINE_PATH = ./macros

# Motion control section ------------------------------------------------------
[EMCMOT]

EMCMOT = motmod

# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT = 1.0

# BASE_PERIOD is unused in this configuration but specified in core_sim.hal
BASE_PERIOD = 0
# Servo task period, in nano-seconds
SERVO_PERIOD = 1000000

# section for main IO controller parameters -----------------------------------
[EMCIO]
# tool table file
TOOL_TABLE = sim.tbl
TOOL_CHANGE_POSITION = 0 0 0
TOOL_CHANGE_QUILL_UP = 1

# Hardware Abstraction Layer section --------------------------------------------------
[HAL]

# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.
#

# list of hal config files to run through halcmd
# files are executed in the order in which they appear
HALFILE = core_sim.hal
HALFILE = sim_spindle_encoder.hal
HALFILE = axis_manualtoolchange.hal
HALFILE = simulated_home.hal
HALFILE = check_xyz_constraints.hal
HALFILE = cooling.hal

# list of halcmd commands to execute
# commands are executed in the order in which they appear
#HALCMD = save neta

# Single file that is executed after the GUI has started. Only supported by
# AXIS at this time (only AXIS creates a HAL component of its own)
#POSTGUI_HALFILE = test_postgui.hal
POSTGUI_HALCMD = loadusr qtvcp -a -H panel.hal panel

HALUI = halui

# Trajectory planner section --------------------------------------------------
[TRAJ]
COORDINATES = X Y Z
LINEAR_UNITS = inch
ANGULAR_UNITS = degree
MAX_LINEAR_VELOCITY = 4
DEFAULT_LINEAR_ACCELERATION = 100
MAX_LINEAR_ACCELERATION = 100
POSITION_FILE = position.txt

[KINS]
KINEMATICS = trivkins
JOINTS = 3

# Axes sections ---------------
[AXIS_X]
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0

[AXIS_Y]
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0

[AXIS_Z]
MAX_VELOCITY = 4
MAX_ACCELERATION = 100.0
MIN_LIMIT = -8.0
MAX_LIMIT = 0.12

# Joints sections -------------
[JOINT_0]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 5
MAX_ACCELERATION = 50.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
FERROR = 0.050
MIN_FERROR = 0.010
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1
HOME_IS_SHARED = 1

[JOINT_1]
TYPE = LINEAR
HOME = 0.000
MAX_VELOCITY = 5
MAX_ACCELERATION = 50.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
FERROR = 0.050
MIN_FERROR = 0.010
MIN_LIMIT = -10.0
MAX_LIMIT = 10.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 1

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
MAX_VELOCITY = 5
MAX_ACCELERATION = 50.0
BACKLASH = 0.000
INPUT_SCALE = 4000
OUTPUT_SCALE = 1.000
MIN_LIMIT = -8.0

# Normally the Z max should be 0.000!
# The only reason it's greater than 0 here is so that the splash screen
# gcode will run.
MAX_LIMIT = 0.12

FERROR = 0.050
MIN_FERROR = 0.010
HOME_OFFSET = 1.0
HOME_SEARCH_VEL = 20.0
HOME_LATCH_VEL = 20.0
HOME_USE_INDEX = NO
HOME_IGNORE_LIMITS = NO
HOME_SEQUENCE = 0
HOME_IS_SHARED = 1
24 changes: 24 additions & 0 deletions configs/sim/axis/macros/go_to_position.ngc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
; Testfile go to position
; will jog the machine to a given position

O<go_to_position> sub

G17
G21
G54
G61
G40
G49
G80
G90

;#1 = <X-Pos>
;#2 = <Y-Pos>
;#3 = <Z-Pos>

(DEBUG, Will now move machine to %fX = #1 , Y = #2 , Z = #3)
G0 X #1 Y #2 Z #3

O<go_to_position> endsub

M2
24 changes: 24 additions & 0 deletions configs/sim/axis/macros/hello_world.ngc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
; Testfile "hello world"
; will just give messages

O<hello_world> sub

G17
G21
G54
G61
G40
G49
G80
G90

G0 X10

(MSG, Hello World)

G0X-10

O<hello_world> endsub

M2

22 changes: 22 additions & 0 deletions configs/sim/axis/macros/increment.ngc
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
; Testfile "increment"
; will move the machine in relative coordinates

O<increment> sub

G17
G21
G54
G61
G40
G49
G80
G90

G91 G0 X#1 Y#2
G90

(DEBUG, %fX was [#1] and Y was [#2])

O<increment> endsub

M2
24 changes: 24 additions & 0 deletions configs/sim/axis/macros/lost.ngc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
; Testfile Lost
; will jog to machine zero and set all axis to zero

O<lost> sub

G17
G21
G54
G61
G40
G49
G80
G90

(MSG, Will now move to machine zero)
G53 G0 X0 Y0 Z0
(MSG, will now set all axis to zero)
G10 L20 P0 X0 Y0 Z0
(MSG, all done)


O<lost> endsub

M2
39 changes: 39 additions & 0 deletions configs/sim/axis/macros/macro_Instructions.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
This is a small instruction to include macros in Qtdragon.

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 ,MOVE\nTHERE
or
MACRO = increment xinc yinc ,INCR

where xinc and yinc are placeholders
Anything after the comma is the button text.

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!)!


Loading