Skip to content

Commit

Permalink
Sync to upstream master (#2)
Browse files Browse the repository at this point in the history
* Gmoccapy: fix bugs caused by GStat missing changes in interpreter mode

This fixes issues LinuxCNC#3120 and LinuxCNC#3129

* Release LinuxCNC version 2.9.4

* Update getting-linuxcnc.adoc for 2.9.4 release

* qtvcp -istat: fix RIP_FLAG copy paste error

* qtvcp -vismach_fanuc_200f- fix cleanup of HAL component

fixes an error when run a second time

* qtvcp -vismach millturn: fix cleanup of HAL component

fixes an error when run a second time

* qtvcp -vismach gantry_5axis: fix cleanup of HAL component

fixes an error when run a second time

---------

Co-authored-by: Sigma1912 <[email protected]>
Co-authored-by: andypugh <[email protected]>
Co-authored-by: CMorley <[email protected]>
  • Loading branch information
4 people authored Jan 28, 2025
1 parent 83a1413 commit 94f6257
Show file tree
Hide file tree
Showing 10 changed files with 169 additions and 18 deletions.
132 changes: 131 additions & 1 deletion debian/changelog
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,138 @@ linuxcnc (1:2.10.0~pre0) UNRELEASED; urgency=medium
* Master branch open for new features.

-- Andy Pugh <[email protected]> Mon, 09 Oct 2023 10:39:03 +0100

linuxcnc (1:2.9.4) UNRELEASED; urgency=medium

* Merge pull request #3283 from Sigma1912/patch-2
* Gmoccapy: fix bugs caused by GStat missing changes in interpreter mode
* gmoccapy: expand G-code editor in edit mode
* gmoccapy: revert "remember position of hbox2 (GtkPaned)"
* Merge pull request #3269 from hansu/gmoccapy-3-4-9
* gmoccapy_3_4_9: set version number and update release notes
* gmoccapy: ensure usage of lowercase for settings in pref file (#3181)
* gmoccapy: get offset names directly from offsetpage-widget
* offsetpage-widget: don't translate column 0
* gmoccapy: revert "added Gtk.Paned for upper main area"
* gmoccapy: fix wrong states of spindle button images after program abort
* Follow symlinks in config dir
* Merge pull request #3259 from BsAtHome/backport-debian_sid-include
* Necessary include for gettimeofday() in debian:sid.
* Merge pull request #3251 from Sigma1912/patch-1
* Add clearer info on ini entries containing lowercase chars
* Update m-code.adoc - typo exection -> execution
* Merge pull request #3247 from Sigma1912/patch-1
* gmoccapy.adoc: correct INI section name [MACROS]
* Disable "override limits" at the end of the jog. This fixes the issue that the override was not cleared in teleop (homed) mode Issue #2482
* Doc: User Defined Command, add note on exit codes != 0
* gmoccapy: update release notes
* docs: fix list in building-linuxcnc.adoc
* Typos in carousel.comp
* Merge pull request #3227 from BsAtHome/backport_2.9_3200-3202
* Merge pull request #3226 from BsAtHome/backport_2.9_fix-hm2_spi
* Backport fix hm2_spi driver. This was discovered in master and fixed in PR #3225.
* Backport fix superfluous NULL check to 2.9 branch (issue #3202).
* Backport fix invalid printf format to 2.9 branch (issue #3200).
* Merge pull request #3212 from BsAtHome/hm2_spix-backport-2.9
* Add missing include to fix checks.
* Backport the hm2_spix driver for Raspberry Pi 3, 4 and 5 to the 2.9 branch.
* qtvcp -cam align panel: fix setting x and y scaling
* gmoccapy: further corrections of sample INI-file regarding really used values
* docs: update gmoccapy docs regarding INI values
* halshow: fix error on right click "Set to .."
* docs: little typo in gstat.adoc
* gmoccapy: move spaces out of translatable strings
* Fix "Change to raw strings to fix Python SyntaxWarning" (2)
* Merge pull request #3179 from hansu/issue-3175
* Fix "Change to raw strings to fix Python SyntaxWarning"
* docs: gmoccapy - fix order of settings section according to actual order
* Merge pull request #3172 from havardAasen/fix-python-syntax-warning
* Fix deprecated locale.format() -> locale.format_string()
* Update regex
* Change to raw strings to fix Python SyntaxWarning
* docs: improve "HAL Component Generator" doc page (halcompile)
* Merge pull request #3158 from petterreinholdtsen/bug-debian-1080668-python3-setuptools
* Dropped use of depricated python3-setuptools / distutils.
* Merge pull request #3159 from petterreinholdtsen/2.9-upstream-ax-python
* Fetched latest ax_python.m4 and ax_python_devel.m4 from upstream.
* Revert "Remove remaining use of deprecated distutils."
* Revert "Distutils, fix error in previous fix"
* Distutils, fix error in previous fix Addresses #1080668
* Remove remaining use of deprecated distutils. Addresses #1080668
* QTVCP: Typo in error message
* Merge pull request #3137 from petterreinholdtsen/2.9-avoid-bashism-configure-ac
* Avoid bashism in configure.ac
* qtvcp -test_panel: remove distutils library requirement
* Merge pull request #3048 from hansu/gmoccapy-gcmc-config
* qtvcp -action_buttons: fix momentary buttons status indicator
* Merge pull request #3130 from hansu/gmoccapy-deprecation-warning-2
* gmoccapy: fix deprecation warning "Gtk.StyleContext.get_background_color is deprecated"
* Merge pull request #3115 from zz912/patch-30
* Merge pull request #3125 from hansu/gmoccapy-deprecation-warning
* gscreen: remove deprecated use of GtkLabel constructor
* gmoccapy: remove deprecated use of GtkLabel constructor
* Merge pull request #3118 from zz912/patch-31
* lathe_macros.ini - enable postgui.hal
* Replace non-exist toolchange.py by stdglue.py
* Merge pull request #3106 from LinuxCNC/andypugh/gscreen
* gscreen: Fix Spartan sim homing
* gscreen: Further tidying up to clear up runtime errors and startup verbosity
* gscreen: Fix broken configs - Silverdragon++ I found how to do settings when fixing gaxis
* gscreen: Fix broken configs - tester
* gscreen: Fix broken configs - gaxis
* gscreen: Fix broken configs - 9-axis
* gscreen: Fix broken configs - Spartan
* gscreen: Fix broken configs - Industrial
* gscreen: Fix broken configs
* docs: add note to gmoccapy keyboard shortcuts
* fix: eliminated printf in shell script
* Merge pull request #3090 from Sigma1912/2.9-fix-configs-apps-gladevcp
* Fix sim config: apps/gladevcp/animated-backdrop
* Add workaround for long keys= in mqtt-publisher This fixes #3084
* docs: fixed wrong unit: µm --> um
* Merge pull request #3099 from Sigma1912/2.9-configs-apps-xhc-hb04-2
* Add note about required 'XTerm' to README 'configs/apps/xhc-hb04'
* Update configs/apps/gladevcp/animated-backdrop/cairodraw.py
* Merge pull request #3083 from hansu/gtk-sourceview-4-migration
* configs/apps/gladevcp/animated-backdrop: partial fix
* configs/apps/gladevcp/by-widget/sourceview: fix 'up','down' button functionalitiy
* fix configs/apps/gladevcp: update to gtk3 ('sourceview' and 'animated backdrop' still not 100%))
* Use now GtkSourceview 4
* qtplasmac: fix file load after single cut
* Merge pull request #3076 from Sigma1912/2.9-fix-sim-config-rack-toolchange
* Fix glade panel and remove depricated 'Features' entries in ini
* qtvcp -tab_widget: fix float/int error with new libraries
* Merge pull request #3054 from petterreinholdtsen/2.9-build-sid
* Reinsert github CI test build on sid
* Merge pull request #3026 from hansu/2966-gmoccapy-destroys-tooltable
* Merge pull request #3049 from mark-v-d/2.9
* We need to turn cutter compensation off for the rapid to the startpoint as well.
* Merge pull request #3017 from petterreinholdtsen/2-9-smoe-debian_manpages
* gmoccapy: add sim config for gcmc support
* tooledit: throw exeption when locale not set
* tooltable: create a backup file when error occurs on saving + add exception message
* Adjusted handling of man pages to avoid duplicate lists.
* Merge pull request #3043 from petterreinholdtsen/2.9-disable-unstable-build
* Disabled github CI build on unstable/sid until it start working again.
* Merge pull request #3042 from petterreinholdtsen/2.9-new-manpage-install
* Merge pull request #3041 from rmu75/rs/fix-locale-restore-2.9
* Added new man pages to debian/linuxcnc.install.in.
* fix restoring of locale setting in interp
* Revert "docs: force monospace font in ASCII art (related to #3007)"
* Merge pull request #3035 from sensille/litehm2-2.9
* hostmot2: collect initial writes into a single packet
* shmen.cc: Revert a mistaken srrncmp->rtapi_srtlcpy change,
* Add missing mapages (#3029)
* docs: force monospace font in ASCII art (related to #3007)
* docs: fix missing line break in toggle2nist man page
* Merge pull request #3020 from mark-v-d/2.9
* Fixed bug #2939. But now new and improved. This fixes the case where the sub actually has a leadout, but it is too short.
* Fixed bug #2939. When fixing the case where there was no leadout move, I broke the case where the leadout was exceeding the starting point.
* Allow uniq_id to be used to select hal_input devices. (#3015)

-- andypugh <[email protected]> Sat, 25 Jan 2025 12:20:01 +0000

linuxcnc (1:2.9.3) unstable; urgency=medium
linuxcnc (1:2.9.3) UNRELEASED; urgency=medium

* Make warning about file endings more explicit for new users. (#3013)
* strncpy -> rtapi_strlcpy for string termination (#2683)
Expand Down
12 changes: 6 additions & 6 deletions docs/src/getting-started/getting-linuxcnc.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ This section describes some methods for downloading the Live/Install image.
Software for LinuxCNC to download is presented on the project's
https://linuxcnc.org/downloads/[Downloads page].
Most users will aim for the disk image for Intel/AMD PCs, the URL
will resemble https://www.linuxcnc.org/iso/linuxcnc_2.9.2-amd64.hybrid.iso.
will resemble https://www.linuxcnc.org/iso/linuxcnc_2.9.4-amd64.hybrid.iso.

For the Raspberry Pi, multiple images are provided to address
differences between the RPi4 and RPi5.
Expand All @@ -67,7 +67,7 @@ sudo apt-get install zsync
. Then run this command to download the iso to your computer
+
----
zsync https://www.linuxcnc.org/iso/linuxcnc_2.9.2-amd64.hybrid.iso
zsync https://www.linuxcnc.org/iso/linuxcnc_2.9.4-amd64.hybrid.iso
----

.zsync in Windows
Expand All @@ -83,13 +83,13 @@ https://www.assembla.com/spaces/zsync-windows/documents .
. After downloading, verify the checksum of the image to ensure integrity.

----
md5sum linuxcnc-2.9.2-amd64.iso
md5sum linuxcnc-2.9.4-amd64.iso
----

or

----
sha256sum linuxcnc-2.9.2-amd64.iso
sha256sum linuxcnc-2.9.4-amd64.iso
----
. Then compare to these checksums

Expand Down Expand Up @@ -139,7 +139,7 @@ It looks more complicated but seems to be more compatible with various BIOSes.
then use this command:
+
-----
dd if=linuxcnc_2.9.2-amd64.hybrid.iso of=/dev/sde
dd if=linuxcnc_2.9.4-amd64.hybrid.iso of=/dev/sde
-----

=== Command line - MacOS
Expand All @@ -159,7 +159,7 @@ diskutil unmountDisk /dev/diskN
Note that the disk name has an added "r" at the beginning.
+
-----
sudo dd if=/linuxcnc_2.9.2-amd64.hybrid.iso of=/dev/rdiskN bs=1m
sudo dd if=/linuxcnc_2.9.4-amd64.hybrid.iso of=/dev/rdiskN bs=1m
-----
. Note that this may take a long time to complete and there will be no
feedback during the process.
Expand Down
7 changes: 5 additions & 2 deletions lib/python/qtvcp/lib/qt_vismach/fanuc_200f.py
Original file line number Diff line number Diff line change
Expand Up @@ -205,12 +205,15 @@ def __init__(self):
mainLayout.addWidget(self.glWidget)
self.setLayout(mainLayout)

# need to explicitly kill the HAL component
def cleanup(self):
c.exit()

# but it you call this directly it should work too
# It just makes a qtvcp5 window that is defined in qt_vismach.py
# It just makes a qtvcp window that is defined in qt_vismach.py
# parameter list:
# final model name must include all parts you want to use
# tooltip (special for tool tip inclusuion)
# tooltip (special for tool tip inclusion)
# work (special for work part inclusion)
# size of screen (bigger means more zoomed out to show more of machine)
# hud None if no hud
Expand Down
3 changes: 3 additions & 0 deletions lib/python/qtvcp/lib/qt_vismach/gantry_5axis.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,9 @@ def __init__(self):
mainLayout.addWidget(self.glWidget)
self.setLayout(mainLayout)

# need to explicitly kill the HAL component
def cleanup(self):
c.exit()

# but it you call this directly it should work too
# It just makes a qtvcp5 window that is defined in qt_vismach.py
Expand Down
3 changes: 3 additions & 0 deletions lib/python/qtvcp/lib/qt_vismach/millturn.py
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,9 @@ def __init__(self):
mainLayout.addWidget(self.glWidget)
self.setLayout(mainLayout)

# need to explicitly kill the HAL component
def cleanup(self):
c.exit()

# but it you call this directly it should work too
# It just makes a qtvcp5 window that is defined in qt_vismach.py
Expand Down
4 changes: 2 additions & 2 deletions lib/python/qtvcp/qt_istat.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@
# catch all
if BASE is None:
BASE = '/usr'
if self.RIP_FLAG:
log.verbose('Linuxcnc Base directory not found in environmental variable: EMC3_HOME')
if RIP_FLAG:
log.verbose('Linuxcnc Base directory not found in environmental variable: EMC2_HOME')
else:
log.verbose('Linuxcnc Base directory not found in environmental variable: LINUXCNC_HOME')

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ def __init__(self, halcomp,widgets,paths):
# the widgets are instantiated.
# the HAL pins are built but HAL is not set ready
def initialized__(self):
machine = MILL.Window()
self.w.mainLayout.addWidget(machine)
self.machine = MILL.Window()
self.w.mainLayout.addWidget(self.machine)


########################
Expand All @@ -58,6 +58,8 @@ def initialized__(self):
###########################
# **** closing event **** #
###########################
def closing_cleanup__(self):
self.machine.cleanup()

##############################
# required class boiler code #
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ def __init__(self, halcomp,widgets,paths):
# the widgets are instantiated.
# the HAL pins are built but HAL is not set ready
def initialized__(self):
machine = Robot.Window()
self.w.mainLayout.addWidget(machine)
self.machine = Robot.Window()
self.w.mainLayout.addWidget(self.machine)


########################
Expand All @@ -58,6 +58,8 @@ def initialized__(self):
###########################
# **** closing event **** #
###########################
def closing_cleanup__(self):
self.machine.cleanup()

##############################
# required class boiler code #
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ def __init__(self, halcomp,widgets,paths):
# the widgets are instantiated.
# the HAL pins are built but HAL is not set ready
def initialized__(self):
machine = MILL.Window()
self.w.mainLayout.addWidget(machine)
self.machine = MILL.Window()
self.w.mainLayout.addWidget(self.machine)


########################
Expand All @@ -58,6 +58,8 @@ def initialized__(self):
###########################
# **** closing event **** #
###########################
def closing_cleanup__(self):
self.machine.cleanup()

##############################
# required class boiler code #
Expand Down
8 changes: 7 additions & 1 deletion src/emc/usr_intf/gmoccapy/gmoccapy.py
Original file line number Diff line number Diff line change
Expand Up @@ -5020,7 +5020,10 @@ def on_btn_select_tool_by_no_clicked(self, widget, data=None):
self.command.wait_complete()
command = "T{0} M6".format(int(value))
self.command.mdi(command)

# Next two lines fix issue #3129 caused by GStat missing changes in interpreter mode
command = "G4 P{0}".format(self.get_ini_info.get_cycle_time()/1000)
self.command.mdi(command)

# set tool with M61 Q? or with T? M6
def on_btn_selected_tool_clicked(self, widget, data=None):
tool = self.widgets.tooledit1.get_selected_tool()
Expand All @@ -5043,6 +5046,9 @@ def on_btn_selected_tool_clicked(self, widget, data=None):
else:
command = "M61 Q{0}".format(tool)
self.command.mdi(command)
# Next two lines fix issue #3120 also caused by GStat missing changes in interpreter mode
command = "G4 P{0}".format(self.get_ini_info.get_cycle_time()/1000)
self.command.mdi(command)
else:
message = _("Could not understand the entered tool number. Will not change anything!")
self.dialogs.warning_dialog(self, _("Important Warning!"), message)
Expand Down

0 comments on commit 94f6257

Please sign in to comment.