{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.kQ6tVyiX/b1/linuxcnc_2.9.3-1_amd64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.kQ6tVyiX/b2/linuxcnc_2.9.3-1_amd64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,9 +1,9 @@\n \n- f00cd34fd39ba0ee213e67f639b12a8f 27879080 misc optional linuxcnc-doc-de_2.9.3-1_all.deb\n- 1e9ba344b615248446e934ad171a35e6 28458464 misc optional linuxcnc-doc-en_2.9.3-1_all.deb\n- d4f02bb9534d9760f1f9b2efa1de27a7 27613344 misc optional linuxcnc-doc-es_2.9.3-1_all.deb\n- d62a82ae98bee9ca702f70fc28b20039 27522508 misc optional linuxcnc-doc-fr_2.9.3-1_all.deb\n- 816f01798cb06383c1115e75bee70a57 27571844 misc optional linuxcnc-doc-zh-cn_2.9.3-1_all.deb\n+ 784dee136df67cb2e71d7fdf9d2141da 27879600 misc optional linuxcnc-doc-de_2.9.3-1_all.deb\n+ d05022e890c1b2b94bf716b72556c900 28460292 misc optional linuxcnc-doc-en_2.9.3-1_all.deb\n+ bd8f1cd73d6eb22c8d6e73a5cedfb917 27614524 misc optional linuxcnc-doc-es_2.9.3-1_all.deb\n+ f48b47158c417ee34ab04bafa7471122 27523256 misc optional linuxcnc-doc-fr_2.9.3-1_all.deb\n+ 7fc946f6024a7352eb0ef3193780e4c4 27570764 misc optional linuxcnc-doc-zh-cn_2.9.3-1_all.deb\n d7f753280b59ae65f808a6395b014a5d 11367024 debug optional linuxcnc-uspace-dbgsym_2.9.3-1_amd64.deb\n 924ad77e353999395c6635d478ea0425 260920 devel optional linuxcnc-uspace-dev_2.9.3-1_amd64.deb\n- fc53f8d8d159178c74a7ded6d5250ee0 25554788 misc optional linuxcnc-uspace_2.9.3-1_amd64.deb\n+ bad10994e9bb1441c3b841c21aeda9cd 25552408 misc optional linuxcnc-uspace_2.9.3-1_amd64.deb\n"}, {"source1": "linuxcnc-doc-de_2.9.3-1_all.deb", "source2": "linuxcnc-doc-de_2.9.3-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2024-07-07 12:09:33.000000 debian-binary\n -rw-r--r-- 0 0 0 1076 2024-07-07 12:09:33.000000 control.tar.xz\n--rw-r--r-- 0 0 0 27877812 2024-07-07 12:09:33.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 27878332 2024-07-07 12:09:33.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -4,16 +4,16 @@\n drwxr-xr-x 0 root (0) root (0) 0 2024-07-07 12:09:33.000000 ./usr/share/applications/\n -rw-r--r-- 0 root (0) root (0) 340 2024-07-06 08:41:36.000000 ./usr/share/applications/linuxcnc-documentation_de.desktop\n -rw-r--r-- 0 root (0) root (0) 367 2024-07-06 08:41:36.000000 ./usr/share/applications/linuxcnc-gcoderef_de.desktop\n -rw-r--r-- 0 root (0) root (0) 381 2024-07-06 08:41:36.000000 ./usr/share/applications/linuxcnc-gettingstarted_de.desktop\n -rw-r--r-- 0 root (0) root (0) 370 2024-07-06 08:41:36.000000 ./usr/share/applications/linuxcnc-integratorinfo_de.desktop\n drwxr-xr-x 0 root (0) root (0) 0 2024-07-07 12:09:33.000000 ./usr/share/doc/\n drwxr-xr-x 0 root (0) root (0) 0 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc/\n--rw-r--r-- 0 root (0) root (0) 870282 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc/LinuxCNC_Developer_de.pdf\n--rw-r--r-- 0 root (0) root (0) 29759301 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc/LinuxCNC_Documentation_de.pdf\n+-rw-r--r-- 0 root (0) root (0) 870283 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc/LinuxCNC_Developer_de.pdf\n+-rw-r--r-- 0 root (0) root (0) 29759395 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc/LinuxCNC_Documentation_de.pdf\n -rw-r--r-- 0 root (0) root (0) 499000 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc/LinuxCNC_Getting_Started_de.pdf\n -rw-r--r-- 0 root (0) root (0) 155423 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc/LinuxCNC_Integrator_de.pdf\n -rw-r--r-- 0 root (0) root (0) 15158 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc/gcode_de.html\n drwxr-xr-x 0 root (0) root (0) 0 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc-doc-de/\n -rw-r--r-- 0 root (0) root (0) 11120 2024-07-07 12:09:33.000000 ./usr/share/doc/linuxcnc-doc-de/changelog.Debian.gz\n -rw-r--r-- 0 root (0) root (0) 42238 2024-07-06 08:41:36.000000 ./usr/share/doc/linuxcnc-doc-de/copyright\n drwxr-xr-x 0 root (0) root (0) 0 2024-07-07 12:09:33.000000 ./usr/share/doc-base/\n"}, {"source1": "./usr/share/doc/linuxcnc/LinuxCNC_Developer_de.pdf", "source2": "./usr/share/doc/linuxcnc/LinuxCNC_Developer_de.pdf", "unified_diff": null, "details": [{"source1": "./usr/share/doc/linuxcnc/LinuxCNC_Developer_de.pdf", "source2": "./usr/share/doc/linuxcnc/LinuxCNC_Developer_de.pdf", "comments": ["Document info"], "unified_diff": "@@ -1,4 +1,4 @@\n CreationDate: 'D:20240707120933Z'\n Creator: 'DBLaTeX-0.3.12'\n Producer: 'xdvipdfmx (20240305)'\n-Title: 'Entwickler-Handbuch V2.9.3, 07 Jul 2024'\n+Title: 'Entwickler-Handbuch V2.9.3, 08 Jul 2024'\n"}, {"source1": "pdftotext {} -", "source2": "pdftotext {} -", "unified_diff": "@@ -1,10 +1,10 @@\n-Entwickler-Handbuch V2.9.3, 07 Jul 2024\n+Entwickler-Handbuch V2.9.3, 08 Jul 2024\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n ii\n \n Inhaltsverzeichnis\n 1 Einf\u00fchrung\n \n 1\n@@ -115,15 +115,15 @@\n \n 16\n \n 3.8.3.1 Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 17\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n iii\n \n 3.8.3.2 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 17\n \n@@ -277,15 +277,15 @@\n \n 21\n \n 3.8.16.1Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 21\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n iv\n \n 3.8.16.2Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 21\n \n@@ -447,15 +447,15 @@\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 29\n \n 3.21.3Prozesslinie\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n v\n \n 3.21.4Kommentare zur Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 30\n \n@@ -619,15 +619,15 @@\n \n 43\n \n 4.14Andere . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 43\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n vi\n \n 5 Quellcode-Stil\n \n 45\n \n@@ -777,15 +777,15 @@\n \n 60\n \n 8.4.1 LinuxCNC offizielles Git Repository . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 60\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n vii\n \n 8.4.2 Verwendung von Git im LinuxCNC-Projekt . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 61\n \n@@ -870,15 +870,15 @@\n \n 10.2GNU Free Documentation License\n \n 72\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 1 / 76\n \n Kapitel 1\n \n Einf\u00fchrung\n \n@@ -901,15 +901,15 @@\n LINUX\u00ae ist das eingetragene Warenzeichen von Linus Torvalds in den USA und anderen L\u00e4ndern.\n Die eingetragene Marke Linux\u00ae wird im Rahmen einer Unterlizenz von LMI, dem exklusiven Lizenznehmer von Linus Torvalds, dem Eigent\u00fcmer der Marke auf weltweiter Basis, verwendet.\n Das LinuxCNC-Projekt ist nicht mit Debian\u00ae verbunden. Debian_ ist ein eingetragenes Warenzeichen\n im Besitz von Software in the Public Interest, Inc.\n Das LinuxCNC-Projekt ist nicht mit UBUNTU\u00ae verbunden. UBUNTU ist eine eingetragene Marke im\n Besitz von Canonical Limited.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 2 / 76\n \n Kapitel 2\n \n HAL General Reference\n 2.1 HAL Entity Names\n@@ -939,15 +939,15 @@\n Halcmd and other low-level HAL utilities treat HAL names as single entities, with no internal structure. However, most modules do have some implicit structure. For example, a board provides several\n functional blocks, each block might have several channels, and each channel has one or more pins.\n This results in a structure that resembles a directory tree. Even though halcmd doesn\u2019t recognize the\n tree structure, proper choice of naming conventions will let it group related items together (since it\n sorts the names). In addition, higher level tools can be designed to recognize such structure, if the\n names provide the necessary information. To do that, all HAL components should follow these rules:\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 3 / 76\n \n \u2022 Punkte (\u201d.\u201d) trennen die einzelnen Ebenen der Hierarchie. Dies ist vergleichbar mit dem Schr\u00e4gstrich (\u201d/\u201d) in einem Dateinamen.\n \u2022 Bindestriche (\u201e-\u201c) trennen W\u00f6rter oder Felder auf derselben Hierarchieebene.\n \u2022 HAL-Komponenten sollten keine Unterstriche oder \u201dMixedCase\u201d verwenden. 1\n \u2022 Verwenden Sie in Namen nur Kleinbuchstaben und Zahlen.\n@@ -982,15 +982,15 @@\n Like device numbers, channel numbers start at zero and increment.2 If more than one device is\n installed, the channel numbers on additional devices start over at zero. If it is possible to have a\n 1 Die unterstrichenen Zeichen wurden entfernt, aber es gibt immer noch einige F\u00e4lle, in denen die Mischung nicht stimmt,\n zum Beispiel pid.0.Pgain anstelle von pid.0.p-gain.\n 2 One exception to the \u201dchannel numbers start at zero\u201d rule is the parallel port. Its HAL pins are numbered with the corresponding pin number on the DB-25 connector. This is convenient for wiring, but inconsistent with other drivers. There is some\n debate over whether this is a bug or a feature.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 4 / 76\n \n channel number greater than 9, then channel numbers should be two digits, with a leading zero\n on numbers less than 10 to preserve sort ordering. Some modules have pins and/or parameters\n that affect more than one channel. For example a PWM generator might have four channels\n with four independent \u201dduty-cycle\u201d inputs, but one \u201dfrequency\u201d parameter that controls all four\n@@ -1031,28 +1031,28 @@\n Funktionen darauf zugreifen.\n read|write\n Gibt an, ob die Funktion die Hardware liest (engl. read) oder in sie schreibt (engl. write).\n 3 Note to driver programmers: Do NOT implement separate functions for different I/O types unless they are interruptible\n and can work in independent threads. If interrupting an encoder read, reading digital inputs, and then resuming the encoder\n read will cause problems, then implement a single function that does everything.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 5 / 76\n \n Beispiele\n motenc.0.encoder.read\n Liest alle Encoder auf der ersten Motenc-Platine aus.\n generic8255.0.din.09-15.read\n Liest den zweiten 8-Bit-Port auf der ersten generischen 8255-basierten digitalen E/A-Karte.\n ppmc.0.write\n Schreibt alle Ausg\u00e4nge (Schrittgeneratoren, PWM, DACs und Digital) auf die erste Pico Systems\n ppmc-Karte.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 6 / 76\n \n Kapitel 3\n \n Code Anmerkungen\n 3.1 Zielgruppe\n@@ -1077,15 +1077,15 @@\n und die Linearantriebe eines Hexapods entsprechen jedoch keiner Bewegung entlang einer kartesischen Achse, und im Allgemeinen ist es wichtig, zwischen den kartesischen Achsen und den\n Freiheitsgraden der Maschine zu unterscheiden. In diesem Dokument werden letztere als Gelenke und nicht als Achsen bezeichnet. Die grafischen Benutzeroberfl\u00e4chen und einige andere Teile\n des Quellcodes folgen dieser Unterscheidung vielleicht nicht immer, aber die Interna des \u201dMotion\n Controllers\u201d schon.\n \u2022 GELENK (engl. JOINT)- Ein Gelenk ist eines der beweglichen Teile der Maschine. Gelenke unterscheiden sich von Achsen, obwohl die beiden Begriffe manchmal (f\u00e4lschlicherweise) f\u00fcr dieselbe\n Sache verwendet werden. In LinuxCNC ist ein Gelenk einer physikalischen Sache, die bewegt werden kann, nicht eine Koordinate im Raum. Zum Beispiel sind die Pinole, das Knie, der Sattel und der\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 7 / 76\n \n Tisch einer Bridgeport-Fr\u00e4se alles Gelenke. Die Schulter, der Ellbogen und das Handgelenk eines\n Roboterarms sind Gelenke, ebenso wie die Linearaktuatoren eines Hexapods. Jedem Gelenk ist ein\n Motor oder Aktuator zugeordnet. Gelenke entsprechen nicht unbedingt den X-, Y- und Z-Achsen,\n obwohl dies bei Maschinen mit trivialer Kinematik der Fall sein kann. Selbst bei diesen Maschinen sind die Position des Gelenks und die Position der Achsen grundlegend verschieden. In diesem\n@@ -1116,19 +1116,19 @@\n gedacht.\n \n 3.4 Architektur\u00fcbersicht\n Die LinuxCNC-Architektur besteht aus vier Komponenten: einem Motion-Controller (EMCMOT), einem diskreten IO-Controller (EMCIO), einem Task-Executor, der diese koordiniert (EMCTASK) und\n mehreren textbasierten und grafischen Benutzerschnittstellen. Jede dieser Schnittstellen wird in diesem Dokument beschrieben, sowohl aus der Sicht des Designs als auch aus der Sicht der Entwickler\n (wo findet man ben\u00f6tigte Daten, wie kann man Dinge einfach erweitern/ver\u00e4ndern, usw.).\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 8 / 76\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 9 / 76\n \n 3.4.1 LinuxCNC-Softwarearchitektur\n Auf der gr\u00f6bsten Ebene ist LinuxCNC eine Hierarchie von drei Controllern: der Task-Level-Befehlshandler\n und Programminterpreter, der Motion-Controller und der diskrete E/A-Controller (engl. I/O). Der diskrete E/A-Controller ist als eine Hierarchie von Controllern implementiert, in diesem Fall f\u00fcr Spindel, K\u00fchlmittel- und Hilfs-Subsysteme (z. B. Notaus, Schmierung). Der Task-Controller koordiniert die\n Aktionen der Bewegungssteuerung und der diskreten E/A-Steuerung. Deren Aktionen werden in konventionellen numerischen Steuerungs- \u201dG- und M-Code\u201d Programmen programmiert, die von der Aufgabensteuerung in NML-Nachrichten interpretiert und zu den entsprechenden Zeitpunkten entweder\n@@ -1159,19 +1159,19 @@\n durch\n LinuxCNC wird durch das linuxcnc Skript gestartet, welches eine Konfigurations-.ini-Datei liest und\n alle ben\u00f6tigten Prozesse startet. F\u00fcr die Echtzeit-Bewegungssteuerung l\u00e4dt das Skript zun\u00e4chst die\n Standard-Module tpmod und homemod und l\u00e4dt dann die Kinematik- und Bewegungsmodule entsprechend den Einstellungen in halfiles, die in der .ini-Datei angegeben sind.\n Benutzerdefinierte Referenzfahrt- oder Flugbahnplanungsmodule k\u00f6nnen anstelle der Standardmodule \u00fcber .ini-Datei-Einstellungen oder Befehlszeilenoptionen verwendet werden. Benutzerdefinierte\n Module m\u00fcssen alle von den Standardmodulen verwendeten Funktionen implementieren. Das Dienstprogramm halcompile kann verwendet werden, um ein benutzerdefiniertes Modul zu erstellen.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 10 / 76\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 11 / 76\n \n 3.6 Blockdiagramme und Datenfluss\n Die folgende Abbildung ist das Blockdiagramm einer Gelenksteuerung. F\u00fcr jedes Gelenk gibt es genau\n eine Gelenksteuerung. Die Gelenksteuerungen arbeiten auf einer niedrigeren Ebene als die Kinematik, einer Ebene, auf der alle Gelenke v\u00f6llig unabh\u00e4ngig sind. Alle Daten f\u00fcr ein Gelenk befinden sich\n in einer einzigen Gelenkstruktur. Einige Elemente dieser Struktur sind im Blockdiagramm sichtbar,\n@@ -1184,15 +1184,15 @@\n wird mit der Traj-Rate aktualisiert, nicht mit der Servo-Rate. Im koordinierten Modus wird sie durch\n den Traj-Planer bestimmt. Im Teleop-Modus wird sie durch den Traj-Planer bestimmt? Im freien\n Modus sie entweder von actualPos kopiert oder durch Anwendung von Vorw\u00e4rtskinematik auf (2)\n oder (3) erzeugt.\n \u2022 emcmotStatus->joints[n].coarse_pos - Dies ist die gew\u00fcnschte Position, in Gelenkkoordinaten, aber\n vor der Interpolation. Sie wird mit der traj rate aktualisiert, nicht mit der servo rate. Im Koordinatenmodus wird sie durch Anwendung von inversen Kinetiken auf (1) erzeugt. Im Teleop-Modus wird\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 12 / 76\n \n sie durch Anwendung von inversen Kinematiken auf (1) erzeugt. Im freien Modus wird sie von (3)\n kopiert, glaube ich.\n \u2022 \u2019emcmotStatus->joints[n].pos_cmd - Dies ist die gew\u00fcnschte Position, in Gelenkkoordinaten, nach\n der Interpolation. Ein neuer Satz dieser Koordinaten wird in jeder Servoperiode erzeugt. Im Koordinatenmodus wird sie vom Interpolator aus (2) generiert. Im Teleop-Modus wird er durch den\n@@ -1215,26 +1215,26 @@\n vorzut\u00e4uschen, oder B) zuzugeben, dass wir die kartesischen Koordinaten nicht wirklich kennen,\n und actualPos einfach nicht zu aktualisieren. Unabh\u00e4ngig davon, welcher Ansatz verwendet wird,\n sehe ich keinen Grund, es nicht auf die gleiche Weise zu tun, unabh\u00e4ngig von der Betriebsart. Ich\n w\u00fcrde das Folgende vorschlagen: Wenn es Vorw\u00e4rts-Kins gibt, verwenden Sie sie, es sei denn, sie\n funktionieren nicht, weil die Achsen nicht beheimatet sind oder andere Probleme auftreten; in diesem Fall machen Sie (B). Wenn es keine Forward Kins gibt, dann mach (A), da sonst actualPos nie\n aktualisiert werden w\u00fcrde.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 13 / 76\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 3.7 Referenzfahrt (engl. homing)\n 3.7.1 Zustandsdiagramm der Referenzfahrt\n \n 14 / 76\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 15 / 76\n \n 3.7.2 Ein weiteres Homing-Diagramm\n \n 3.8 Befehle\n Die Befehle werden durch eine gro\u00dfe Fallunterscheidung (Switch-Anweisung) in der Funktion emcmotCommandHandler() implementiert, die bei der Servo-Rate aufgerufen wird. Mehr zu dieser Funktion sp\u00e4ter.\n@@ -1247,15 +1247,15 @@\n \n 3.8.1 Abbrechen\n Der Befehl ABORT (engl. f\u00fcr Abbruch) stoppt einfach alle Bewegungen. Er kann jederzeit erteilt werden und wird immer akzeptiert. Er deaktiviert den Motion Controller nicht und \u00e4ndert auch keine\n Zustandsinformationen, sondern bricht lediglich eine laufende Bewegung ab.1\n 1 Es scheint, dass der Code auf h\u00f6herer Ebene (TASK und h\u00f6her) ABORT auch zum L\u00f6schen von Fehlern verwendet. Wann\n immer ein anhaltender Fehler auftritt (z. B. wenn die Hardware-Endschalter \u00fcberschritten werden), sendet der \u00fcbergeordnete\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 16 / 76\n \n 3.8.1.1 Anforderungen\n Keine. Der Befehl wird immer angenommen und sofort ausgef\u00fchrt.\n 3.8.1.2 Ergebnisse\n Im freien Modus sind die Trajektorienplaner f\u00fcr den freien Modus deaktiviert. Das f\u00fchrt dazu, dass\n@@ -1288,15 +1288,15 @@\n Bewegung der Maschine auf kartesischen Koordinaten unter Verwendung der Kinematik und nicht auf\n einzelnen Gelenken wie im freien Modus. Der Trajektorienplaner als solcher wird jedoch nicht verwendet, stattdessen wird die Bewegung durch einen Geschwindigkeitsvektor gesteuert. Die Bewegung im\n Teleop-Modus \u00e4hnelt dem Joggen, mit dem Unterschied, dass sie im kartesischen Raum und nicht im\n Gelenkraum erfolgt. Auf einer Maschine mit trivialer Kinematik gibt es kaum einen Unterschied zwischen dem Teleop-Modus und dem freien Modus, und die grafischen Benutzeroberfl\u00e4chen f\u00fcr diese\n Code einen st\u00e4ndigen Strom von ABORTs an den Bewegungsregler, um den Fehler zu beheben. Tausende von ihnen\u2026. Das\n bedeutet, dass die Bewegungssteuerung anhaltende Fehler vermeiden sollte. Dies muss untersucht werden.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 17 / 76\n \n Maschinen geben diesen Befehl m\u00f6glicherweise nicht einmal aus. Bei nicht-trivialen Maschinen wie\n Robotern und Hexapoden wird der Teleop-Modus jedoch f\u00fcr die meisten vom Benutzer befohlenen\n Jog-Bewegungen verwendet.\n 3.8.3.1 Anforderungen\n@@ -1327,15 +1327,15 @@\n Wenn sich die Maschine bereits im Koordinatenmodus befindet, geschieht nichts. Andernfalls wird die\n Maschine in den Koordinatenmodus versetzt. Der Kinematikcode wird aktiviert, die Interpolatoren\n werden entleert und geleert, und die Warteschlangen des Bahnplaners sind leer. Der Trajektorienplaner ist aktiv und wartet auf einen LINE-, CIRCLE- oder PROBE-Befehl.\n \n 3.8.5 ENABLE (AKTIVIEREN)\n Der Befehl ENABLE aktiviert den Motion Controller.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 18 / 76\n \n 3.8.5.1 Anforderungen\n Keine. Der Befehl kann jederzeit erteilt werden und wird immer akzeptiert.\n 3.8.5.2 Ergebnisse\n Wenn der Controller bereits aktiviert ist, passiert nichts. Ansonsten wird der Controller aktiviert. Warteschlangen und Interpolatoren werden geleert. Alle Bewegungs- oder Referenzfahrtvorg\u00e4nge werden\n@@ -1360,15 +1360,15 @@\n Derzeit nichts. (Ein Aufruf der alten extAmpEnable-Funktion ist derzeit auskommentiert.) Eventuell\n wird der Amp-Enable-HAL-Pin auf true gesetzt.\n \n 3.8.8 DISABLE_AMPLIFIER\n Der Befehl DISABLE_AMPLIFIER schaltet den Amp-Enable-Ausgang f\u00fcr einen einzelnen Verst\u00e4rker\n aus, ohne etwas anderes zu \u00e4ndern. Auch dies ist n\u00fctzlich f\u00fcr Spindeldrehzahlregler.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 19 / 76\n \n 3.8.8.1 Anforderungen\n Keine. Der Befehl kann jederzeit erteilt werden und wird immer akzeptiert.\n 3.8.8.2 Ergebnisse\n Derzeit nichts. (Ein Aufruf der alten extAmpEnable Funktion ist derzeit auskommentiert.) Eventuell\n@@ -1392,15 +1392,15 @@\n nicht.\n \n 3.8.11 ENABLE_WATCHDOG\n Der Befehl ENABLE_WATCHDOG aktiviert einen hardwarebasierten Watchdog (falls vorhanden).\n 3.8.11.1 Anforderungen\n Keine. Der Befehl kann jederzeit erteilt werden und wird immer akzeptiert.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 20 / 76\n \n 3.8.11.2 Ergebnisse\n Derzeit nichts. Der alte Watchdog war ein seltsames Ding, das eine bestimmte Soundkarte verwendete. M\u00f6glicherweise wird in Zukunft eine neue Watchdog-Schnittstelle entwickelt.\n \n 3.8.12 DISABLE_WATCHDOG\n@@ -1423,15 +1423,15 @@\n Der Befehl RESUME startet den Trajektorienplaner neu, wenn er angehalten wurde. Er hat keine\n Auswirkung im freien oder Teleop-Modus, oder wenn der Planer nicht angehalten ist.\n 3.8.14.1 Anforderungen\n Keine. Der Befehl kann jederzeit erteilt werden und wird immer akzeptiert.\n 3.8.14.2 Ergebnisse\n Der Trajektorienplaner arbeitet weiter.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 21 / 76\n \n 3.8.15 STEP\n Der STEP-Befehl (engl. f\u00fcr Schritt) startet den Trajektorienplaner neu, wenn er angehalten wurde, und\n weist ihn an, wieder anzuhalten, wenn er einen bestimmten Punkt erreicht. Er hat keine Wirkung im\n freien oder Teleop-Modus. Zu diesem Zeitpunkt wei\u00df ich nicht genau, wie das funktioniert. Ich werde\n@@ -1460,15 +1460,15 @@\n 3.8.17.1 Anforderungen\n Keine. Der Befehl kann jederzeit erteilt werden und wird immer akzeptiert. (Ich denke, es sollte nur\n im freien Modus funktionieren.)\n 3.8.17.2 Ergebnisse\n Die Begrenzungen f\u00fcr alle Gelenke werden bis zum Ende des n\u00e4chsten JOG-Befehls au\u00dfer Kraft gesetzt. (Dies ist derzeit nicht m\u00f6glich\u2026 sobald ein OVERRIDE_LIMITS-Befehl empfangen wird, werden\n die Begrenzungen ignoriert, bis ein weiterer OVERRIDE_LIMITS-Befehl sie wieder aktiviert.)\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 22 / 76\n \n 3.8.18 HOME\n Der HOME-Befehl leitet eine Referenzfahrt an einem bestimmten Gelenk ein. Die tats\u00e4chliche Referenzierungssequenz wird durch eine Reihe von Konfigurationsparametern bestimmt und kann vom\n einfachen Setzen der aktuellen Position auf Null bis hin zu einer mehrstufigen Suche nach einem\n Referenzschalter und einem Indeximpuls, gefolgt von einer Bewegung zu einer beliebigen Referenzposition, reichen. Weitere Informationen \u00fcber die Referenzfahrt-Sequenz finden Sie im Abschnitt Referenzfahrt des Integrator-Handbuchs.\n@@ -1494,15 +1494,15 @@\n 3.8.20 JOG_INCR\n Der JOG_INCR-Befehl initiiert einen inkrementellen Tippbetrieb f\u00fcr ein einzelnes Gelenk. Inkrementelle Verfahrbewegungen sind kumulativ, d.h. wenn Sie zwei JOG_INCR-Befehle geben, die jeweils\n eine Bewegung von 0,100 Zoll erfordern, ergibt dies eine Bewegung von 0,200 Zoll, auch wenn der\n zweite Befehl gegeben wird, bevor der erste beendet ist. Normalerweise stoppen Inkremental-Jogs,\n wenn sie die gew\u00fcnschte Strecke zur\u00fcckgelegt haben, aber sie stoppen auch, wenn sie an eine Grenze\n sto\u00dfen, oder bei einem ABORT-Befehl.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 23 / 76\n \n 3.8.20.1 Anforderungen\n Der Befehlshandler lehnt den JOG_INCR-Befehl stillschweigend ab, wenn sich die Maschine nicht im\n freien Modus befindet, wenn ein Gelenk in Bewegung ist (GET_MOTION_INPOS_FLAG() == FALSE)\n oder wenn die Bewegung nicht aktiviert ist. Der Befehl wird auch ignoriert, wenn das Gelenk bereits\n@@ -1534,15 +1534,15 @@\n und die Maschine f\u00e4hrt zur befohlenen Endposition. Der Planer im freien Modus beschleunigt zu\n Beginn der Bewegung mit der Gelenkbeschleunigungsgrenze und bremst mit der Gelenkbeschleunigungsgrenze ab, um an der Zielposition anzuhalten.\n \n 3.8.22 SET_LINE\n Der Befehl SET_LINE f\u00fcgt eine gerade Linie in die Warteschlange des Trajektorienplaners ein.\n (Mehr dazu sp\u00e4ter)\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 24 / 76\n \n 3.8.23 SET_CIRCLE\n Der Befehl SET_CIRCLE f\u00fcgt eine kreisf\u00f6rmige Bewegung in die Warteschlange des Trajektorienplaners ein.\n (Mehr dazu sp\u00e4ter)\n \n@@ -1572,15 +1572,15 @@\n + Umkehrspiel- und Schraubenfehlerkompensation\n \n 3.10 Task-Controller (EMCTASK)\n 3.10.1 Zustand\n Die Aufgabe hat drei m\u00f6gliche interne Zust\u00e4nde: Notaus (E-Stop), Notaus-Reset (E-Stop Reset) und\n Maschine Ein (Machine On).\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 25 / 76\n \n 3.11 IO-Controller (EMCIO)\n Die E/A-Steuerung (engl. I/O controller) ist ein separates Modul, das NML-Befehle von TASK annimmt.\n Es interagiert mit externen E/A \u00fcber HAL-Pins. iocontrol.cc wird \u00fcber das linuxcnc-Skript vor TASK\n geladen. Derzeit gibt es zwei Versionen von iocontrol. Die zweite Version behandelt Hardware-Fehler\n@@ -1605,15 +1605,15 @@\n #define EMC_TOOL_PREPARE_TYPE ((NMLTYPE) 1104)\n #define EMC_TOOL_LOAD_TYPE ((NMLTYPE) 1105)\n #define EMC_TOOL_UNLOAD_TYPE ((NMLTYPE) 1106)\n #define EMC_TOOL_LOAD_TOOL_TABLE_TYPE ((NMLTYPE) 1107)\n #define EMC_TOOL_SET_OFFSET_TYPE ((NMLTYPE) 1108)\n #define EMC_TOOL_SET_NUMBER_TYPE ((NMLTYPE) 1109)\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 26 / 76\n \n // die folgende Nachricht wird gleich zu Beginn eines M6 an io gesendet\n // noch bevor emccanon die Bewegung zur Werkzeugwechselposition ausgibt\n #define EMC_TOOL_START_CHANGE_TYPE ((NMLTYPE) 1110)\n \n@@ -1643,15 +1643,15 @@\n Stellt einen Block von gemeinsamem Speicher zusammen mit einer Semaphore (geerbt von der Klasse\n Semaphore) bereit. Die Erstellung und Zerst\u00f6rung der Semaphore wird durch den SharedMemoryKonstruktor und -Destruktor gehandhabt.\n \n 3.17 ShmBuffer\n Klasse zur Weitergabe von NML-Nachrichten zwischen lokalen Prozessen unter Verwendung eines\n gemeinsamen Speicherpuffers. Ein Gro\u00dfteil der internen Arbeitsweise wird von der CMS-Klasse geerbt.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 27 / 76\n \n 3.18 Timer\n Die Klasse Timer bietet einen periodischen Timer, der nur durch die Aufl\u00f6sung der Systemuhr begrenzt ist. Wenn zum Beispiel ein Prozess alle 5 Sekunden ausgef\u00fchrt werden muss, unabh\u00e4ngig von\n der Zeit, die f\u00fcr die Ausf\u00fchrung des Prozesses ben\u00f6tigt wird. Der folgende Codeschnipsel zeigt wie :\n main()\n@@ -1681,15 +1681,15 @@\n NML verwendeten Funktionen enth\u00e4lt. Viele der internen Funktionen sind \u00fcberladen, um spezifische\n hardwareabh\u00e4ngige Methoden der Daten\u00fcbergabe zu erm\u00f6glichen. Letztlich dreht sich alles um einen zentralen Speicherblock (der als Nachrichtenpuffer oder einfach Puffer bezeichnet wird). Dieser\n Puffer kann ein gemeinsam genutzter Speicherblock sein, auf den andere CMS/NML-Prozesse zugreifen, oder ein lokaler und privater Puffer f\u00fcr Daten, die \u00fcber Netzwerk- oder serielle Schnittstellen\n \u00fcbertragen werden.\n Der Puffer wird zur Laufzeit dynamisch zugewiesen, um eine gr\u00f6\u00dfere Flexibilit\u00e4t des CMS/NMLSubsystems zu erm\u00f6glichen. Die Puffergr\u00f6\u00dfe muss gro\u00df genug sein, um die gr\u00f6\u00dfte Nachricht aufzunehmen, eine kleine Menge f\u00fcr den internen Gebrauch und die M\u00f6glichkeit, die Nachricht zu kodieren, wenn diese Option gew\u00e4hlt wird (auf kodierte Daten wird sp\u00e4ter eingegangen). Die folgende\n Abbildung zeigt eine interne Ansicht des Pufferspeichers.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 28 / 76\n \n CMS-Puffer Die CMS-Basisklasse ist in erster Linie f\u00fcr die Erstellung der Kommunikationswege und\n der Schnittstellen zum Betriebssystem verantwortlich.\n \n 3.21 Format der Konfigurationsdatei\n@@ -1707,15 +1707,15 @@\n \u2022 neut - ein boolescher Wert, der angibt, ob die Daten im Puffer in einem maschinenunabh\u00e4ngigen\n Format oder im Rohformat kodiert sind.\n \u2022 RPC# - Obsolet - Platzhalter nur noch aus Gr\u00fcnden der Abw\u00e4rtskompatibilit\u00e4t.\n \u2022 buffer# - Eine eindeutige ID-Nummer, die verwendet wird, wenn ein Server mehrere Puffer kontrolliert.\n \u2022 max_procs - ist die maximale Anzahl von Prozessen, die sich mit diesem Puffer verbinden d\u00fcrfen.\n \u2022 key - ist ein numerischer Bezeichner f\u00fcr einen gemeinsamen Speicherpuffer\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 29 / 76\n \n 3.21.2 Typspezifische Konfigurationen\n Der Puffertyp impliziert zus\u00e4tzliche Konfigurationsoptionen, w\u00e4hrend das Host-Betriebssystem bestimmte Kombinationen ausschlie\u00dft. In dem Bem\u00fchen, die ver\u00f6ffentlichte Dokumentation in ein koh\u00e4rentes Format zu bringen, wird nur der Puffertyp SHMEM behandelt.\n \u2022 mutex=os_sem - Standardmodus f\u00fcr die Bereitstellung von Semaphore-Sperren des Pufferspeichers.\n \u2022 mutex=none - Nicht verwendet\n@@ -1747,15 +1747,15 @@\n \u2022 host - gibt an, wo im Netzwerk dieser Prozess ausgef\u00fchrt wird.\n \u2022 ops - gibt dem Prozess nur Lese-, nur Schreib- oder Lese-/Schreibzugriff auf den Puffer.\n \u2022 server - gibt an, ob dieser Prozess einen Server f\u00fcr diesen Puffer betreiben wird.\n \u2022 timeout - legt die Timeout-Eigenschaften f\u00fcr Zugriffe auf den Puffer fest.\n \u2022 master - gibt an, ob dieser Prozess f\u00fcr die Erstellung und L\u00f6schung des Puffers verantwortlich ist.\n \u2022 c_num - eine Ganzzahl zwischen Null und (max_procs -1)\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 30 / 76\n \n 3.21.4 Kommentare zur Konfiguration\n Einige der Konfigurationskombinationen sind ung\u00fcltig, w\u00e4hrend andere bestimmte Beschr\u00e4nkungen\n mit sich bringen. Auf einem Linux-System ist GLOBMEM \u00fcberfl\u00fcssig, w\u00e4hrend PHANTOM nur in der\n Testphase einer Anwendung wirklich n\u00fctzlich ist, gleiches gilt f\u00fcr FILEMEM. LOCMEM ist f\u00fcr eine\n@@ -1794,15 +1794,15 @@\n 3.22 NML-Basisklasse\n Mehr zu Listen und die Beziehung zwischen NML, NMLmsg und den untergeordneten cms-Klassen.\n Nicht zu verwechseln mit NMLmsg, RCS_STAT_MSG, oder RCS_CMD_MSG.\n NML ist verantwortlich f\u00fcr das Parsen der Konfigurationsdatei, die Konfiguration der cms-Puffer und\n die Weiterleitung von Nachrichten an die richtigen Puffer. Zu diesem Zweck erstellt NML mehrere\n Listen f\u00fcr:\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 31 / 76\n \n \u2022 cms-Puffer, die erstellt oder die verbunden wurden.\n \u2022 Prozesse und die Puffer, mit denen sie verbunden sind\n \u2022 eine lange Liste von Formatfunktionen f\u00fcr jeden Nachrichtentyp\n Dieser letzte Punkt ist wahrscheinlich der Kern eines Gro\u00dfteils der schlechten Bewertung von libnml/rcslib und NML im Allgemeinen. Jede Nachricht, die \u00fcber NML weitergegeben wird, erfordert neben\n@@ -1829,15 +1829,15 @@\n \u00fcbergibt. In format_xxx() findet die Arbeit des Aufbaus oder Abbaus der Nachricht statt. Eine Liste\n verschiedener Funktionen wird nacheinander aufgerufen, um verschiedene Teile des NML-Headers\n (nicht zu verwechseln mit dem cms-Header) in die richtige Reihenfolge zu bringen - die letzte aufgerufene Funktion ist emcFormat() in emc.cc.\n 3.22.1.3 NMLmsg und NML-Beziehungen\n NMLmsg ist die Basisklasse, von der alle Nachrichtenklassen abgeleitet sind. F\u00fcr jede Nachrichtenklasse muss eine eindeutige ID definiert (und an den Konstruktor \u00fcbergeben) werden sowie eine\n update(*cms)-Funktion. Die update()-Funktion wird von den NML-Lese-/Schreibfunktionen aufgerufen, wenn der NML-Formatierer aufgerufen wird - der Zeiger auf den Formatierer wird irgendwann\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 32 / 76\n \n im NML-Konstruktor deklariert worden sein. Durch die von NML erstellten verkn\u00fcpften Listen ist es\n m\u00f6glich, den cms-Zeiger auszuw\u00e4hlen, der an den Formatierer \u00fcbergeben wird, und damit den zu\n verwendenden Puffer.\n \n@@ -1869,15 +1869,15 @@\n Beispiele f\u00fcr nicht-zuf\u00e4llige Werkzeugwechsler sind der \u201dmanuelle\u201d Werkzeugwechsler, Drehautomaten und Regalwechsler.\n Wenn f\u00fcr einen nicht-zuf\u00e4lligen Werkzeugwechsler konfiguriert, \u00e4ndert LinuxCNC die Platznummer in\n der Werkzeugtabellen-Datei nicht wenn Werkzeuge geladen bzw. entladen werden. LinuxCNC-intern\n werden bei einem Werkzeugwechsel die Werkzeug-Informationen von der Werkzeugtabelle kopiert\n von der jeweiligen Taschennummer der Quelle (der Ablage) zur Tasche mit der Nummer 0 (welche\n die Spindel darstellt). Dies ersetzt die vorherigen dort abgelegten Werkzeuginformationen.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 33 / 76\n \n Anmerkung\n In LinuxCNC configured for nonrandom toolchanger, tool 0 (T0) has special meaning: \u201dno tool\u201d. T0\n may not appear in the tool table file, and changing to T0 will result in LinuxCNC thinking it has got\n an empty spindle.\n@@ -1909,15 +1909,15 @@\n \u2022 Wenn LinuxCNC f\u00fcr einen zuf\u00e4lligen Werkzeugwechsler konfiguriert ist, muss diese Zahl nichtnegativ sein. T0 ist in der Werkzeugtabelle erlaubt, und wird in der Regel verwendet, um \u201dkein\n Werkzeug\u201d, d.h. die leere Tasche darstellen.\n Taschennummer\n Eine ganze Zahl zur Identifikation der Tasche oder des Steckplatz in der WerkzeugwechslerHardware, in der sich das Werkzeug befindet. Pocket-Nummern werden unterschiedlich von LinuxCNC behandelt, abh\u00e4ngig davon ob f\u00fcr zuf\u00e4llige und nicht-zuf\u00e4llige Werkzeugwechsler konfiguriert:\n \u2022 Wenn LinuxCNC f\u00fcr einen nicht-zuf\u00e4lligen Werkzeugwechsler konfiguriert ist, kann die Platznummer in der Werkzeugdatei jede positive ganze Zahl (Tasche 0 ist nicht erlaubt) sein. LinuxCNC verdichtet die Platznummern stillschweigend, wenn es die Werkzeugdatei l\u00e4dt, so kann es\n einen Unterschied zwischen den Platznummern in der Werkzeugdatei und den internen Platznummern von LinuxCNC geben.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 34 / 76\n \n \u2022 Wenn LinuxCNC f\u00fcr einen zuf\u00e4lligen Werkzeugwechsler konfiguriert ist, m\u00fcssen die Platznummern in der Werkzeugdatei zwischen 0 und 1000, einschlie\u00dflich sein. Pockets 1-1000 sind im\n Werkzeugwechsler, Tasche 0 ist die Spindel.\n Durchmesser\n Durchmesser des Werkzeugs in Maschineneinheiten.\n@@ -1948,15 +1948,15 @@\n \n 3.24.3.2 M6\n Weist den Werkzeugwechsler an, zum aktuell ausgew\u00e4hlten Werkzeug zu wechseln (ausgew\u00e4hlt durch\n den vorherigen Befehl Txxx).\n Wird von Interp::convert_tool_change() behandelt.\n 1. Die Maschine wird aufgefordert, zum ausgew\u00e4hlten Werkzeug zu wechseln, indem die CanonFunktion CHANGE_TOOL() mit settings->selected_pocket (einem Werkzeugdatenindex) aufgerufen wird.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 35 / 76\n \n a. (saicanon) Sets sai\u2019s _active_slot to the passed-in pocket number. Tool information is copied from the selected pocket of of the tool table (ie, from sai\u2019s _tools[_active_slot]) to\n the spindle (aka sai\u2019s _tools[0]).\n b. (emccanon) Sendet eine EMC_TOOL_LOAD Nachricht an Task, die diese an IO sendet. IO setzt\n emcioStatus.tool.toolInSpindle auf die Werkzeugnummer des Werkzeugs in der Tasche,\n@@ -1988,15 +1988,15 @@\n wo sie zum Offset f\u00fcr zuk\u00fcnftige Bewegungen verwendet werden.\n 3. Zur\u00fcck in interp werden die Offsets in settings->tool_offset aufgezeichnet. Die effektive Tasche wird in settings->tool_offset_index aufgezeichnet, obwohl dieser Wert nie verwendet\n wird.\n 3.24.3.4 G10 L1/L10/L11\n \u00c4ndert die Werkzeugtabelle.\n Wird von Interp::convert_setup_tool() behandelt.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 36 / 76\n \n 1. W\u00e4hlt die Werkzeugnummer aus dem P-Wort im Block aus und findet die Tasche f\u00fcr dieses Werkzeug:\n a. Bei einer nicht-zuf\u00e4lligen Werkzeugwechsler-Konfiguration ist dies immer die Platznummer\n im Werkzeugwechsler (auch wenn sich das Werkzeug in der Spindel befindet).\n b. Bei einer zuf\u00e4lligen Werkzeugwechslerkonfiguration wird, wenn das Werkzeug gerade geladen ist, Platz 0 verwendet (Platz 0 bedeutet \u201ddie Spindel\u201d), und wenn das Werkzeug nicht\n@@ -2028,15 +2028,15 @@\n 3.24.3.5 M61\n Setze aktuelle Werkzeugnummer. Dies wechselt LinuxCNC\u2019s interne Darstellung, welches Werkzeug\n in der Spindel ist, ohne tats\u00e4chlich bewegen den Werkzeugwechsler oder Austausch von Werkzeugen.\n Wird von Interp::convert_tool_change() behandelt.\n Canon: CHANGE_TOOL_NUMBER()\n settings->current_pocket wird dem Werkzeugdaten-Index zugewiesen, der das durch das Q-WortArgument angegebene Werkzeug enth\u00e4lt.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 37 / 76\n \n 3.24.3.6 G41/G41.1/G42/G42.1\n Aktiviert die Fr\u00e4serradiuskompensation (engl. kurz cutter comp genannt).\n Wird von Interp::convert_cutter_compensation_on() behandelt.\n Kein Canon-Aufruf, die Fr\u00e4ser Kompensation erfolgt im Interpreter. Verwendet die Werkzeugtabelle\n@@ -2069,15 +2069,15 @@\n settings.selected_pocket\n Tooldatenindex des zuletzt mit Txxx ausgew\u00e4hlten Werkzeugs.\n settings.current_pocket\n Urspr\u00fcnglicher Werkzeugdatenindex des Werkzeugs, das sich gerade in der Spindel befindet.\n Mit anderen Worten: Von welchem Werkzeugdatenindex das Werkzeug geladen wurde, das sich\n gerade in der Spindel befindet.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 38 / 76\n \n settings.tool_table[]\n Ein Array mit Werkzeuginformationen. Der Index im Array ist die \u201dPlatznummer\u201d (auch \u201dSlotnummer\u201d genannt). Platz 0 ist die Spindel, die Pl\u00e4tze 1 bis (CANON_POCKETS_MAX-1) sind die\n Pl\u00e4tze des Werkzeugwechslers.\n settings.tool_offset_index\n@@ -2111,15 +2111,15 @@\n Diese werden \u00fcber INI-Variablen im Abschnitt [EMCIO] gesetzt und bestimmen, wie Werkzeugwechsel durchgef\u00fchrt werden.\n \n 3.25 Parameter-Bestimmung von Gelenken und Achsen\n 3.25.1 Im Statuspuffer\n Der Statuspuffer wird vom Task-Modul und den Benutzeroberfl\u00e4chen verwendet.\n FIXME: axis_mask und axes \u00fcberspezifizieren die Anzahl der Achsen\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 39 / 76\n \n status.motion.traj.axis_mask\n A bitmask with a \u201d1\u201d for the axes that are present and a \u201d0\u201d for the axes that are not present. X is\n bit 0 with value 20 = 1 if set, Y is bit 1 with value 21 = 2, Z is bit 2 with value 4, etc. For example,\n a machine with X and Z axes would have an axis_mask of 0x5, an XYZ machine would have 0x7,\n@@ -2145,15 +2145,15 @@\n Die Echtzeitkomponente des Motion Controllers erh\u00e4lt zun\u00e4chst die Anzahl der Joints aus dem LoadTime-Parameter num_joints. Dieser bestimmt, wie viele Gelenke mit HAL-Pins beim Start erzeugt\n werden.\n Die Anzahl der Gelenke einer Bewegung kann zur Laufzeit mit dem Befehl EMCMOT_SET_NUM_JOINTS\n aus dem Task heraus ge\u00e4ndert werden.\n Der Motion Controller arbeitet immer mit EMCMOT_MAX_AXIS-Achsen. Er erstellt immer neun S\u00e4tze von\n \u201dAchsen..\u201d-Pins.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n Kapitel 4\n \n NML-Nachrichten\n Liste der NML-Nachrichten.\n F\u00fcr Einzelheiten siehe src/emc/nml_intf/emc.hh.\n \n@@ -2185,15 +2185,15 @@\n EMC_JOINT_UNHOME_TYPE\n EMC_JOINT_STAT_TYPE\n \n 4.3 ACHSE\n \n 40 / 76\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n EMC_AXIS_STAT_TYPE\n \n 4.4 JOG\n EMC_JOG_CONT_TYPE\n EMC_JOG_INCR_TYPE\n EMC_JOG_ABS_TYPE\n@@ -2239,15 +2239,15 @@\n EMC_TRAJ_RIGID_TAP_TYPE\n EMC_TRAJ_STAT_TYPE\n \n 4.6 MOTION (engl. f\u00fcr Bewegung)\n \n 41 / 76\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 42 / 76\n \n EMC_MOTION_INIT_TYPE\n EMC_MOTION_HALT_TYPE\n EMC_MOTION_ABORT_TYPE\n EMC_MOTION_SET_AOUT_TYPE\n@@ -2292,15 +2292,15 @@\n EMC_TOOL_STAT_TYPE\n \n 4.9 AUX (engl. Kurzform f\u00fcr \u201dandere Hilfsfunktionen\u201d)\n EMC_AUX_ESTOP_ON_TYPE\n EMC_AUX_ESTOP_OFF_TYPE\n EMC_AUX_ESTOP_RESET_TYPE\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 43 / 76\n \n EMC_AUX_INPUT_WAIT_TYPE\n EMC_AUX_STAT_TYPE\n \n 4.10 SPINDLE (engl. f\u00fcr Spindel)\n@@ -2335,28 +2335,28 @@\n EMC_IO_ABORT_TYPE\n EMC_IO_SET_CYCLE_TIME_TYPE\n EMC_IO_STAT_TYPE\n EMC_IO_PLUGIN_CALL_TYPE\n \n 4.14 Andere\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n EMC_NULL_TYPE\n EMC_SET_DEBUG_TYPE\n EMC_SYSTEM_CMD_TYPE\n EMC_INIT_TYPE\n EMC_HALT_TYPE\n EMC_ABORT_TYPE\n EMC_STAT_TYPE\n EMC_EXEC_PLUGIN_CALL_TYPE\n \n 44 / 76\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 45 / 76\n \n Kapitel 5\n \n Quellcode-Stil\n Dieses Kapitel beschreibt den vom LinuxCNC-Team bevorzugten Quellcode-Stil.\n@@ -2380,15 +2380,15 @@\n \n 5.4 Setzen von Klammern\n Setzen Sie die \u00f6ffnende Klammer zuletzt auf die Linie, und setzen Sie die schlie\u00dfende Klammer zuerst:\n if (x) {\n // macht irgendetwas der Situation Angepasstes\n }\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 46 / 76\n \n Die schlie\u00dfende Klammer steht in einer eigenen Zeile, es sei denn, es folgt eine Fortsetzung derselben\n Anweisung, z. B. ein while in einer do-Anweisung oder ein else in einer if-Anweisung, wie hier:\n do {\n // etwas Wichtiges\n@@ -2422,15 +2422,15 @@\n 5.6 Funktionen\n Funktionen sollten kurz und knapp sein und nur einen Zweck erf\u00fcllen. Sie sollten auf einen oder zwei\n Bildschirme voller Text passen (die ISO/ANSI-Bildschirmgr\u00f6\u00dfe betr\u00e4gt 80x24, wie wir alle wissen)\n und nur eine Aufgabe erf\u00fcllen, und diese gut.\n Die maximale L\u00e4nge einer Funktion ist umgekehrt proportional zur Komplexit\u00e4t und zum Grad der\n Einr\u00fcckung dieser Funktion. Wenn Sie also eine konzeptionell einfache Funktion haben, die nur aus\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 47 / 76\n \n einer einzigen langen (aber einfachen) Fallanweisung besteht, bei der Sie viele kleine Dinge f\u00fcr viele\n verschiedene F\u00e4lle tun m\u00fcssen, ist es in Ordnung, eine l\u00e4ngere Funktion zu haben.\n Wenn Sie jedoch eine komplexe Funktion haben und Sie vermuten, dass ein weniger begabter Anf\u00e4nger nicht einmal versteht, worum es in der Funktion geht, sollten Sie sich um so mehr an die\n H\u00f6chstgrenzen halten. Verwenden Sie Hilfsfunktionen mit aussagekr\u00e4ftigen Namen (Sie k\u00f6nnen den\n@@ -2466,15 +2466,15 @@\n awk-Aufruf als gawk oder mawk.\n \n 5.9 C++-Konventionen\n C++-Codierungsstile sind wiederholt Anlass f\u00fcr hitzige Debatten (\u00e4hnlich wie der Streit zwischen\n emacs und vi). Eines ist jedoch sicher: Ein gemeinsamer Stil, der von allen an einem Projekt Beteiligten\n verwendet wird, f\u00fchrt zu einheitlichem und lesbarem Code.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 48 / 76\n \n Namenskonventionen: Konstanten entweder aus #defines oder aus Enumerationen sollten durchgehend in Gro\u00dfbuchstaben geschrieben werden. Begr\u00fcndung: Erleichtert das Erkennen von durch den\n Pr\u00e4prozessor substituierten Ausdr\u00fccke im Quellcode, z.B. EMC_MESSAGE_TYPE.\n Klassen und Namensr\u00e4ume (engl. namespace) sollten den ersten Buchstaben eines jeden Wortes\n gro\u00df schreiben und Unterstriche vermeiden. Begr\u00fcndung: Identifiziert Klassen, Konstruktoren und\n@@ -2510,15 +2510,15 @@\n Implizite Tests auf Null sollten mit Ausnahme von booleschen Variablen nicht verwendet werden, z.B.\n if (spindle_speed != 0), NICHT if (spindle_speed).\n In einem for()-Konstrukt d\u00fcrfen nur Anweisungen zur Schleifenkontrolle enthalten sein, z.B. sum = 0;\n for (i = 0; i < 10; i++) { sum += value[i]; } \u0300+ NICHT: \u0300\n for (i=0, sum=0; i<10; i++) sum\n += value[i];.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 49 / 76\n \n Ebenso m\u00fcssen ausf\u00fchrbare Anweisungen in Konditionalen vermieden werden, z.B. ist if (fd =\n open(file_name)) b\u00f6se.\n Komplexe bedingte Anweisungen sollten vermieden werden - f\u00fchren Sie stattdessen tempor\u00e4re boolesche Variablen ein.\n Klammern sollten in mathematischen Ausdr\u00fccken reichlich verwendet werden - Verlassen Sie sich\n@@ -2531,15 +2531,15 @@\n Use the PEP 8 style for Python code.\n \n 5.11 Comp-Codierungs-Standards\n Im Deklarationsteil einer .comp-Datei beginnen Sie jede Deklaration mit der ersten Spalte. F\u00fcgen Sie\n zus\u00e4tzliche Leerzeilen ein, wenn sie zur Gruppierung verwandter Elemente beitragen.\n Im Code-Teil einer .comp-Datei ist der normale C-Codierungsstil zu beachten.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 50 / 76\n \n Kapitel 6\n \n Kompilieren (\u201dbauen\u201d) von LinuxCNC\n 6.1 Einf\u00fchrung\n@@ -2567,15 +2567,15 @@\n To retrieve the source tree you have two options:\n Download tarball\n On the LinuxCNC project page in GitHub find a reference to the \u201dreleases\u201d or \u201dtags\u201d, click that\n hyperlink to the archive page and download the latest .tar file. You will find that file compressed\n as a .tar.xz or .tar.gz file. This file, commonly referred to as a \u201dtarball\u201d is an archive very analogous\n to a .zip. Your Linux desktop will know how to treat that file when double-clicking on it.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 51 / 76\n \n Prepare a local copy of the LinuxCNC repository\n You would first install the tool \u201dgit\u201d on your machine if it is not available already (sudo apt\n install git). Then prepare a local instance of the source tree as follows: .\n $ git clone https://github.com/LinuxCNC/linuxcnc.git linuxcnc-source-dir\n@@ -2616,15 +2616,15 @@\n \n 6.3 Unterst\u00fctzte Plattformen\n The LinuxCNC project targets modern Debian-based distributions, including Debian, Ubuntu, and\n Mint. We continuously test on the platforms listed at http://buildbot.linuxcnc.org.\n LinuxCNC builds on most other Linux distributions, though dependency management will be more\n manual and less automatic. Patches to improve portability to new platforms are always welcome.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 52 / 76\n \n 6.3.1 Echtzeit\n LinuxCNC is a machine tool controller, and it requires a realtime platform to do this job. This version\n of LinuxCNC supports the following platforms. The first three listed are realtime operating systems:\n RTAI\n@@ -2657,15 +2657,15 @@\n The src/configure script configures how the source code will be compiled. It takes many optional\n arguments. List all arguments to src/configure by running this:\n $ cd linuxcnc-source-dir/src\n $ ./configure --help\n \n Die am h\u00e4ufigsten verwendeten Argumente sind:\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 53 / 76\n \n --with-realtime=uspace\n Build for any realtime platform, or for non-realtime. The resulting LinuxCNC executables will run\n on both a Linux kernel with Preempt-RT patches (providing realtime machine control) and on a\n vanilla (un-patched) Linux kernel (providing G-code simulation but no realtime machine control).\n@@ -2701,15 +2701,15 @@\n in a Debian package, complete with dependency information. This process by default also includes\n the building of the documentation, which takes its time because of all the I/O for many languages, but\n that can be skipped. LinuxCNC is then installed as part of those packages on the same machines or on\n whatever machine of the same architecture that the .deb files are copied to. LinuxCNC cannot be run\n until the Debian packages are installed on a target machine and then the executables are available in\n /usr/bin and /usr/lib just like other regular software of the sytem.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 54 / 76\n \n This build mode is primarily useful when packaging the software for delivery to end users, and when\n building the software for a machine that does not have the build environment installed, or that does\n not have internet access.\n To build packages is primarily useful when packaging the software for delivery to end users. Developers among themselves exchange only the source code, likely supported by the LinuxCNC GitHub repository referenced below. Also, when building the software for a machine that doesn\u2019t have the build\n@@ -2747,15 +2747,15 @@\n 6.4.2.1 LinuxCNC\u2019s debian/configure arguments\n The LinuxCNC source tree has a debian directory with all the info about how the Debian package\n shall be built, but some key files within are only distributed as templates. The debian/configure\n script readies those build instructions for the regular Debian packaging utilities and must thus be run\n prior to dpkg-checkbuilddeps or dpkg-buildpackage.\n The debian/configure script takes a single argument which specifies the underlying realtime or nonrealtime platform to build for. The regular values for this argument are:\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 55 / 76\n \n no-docs\n Skip building documentation.\n uspace\n Konfigurieren Sie das Debian-Paket f\u00fcr Preempt-RT-Echtzeit oder f\u00fcr Nicht-Echtzeit (diese beiden sind kompatibel).\n@@ -2794,15 +2794,15 @@\n sudo apt-get build-dep .\n \n which will install all the dependencies required but available. The . is part of the command line, i.e. an\n instruction to retrieve the dependencies for the source tree at hand, not for dependencies of another\n package. This completes the installation of build-dependencies.\n The remainder of this section describes a semi-manual approach. The list of dependencies in debian/control is long and it is tedious to compare the current state of packages already installed with it.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 56 / 76\n \n Debian systems provide a program called dpkg-checkbuilddeps that parses the package meta-data\n and compares the packages listed as build dependencies against the list of installed packages, and\n tells you what\u2019s missing.\n Installieren Sie zuerst das Programm dpkg-checkbuilddeps, indem Sie es ausf\u00fchren:\n@@ -2841,15 +2841,15 @@\n -b\n Only compiles the architecture-dependent packages (like the linuxcnc binaries and GUIs). This\n is very helpful to avoid compiling what is hardware-independent, which for LinuxCNC is the\n documentation. That documentation is available online anyway.\n If you happen to run into difficulties while compiling, check the LinuxCNC forum online. Currently\n emerging is the support for the DEB_BUILD_OPTIONS environment variable. Set it to\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 57 / 76\n \n nodocs\n to skip building the documentation, preferably instead use the -B flag to dpkg-buildpackage.\n nocheck\n to skip self-tests of the LinuxCNC build process. This saves some time and reduces the demand\n@@ -2887,25 +2887,25 @@\n RTAPI: ERROR: failed to map shmem\n RTAPI: Locked memory limit is 32KiB, recommended at least 20480KiB.\n \n Um dieses Problem zu beheben, f\u00fcgen Sie eine Datei namens /etc/security/limits.d/linuxcnc.conf\n (als root) mit Ihrem bevorzugten Texteditor hinzu (z.B. sudo gedit /etc/security/limits.d/linuxcnc.co\n Die Datei sollte die folgende Zeile enthalten:\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 58 / 76\n \n * - memlock 20480\n \n Melden Sie sich ab und wieder an, damit die \u00c4nderungen wirksam werden. \u00dcberpr\u00fcfen Sie mit dem\n folgenden Befehl, ob die Speichersperrgrenze angehoben wurde:\n $ ulimit -l\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 59 / 76\n \n Kapitel 7\n \n Hinzuf\u00fcgen von Konfigurationsauswahl\n elementen\n@@ -2916,15 +2916,15 @@\n \n \u2022 Runtime settings \u2014 the configuration selector can also offer configuration subdirectories specified\n at runtime using an exported environamental variable (LINUXCNC_AUX_CONFIGS). This variable\n should be a path list of one or more configuration directories separated by a (:). Typically, this\n variable would be set in a shell starting linuxcnc or in a user\u2019s ~/.profile startup script. Example:\n export LINUXCNC_AUX_CONFIGS=~/myconfigs:/opt/otherconfigs\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 60 / 76\n \n Kapitel 8\n \n Mitwirkung an LinuxCNC\n 8.1 Einf\u00fchrung\n@@ -2945,15 +2945,15 @@\n All of the LinuxCNC source is maintained in the Git revision control system.\n \n 8.4.1 LinuxCNC offizielles Git Repository\n The official LinuxCNC git repo is at https://github.com/linuxcnc/linuxcnc/\n Jeder kann eine schreibgesch\u00fctzte Kopie des LinuxCNC-Quellbaums \u00fcber git erhalten:\n git clone https://github.com/linuxcnc/linuxcnc linuxcnc-dev\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 61 / 76\n \n Wenn Sie ein Entwickler mit Schreibrechten (genannt \u201dpush\u201d in Anlehnung an das git-Kommando)\n sind, folgen Sie den Anweisungen in github, um ein Repository einzurichten, von dem aus Sie pushen\n k\u00f6nnen.\n Beachten Sie, dass der Clone-Befehl das lokale LinuxCNC Repo in ein Verzeichnis namens linuxcnc-dev\n@@ -2986,15 +2986,15 @@\n \u2022 git tutorial 2: https://www.kernel.org/pub/software/scm/git/docs/gittutorial-2.html\n \n \u2022 Allt\u00e4gliches Git mit 20 Befehlen oder so: https://www.kernel.org/pub/software/scm/git/docs/giteveryday.ht\n \u2022 Git-Benutzerhandbuch: https://www.kernel.org/pub/software/scm/git/docs/user-manual.html\n For a more thorough documentation of git see the \u201dPro Git\u201d book: https://git-scm.com/book\n Ein weiteres Online-Tutorial, das empfohlen wurde, ist \u201dGit for the Lazy\u201d: https://wiki.spheredev.org/index.php/Git_for_the_lazy\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 62 / 76\n \n 8.5 \u00dcberblick \u00fcber den Prozess\n Ein \u00dcberblick dar\u00fcber, wie man \u00c4nderungen am Quelltext vornimmt, sieht folgenderma\u00dfen aus:\n \u2022 Communicate with the project developers and let us know what you\u2019re hacking on. Explain what\n you are doing, and why.\n@@ -3026,15 +3026,15 @@\n Benutzen Sie Ihren richtigen Namen und eine direkt nutzbare E-Mail Adresse.\n \n 8.7 Effektive Nutzung von Git\n 8.7.1 Commit-Inhalte\n Halten Sie Ihre Commits klein und auf den Punkt. Jeder Commit sollte eine logische \u00c4nderung am\n Projektarchiv bewirken.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 63 / 76\n \n 8.7.2 Schreiben Sie gute Commit-Nachrichten\n Halten Sie die Commit-Meldungen etwa 72 Spalten breit (damit sie in einem Terminalfenster mit\n Standardgr\u00f6\u00dfe nicht umbrechen, wenn sie von git log angezeigt werden).\n Verwenden Sie die erste Zeile als Zusammenfassung der Absicht der \u00c4nderung (fast wie die Betreffzeile einer E-Mail). Danach folgt eine Leerzeile und dann eine l\u00e4ngere Nachricht, in der die \u00c4nderung\n@@ -3066,15 +3066,15 @@\n Entwicklern teilen\n Mit Git ist es m\u00f6glich, jede Bearbeitung und jeden Fehlstart als separaten Commit aufzuzeichnen.\n Dies ist sehr praktisch, um w\u00e4hrend der Entwicklung Kontrollpunkte zu setzen, aber oft m\u00f6chte man\n diese Fehlstarts nicht mit anderen teilen.\n Git bietet zwei M\u00f6glichkeiten, die Historie zu bereinigen, die beide frei durchgef\u00fchrt werden k\u00f6nnen,\n bevor Sie die \u00c4nderung freigeben:\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 64 / 76\n \n Mit git commit --amend k\u00f6nnen Sie zus\u00e4tzliche \u00c4nderungen an dem letzten Commit vornehmen und\n optional auch die Commit-Nachricht \u00e4ndern. Benutzen Sie dies, wenn Sie sofort merken, dass Sie\n etwas in der Commit-Nachricht vergessen haben, oder wenn Sie sich in der Commit-Nachricht vertippt\n haben.\n@@ -3113,30 +3113,30 @@\n Verwenden Sie git pull --rebase anstelle von git pull, um eine sch\u00f6ne lineare Historie zu erhalten. Wenn Sie rebasen, behalten Sie Ihre Arbeit immer als Revisionen, die vor origin/master liegen, so\n dass Sie Dinge wie git format-patch ausf\u00fchren k\u00f6nnen, um Entwicklungen mit anderen zu teilen,\n ohne sie in das zentrale Repository zu pushen.\n \n 8.8 \u00dcbersetzungen\n Das LinuxCNC-Projekt verwendet gettext, um die Software in viele Sprachen zu \u00fcbersetzen. Wir begr\u00fc\u00dfen Beitr\u00e4ge und Hilfe in diesem Bereich! Das Verbessern und Erweitern der \u00dcbersetzungen ist\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 65 / 76\n \n einfach: Sie m\u00fcssen keine Programmierkenntnisse haben und Sie m\u00fcssen keine speziellen \u00dcbersetzungsprogramme oder andere Software installieren.\n Der einfachste Weg, bei \u00dcbersetzungen zu helfen, ist die Nutzung von Weblate, einem Open-SourceWebdienst. Unser \u00dcbersetzungsprojekt finden Sie hier: https://hosted.weblate.org/projects/linuxcnc/\n Die Dokumentation zur Verwendung von Weblate finden Sie hier: https://docs.weblate.org/en/latest/user/basic.html\n Wenn Webdienste nicht Ihr Ding sind, k\u00f6nnen Sie auch mit einer Reihe lokaler Gettext-\u00dcbersetzerApps wie gtranslator, poedit und vielen anderen an \u00dcbersetzungen arbeiten.\n \n 8.9 Andere M\u00f6glichkeiten, einen Beitrag zu leisten\n Es gibt viele M\u00f6glichkeiten, zu LinuxCNC beizutragen, die in diesem Dokument nicht behandelt werden. Diese Wege umfassen:\n \u2022 Beantwortung von Fragen im Forum, auf Mailinglisten und im IRC\n \u2022 Melden von Fehlern im Bug-Tracker, im Forum, auf Mailinglisten oder im IRC\n \u2022 Hilfe beim Testen experimenteller Funktionen\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 66 / 76\n \n Kapitel 9\n \n Glossar\n Eine Auflistung von Begriffen und deren Bedeutung. Einige Begriffe haben eine allgemeine Bedeutung\n@@ -3170,15 +3170,15 @@\n Umkehrspiel-Kompensation\n Any technique that attempts to reduce the effect of backlash without actually removing it from\n the mechanical system. This is typically done in software in the controller. This can correct the\n final resting place of the part in motion but fails to solve problems related to direction changes\n while in motion (think circular interpolation) and motion that is caused when external forces\n (think cutting tool pulling on the work piece) are the source of the motion.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 67 / 76\n \n Kugelumlaufspindel\n A type of lead-screw that uses small hardened steel balls between the nut and screw to reduce\n friction. Ball-screws have very low friction and backlash, but are usually quite expensive.\n Kugelmutter\n@@ -3218,15 +3218,15 @@\n sinking electrode.\n EMC\n The Enhanced Machine Controller. Initially a NIST project. Renamed to LinuxCNC in 2012.\n EMCIO\n The module within LinuxCNC that handles general purpose I/O, unrelated to the actual motion\n of the axes.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 68 / 76\n \n EMCMOT\n The module within LinuxCNC that handles the actual motion of the cutting tool. It runs as a\n real-time program and directly controls the motors.\n Encoder\n@@ -3269,15 +3269,15 @@\n A text file that contains most of the information that configures LinuxCNC for a particular machine.\n Instanz\n One can have an instance of a class or a particular object. The instance is the actual object created\n at runtime. In programmer jargon, the \u201dLassie\u201d object is an instance of the \u201dDog\u201d class.\n Gelenk-Koordinaten\n These specify the angles between the individual joints of the machine. See also Kinematics\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 69 / 76\n \n Jog (manuelle Bewegung)\n Manually moving an axis of a machine. Jogging either moves the axis a fixed amount for each\n key-press, or moves the axis at a constant speed as long as you hold down the key. In manual\n mode, jog speed can be set from the graphical interface.\n@@ -3322,15 +3322,15 @@\n Python\n General-purpose, very high-level programming language. Used in LinuxCNC for the Axis GUI,\n the StepConf configuration tool, and several G-code programming scripts.\n Schnell\n Fast, possibly less precise motion of the tool, commonly used to move between cuts. If the tool\n meets the workpiece or the fixturing during a rapid, it is probably a bad thing!\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 70 / 76\n \n Schnellauf-Geschwindigkeit\n The speed at which a rapid motion occurs. In auto or MDI mode, rapid rate is usually the maximum\n speed of the machine. It is often desirable to limit the rapid rate when testing a G-code program\n for the first time.\n@@ -3372,15 +3372,15 @@\n Schrittmotor\n A type of motor that turns in fixed steps. By counting steps, it is possible to determine how far\n the motor has turned. If the load exceeds the torque capability of the motor, it will skip one or\n more steps, causing position errors.\n TASK (engl. f\u00fcr Aufgabe, auch Name des entsprechenden LinuxCNC Moduls)\n The module within LinuxCNC that coordinates the overall execution and interprets the part program.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 71 / 76\n \n Tcl/Tk\n A scripting language and graphical widget toolkit with which several of LinuxCNCs GUIs and\n selection wizards were written.\n Traverse Bewegung\n@@ -3390,15 +3390,15 @@\n Ganzzahl ohne Vorzeichen\n A whole number that has no sign. In HAL it is known as u32. (An unsigned 32-bit integer has a\n usable range of zero to 4,294,967,296.)\n Weltkoordinaten\n This is the absolute frame of reference. It gives coordinates in terms of a fixed reference frame\n that is attached to some point (generally the base) of the machine tool.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 72 / 76\n \n Kapitel 10\n \n Juristischer Abschnitt\n Die \u00dcbersetzungen dieser Datei im Quellbaum sind nicht rechtsverbindlich.\n@@ -3427,15 +3427,15 @@\n f\u00fcr freie Software ist.\n Wir haben diese Lizenz entworfen, um sie f\u00fcr Handb\u00fccher f\u00fcr freie Software zu verwenden, weil freie\n Software freie Dokumentation braucht: ein freies Programm sollte mit Handb\u00fcchern geliefert werden,\n welche die gleichen Freiheiten bieten wie die Software. Aber diese Lizenz ist nicht auf SoftwareHandb\u00fccher beschr\u00e4nkt; sie kann f\u00fcr jedes textliche Werk verwendet werden, unabh\u00e4ngig vom Thema\n oder ob es als gedrucktes Buch ver\u00f6ffentlicht wird. Wir empfehlen diese Lizenz in erster Linie f\u00fcr\n Werke, deren Zweck die Anleitung oder das Nachschlagen ist.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 73 / 76\n \n 1. APPLICABILITY AND DEFINITIONS\n Diese Lizenz gilt f\u00fcr jedes Handbuch oder andere Werk, das einen Hinweis des Urheberrechtsinhabers\n enth\u00e4lt, der besagt, dass es unter den Bedingungen dieser Lizenz verbreitet werden darf. Das \u201dDokument\u201d, unten, bezieht sich auf ein solches Handbuch oder Werk. Jedes Mitglied der \u00d6ffentlichkeit ist\n ein Lizenznehmer und wird als \u201dSie\u201d angesprochen.\n@@ -3469,15 +3469,15 @@\n oder nicht kommerziell, vorausgesetzt, dass diese Lizenz, die Urheberrechtsvermerke und der Lizenzvermerk, der besagt, dass diese Lizenz f\u00fcr das Dokument gilt, in allen Kopien wiedergegeben\n werden, und dass Sie keine weiteren Bedingungen zu denen dieser Lizenz hinzuf\u00fcgen. Sie d\u00fcrfen keine technischen Ma\u00dfnahmen anwenden, um das Lesen oder weitere Kopieren der von Ihnen erstellten\n oder verbreiteten Kopien zu behindern oder zu kontrollieren. Sie d\u00fcrfen jedoch eine Verg\u00fctung im\n Austausch f\u00fcr Kopien annehmen. Wenn Sie eine ausreichend gro\u00dfe Anzahl von Kopien verbreiten,\n m\u00fcssen Sie auch die Bedingungen in Abschnitt 3 einhalten.\n Sie k\u00f6nnen auch Kopien unter den oben genannten Bedingungen ausleihen und \u00f6ffentlich ausstellen.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 74 / 76\n \n 3. COPYING IN QUANTITY\n Wenn Sie mehr als 100 gedruckte Exemplare des Dokuments ver\u00f6ffentlichen und der Lizenzhinweis\n des Dokuments Umschlagtexte verlangt, m\u00fcssen Sie die Exemplare in Umschl\u00e4ge einlegen, die deutlich und lesbar alle diese Umschlagtexte enthalten: Vorderseitentexte auf dem vorderen Umschlag\n und R\u00fcckseitentexte auf dem hinteren Umschlag. Auf beiden Umschl\u00e4gen m\u00fcssen Sie au\u00dferdem deutlich und leserlich als Verleger dieser Exemplare ausgewiesen sein. Der vordere Umschlag muss den\n@@ -3515,15 +3515,15 @@\n bei. I. Behalten Sie den Abschnitt mit dem Titel Geschichte\u201d und seinen Titel bei und f\u00fcgen Sie\n ihm einen Punkt hinzu, der mindestens den Titel, das Jahr, die neuen Autoren und den Herausgeber der modifizierten Version angibt, wie auf der Titelseite angegeben. Wenn es keinen Abschnitt\n mit dem Titel \u201dGeschichte\u201d in dem Dokument gibt, erstellen Sie einen, der den Titel, das Jahr,\n die Autoren und den Herausgeber des Dokuments angibt, wie auf der Titelseite angegeben, und\n f\u00fcgen Sie dann einen Punkt hinzu, der die ge\u00e4nderte Version beschreibt, wie im vorherigen Satz\n angegeben. J. Bewahren Sie den im Dokument angegebenen Netzwerkstandort, falls vorhanden,\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 75 / 76\n \n f\u00fcr den \u00f6ffentlichen Zugang zu einer transparenten Kopie des Dokuments auf, und ebenso die im\n Dokument angegebenen Netzwerkstandorte f\u00fcr fr\u00fchere Versionen, auf denen es basierte. Diese\n k\u00f6nnen im Abschnitt \u201dHistorie\u201d abgelegt werden. Sie k\u00f6nnen eine Netzwerkadresse f\u00fcr ein Werk\n weglassen, das mindestens vier Jahre vor dem Dokument selbst ver\u00f6ffentlicht wurde, oder wenn\n@@ -3563,15 +3563,15 @@\n You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that\n is included in the collection, provided that you follow the rules of this License for verbatim copying of\n each of the documents in all other respects.\n You may extract a single document from such a collection, and distribute it individually under this\n License, provided you insert a copy of this License into the extracted document, and follow this License\n in all other respects regarding verbatim copying of that document.\n \n-\fEntwickler-Handbuch V2.9.3, 07 Jul 2024\n+\fEntwickler-Handbuch V2.9.3, 08 Jul 2024\n \n 76 / 76\n \n 7. AGGREGATION WITH INDEPENDENT WORKS\n A compilation of the Document or its derivatives with other separate and independent documents or\n works, in or on a volume of a storage or distribution medium, does not as a whole count as a Modified\n Version of the Document, provided no compilation copyright is claimed for the compilation. Such a\n"}]}, {"source1": "./usr/share/doc/linuxcnc/LinuxCNC_Documentation_de.pdf", "source2": "./usr/share/doc/linuxcnc/LinuxCNC_Documentation_de.pdf", "unified_diff": null, "details": [{"source1": "./usr/share/doc/linuxcnc/LinuxCNC_Documentation_de.pdf", "source2": "./usr/share/doc/linuxcnc/LinuxCNC_Documentation_de.pdf", "comments": ["Document info"], "unified_diff": "@@ -1,4 +1,4 @@\n CreationDate: 'D:20240707120933Z'\n Creator: 'DBLaTeX-0.3.12'\n Producer: 'xdvipdfmx (20240305)'\n-Title: 'LinuxCNC V2.9.3, 07 Jul 2024'\n+Title: 'LinuxCNC V2.9.3, 08 Jul 2024'\n"}, {"source1": "pdftotext {} -", "source2": "pdftotext {} -", "unified_diff": "@@ -1,10 +1,10 @@\n-LinuxCNC V2.9.3, 07 Jul 2024\n+LinuxCNC V2.9.3, 08 Jul 2024\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n ii\n \n Inhaltsverzeichnis\n \n I Erste Schritte & Konfiguration\n \n@@ -114,15 +114,15 @@\n \n 8\n \n 1.3.2.1 Raspberry Pi Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 8\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n iii\n \n 1.3.2.2 AMD-64 (x86-64, PC) Image using GUI tools\n \n . . . . . . . . . . . . . . . . . .\n \n@@ -284,15 +284,15 @@\n \n 23\n \n 1.6.4 Man Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 23\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n iv\n \n 1.6.5 Module auflisten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 23\n \n@@ -447,15 +447,15 @@\n \n 46\n \n 2.3.2.2 Feed Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 46\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n v\n \n 2.3.2.3 Tool Radius Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 46\n \n@@ -613,15 +613,15 @@\n \n 56\n \n 2.5.3.3 Optionaler Programm-Stopp-Schalter . . . . . . . . . . . . . . . . . . . . . . .\n \n 56\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n vi\n \n 2.5.4 Werkzeugtabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 56\n \n@@ -779,15 +779,15 @@\n \n 75\n \n 2.7.13Hole And Small Shape Cutting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 75\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n vii\n \n 2.7.14I/O Pins For Plasma Controllers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 76\n \n@@ -941,15 +941,15 @@\n \n 97\n \n 3.1.8.3 Determining Spindle Calibration . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 97\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n viii\n \n 3.1.9 Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .\n \n 98\n \n@@ -1014,15 +1014,15 @@\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137\n \n 4.1.4.6 Manuelle Abstimmung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137\n 4.1.5 RTAI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137\n 4.1.5.1 ACPI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n ix\n \n 4.2 Latency Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138\n 4.2.1 What is latency? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138\n 4.2.2 Latency Tests\n \n@@ -1070,15 +1070,15 @@\n \n 4.4.2.11 [KINS] Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163\n 4.4.2.12 [AXIS_] Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163\n 4.4.2.13 [JOINT_] Sections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164\n 4.4.2.14 [SPINDLE_] Section(s)) . . . . . . . . . . . . . . . . . . . . . . . . . . 170\n 4.4.2.15 [EMCIO] Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n x\n \n 4.5 Konfiguration der Referenzfahrt (engl. homing)\n \n . . . . . . . . . . . . . . . . . . . . . . . . . 172\n \n@@ -1131,15 +1131,15 @@\n 4.8.2 Sherline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187\n 4.8.3 Xylotex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187\n 4.8.4 Maschineninformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187\n 4.8.5 Informationen zur Pinbelegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187\n 4.8.6 Mechanische Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188\n 4.9 Stepper Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xi\n \n 4.9.1 Einf\u00fchrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189\n 4.9.2 Maximale Schrittgeschwindigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190\n 4.9.3 Pinbelegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190\n 4.9.3.1 Standard-Pinbelegung HAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190\n@@ -1177,15 +1177,15 @@\n 5.1.3.4 Testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205\n 5.1.3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205\n 5.1.4 HAL Concepts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206\n 5.1.5 HAL components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208\n 5.1.6 Timing Issues In HAL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208\n 5.2 HAL Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xii\n \n 5.2.1 HAL Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209\n 5.2.1.1 loadrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210\n 5.2.1.2 addf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210\n 5.2.1.3 loadusr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211\n@@ -1236,15 +1236,15 @@\n 5.4.3.1 Laden einer Komponente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224\n 5.4.3.2 Untersuchung der HAL\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224\n \n 5.4.3.3 Echtzeitcode zum Laufen bringen . . . . . . . . . . . . . . . . . . . . . . . . . 225\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xiii\n \n 5.4.3.4 \u00c4ndern von Parametern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227\n 5.4.3.5 Speichern der HAL-Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . 227\n 5.4.3.6 Halrun beenden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228\n 5.4.3.7 Wiederherstellung der HAL-Konfiguration . . . . . . . . . . . . . . . . . . . . 228\n@@ -1294,15 +1294,15 @@\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259\n \n 5.6.5 INI-Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259\n 5.6.5.1 Pins )\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xiv\n \n 5.7 HAL Component List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261\n 5.7.1 Komponenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261\n 5.7.1.1 User Interfaces (non-realtime) . . . . . . . . . . . . . . . . . . . . . . . . . . . 261\n 5.7.1.2 Motion (non-realtime) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262\n@@ -1357,15 +1357,15 @@\n 5.8.5.3 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286\n 5.8.6 Debounce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286\n 5.8.6.1 Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286\n 5.8.6.2 Parameter\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xv\n \n 5.8.6.3 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287\n 5.8.7 SigGen\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287\n@@ -1410,15 +1410,15 @@\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302\n \n 5.10HALTCL-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302\n 5.10.1Kompatibilit\u00e4t . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303\n 5.10.2Haltcl-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xvi\n \n 5.10.3Haltcl INI-Datei-Variablen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303\n 5.10.4Konvertieren von HAL-Dateien in Tcl-Dateien . . . . . . . . . . . . . . . . . . . . . . . 304\n 5.10.5Haltcl Anmerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304\n 5.10.6Haltcl Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305\n@@ -1470,15 +1470,15 @@\n 5.13.1Basic usage example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316\n 5.13.2Non-realtime components and delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317\n 5.13.3Pins und Parameter erstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317\n 5.13.3.1\u00c4ndern des Pr\u00e4fixes\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xvii\n \n 5.13.4Lesen und Schreiben von Pins und Parametern . . . . . . . . . . . . . . . . . . . . . . 318\n 5.13.4.1Ansteuerung der Ausgangsstifte (HAL_OUT) . . . . . . . . . . . . . . . . . . 318\n 5.13.4.2Ansteuerung von bidirektionalen (HAL_IO) Pins . . . . . . . . . . . . . . . . 318\n 5.13.5Beenden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318\n@@ -1527,15 +1527,15 @@\n 5.15.3Halshow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325\n 5.15.4Halscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326\n 5.15.5Sim-Pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326\n 5.15.6simulate_probe (Sonde simulieren) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327\n 5.15.7HAL Histogramm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328\n 5.15.8Halreport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xviii\n \n 6 Hardware-Treiber\n \n 332\n \n@@ -1595,15 +1595,15 @@\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354\n \n 6.3.6 Status-LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354\n 6.3.6.1 CAN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354\n 6.3.6.2 RS485 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355\n 6.3.6.3 EMC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xix\n \n 6.3.6.4 Booten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355\n 6.3.6.5 Fehler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355\n 6.3.7 RS485 E/A-Erweiterungsmodule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355\n 6.3.7.1 Relais-Ausgangsmodul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356\n@@ -1659,15 +1659,15 @@\n 6.7.4 Laden von HostMot2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368\n 6.7.5 Watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369\n 6.7.5.1 Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369\n 6.7.5.2 Parameter\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xx\n \n 6.7.6 HostMot2-Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369\n 6.7.7 Pinbelegungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370\n 6.7.8 PIN-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371\n 6.7.9 Firmware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371\n@@ -1730,15 +1730,15 @@\n 6.8.5.2 fnct_02_read_discrete_inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389\n 6.8.5.3 fnct_03_read_holding_registers\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . 389\n \n 6.8.5.4 fnct_04_read_input_registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxi\n \n 6.8.5.5 fnct_05_write_single_coil . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389\n 6.8.5.6 fnct_06_write_single_register . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389\n 6.8.5.7 fnct_15_write_multiple_coils . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390\n 6.8.5.8 fnct_16_write_multiple_registers . . . . . . . . . . . . . . . . . . . . . . . . . . 390\n@@ -1786,15 +1786,15 @@\n 6.13.1.4LED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402\n 6.13.1.5Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402\n 6.13.1.6PC-Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402\n 6.13.1.7Neuerstellung der FPGA-Firmware . . . . . . . . . . . . . . . . . . . . . . . . 403\n 6.13.1.8F\u00fcr weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403\n 6.13.2Pluto-Servo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxii\n \n 6.13.2.1Pinbelegung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403\n 6.13.2.2Input-Latching und Output-Aktualisierung . . . . . . . . . . . . . . . . . . . . 405\n 6.13.2.3HAL-Funktionen, Pins und Parameter . . . . . . . . . . . . . . . . . . . . . . . 406\n 6.13.2.4Kompatible Treiber-Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . 406\n@@ -1836,15 +1836,15 @@\n 6.17.8Konfigurieren des VFS11 VFD f\u00fcr die Modbus-Nutzung . . . . . . . . . . . . . . . . . 417\n 6.17.8.1Anschlie\u00dfen der seriellen Schnittstelle . . . . . . . . . . . . . . . . . . . . . . 417\n 6.17.8.2Modbus-Einrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418\n 6.17.9Hinweis zur Programmierung\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 418\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxiii\n \n 7 Hardware-Beispiele\n \n 419\n \n@@ -1890,15 +1890,15 @@\n 8.2.5.4 Symbol-Fenster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437\n 8.2.5.5 Das Editor-Fenster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438\n 8.2.5.6 Konfigurationsfenster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439\n 8.2.6 SPS Objekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441\n 8.2.6.1 KONTAKTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441\n 8.2.6.2 IEC-TIMER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxiv\n \n 8.2.6.3 ZEITGLIEDER (engl. timers) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442\n 8.2.6.4 KIPPSTUFEN (engl. monostables) . . . . . . . . . . . . . . . . . . . . . . . . . 442\n 8.2.6.5 Z\u00c4HLER (engl. counters) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443\n 8.2.6.6 VERGLEICHEN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443\n@@ -1942,15 +1942,15 @@\n 9.1.3.2 Inverse Transformation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476\n 9.1.4 Details zur Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476\n 9.1.4.1 Kinematikmodul unter Verwendung der Vorlage userkins.comp . . . . . . . 478\n 9.2 Setting up \u201dmodified\u201d Denavit-Hartenberg (DH) parameters for genserkins . . . . . . . . 478\n 9.2.1 Vorspiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478\n 9.2.2 Allgemeines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxv\n \n 9.2.3 Modifizierte DH-Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479\n 9.2.4 Modifizierte DH-Parameter, wie sie in Genserkins verwendet werden . . . . . . . . 479\n 9.2.5 Nummerierung der Verbindungen und Parameter . . . . . . . . . . . . . . . . . . . . 480\n 9.2.6 Wie fange ich an? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480\n@@ -1992,15 +1992,15 @@\n 9.4.4.1 HAL-Verbindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520\n 9.4.4.2 G-/M-Code-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521\n 9.4.4.3 INI file limit settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 521\n 9.4.4.4 \u00dcberlegungen zum Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523\n 9.4.5 Simulationskonfigurationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523\n 9.4.6 Kinematische Bestimmungen des Benutzers . . . . . . . . . . . . . . . . . . . . . . . . 524\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxvi\n \n 9.4.7 Warnungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524\n 9.4.8 Code Anmerkungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 524\n 9.5 PID Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525\n 9.5.1 PID-Regler (engl. PID controller) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525\n@@ -2037,15 +2037,15 @@\n 9.6.5.8 Fehlerbehandlung: Umgang mit Abbr\u00fcchen . . . . . . . . . . . . . . . . . . . 543\n 9.6.5.9 Fehlerbehandlung: Fehlschlagen einer NGC-Prozedur mit neu zugeordnetem Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545\n 9.6.6 Umschl\u00fcsselung anderer bestehender Codes: S, M0, M1, M60 . . . . . . . . . . . . 545\n 9.6.6.1 Automatic gear selection be remapping S (set spindle speed) . . . . . . . . 545\n 9.6.6.2 Anpassen des Verhaltens von M0, M1, M60 . . . . . . . . . . . . . . . . . . . 545\n 9.6.7 Creating new G-code cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxvii\n \n 9.6.8 Embedded Python konfigurieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546\n 9.6.8.1 Python plugin : INI file configuration . . . . . . . . . . . . . . . . . . . . . . . 546\n 9.6.8.2 Executing Python statements from the interpreter . . . . . . . . . . . . . . . 547\n 9.6.9 Programming Embedded Python in the RS274NGC Interpreter . . . . . . . . . . . . 547\n@@ -2081,15 +2081,15 @@\n 9.6.15.1Warum sollten Sie die Task-Ausf\u00fchrung \u00e4ndern wollen? . . . . . . . . . . . . 564\n 9.6.15.2Ein Diagramm: task, interp, iocontrol, UI (??) . . . . . . . . . . . . . . . . 564\n 9.6.16Modelle der Aufgaben (engl. task) -Ausf\u00fchrung . . . . . . . . . . . . . . . . . . . . . . 564\n 9.6.16.1Traditionelle Ausf\u00fchrung von iocontrol/iocontrolv2 . . . . . . . . . . . . 564\n 9.6.16.2IO-Verfahren neu definieren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564\n 9.6.16.3Python-Prozeduren zur Ausf\u00fchrungszeit . . . . . . . . . . . . . . . . . . . . . 564\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxviii\n \n 9.6.17Eine kurze \u00dcbersicht \u00fcber die LinuxCNC-Programmausf\u00fchrung . . . . . . . . . . . 564\n 9.6.17.1Zustand des Interpreters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564\n 9.6.17.2Task and Interpreter interaction, Queuing and Read-Ahead . . . . . . . . . 565\n 9.6.17.3Predicting the machine position . . . . . . . . . . . . . . . . . . . . . . . . . . 565\n@@ -2129,15 +2129,15 @@\n 9.9.4 Related HAL Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578\n 9.9.4.1 eoffset_per_angle.comp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578\n 9.9.5 Testen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579\n 9.9.6 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579\n 9.9.6.1 eoffsets.ini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579\n 9.9.6.2 jwp_z.ini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxix\n \n 9.9.6.3 dynamische_offsets.ini . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580\n 9.9.6.4 opa.ini (eoffset_per_angle)\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580\n@@ -2191,15 +2191,15 @@\n 10.1.8Manueller Werkzeugwechsel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604\n 10.1.9Python modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604\n 10.1.10\n Using AXIS in Lathe Mode\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxx\n \n 10.1.11\n Verwendung von AXIS im Modus Schaumstoffschneiden (engl. foam cutting mode) 608\n 10.1.12\n Erweiterte Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609\n@@ -2274,15 +2274,15 @@\n 10.2GMOCCAPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621\n 10.2.1Einf\u00fchrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621\n 10.2.2Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622\n 10.2.3How to Get GMOCCAPY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622\n 10.2.4Basiseinstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623\n 10.2.4.1Die DISPLAY-Sektion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxxi\n \n 10.2.4.2Der TRAJ Abschnitt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625\n 10.2.4.3Makro-Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626\n 10.2.4.4Embedded Tabs and Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 628\n 10.2.4.5User Created Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631\n@@ -2329,15 +2329,15 @@\n 10.2.11.2\n Simulierte Jog-Wheels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663\n 10.2.11.3\n Einstellungen Seite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663\n 10.2.11.4\n Simulierte Hardware-Taste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxxii\n \n 10.2.11.5\n Benutzer-Registerkarten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 663\n 10.2.11.6\n Videos zur Werkzeugvermessung . . . . . . . . . . . . . . . . . . . . . . . . . 663\n@@ -2380,15 +2380,15 @@\n 10.5.2.2Einstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686\n 10.5.2.3Protokollierung (engl. logging) . . . . . . . . . . . . . . . . . . . . . . . . . . . 686\n 10.5.2.4Override-Kontrollen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686\n 10.5.2.5Spindelsteuerungen\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxxiii\n \n 10.5.2.6Jogging-Inkremente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687\n 10.5.2.7Jog-Geschwindigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687\n 10.5.2.8Dialogsystem f\u00fcr Benutzermeldungen\n \n@@ -2472,15 +2472,15 @@\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711\n \n 10.5.17.3\n Registerkarte \u201dOffsets\u201d\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxxiv\n \n 10.5.17.4\n Registerkarte \u201dWerkzeug\u201d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711\n 10.5.17.5\n Registerkarte \u201dStatus\u201d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 711\n@@ -2536,15 +2536,15 @@\n 10.6.8Erstellen eines Unterprogramms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735\n 10.7TkLinuxCNC GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736\n 10.7.1Einf\u00fchrung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736\n 10.7.2Erste Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 736\n 10.7.2.1Eine typische Sitzung mit TkLinuxCNC . . . . . . . . . . . . . . . . . . . . . . 736\n 10.7.3Elemente des TkLinuxCNC-Fensters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxxv\n \n 10.7.3.1Die wichtigsten Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737\n 10.7.3.2Statusleiste der Offset-Anzeige . . . . . . . . . . . . . . . . . . . . . . . . . . . 738\n 10.7.3.3Koordinatenanzeigebereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 738\n 10.7.3.4TkLinuxCNC Interpreter / Automatic Program Control . . . . . . . . . . . . 738\n@@ -2587,15 +2587,15 @@\n 10.8.7.2Contact Bounce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760\n 10.8.7.3Contact Load . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760\n 10.8.7.4Desktop-Starthilfe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761\n 10.8.7.5QtPlasmaC Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 762\n 10.8.7.6INI File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 763\n 10.8.8QtPlasmaC GUI \u00dcberblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxxvi\n \n 10.8.8.1Beenden von QtPlasmaC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 764\n 10.8.8.2HAUPT (engl. main)-Registerkarte (engl. tab) . . . . . . . . . . . . . . . . . . 765\n 10.8.8.3Preview Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771\n 10.8.8.4CONVERSATIONAL Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 771\n@@ -2653,15 +2653,15 @@\n 10.8.9.29\n Mesh Mode (Expanded Metal Cutting) . . . . . . . . . . . . . . . . . . . . . . 805\n 10.8.9.30\n Ignore Arc OK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805\n 10.8.9.31\n Cut Recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 806\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxxvii\n \n 10.8.9.32\n Run From Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 807\n 10.8.9.33\n Scribe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808\n@@ -2736,15 +2736,15 @@\n 10.8.15.8\n Zero Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839\n 10.8.15.9\n Tuning Void Sensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839\n 10.8.15.10\n Max Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 839\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxxviii\n \n 10.8.15.11\n Enable Tabs During Automated Motion . . . . . . . . . . . . . . . . . . . . . . 840\n 10.8.15.12\n Override Jog Inhibit Via Z+ Jog . . . . . . . . . . . . . . . . . . . . . . . . . . . 840\n@@ -2803,15 +2803,15 @@\n 11.1.3Koordinatensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859\n 11.1.4M2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865\n 11.1.4.1Beispielprogramm mit G52-Offsets . . . . . . . . . . . . . . . . . . . . . . . . 865\n 11.2Tool Compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865\n 11.2.1Touch-Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 865\n 11.2.1.1Verwendung von G10 L1/L10/L11 . . . . . . . . . . . . . . . . . . . . . . . . . 866\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xxxix\n \n 11.2.2Werkzeugtabelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867\n 11.2.2.1Werkzeugtabellen-Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867\n 11.2.2.2Tool IO\n \n@@ -2862,15 +2862,15 @@\n 11.4.13\n Modal Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894\n 11.4.14\n Kommentare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896\n 11.4.15\n Nachrichten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xl\n \n 11.4.16\n Probe Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897\n 11.4.17\n Protokollierung (engl. logging) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897\n@@ -2942,15 +2942,15 @@\n 11.5.21\n G30, G30.1 Go/Set Predefined Position . . . . . . . . . . . . . . . . . . . . . . . . . . . 918\n 11.5.22\n G33 Spindle Synchronized Motion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918\n 11.5.23\n G33.1 Rigid Tapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xli\n \n 11.5.24\n G38.n Straight Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 921\n 11.5.25\n G40 Compensation Off . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 922\n@@ -3029,15 +3029,15 @@\n G87 Back Boring Cycle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946\n 11.5.52G88 Boring Cycle, Spindle Stop, Manual Out . . . . . . . . . . . . . . . . . . . . . . . 946\n 11.5.53G89 Boring Cycle, Dwell, Feed Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 946\n 11.5.54G90, G91 Distance Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947\n 11.5.55\n G90.1, G91.1 Arc Distance Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xlii\n \n 11.5.56\n G92 Coordinate System Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947\n 11.5.57G92.1, G92.2 Reset G92 Offsets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948\n 11.5.58\n@@ -3099,15 +3099,15 @@\n \n 11.7O Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963\n 11.7.1Verwendung von O-Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 963\n 11.7.2Nummerierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964\n 11.7.3Kommentare . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964\n 11.7.4Subroutines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 964\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xliii\n \n 11.7.4.1 Fanuc-Style Numbered Programs . . . . . . . . . . . . . . . . . . . . . . . . . 965\n 11.7.5 Looping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 967\n 11.7.6 Conditional . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968\n 11.7.7 Repeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968\n@@ -3164,15 +3164,15 @@\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978\n \n 11.10.4.10\n Abtastmuster (engl. scan pattern) . . . . . . . . . . . . . . . . . . . . . . . . . 978\n 11.10.4.11\n Scanrichtung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 978\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xliv\n \n 11.10.4.12\n Tiefe (engl. depth) (Einheiten) . . . . . . . . . . . . . . . . . . . . . . . . . . . 979\n 11.10.4.13\n Schrittweite (engl. step over) (Pixel) . . . . . . . . . . . . . . . . . . . . . . . 979\n@@ -3225,15 +3225,15 @@\n 12.2.2Schwebende (engl. floating) Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008\n 12.2.3Beispiel f\u00fcr Jog-Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1008\n 12.2.3.1Erstellen der Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1009\n 12.2.3.2Verbindungen herstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1011\n 12.2.4Port-Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012\n 12.2.5GS2-Drehzahlmesser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xlv\n \n 12.2.5.1Das Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1015\n 12.2.5.2Die Verbindungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017\n 12.2.6Referenzfahrt im Eilgang Button . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017\n 12.3GladeVCP: Glade Virtual Control Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1019\n@@ -3286,15 +3286,15 @@\n 12.3.6.16\n Bars (engl. f\u00fcr Balken) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044\n 12.3.6.17\n Meter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045\n 12.3.6.18\n HAL_Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1046\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xlvi\n \n 12.3.6.19\n Gremlin tool path preview for NGC files . . . . . . . . . . . . . . . . . . . . . 1047\n 12.3.6.20\n HAL_Offset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049\n@@ -3354,15 +3354,15 @@\n 12.3.8.13\n Manuelle Bearbeitung von INI-Dateien (.ini) . . . . . . . . . . . . . . . . . . . 1078\n 12.3.8.14\n Hinzuf\u00fcgen von HAL-Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078\n 12.3.8.15\n Hinzuf\u00fcgen von Timern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1078\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xlvii\n \n 12.3.8.16\n HAL-Widget-Eigenschaften programmatisch einstellen . . . . . . . . . . . . 1079\n 12.3.8.17\n Value-changed callback with hal_glib . . . . . . . . . . . . . . . . . . . . . . . 1079\n@@ -3408,15 +3408,15 @@\n 12.5.5.2IMPORT Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115\n 12.5.5.3Abschnitt INSTANTIATE BIBRARIES . . . . . . . . . . . . . . . . . . . . . . . 1115\n 12.5.5.4HANDLER CLASS Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115\n 12.5.5.5INITIALIZE Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1115\n 12.5.5.6Abschnitt zu BESONDEREN FUNKTIONEN . . . . . . . . . . . . . . . . . . . 1116\n Literaturverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1116\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xlviii\n \n 12.5.5.7STATUS CALLBACKS Abschnitt . . . . . . . . . . . . . . . . . . . . . . . . . . 1117\n 12.5.5.8CALLBACKS FROM FORM Abschnitt . . . . . . . . . . . . . . . . . . . . . . . 1117\n 12.5.5.9GENERAL FUNCTIONS Section . . . . . . . . . . . . . . . . . . . . . . . . . . 1117\n 12.5.5.10\n@@ -3460,15 +3460,15 @@\n \n . . . . . . . . . . . . . . . . . 1138\n \n 12.7QtVCP Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1139\n 12.7.1Nur HAL-Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140\n 12.7.1.1XEmbed - Widget zum Einbetten von Programmen . . . . . . . . . . . . . . . 1140\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n xlix\n \n 12.7.1.2Slider - HAL-Pin-Wert-Anpassungs-Widget . . . . . . . . . . . . . . . . . . . 1140\n 12.7.1.3LED - Indicator Widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140\n 12.7.1.4CheckBox Widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141\n 12.7.1.5RadioButton Widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1141\n@@ -3534,15 +3534,15 @@\n . . . . . . . . . . . . . . . . . . . . . . . 1174\n \n 12.7.2.21\n MDILine - MDI-Befehlszeileneingabe-Widget . . . . . . . . . . . . . . . . . . . 1176\n 12.7.2.22\n MDIHistory - MDI-Befehlsverlaufs-Widget . . . . . . . . . . . . . . . . . . . . 1177\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n l\n \n 12.7.2.23\n MDITouchy - Touchscreen-MDI-Eingabe-Widget . . . . . . . . . . . . . . . . . 1178\n 12.7.2.24\n OriginOffsetView - Ursprungsansicht und Einstellungs-Widget . . . . . . 1180\n@@ -3601,15 +3601,15 @@\n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203\n \n 12.7.6.3Facing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203\n 12.7.6.4Loch-Kreis (engl. hole circle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203\n 12.7.6.5Qt NGCGUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204\n 12.7.6.6Qt PDF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n li\n \n 12.7.6.7Qt Vismach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205\n 12.8QtVCP Libraries modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1205\n 12.8.1Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206\n 12.8.1.1Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206\n@@ -3653,15 +3653,15 @@\n 12.8.12.2\n Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222\n 12.8.12.3\n Beispiel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222\n 12.8.13\n Virtuelle Tastatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n lii\n \n 12.8.14\n Toolbar Actions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223\n 12.8.14.1\n Aktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223\n@@ -3727,15 +3727,15 @@\n 12.10.1.4\n Aufr\u00e4um-Prozess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239\n 12.10.2\n Custom HAL Widgets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1239\n 12.10.3\n Benutzerdefinierte Controller-Widgets mit STATUS . . . . . . . . . . . . . . . . . . . . 1240\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n liii\n \n 12.10.3.1\n In The Imports Section . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1241\n 12.10.3.2\n Im Abschnitt Bibliotheken instanziieren . . . . . . . . . . . . . . . . . . . . . 1242\n@@ -3816,15 +3816,15 @@\n 12.12.5\n Idiosyncrasies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270\n 12.12.5.1\n Error Code Collecting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270\n 12.12.5.2\n Jog Rate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1271\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n liv\n \n 12.12.5.3\n Keybinding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1271\n 12.12.5.4\n Preference File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1271\n@@ -3873,15 +3873,15 @@\n 13.4.2Beispiel f\u00fcr einen GStat-Code\n \n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1300\n \n 13.4.2.1Codemuster f\u00fcr HAL-Komponenten . . . . . . . . . . . . . . . . . . . . . . . . 1300\n 13.4.2.2GladeVCP Python-Erweiterung Code-Muster . . . . . . . . . . . . . . . . . . 1300\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n lv\n \n 13.4.2.3QtVCP Python-Erweiterungscode-Muster\n \n . . . . . . . . . . . . . . . . . . . . 1301\n \n@@ -3927,23 +3927,23 @@\n \n 1330\n \n 17.1Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1330\n 17.1.1Namens\u00e4nderung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1331\n 17.1.2Zus\u00e4tzliche Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 1 / 1331\n \n Teil I\n \n Erste Schritte & Konfiguration\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 2 / 1331\n \n Kapitel 1\n \n Erste Schritte mit LinuxCNC\n 1.1 About LinuxCNC\n@@ -3965,15 +3965,15 @@\n Konfiguration f\u00fcr Ihre Maschine\n \u2013 eine mit Leiterdiagrammen programmierbare Software-SPS\n \u2022 Es bietet keine Zeichnungsfunktionen (CAD - Computer Aided Design) oder G-Code-Generierung\n aus der Zeichnung (CAM - Computer Automated Manufacturing).\n \u2022 Er kann bis zu 9 Achsen gleichzeitig bewegen und unterst\u00fctzt eine Vielzahl von Schnittstellen.\n \u2022 Die Steuerung kann echte Servos (analog oder PWM) mit der Feedback-Schleife durch die LinuxCNCSoftware auf dem Computer, oder Open-Loop mit Schritt-Servos oder Schrittmotoren betreiben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 3 / 1331\n \n \u2022 Zu den Funktionen der Bewegungssteuerung geh\u00f6ren: Fr\u00e4serradius- und L\u00e4ngenkompensation, auf\n eine bestimmte Toleranz begrenzte Bahnabweichung, Gewindedrehen, synchronisierte Achsenbewegung, adaptiver Vorschub, Vorschub\u00fcbersteuerung durch den Bediener und konstante Geschwindigkeitsregelung.\n \u2022 Unterst\u00fctzung f\u00fcr nicht-kartesische Bewegungssysteme wird \u00fcber benutzerdefinierte Kinematikmodule bereitgestellt. Zu den verf\u00fcgbaren Architekturen geh\u00f6ren Hexapoden (Stewart-Plattformen\n und \u00e4hnliche Konzepte) und Systeme mit Drehgelenken f\u00fcr die Bewegung wie PUMA- oder SCARARoboter.\n@@ -4002,15 +4002,15 @@\n f\u00fcr beide Seiten Zeit spart.\n Dateien teilen\n Die g\u00e4ngigste Art, Dateien im IRC auszutauschen, besteht darin, die Datei auf einen der folgenden oder einen \u00e4hnlichen Dienst hochzuladen und den Link einzuf\u00fcgen:\n \u2022 For text: https://pastebin.com/, http://pastie.org/, https://gist.github.com/\n \u2022 For pictures: https://imagebin.org/, https://imgur.com/, https://bayimg.com/\n \u2022 For files: https://filedropper.com/, https://filefactory.com/, https://1fichier.com/\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 4 / 1331\n \n 1.1.3.2 Mailingliste\n Eine Internet-Mailingliste ist eine M\u00f6glichkeit, Fragen zu stellen, die jeder auf dieser Liste sehen und\n nach Belieben beantworten kann. Auf einer Mailingliste k\u00f6nnen Sie Ihre Fragen besser stellen als\n im IRC, aber die Antworten dauern l\u00e4nger. Kurz gesagt: Sie senden eine Nachricht an die Liste und\n@@ -4043,15 +4043,15 @@\n LinuxCNC und Debian Linux sollte einigerma\u00dfen gut auf einem Computer mit den folgenden minimalen Hardware-Spezifikationen laufen. Diese Zahlen sind nicht das absolute Minimum, sondern wird\n eine angemessene Leistung f\u00fcr die meisten Stepper-Systeme geben.\n \u2022 700 MHz x86-Prozessor (1,2 GHz x86-Prozessor empfohlen) oder Raspberry Pi 4 oder besser.\n \u2022 LinuxCNC 2.8 or later from the Live CD expects a 64-bit capable system.\n \u2022 512 MB of RAM, 4 GB with GUI to avoid surprises\n \u2022 No hard disk for Live CD, 8 GB or more for permanent installation\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 5 / 1331\n \n \u2022 Graphics card capable of at least 1024x768 resolution, which is not using the NVidia or ATI fglrx\n proprietary drivers. Modern onboard graphic chipsets seem to generally be OK.\n \u2022 Internet connection (not strictly needed, but very useful for updates and for communicating with\n the LinuxCNC community)\n@@ -4086,15 +4086,15 @@\n RTAI ist seit vielen Jahren die Hauptst\u00fctze der LinuxCNC-Distributionen. Es wird in der Regel die\n beste Echtzeit-Leistung in Bezug auf niedrige Latenz, aber m\u00f6glicherweise schlechtere PeripherieUnterst\u00fctzung und nicht so viele Bildschirmaufl\u00f6sungen haben. Ein RTAI-Kernel ist im LinuxCNCPaket-Repository verf\u00fcgbar. Wenn Sie aus dem Live/Install-Image installiert haben, wird der Wechsel\n zwischen Kernel und LinuxCNC-Flavour in [Installing-RTAI] beschrieben.\n 1.2.2.3 Xenomai mit linuxcnc-uspace Paket\n Xenomai wird auch unterst\u00fctzt, aber Sie m\u00fcssen den Kernel finden oder bauen und LinuxCNC aus\n den Quellen kompilieren, um es zu nutzen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 6 / 1331\n \n 1.2.2.4 RTAI mit linuxcnc-uspace-Paket\n It is also possible to run LinuxCNC with RTAI in user-space mode. As with Xenomai you will need to\n compile from source to do this.\n \n@@ -4126,15 +4126,15 @@\n 2. Schreiben Sie das Image auf ein USB-Speicherger\u00e4t oder eine DVD.\n 3. Booten Sie das Live-System, um LinuxCNC zu testen.\n 4. Booten Sie das Installationsprogramm, um LinuxCNC zu installieren.\n \n 1.3.1 Das Festplattenabbild (engl. kurz image) herunterladen\n This section describes some methods for downloading the Live/Install image.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 7 / 1331\n \n 1.3.1.1 Normales Herunterladen\n Software for LinuxCNC to download is presented on the project\u2019s Downloads page. Most users will aim\n for the disk image for Intel/AMD PCs, the URL will resemble https://www.linuxcnc.org/iso/linuxcnc_2.9.2amd64.hybrid.iso.\n For the Raspberry Pi, multiple images are provided to address differences between the RPi4 and RPi5.\n@@ -4171,15 +4171,15 @@\n md5sum: 4547e8a72433efb033f0a5cf166a5cd2\n sha256sum: ff3ba9b8dfb93baf1e2232746655f8521a606bc0fab91bffc04ba74cc3be6bf0\n \n \u00dcberpr\u00fcfen Sie md5sum auf Windows oder Mac Windows und Mac OS X werden nicht mit einem\n md5sum-Programm ausgeliefert, aber es gibt Alternativen. Weitere Informationen finden Sie unter:\n How To MD5SUM\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 8 / 1331\n \n 1.3.2 Schreiben des Abbilds auf ein bootf\u00e4higes Ger\u00e4t\n The LinuxCNC Live/Install ISO Image is a hybrid ISO image which can be written directly to a USB\n storage device (flash drive) or a DVD and used to boot a computer. The image is too large to fit on a\n CD.\n@@ -4211,15 +4211,15 @@\n \n 4. Transfer the data with dd, as for Linux above. Note that the disk name has an added \u201dr\u201d at the\n begining\n sudo dd if=/linuxcnc_2.9.2-amd64.hybrid.iso of=/dev/rdiskN bs=1m\n \n 5. Bitte beachten Sie, dass dieser Vorgang sehr lange dauern kann und dass Sie w\u00e4hrend des Vorgangs keine R\u00fcckmeldung erhalten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 9 / 1331\n \n Schreiben des Abbilds auf eine DVD unter Linux\n 1. Legen Sie einen DVD-Rohling in Ihren Brenner ein. Ein Fenster \u201dCD/DVD Creator\u201d oder \u201dDisc-Typ\n ausw\u00e4hlen\u201d wird angezeigt. Schlie\u00dfen Sie es, da wir es nicht verwenden werden.\n 2. Suchen Sie das heruntergeladene Bild im Dateibrowser.\n@@ -4251,15 +4251,15 @@\n An diesem Punkt ist es nur wirklich sinnvoll, eine \u201dsim\u201d Konfiguration zu w\u00e4hlen. Einige der Beispielkonfigurationen enthalten auf dem Bildschirm 3D simulierte Maschinen, suchen Sie nach \u201dVismach\u201d,\n um diese zu sehen.\n Um festzustellen, ob Ihr Computer f\u00fcr die Erzeugung von Software-Schrittimpulsen geeignet ist, f\u00fchren Sie den Latenztest wie folgt aus: here.\n At the time of writing the Live Image is only available with the preempt-rt kernel and a matching\n LinuxCNC. On some hardware this might not offer good enough latency. There is an experimental\n version available using the RTAI realtime kernel which will often give better latency.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 10 / 1331\n \n 1.3.4 LinuxCNC installieren\n To install LinuxCNC from the Live CD select Install (Graphical) at bootup.\n \n 1.3.5 Updates to LinuxCNC\n@@ -4347,15 +4347,15 @@\n Maschinensteuerung\n und -simulation\n Maschinensteuerung\n und -simulation\n machine control\n simulation ONLY\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 11 / 1331\n \n Preempt-RT-Kernel The Preempt-rt kernels are available for Debian from the regular debian.org\n archive. The package is called linux-image-rt-*. Simply install the package in the same way as any\n other package from the Synaptic Package manager or with apt-get at the command-line.\n RTAI-Kernel Die RTAI-Kernel stehen im linuxcnc.org-Debian-Archiv zum Download bereit. Die aptQuelle ist:\n@@ -4386,15 +4386,15 @@\n 1. Install the Preempt-RT kernel and modules\n sudo apt-get install linux-image-rt-amd64\n \n 2. Re-boot, and select the Linux 6.1.0-10-rt-amd64 kernel. The exact kernel version might be different, look for the \u201d-rt\u201d suffix. This might be hidden in the \u201dAdvanced options for Debian Bookworm\u201d sub-menu in Grub. When you log in, verify that \u0300PREEMPT RT \u0300is reported by the following\n command.\n uname -v\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 12 / 1331\n \n 3. \u00d6ffnen Sie Men\u00fc Anwendungen > System > Synaptic Package Manager, suchen Sie nach linuximage und klicken Sie mit der rechten Maustaste auf das urspr\u00fcngliche Nicht-rt und w\u00e4hlen\n Sie \u201dZur vollst\u00e4ndigen Entfernung markieren\u201d. Neu starten. Damit wird das System gezwungen,\n vom RT-Kernel zu booten. Wenn Sie es vorziehen, beide Kernel beizubehalten, m\u00fcssen die anderen Kernel nicht gel\u00f6scht werden, aber es sind \u00c4nderungen an der Grub-Boot-Konfiguration\n erforderlich, die den Rahmen dieses Dokuments sprengen.\n@@ -4424,15 +4424,15 @@\n \n 1.4 Running LinuxCNC\n 1.4.1 Aufrufen von LinuxCNC\n Nach der Installation startet LinuxCNC wie jedes andere Linux-Programm: F\u00fchren Sie es aus dem\n terminal aus, indem Sie den Befehl linuxcnc eingeben, oder w\u00e4hlen Sie es im Men\u00fc Anwendungen ->\n CNC aus.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 13 / 1331\n \n 1.4.2 Configuration Launcher\n Beim Starten von LinuxCNC (aus dem CNC-Men\u00fc oder von der Kommandozeile ohne Angabe einer\n INI-Datei) startet der Dialog Kofigurations-Auswahl.\n Im Dialogfeld \u201dKonfigurationsauswahl\u201d kann der Benutzer eine seiner vorhandenen Konfigurationen\n@@ -4464,15 +4464,15 @@\n \u2022 tklinuxcnc - Keyboard and Mouse GUI (no longer maintained)\n \u2022 touchy - Touchscreen-GUI\n \u2022 woodpecker - Touch Screen GUI A GUI configuration directory may contain subdirectories with\n configurations that illustrate special situations or the embedding of other applications.\n Die by_interface-Konfigurationen sind um g\u00e4ngige, unterst\u00fctzte Schnittstellen herum organisiert:\n \u2022 allgemeine Mechatronik\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 14 / 1331\n \n \u2022 mesa\n \u2022 parport\n \u2022 pico\n \u2022 pluto\n@@ -4504,15 +4504,15 @@\n \u2022 parport - Anwendungen zum Testen von parport.\n \u2022 pyvcp - Beispiele f\u00fcr pyvcp-Anwendungen.\n \u2022 xhc-hb04 \u2013 Anwendungen zum Testen eines drahtlosen USB-MPG xhc-hb04\n Anmerkung\n Im Verzeichnis Apps werden nur Anwendungen zum Kopieren in das Benutzerverzeichnis angeboten,\n die vom Benutzer sinnvollerweise ge\u00e4ndert werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 15 / 1331\n \n Abbildung 1.1: LinuxCNC-Konfigurationsauswahl\n Klicken Sie auf eine der aufgelisteten Konfigurationen, um spezifische Informationen zu ihr anzuzeigen. Doppelklicken Sie auf eine Konfiguration oder klicken Sie auf OK, um die Konfiguration zu\n starten.\n W\u00e4hlen Sie \u201dDesktop-Verkn\u00fcpfung erstellen\u201d und klicken Sie dann auf \u201dOK\u201d, um ein Symbol auf dem\n@@ -4527,15 +4527,15 @@\n Konfiguration finden Sie im Integrator-Handbuch.\n \n 1.4.4 Simulator-Konfigurationen\n Alle unter Beispielkonfigurationen/Sim aufgef\u00fchrten Konfigurationen k\u00f6nnen auf jedem Computer\n ausgef\u00fchrt werden. Es ist keine spezielle Hardware erforderlich und Echtzeitunterst\u00fctzung ist nicht\n notwendig.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 16 / 1331\n \n Diese Konfigurationen sind n\u00fctzlich, um einzelne F\u00e4higkeiten oder Optionen zu untersuchen. Die\n Sim-Konfigurationen sind nach der in der Demonstration verwendeten grafischen Benutzeroberfl\u00e4che geordnet. Das Verzeichnis f\u00fcr die Achse enth\u00e4lt die meisten Auswahlm\u00f6glichkeiten und Unterverzeichnisse, da es sich um die am h\u00e4ufigsten getestete grafische Benutzeroberfl\u00e4che handelt. Die\n F\u00e4higkeiten, die mit einer bestimmten grafischen Benutzeroberfl\u00e4che demonstriert werden, sind m\u00f6glicherweise auch in anderen grafischen Benutzeroberfl\u00e4chen verf\u00fcgbar.\n \n@@ -4570,15 +4570,15 @@\n To upgrade LinuxCNC from a version older than 2.8, you have to first upgrade your old install to 2.8,\n then follow these instructions to upgrade to the new version.\n Wenn Sie keine alte Version von LinuxCNC zu aktualisieren haben, dann sind Sie am besten aus\n machen eine frische Installation der neuen Version, wie im Abschnitt LinuxCNC erhalten beschrieben.\n Dar\u00fcber hinaus ist es unter Ubuntu Precise oder Debian Wheezy eine \u00dcberlegung wert, ein Backup\n des \u201dlinuxcnc\u201d-Verzeichnisses auf einem Wechselmedium vorzunehmen und eine Neuinstallaion des\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 17 / 1331\n \n neuesn Betriebsystems und der LinuxCNC version durchzuf\u00fchren, da diese Versionen des OS 2017\n bzw. 2018 ausliefen. Wenn Sie Ubuntu Lucid nutzen, dann werden Sie dies tun m\u00fcssen, da Lucid nicht\n mehr von LinuxCNC unterst\u00fctzt wird (es war EOL im Jahr 2013).\n To upgrade major versions like 2.8 to 2.9 when you have a network connection at the machine you need\n@@ -4618,15 +4618,15 @@\n \u2217 Klicken Sie in Synaptic auf das Men\u00fc Einstellungen und dann auf Repositories, um das\n Fenster Softwarequellen zu \u00f6ffnen.\n \u2022 W\u00e4hlen Sie im Fenster \u201dSoftware-Quellen\u201d die Registerkarte \u201dAndere Software\u201d.\n \u2022 L\u00f6schen oder deaktivieren Sie alle alten linuxcnc.org-Eintr\u00e4ge (lassen Sie alle nicht-linuxcnc.orgZeilen unver\u00e4ndert).\n \u2022 Klicken Sie auf die Schaltfl\u00e4che \u201dHinzuf\u00fcgen\u201d und f\u00fcgen Sie eine neue apt-Zeile hinzu. Die Zeile\n wird auf den verschiedenen Plattformen etwas anders aussehen:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 18 / 1331\n \n Tabelle 1.2: Tabular overview on variants of the Operating\n System and the corresponding configuration of the repository. The configuration can be performed in the GUI of\n the package manager or in the file /etc/apt/sources.list.\n OS / Realtime Version\n@@ -4639,29 +4639,29 @@\n Repository\n deb https://linuxcnc.org buster base 2.9-uspace\n deb https://linuxcnc.org buster base 2.9-rt\n deb https://linuxcnc.org bullseye base 2.9-uspace\n deb https://linuxcnc.org bookworm base 2.9-uspace\n deb https://linuxcnc.org bookworm base 2.9-rt\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 19 / 1331\n \n Abbildung 1.2: Figure with a screenshot of the repository configuration of the synaptic package manager.\n \u2022 Klicken Sie im Fenster \u201dSoftwarequellen\u201d auf \u201dQuelle hinzuf\u00fcgen\u201d und dann auf \u201dSchlie\u00dfen\u201d. Wenn\n ein Fenster angezeigt wird, das Sie dar\u00fcber informiert, dass die Informationen \u00fcber die verf\u00fcgbare\n Software veraltet sind, klicken Sie auf die Schaltfl\u00e4che \u201dNeu laden\u201d.\n 1.5.1.2 Upgrade auf die neue Version\n Da Ihr Computer nun wei\u00df, wo er die neue Version der Software erh\u00e4lt, m\u00fcssen wir sie nun installieren.\n Der Prozess unterscheidet sich wiederum je nach Plattform.\n Debian uses the Synaptic Package Manager.\n \u2022 \u00d6ffnen Sie Synaptic gem\u00e4\u00df den Anweisungen in Festlegen der apt sources oben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 20 / 1331\n \n \u2022 Klicken Sie auf die Schaltfl\u00e4che \u201dNeu laden\u201d.\n \u2022 Verwenden Sie die Suchfunktion, um nach linuxcnc zu suchen.\n \u2022 Das Paket hei\u00dft \u201elinuxcnc\u201c f\u00fcr RTAI-Kernel und \u201elinuxcnc-uspace\u201c f\u00fcr preempt-rt.\n \u2022 Click the check box to mark the new linuxcnc and linuxcnc-doc-* packages for upgrade. The package\n@@ -4697,15 +4697,15 @@\n sudo dpkg -i linuxcnc_2.9.2.deb\n \n 1.5.3 Updating Configuration Files for 2.9\n 1.5.3.1 Stricter handling of pluggable interpreters\n If you just run regular G-code and you don\u2019t know what a pluggable interpreter is, then this section\n does not affect you.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 21 / 1331\n \n A seldom-used feature of LinuxCNC is support for pluggable interpreters, controlled by the undocumented [TASK]INTERPRETER INI setting.\n Versions of LinuxCNC before 2.9.0 used to handle an incorrect [TASK]INTERPRETER setting by automatically falling back to using the default G-code interpreter.\n Since 2.9.0, an incorrect [TASK]INTERPRETER value will cause LinuxCNC to refuse to start up. Fix this\n condition by deleting the [TASK]INTERPRETER setting from your INI file, so that LinuxCNC will use\n@@ -4736,15 +4736,15 @@\n 1.5.5.1 Non-Realtime\n \n mdro mqtt-publisher pi500_vfd pmx485-test qtplasmac-cfg2prefs qtplasmac-materials qtplasmac-plasmac2q\n qtplasmac-setup sim-torch svd-ps_vfd\n 1.5.5.2 Echtzeit\n anglejog div2 enum filter_kalman flipflop hal_parport homecomp limit_axis mesa_uart millturn scaled_s32_sums tof ton\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 22 / 1331\n \n 1.5.6 New Drivers\n A framework for controlling ModBus devices using the serial ports on many Mesa cards has been\n introduced. http://linuxcnc.org/docs/2.9/html/drivers/mesa_modbus.html\n A new GPIO driver for any GPIO which is supported by the gpiod library is now included: http://linuxcnc.org/docs/2.9/html/drivers/hal_gpio.html\n@@ -4771,15 +4771,15 @@\n Wenn Sie LinuxCNC mit der Ubuntu LiveCD installieren, ist die Voreinstellung, dass Sie sich jedes Mal\n anmelden m\u00fcssen, wenn Sie den Computer einschalten. Um die automatische Anmeldung zu aktivieren, gehen Sie zu System > Administration > Login Window. Wenn es sich um eine Neuinstallation\n handelt, kann es eine oder drei Sekunden dauern, bis das Anmeldefenster erscheint. Sie ben\u00f6tigen Ihr\n Passwort, das Sie bei der Installation verwendet haben, um Zugang zum Fenster \u201dEinstellungen f\u00fcr\n das Anmeldefenster\u201d zu erhalten. Aktivieren Sie auf der Registerkarte Sicherheit das Kontrollk\u00e4stchen Automatische Anmeldung aktivieren und w\u00e4hlen Sie einen Benutzernamen aus der Liste (das\n w\u00e4ren Sie).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 23 / 1331\n \n 1.6.2 Automatisches Starten\n Um LinuxCNC automatisch mit Ihrer Konfiguration nach dem Einschalten des Computers starten zu\n lassen, gehen Sie zu System > Preferences > Sessions > Startup Applications, klicken Sie auf Add.\n Navigieren Sie zu Ihrer Konfiguration und w\u00e4hlen Sie die .ini-Datei aus. Wenn sich der Dateiauswahldialog schlie\u00dft, f\u00fcgen Sie linuxcnc und ein Leerzeichen vor dem Pfad zu Ihrer .ini-Datei hinzu.\n@@ -4817,15 +4817,15 @@\n Wenn Sie die Ausgabe von lsmod in eine Textdatei in einem Terminalfenster senden wollen, geben Sie\n ein:\n lsmod > mymod.txt\n \n Die resultierende Textdatei befindet sich im Home-Verzeichnis, wenn Sie beim \u00d6ffnen des TerminalFensters das Verzeichnis nicht gewechselt haben, und tr\u00e4gt den Namen mymod.txt oder den von Ihnen\n gew\u00e4hlten Namen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 24 / 1331\n \n 1.6.6 Bearbeiten einer root-Datei\n Wenn Sie den Dateibrowser \u00f6ffnen und sehen, dass der Eigent\u00fcmer der Datei root ist, m\u00fcssen Sie zus\u00e4tzliche Schritte unternehmen, um diese Datei zu bearbeiten. Die Bearbeitung einiger root-Dateien\n kann zu schlechten Ergebnissen f\u00fchren. Seien Sie vorsichtig, wenn Sie root-Dateien bearbeiten. Im\n Allgemeinen k\u00f6nnen Sie die meisten root-Dateien \u00f6ffnen und anzeigen, aber sie bleiben schreibgesch\u00fctzt.\n@@ -4855,15 +4855,15 @@\n Um das Arbeitsverzeichnis in das eine Ebene h\u00f6her liegende Verzeichnis, d.h. das \u00fcbergeordnete\n Verzeichnis, zu wechseln, geben Sie im Terminalfenster ein:\n cd ..\n \n Um im Terminalfenster eine Ebene h\u00f6her zu gehen, geben Sie ein:\n cd ../..\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 25 / 1331\n \n Um direkt in Ihr Heimatverzeichnis zu wechseln, geben Sie im Terminalfenster den Befehl cd ohne\n Argumente ein:\n cd\n \n@@ -4902,15 +4902,15 @@\n \n Dies findet alle Dateien, die den zu suchenden Text enthalten, im aktuellen Verzeichnis und allen Unterverzeichnissen darunter, wobei die Gro\u00df- und Kleinschreibung ignoriert wird. Die Option -i steht\n f\u00fcr Ignorieren der Gro\u00df- und Kleinschreibung und die Option -r f\u00fcr Rekursiv (schlie\u00dft alle Unterverzeichnisse in die Suche ein). Die Option -l gibt eine Liste der Dateinamen zur\u00fcck, wenn Sie die Option\n -l auslassen, erhalten Sie auch den Text, in dem jedes Vorkommen des zu suchenden Textes gefunden\n wird. Der * ist ein Platzhalter f\u00fcr die Suche in allen Dateien. Weitere Informationen finden Sie in der\n Manpage zu grep.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 26 / 1331\n \n 1.6.7.6 Diagnosemeldungen\n Um die Diagnosemeldungen anzuzeigen, verwenden Sie \u201ddmesg\u201d im Befehlsfenster. Um die Diagnosemeldungen in einer Datei zu speichern, verwenden Sie den Umleitungsoperator >, etwa so:\n dmesg > bootmsg.txt\n \n@@ -4941,29 +4941,29 @@\n lspci -v\n \n 1.6.9.2 Monitor-Aufl\u00f6sung\n W\u00e4hrend der Installation versucht Ubuntu, die Monitoreinstellungen zu erkennen. Wenn dies fehlschl\u00e4gt, wird ein allgemeiner Monitor mit einer maximalen Aufl\u00f6sung von 800x600 verwendet.\n Eine Anleitung zur Behebung dieses Problems finden Sie hier:\n https://help.ubuntu.com/community/FixVideoResolutionHowto\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 27 / 1331\n \n 1.6.10 Pfade\n Relative Pfade Relative Pfade basieren auf dem Startverzeichnis, d.h. das Verzeichnis mit der INIDatei. Die Verwendung relativer Pfade kann das Verschieben von Konfigurationen erleichtern, erfordert aber ein gutes Verst\u00e4ndnis der Linux-Pfadangaben.\n ./f0 ist dasselbe wie f0, z. B. eine Datei namens f0 im Startverzeichnis\n ../f1 bezieht sich auf eine Datei f1 im \u00fcbergeordneten Verzeichnis\n ../../f2 bezieht sich auf eine Datei f2 im \u00fcbergeordneten Verzeichnis des\n \u00fcbergeordneten Verzeichnisses\n ../../../f3 usw.\n \n \u2190-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 28 / 1331\n \n Kapitel 2\n \n Allgemeine Benutzerinformationen\n 2.1 User Foreword\n@@ -4993,15 +4993,15 @@\n by making them connectable. We achieve connectability by setting up standard interfaces to sets of\n modules and following those standards.\n The Separation rule requires that we make distinct parts that do little things. By separating functions\n debugging is much easier and replacement modules can be dropped into the system and comparisons\n easily made.\n 1 Found at link:https://en.wikipedia.org/wiki/Separation_of_mechanism_and_policy, 2022-11-13\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 29 / 1331\n \n What does the Unix way mean for you as a user of LinuxCNC. It means that you are able to make\n choices about how you will use the system. Many of these choices are a part of machine integration,\n but many also affect the way you will use your machine. As you read you will find many places where\n you will need to make comparisons. Eventually you will make choices, \u201dI\u2019ll use this interface rather\n@@ -5039,15 +5039,15 @@\n \u2022 the high level controllers that coordinate the generation and execution of motion control of the CNC\n machine, namely the motion controller (EMCMOT), the discrete input/output controller (EMCIO)\n and the task executor (EMCTASK).\n The below illustration is a simple block diagram showing what a typical 3-axis CNC mill with stepper\n motors might look like:\n 2 Found at link:https://en.wikipedia.org/wiki/Unix_philosophy, 07/06/2008\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 30 / 1331\n \n Abbildung 2.1: Simple LinuxCNC Controlled Machine\n A computer running LinuxCNC sends a sequence of pulses via the parallel port to the stepper drives,\n each of which has one stepper motor connected to it. Each drive receives two independent signals;\n one signal to command the drive to move its associated stepper motor in a clockwise or anti-clockwise\n@@ -5069,15 +5069,15 @@\n The INI file contains all the basic hardware information regarding the operation of the CNC mill,\n such as the number of steps each stepper motor must turn to complete one full revolution, the\n maximum rate at which each stepper may operate at, the limits of travel of each axis or the\n configuration and behaviour of limit switches on each axis.\n \u2013 My_CNC.hal\n This HAL file contains information that tells LinuxCNC how to link the internal virtual signals to\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 31 / 1331\n \n physical connections beyond the computer. For example, specifying pin 4 on the parallel port to\n send out the Z axis step direction signal, or directing LinuxCNC to cease driving the X axis motor\n when a limit switch is triggered on parallel port pin 13.\n \u2013 custom.hal\n@@ -5104,85 +5104,85 @@\n 2.2.3 Graphical User Interfaces\n A graphical user interface is the part of the LinuxCNC that the machine tool operator interacts with.\n LinuxCNC comes with several types of user interfaces which may be chosen from by editing certain\n fields contained in the INI file:\n ACHSE\n AXIS, the standard keyboard GUI interface. This is also the default GUI launched when a Configuration Wizard is used to create a desktop icon launcher:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 2.2: AXIS, the standard keyboard GUI interface\n \n Touchy\n Touchy, a touch screens GUI:\n \n 32 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 2.3: Touchy, a touch screen GUI\n \n Gscreen\n Gscreen, a user-configurable touch screen GUI:\n \n 33 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 34 / 1331\n \n Abbildung 2.4: Gscreen, a configurable base touch screen GUI\n \n GMOCCAPY\n GMOCCAPY, a touch screen GUI based on Gscreen. GMOCCAPY is also designed to work equally\n well in applications where a keyboard and mouse are the preferred methods of controlling the\n GUI:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 35 / 1331\n \n Abbildung 2.5: GMOCCAPY, a touch screen GUI based on Gscreen\n \n NGCGUI\n NGCGUI, a subroutine GUI that provides wizard-style programming of G code. NGCGUI may be\n run as a standalone program or embedded into another GUI as a series of tabs. The following\n screenshot shows NGCGUI embedded into AXIS:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 36 / 1331\n \n Abbildung 2.6: NGCGUI, a graphical interface integrated into AXIS\n \n TkLinuxCNC\n TkLinuxCNC, another interface based on Tcl/Tk. Once the most popular interface after AXIS.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 37 / 1331\n \n Abbildung 2.7: TkLinuxCNC graphical interface\n \n QtDragon\n QtDragon, a touch screen GUI based on QtVCP using the PyQt5 library. It comes in two versions\n QtDragon and QtDragon_hd. They are very similar in features but QtDragon_hd is made for larger\n monitors.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 38 / 1331\n \n Abbildung 2.8: QtDragon, a touch screen GUI based on QtVCP\n \n QtPlasmaC\n QtPlasmaC, a touch screen plasma cutting GUI based on QtVCP using the PyQt5 library. It comes\n in three aspect ratios, 16:9, 4:3, and 9:16.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 39 / 1331\n \n Abbildung 2.9: QtPlasmaC, a touch screen plasma cutting GUI based on QtVCP\n \n 2.2.4 Benutzerschnittstellen\n These User interfaces are a way to interact with LinuxCNC outside of the graphical user interfaces.\n@@ -5196,41 +5196,41 @@\n add indicators, readouts, switches or sliders to the basic appearance of one of the GUIs for increased\n flexibility or functionality. Two styles of Virtual Control Panel are offered in LinuxCNC:\n PyVCP\n PyVCP, a Python-based virtual control panel that can be added to the AXIS GUI. PyVCP only\n utilises virtual signals contained within the Hardware Abstraction Layer, such as the spindle-atspeed indicator or the Emergency Stop output signal, and has a simple no-frills appearance. This\n makes it an excellent choice if the user wants to add a Virtual Control Panel with minimal fuss.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 40 / 1331\n \n Abbildung 2.10: PyVCP Example Embedded Into AXIS GUI\n \n GladeVCP\n GladeVCP, a Glade-based virtual control panel that can be added to the AXIS or Touchy GUIs.\n GladeVCP has the advantage over PyVCP in that it is not limited to the display or control of HAL\n virtual signals, but can include other external interfaces outside LinuxCNC such as window or\n network events. GladeVCP is also more flexible in how it may be configured to appear on the\n GUI:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 41 / 1331\n \n Abbildung 2.11: GladeVCP Example Embedded Into AXIS GUI\n \n QtVCP\n QtVCP, a PyQt5-based virtual control panel that can be added to most GUIs or run as a standalone\n panel. QtVCP has the advantage over PyVCP in that it is not limited to the display or control of\n HAL virtual signals, but can include other external interfaces outside LinuxCNC such as window\n or network events by extending with python code. QtVCP is also more flexible in how it may be\n configured to appear on the GUI with many special widgets:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 42 / 1331\n \n Abbildung 2.12: QtVCP Example Embedded Into QtDragon GUI\n \n 2.2.6 Sprachen\n LinuxCNC uses translation files to translate LinuxCNC User Interfaces into many languages including\n@@ -5246,15 +5246,15 @@\n lessons learned. A beautiful finish, tight tolerances and caution during the work are evidence of lessons\n learned. No machine nor program can replace human experience.\n Now that you start working with the LinuxCNC software, you have to put yourself in the shoes of an\n operator. You must be in the role of someone in charge of a machine. It\u2019s a machine that will wait\n for your commands and then execute the orders that you will give it. In these pages, we will give the\n explanations which will help you to become a good CNC operator with LinuxCNC.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 43 / 1331\n \n 2.2.8 Modes of Operation\n When LinuxCNC is running, there are three different major modes used for inputting commands.\n These are Manual, Auto, and Manual Data Input (MDI). Changing from one mode to another makes\n a big difference in the way that the LinuxCNC control behaves. There are specific things that can be\n@@ -5296,15 +5296,15 @@\n in your G-code can cause your machine to slow down and speed up for the longer moves if the naive\n cam detector is not employed with G64 Pn.\n The basic acceleration and deceleration described above is not complex and there is no compromise\n to be made. In the INI file the specified machine constraints, such as maximum axis velocity and axis\n acceleration, must be obeyed by the trajectory planner.\n F\u00fcr weitere Informationen zu den Trajektorie-Panner INI-Optionen siehe den Abschnitt zu Trajektorien im INI Kapitel.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 44 / 1331\n \n 2.3.1.2 Path Following\n A less straightforward problem is that of path following. When you program a corner in G-code, the\n trajectory planner can do several things, all of which are right in some cases:\n \u2022 Es kann genau an den Koordinaten der Kurve bis zum Stillstand abbremsen und dann in die neue\n@@ -5344,15 +5344,15 @@\n that a specification of G64 P0 has the same effect as G64 alone (above), which is necessary for\n backward compatibility for old G-code programs. See the G64 section of the G-code chapter.\n Blending without tolerance\n The controlled point will touch each specified movement at at least one point. The machine will\n never move at such a speed that it cannot come to an exact stop at the end of the current movement (or next movement, if you pause when blending has already started). The distance from\n the end point of the move is as large as it needs to be to keep up the best contouring feed.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 45 / 1331\n \n Naive CAM Detector\n Successive G1 moves that involve only the XYZ axes that deviate less than Q- from a straight\n line are merged into a single straight line. This merged movement replaces the individual G1\n movements for the purposes of blending with tolerance. Between successive movements, the\n@@ -5387,15 +5387,15 @@\n the feed rate in units per second, the acceleration time is ta = F/A and the acceleration distance is\n da = F*ta /2. The deceleration time and distance are the same, making the critical distance d = da +\n dd = 2 * da = F2 /A.\n For example, for a feed rate of 1 inch per second and an acceleration of 10 inches/sec2 , the critical\n distance is 12 /10 = 1/10 = 0.1 inches.\n For a feed rate of 0.5 inch per second, the critical distance is 52 /100 = 25/100 = 0.025 inches.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 46 / 1331\n \n 2.3.2 G-Code\n 2.3.2.1 Defaults\n When LinuxCNC first starts up many G- and M-codes are loaded by default. The current active G- and\n M-codes can be viewed on the MDI tab in the Active G-codes: window in the AXIS interface. These\n@@ -5427,15 +5427,15 @@\n There are several options when doing manual tool changes. See the [EMCIO] section for information\n on configuration of these options. Also see the G28 and G30 section of the G-code chapter.\n \n 2.3.5 Koordinatensysteme\n The Coordinate Systems can be confusing at first. Before running a CNC machine you must understand the basics of the coordinate systems used by LinuxCNC. In depth information on the LinuxCNC\n Coordinate Systems is in the Coordinate System section of this manual.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 47 / 1331\n \n 2.3.5.1 G53 Machine Coordinate\n When you home LinuxCNC you set the G53 Machine Coordinate System to 0 for each axis homed.\n No other coordinate systems or tool offsets are changed by homing.\n The only time you move in the G53 machine coordinate system is when you program a G53 on the\n@@ -5467,22 +5467,22 @@\n in relation to the material.\n Note also the position of the limit switches and the direction of activation of their cams. Several\n combinations are possible, for example it is possible (contrary to the drawing) to place a single fixed\n limit switch in the middle of the table and two mobile cams to activate it. In this case the limits will\n be reversed, +X will be on the right of the table and -X on the left. This inversion does not change\n anything from the point of view of the direction of movement of the tool.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 48 / 1331\n \n Abbildung 2.14: Typical Mill Configuration\n The following diagram shows a typical lathe showing direction of travel of the tool and limit switches.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 2.15: Typical Lathe Configuration\n \n 2.4 Starting LinuxCNC\n 2.4.1 Running LinuxCNC\n LinuxCNC is started with the script file linuxcnc.\n linuxcnc [options] []\n@@ -5497,15 +5497,15 @@\n $ linuxcnc [Options] path/to/your_ini_file\n Name the configuration INI file using its path\n $ linuxcnc [Options] -l\n Use the previously used configuration INI file\n \n 49 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 50 / 1331\n \n Options:\n -d: Turn on \u201ddebug\u201d mode\n -v: Turn on \u201dverbose\u201d mode\n -r: Disable redirection of stdout and stderr to ~/linuxcnc_print.txt and\n@@ -5531,15 +5531,15 @@\n or GladeVCP objects with HAL pins you must use the postgui HAL file to make any connections to\n those pins. See the [HAL] section of the INI configuration for more information.\n 2.4.1.1 Configuration Selector\n If no INI file is passed to the linuxcnc script it loads the configuration selector so you can choose and\n save a sample configuration. Once a sample configuration has been saved it can be modified to suit\n your application. The configuration files are saved in linuxcnc/configs directory.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 51 / 1331\n \n 2.5 CNC Machine Overview\n In diesem Abschnitt wird kurz beschrieben, wie eine CNC-Maschine von der Eingangs- und Ausgangsseite des Interpreters aus betrachtet wird.\n \n 2.5.1 Mechanische Bestandteile\n@@ -5548,15 +5548,15 @@\n Interpreter interagieren, wie z. B. die Jog Buttons/ Tipptasten, werden hier nicht beschrieben, auch\n wenn sie die Steuerung beeinflussen.\n 2.5.1.1 Axes\n Jede CNC-Maschine hat eine oder mehrere Achsen. Verschiedene Arten von CNC-Maschinen haben\n unterschiedliche Kombinationen. Eine \u201d4-Achsen-Fr\u00e4smaschine\u201d kann zum Beispiel XYZA- oder XYZBAchsen haben. Eine Drehmaschine hat normalerweise XZ-Achsen. Eine Schaumstoffschneidemaschine kann XYUV-Achsen haben. In LinuxCNC, der Fall eines XYYZ \u201dGantry\u201d-Maschine mit zwei Motoren\n f\u00fcr eine Achse ist besser durch Kinematik als durch eine zweite lineare Achse behandelt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 52 / 1331\n \n Anmerkung\n Wenn die Bewegung der mechanischen Komponenten nicht unabh\u00e4ngig ist, wie z. B. bei HexapodMaschinen, k\u00f6nnen die RS274/NGC-Sprache und die kanonischen Bearbeitungsfunktionen immer\n noch verwendet werden, solange die unteren Steuerungsebenen wissen, wie die tats\u00e4chlichen Mechanismen zu steuern sind, um die gleiche relative Bewegung von Werkzeug und Werkst\u00fcck zu erzeugen, wie sie von unabh\u00e4ngigen Achsen erzeugt w\u00fcrde. Dies wird als \u201dKinematik\u201d bezeichnet.\n \n@@ -5583,15 +5583,15 @@\n Bearbeitung einen bestimmten Prozentsatz der programmierten Geschwindigkeit betr\u00e4gt.\n 2.5.1.5 Schalter zum L\u00f6schen von Bl\u00f6cken\n Eine CNC-Maschine kann einen Schalter zum L\u00f6schen von Bl\u00f6cken haben. Siehe den Abschnitt BlockL\u00f6sch-Schalter (engl. block delete switch).\n 2.5.1.6 Optionaler Programm-Stopp-Schalter\n Eine CNC-Maschine kann mit einem optionalen Programmstoppschalter ausgestattet sein. Siehe den\n Abschnitt Optionaler Programmstopp.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 53 / 1331\n \n 2.5.2 Steuerungs- und Datenkomponenten\n 2.5.2.1 Lineare Achsen\n Die X-, Y- und Z-Achse bilden ein standardm\u00e4\u00dfiges rechtsh\u00e4ndiges Koordinatensystem mit orthogonalen linearen Achsen. Die Positionen der drei linearen Bewegungsmechanismen werden durch Koordinaten auf diesen Achsen ausgedr\u00fcckt.\n Die Achsen U, V und W bilden ebenfalls ein standardm\u00e4\u00dfiges rechtsh\u00e4ndiges Koordinatensystem. X\n@@ -5622,15 +5622,15 @@\n Um ein Werkzeug entlang einer bestimmten Bahn zu bewegen, muss ein Bearbeitungszentrum h\u00e4ufig\n die Bewegung mehrerer Achsen koordinieren. Wir verwenden den Begriff \u201dkoordinierte lineare Bewegung\u201d, um die Situation zu beschreiben, in der sich nominell jede Achse mit konstanter Geschwindigkeit bewegt und sich alle Achsen gleichzeitig von ihren Startpositionen zu ihren Endpositionen\n bewegen. Wenn sich nur die X-, Y- und Z-Achse (oder eine oder zwei von ihnen) bewegen, f\u00fchrt dies zu\n einer geradlinigen Bewegung, daher das Wort \u201dlinear\u201d in dem Begriff. Bei tats\u00e4chlichen Bewegungen\n ist es oft nicht m\u00f6glich, eine konstante Geschwindigkeit beizubehalten, da am Anfang und/oder am\n Ende der Bewegung eine Beschleunigung oder Verz\u00f6gerung erforderlich ist. Es ist jedoch m\u00f6glich,\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 54 / 1331\n \n die Achsen so zu steuern, dass jede Achse zu jedem Zeitpunkt den gleichen Teil ihrer erforderlichen\n Bewegung ausgef\u00fchrt hat wie die anderen Achsen. Dadurch wird das Werkzeug auf demselben Weg\n bewegt, und wir nennen diese Art der Bewegung auch koordinierte lineare Bewegung.\n Koordinierte lineare Bewegungen k\u00f6nnen entweder mit der vorherrschenden Vorschubgeschwindigkeit oder mit der Verfahrgeschwindigkeit ausgef\u00fchrt werden oder sie k\u00f6nnen mit der Spindelrotation synchronisiert werden. Wenn die gew\u00fcnschte Geschwindigkeit aufgrund physikalischer Grenzen\n@@ -5657,15 +5657,15 @@\n Die Einheiten f\u00fcr Abst\u00e4nde entlang der X-, Y- und Z-Achse k\u00f6nnen in Millimetern oder Zoll gemessen\n werden. Die Einheiten f\u00fcr alle anderen an der Maschinensteuerung beteiligten Gr\u00f6\u00dfen k\u00f6nnen nicht\n ge\u00e4ndert werden. Verschiedene Gr\u00f6\u00dfen verwenden unterschiedliche spezifische Einheiten. Die Spindeldrehzahl wird in Umdrehungen pro Minute gemessen. Die Positionen der Rotationsachsen werden\n in Grad gemessen. Vorschubgeschwindigkeiten werden in aktuellen L\u00e4ngeneinheiten pro Minute oder\n Grad pro Minute oder L\u00e4ngeneinheiten pro Spindelumdrehung ausgedr\u00fcckt, wie in Abschnitt G93 G94\n G95 beschrieben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 55 / 1331\n \n 2.5.2.9 Aktuelle Position\n Der kontrollierte Punkt befindet sich immer an einer Stelle, die als \u201daktuelle Position\u201d bezeichnet wird,\n und der Controller wei\u00df immer, wo sich diese befindet. Die dargestellte aktuelle Position muss angepasst werden, selbst wenn keine Achsenbewegung stattfindet, wenn eines von mehreren Ereignissen\n eintritt:\n@@ -5696,15 +5696,15 @@\n verlangsamt oder stoppt bei Bedarf an scharfen Ecken des Weges.\n kontinuierlicher Modus (continuous mode)\n Im kontinuierlichen Modus k\u00f6nnen scharfe Ecken der Bahn leicht abgerundet werden, damit die\n Vorschubgeschwindigkeit beibehalten werden kann (aber ohne Verletzung der Toleranzgrenzen,\n falls angegeben).\n Siehe Abschnitte G61 und G64.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 56 / 1331\n \n 2.5.3 Interpreter-Interaktion mit Schaltern\n Der Interpreter interagiert mit mehreren Schaltern. In diesem Abschnitt werden die Interaktionen\n genauer beschrieben. In keinem Fall wei\u00df der Interpreter, wie die Einstellung eines dieser Schalter\n ist.\n@@ -5738,15 +5738,15 @@\n TOOL_TABLE = acme_300.tbl\n \n oder:\n TOOL_TABLE = EMC-AXIS-SIM.tbl\n \n Weitere Informationen zu den Besonderheiten des Formats der Werkzeugtabelle finden Sie im Abschnitt Werkzeugtabellen-Format.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 57 / 1331\n \n 2.5.5 Parameter\n In der RS274/NGC-Sprachansicht verwaltet ein Bearbeitungszentrum eine Reihe von numerischen\n Parametern, die durch eine Systemdefinition (RS274NGC_MAX_PARAMETERS) festgelegt sind. Viele\n von ihnen haben spezifische Verwendungen, insbesondere bei der Definition von Koordinatensystemen. Die Anzahl der numerischen Parameter kann sich erh\u00f6hen, wenn die Entwicklung die Unterst\u00fctzung f\u00fcr neue Parameter hinzuf\u00fcgt. Das Parameter-Array bleibt \u00fcber die Zeit erhalten, auch wenn das\n@@ -5790,15 +5790,15 @@\n (engl. home)\n \n Siehe den Abschnitt zu Parametern f\u00fcr weitere Informationen.\n \n 2.6 Lathe User Information\n Dieses Kapitel enth\u00e4lt Informationen speziell f\u00fcr Drehmaschinen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 58 / 1331\n \n 2.6.1 Drehbank-Modus\n Wenn Ihre CNC-Maschine eine Drehmaschine ist, gibt es einige spezifische \u00c4nderungen, die Sie wahrscheinlich an Ihrer INI-Datei vornehmen m\u00f6chten, um die besten Ergebnisse von LinuxCNC zu erzielen.\n Wenn Sie das AXIS-Display verwenden, m\u00fcssen Sie daf\u00fcr sorgen, dass AXIS Ihre Drehwerkzeuge\n richtig anzeigt. Siehe den Abschnitt INI Konfiguration f\u00fcr weitere Details.\n@@ -5829,25 +5829,25 @@\n of the tool table format, see the Tool Table Section.\n \n 2.6.3 Lathe Tool Orientation\n Die folgende Abbildung zeigt die Ausrichtungen der Drehmei\u00dfel mit dem Winkel der Mittellinie jeder\n Ausrichtung und Informationen zu VORDERWINKEL und HINTERWINKEL.\n FRONTANGLE und BACKANGLE sind im Uhrzeigersinn beginnend an einer Linie parallel zu Z+.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 59 / 1331\n \n Abbildung 2.16: Ausrichtung des Drehwerkzeugs\n In AXIS zeigen die folgenden Abbildungen, wie die Werkzeugpositionen aussehen, wie sie in der Werkzeugtabelle eingegeben wurden.\n Werkzeugpositionen 1, 2, 3 & 4Werkzeugpositionen 123 & 4 23 & 4 3 & 4\n \n Werkzeugpositionen 5, 6, 7 & 8Werkzeugpositionen 567 & 8 67 & 8 7 & 8\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 60 / 1331\n \n 2.6.4 Werkzeug Touch Off\n When running in lathe mode in AXIS you can set the X and Z in the tool table using the Touch Off\n window. If you have a tool turret you normally have Touch off to fixture selected when setting up your\n turret. When setting the material Z zero you have Touch off to material selected. For more information\n@@ -5873,15 +5873,15 @@\n Hinweis: Wenn Sie sich im Radiusmodus befinden, m\u00fcssen Sie den Radius und nicht den Durchmesser\n eingeben.\n 2.6.4.2 Z Touch-Off\n Die Vers\u00e4tze der Z-Achse k\u00f6nnen anfangs etwas verwirrend sein, da der Z-Versatz aus zwei Elementen\n besteht. Es gibt den Werkzeugtischversatz und den Maschinenkoordinatenversatz. Zun\u00e4chst werden\n wir uns mit den Vers\u00e4tzen auf dem Werkzeugtisch befassen. Eine Methode besteht darin, einen festen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 61 / 1331\n \n Punkt auf Ihrer Drehmaschine zu verwenden und den Z-Versatz f\u00fcr alle Werkzeuge von diesem Punkt\n aus einzustellen. Manche verwenden die Spindelnase oder die Futterfl\u00e4che. Auf diese Weise k\u00f6nnen\n Sie zu einem neuen Werkzeug wechseln und dessen Z-Versatz einstellen, ohne alle Werkzeuge neu\n einstellen zu m\u00fcssen.\n@@ -5913,15 +5913,15 @@\n \n 2.6.5 Spindelsynchronisierte Bewegung\n Spindle synchronized motion requires a quadrature encoder connected to the spindle with one index\n pulse per revolution. See the motion man page and the Spindle Control Example for more information.\n Gewinde-Drehen (engl. threading) Der Gewindeschneidzyklus G76 wird sowohl f\u00fcr Innen- als auch\n f\u00fcr Au\u00dfengewinde verwendet. Weitere Informationen finden Sie im Abschnitt G76.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 62 / 1331\n \n Konstante Oberfl\u00e4chengeschwindigkeit CSS or Constant Surface Speed uses the machine X origin\n modified by the tool X offset to compute the spindle speed in RPM. CSS will track changes in tool\n offsets. The X machine origin should be when the reference tool (the one with zero offset) is at the\n center of rotation. For more information see the G96 Section.\n@@ -5956,15 +5956,15 @@\n The control point for the tool follows the programmed path. The control point is the intersection of a\n line parallel to the X and Z axis and tangent to the tool tip diameter, as defined when you touch off the\n X and Z axes for that tool. When turning or facing straight sided parts the cutting path and the tool\n edge follow the same path. When turning radius and angles the edge of the tool tip will not follow the\n programmed path unless cutter comp is in effect. In the following figures you can see how the control\n point does not follow the tool edge as you might assume.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 63 / 1331\n \n Abbildung 2.17: Kontrollpunkt\n \n 2.6.7.2 Schneidwinkel ohne Fr\u00e4ser Compensation\n Now imagine we program a ramp without cutter comp. The programmed path is shown in the following\n@@ -5972,29 +5972,29 @@\n same as long as we are moving in an X or Z direction only.\n \n Abbildung 2.18: Rampe Eingang\n Now as the control point progresses along the programmed path the actual cutter edge does not follow\n the programmed path as shown in the following figure. There are two ways to solve this, cutter comp\n and adjusting your programmed path to compensate for tip radius.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 64 / 1331\n \n Abbildung 2.19: Rampenpfad\n Im obigen Beispiel ist es eine einfache \u00dcbung, die programmierte Bahn so anzupassen, dass sie die\n gew\u00fcnschte tats\u00e4chliche Bahn ergibt, indem die programmierte Bahn f\u00fcr die Rampe um den Radius\n der Werkzeugspitze nach links verschoben wird.\n 2.6.7.3 Schneiden eines Radius\n In this example we will examine what happens during a radius cut without cutter comp. In the next\n figure you see the tool turning the OD of the part. The control point of the tool is following the programmed path and the tool is touching the OD of the part.\n \n Abbildung 2.20: Turning Cut\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 65 / 1331\n \n In this next figure you can see as the tool approaches the end of the part the control point still follows\n the path but the tool tip has left the part and is cutting air. You can also see that even though a radius\n has been programmed the part will actually end up with a square corner.\n \n@@ -6002,15 +6002,15 @@\n Jetzt k\u00f6nnen Sie sehen, wie der Kontrollpunkt dem programmierten Radius folgt, die Werkzeugspitze\n hat das Teil verlassen und schneidet nun Luft.\n \n Abbildung 2.22: Radiusschnitt\n In the final figure we can see the tool tip will finish cutting the face but leave a square corner instead\n of a nice radius. Notice also that if you program the cut to end at the center of the part a small amount\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 66 / 1331\n \n of material will be left from the radius of the tool. To finish a face cut to the center of a part you have\n to program the tool to go past center at least the nose radius of the tool.\n \n Abbildung 2.23: Face Cut\n@@ -6031,15 +6031,15 @@\n processes use this plasma to transfer an electrical arc to the workpiece. The metal to be cut or removed is melted by the heat of the arc and then blown away. While the goal of plasma arc cutting is\n the separation of the material, plasma arc gouging is used to remove metals to a controlled depth and\n width.\n Plasma torches are similar in design to the automotive spark plug. They consist of negative and positive\n sections separated by a center insulator. Inside the torch, the pilot arc starts in the gap between the\n negatively charged electrode and the positively charged tip. Once the pilot arc has ionised the plasma\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 67 / 1331\n \n gas, the superheated column of gas flows through the small orifice in the torch tip, which is focused\n on the metal to be cut.\n In a Plasma Cutting Torch a cool gas enters Zone B, where a pilot arc between the electrode and the\n torch tip heats and ionises the gas. The main cutting arc then transfers to the workpiece through the\n@@ -6054,15 +6054,15 @@\n with the material is required), they are unsuited for CNC applications..\n 2.7.2.1 Hochfrequenzstart\n This start type is widely employed, and has been around the longest. Although it is older technology, it\n works well, and starts quickly. But, because of the high frequency high voltage power that is required\n generated to ionise the air, it has some drawbacks. It often interferes with surrounding electronic\n circuitry, and can even damage components. Also a special circuit is needed to create a Pilot arc.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 68 / 1331\n \n Inexpensive models will not have a pilot arc, and require touching the consumable to the work to\n start. Employing a HF circuit also can increase maintenance issues, as there are usually adjustable\n points that must be cleaned and readjusted from time to time.\n 2.7.2.2 Blowback Start\n@@ -6087,15 +6087,15 @@\n unknown state of the sheet makes it impossible to generate G-code that will cater for these variances\n in the material.\n A plasma Arc is oval in shape and the cutting height needs to be controlled to minimise bevelled edges.\n If the torch is too high or too low then the edges can become excessively bevelled. It is also critical\n that the torch is held perpendicular to the surface.\n \u2022 Torch to work distance can impact edge bevel\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 69 / 1331\n \n \u2022 Negative cut angle: torch too low, increase torch to work distance.\n \u2022 Positive cut angle: torch too high, decrease torch to work distance.\n Anmerkung\n Eine leichte Abweichung der Schnittwinkel kann normal sein, solange sie innerhalb der Toleranz liegt.\n@@ -6119,15 +6119,15 @@\n choose a suitable plasma machine. Failure to do this is likely to cause hours and hours of fruitless\n trouble shooting trying to work around the lack of what many would consider to be mandatory features.\n Obwohl Regeln dazu da sind, gebrochen zu werden, wenn man die Gr\u00fcnde f\u00fcr die Anwendung der\n Regel versteht, sind wir der Meinung, dass ein neuer Hersteller von Plasmatischen eine Maschine mit\n den folgenden Merkmalen ausw\u00e4hlen sollte:\n \u2022 Blowback-Start zur Minimierung der elektrischen Ger\u00e4usche und zur Vereinfachung der Konstruktion\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 70 / 1331\n \n \u2022 Ein Maschinenbrenner wird bevorzugt, aber viele haben auch Handbrenner verwendet.\n \u2022 Eine vollst\u00e4ndig abgeschirmte Brennerspitze, die eine ohmsche Abtastung erm\u00f6glicht\n Wenn Sie \u00fcber das n\u00f6tige Budget verf\u00fcgen, k\u00f6nnen Sie sich f\u00fcr ein h\u00f6herwertiges Ger\u00e4t entscheiden:\n \u2022 Vom Hersteller bereitgestellte Schneidtabellen, die viele Stunden und Materialabf\u00e4lle bei der Kalibrierung der Schneidparameter sparen\n@@ -6165,15 +6165,15 @@\n people around the globe have been involved in testing and improving the feature set. QtPlasmaC is\n unique in that its design goal was to support all THCs including the simple bit bang ones through\n to sophisticated torch voltage control, if the voltage is made available to LinuxCNC via a THCAD or\n some other voltage sensor. What\u2019s more, QtPlasmaC is designed to be a stand alone system that does\n not need any additional G-code subroutines and allows the user to define their own cut charts that\n are stored in the system and accessible by a drop-down.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 71 / 1331\n \n 2.7.6 Lichtbogen-OK-Signal\n Plasma machines that have a CNC interface contain a set of dry contacts (eg a relay) that close when a\n valid arc is established and each side of these contacts are bought out onto pins on the CNC interface.\n A plasma table builder should connect one side of these pins to field power and the other to an input\n@@ -6213,15 +6213,15 @@\n commands. If this is the case, then after initial probing, it is recommended to probe away from the\n surface until the probe signal is lost at a slower speed. Also, ensure the switch hysteresis is accounted\n for.\n Unabh\u00e4ngig von der verwendeten Sondierungsmethode wird dringend empfohlen, einen gleitenden\n Schalter einzubauen, damit ein Ausweich- oder Sekund\u00e4rsignal vorhanden ist, um eine Besch\u00e4digung\n des Brenners bei einem Absturz zu vermeiden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 72 / 1331\n \n 2.7.7.2 Ohmsche Erfassung\n Ohmic sensing relies on contact between the torch and the material acting as a switch to activate an\n electrical signal that is sensed by the CNC controller. Provided the material is clean, this can be a\n much more accurate method of sensing the material than a float switch which can cause deflection\n@@ -6252,15 +6252,15 @@\n Encoder B and Encoder Index pins. This firmware is available for download for the 7I76E and 7I96\n boards from the Mesa web site on the product pages.\n The THCAD is sensitive enough to see the ramp up in circuit voltage as contact pressure increases.\n The ohmic.comp component included in LinuxCNC can monitor the sensing voltage and set a voltage\n threshold above which it is deemed contact is made and an output is enabled. By monitoring the voltage, a lower \u201cbreak circuit\u201d threshold can be set to build in strong switch hysteresis. This minimises\n false triggering. In our testing, we found the material sensing using this method was more sensitive\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 73 / 1331\n \n and robust as well as being simpler to implement the wiring. One further advantage is using software\n outputs instead of physical I/O pins is that it frees up pins to use for other purposes. This advantage\n is helpful to get the most out of the Mesa 7I96 which has limited I/O pins.\n Der folgende Schaltplan zeigt, wie eine Hypersensing-Schaltung realisiert werden kann.\n@@ -6272,15 +6272,15 @@\n The following HAL code can be pasted into your QtPlasmaC\u2019s custom.hal to enable Ohmic sensing on\n Encoder 2 of a 7I76E. Install the correct bit file and connect the THCAD to IDX+ and IDX-. Be sure to\n change the calibration settings to agree with your THCAD-5.\n # --- Load the Component --loadrt ohmic names=ohmicsense\n addf ohmicsense servo-thread\n # --- 7I76E ENCODER 2 SETUP FOR OHMIC SENSING--setp hm2_7i76e.0.encoder.02.scale -1\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 74 / 1331\n \n setp hm2_7i76e.0.encoder.02.counter-mode 1\n # --- Configure the component --setp ohmicsense.thcad-0-volt-freq\n 140200\n setp ohmicsense.thcad-max-volt-freq 988300\n@@ -6315,15 +6315,15 @@\n Liegt die Schnittgeschwindigkeit am Ende dieser Verz\u00f6gerung noch nicht in der N\u00e4he der gew\u00fcnschten Schnittgeschwindigkeit, sollte die Steuerung warten, bis diese erreicht ist, bevor sie die THC\n aktiviert.\n \n 2.7.9 Abtastung der Brennerspannung\n Anstatt sich auf die Schneidtabellen des Herstellers zu verlassen, um die gew\u00fcnschte Brennerspannung einzustellen, ziehen es viele Leute (einschlie\u00dflich des Verfassers) vor, die Spannung zu messen,\n wenn die THC aktiviert ist, und diese als Sollwert zu verwenden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 75 / 1331\n \n 2.7.10 Brenner Behinderung (engl. torch breakaway)\n It is recommended that a mechanism is provided to allow the torch to \u201cbreak away\u201d or fall off in the\n case of impact with the material or a cut part that has tipped up. A sensor should be installed to allow\n the CNC controller to detect if this has occurred and pause the running program. Usually a break\n@@ -6353,15 +6353,15 @@\n So it should be possible to compare the moving average with the dv/dt and halt THC operation once\n the dv/dt exceeds the normal range expected due to warpage. More work needs to be done in this\n area to come up with a working solution in LinuxCNC.\n \n 2.7.13 Hole And Small Shape Cutting\n It is recommended that you slow down cutting when cutting holes and small shapes.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 76 / 1331\n \n John Moore says: \u201cIf you want details on cutting accurate small holes look up the sales sheets on\n Hypertherm\u2019s True Hole Technology also look on PlasmaSpider, user seanp has posted extensively on\n his work using simple air plasma.\n The generally accepted method to get good holes from 37mm dia. and down to material thickness with\n@@ -6399,15 +6399,15 @@\n overshoot the initial trigger point by 50-100 mm. If you use a shared home/limit switch, you have to\n move the sensor off the trigger point with the final HOME_OFFSET or you will trigger a limit switch\n fault as the machine comes out of homing. This means you could lose 50 mm or more of axis travel\n with shared home/limit switches. This does not happen if separate home and limit switches are used.\n The following pins are usually required (note that suggested connections may not be appropriate for\n a QtPlasmaC configuration):\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 77 / 1331\n \n 2.7.14.1 Arc OK (input)\n \u2022 Inverter closes dry contacts when a valid arc is established\n \u2022 Connect Field power to one Inverter ArcOK terminal.\n \u2022 Connect other Inverter Ok Terminal to input pin.\n@@ -6437,15 +6437,15 @@\n 2.7.14.4 Ohmscher Sensor aktivieren (Ausgang)\n \u2022 Siehe den Schaltplan ohmic sensing.\n \u2022 Verbinden Sie den Ausgangspin mit einer Seite des Trennrelais und die andere Seite mit der Masse\n der Feldversorgung.\n \u2022 In a non-QtPlasmaC configuration, usually triggered by a \u0300 \u0300motion.digital-out- \u0300 \u0300 so it can be\n controlled in G-code by M62/M63/M64/M65.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 78 / 1331\n \n 2.7.14.5 Ohmsche Sensorik (engl. ohmic sensing) (Eingang)\n \u2022 Beachten Sie das zuvor gezeigte Schema zu ohmic sensing.\n \u2022 Eine isolierte Stromversorgung l\u00f6st ein Relais aus, wenn der Brennerschild das Material ber\u00fchrt.\n \u2022 Schlie\u00dfen Sie die Feldspannung an eine Ausgangsklemme und die andere an den Eingang an.\n@@ -6481,15 +6481,15 @@\n M62 P2 will disable THC (synchronised with motion)\n M63 P2 will enable THC (synchronised with motion)\n M64 P2 will disable THC (immediately)\n M65 P2 will enable THC (immediately)\n \n Reduce Cutting Speeds: (e.g., for hole cutting)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 79 / 1331\n \n M67 E3 Q0 w\u00fcrde die Geschwindigkeit auf 100% der angeforderten~Geschwindigkeit setzen\n M67 E3 Q40 w\u00fcrde die Geschwindigkeit auf 40% der angeforderten~Geschwindigkeit setzen\n M67 E3 Q60 w\u00fcrde die Geschwindigkeit auf 60% der angeforderten~Geschwindigkeit setzen\n M67 E3 Q100 w\u00fcrde die Geschwindigkeit auf 100% der angeforderten~Geschwindigkeit setzen\n@@ -6534,15 +6534,15 @@\n [JOINT_n]\n MAX_VELOCITY = 60\n MAX_ACCELERATION = 700\n \n For further information about external offsets (for version 2.8 or later) please read the [AXIS_]\n Section of the INI file document and External Axis Offsets in the LinuxCNC documentation.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 80 / 1331\n \n 2.7.17 Reading Arc Voltage With The Mesa THCAD\n The Mesa THCAD board is a remarkably well priced and accurate voltage to frequency converter that\n is designed for the hostile noisy electrical environment associated with plasma cutting. Internally it\n has a 0-10 V range. This range can be simply extended by the addition of some resistors as described\n@@ -6584,15 +6584,15 @@\n \n Power up your controller and open Halshow (AXIS: Show Homing Configuration), drill down to find\n the hm2_7i76e.0.encoder.00.velocity pin. With 0 Volts applied, it should be hovering around the\n 0 Volt frequency (3,800 in our example). Grab a 9 Volt battery and connect it to IN + and IN -. For a\n THCAD-10 you can now calculate the expected velocity (26,480 in our hypothetical example). If you\n pass this test, then you are ready to configure your LinuxCNC plasma controller.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 81 / 1331\n \n 2.7.17.3 Which Model THCAD To Use?\n The THCAD-5 is useful if you intend to use it for ohmic sensing. There is no doubt the THCAD-10\n is the more flexible device and it is easy to alter the scaling. However, there is one caveat that can\n come into play with some cheaper plasma cutters with an inbuilt voltage divider. That is, the internal resistors may be sensed by the THCAD as being part of its own external resistance and return\n@@ -6625,15 +6625,15 @@\n 2. Processed in CAM to generate final G-code that is loaded to the machine\n 3. Cutting the parts via CNC G-code commands.\n Some people achieve good results with Inkscape and G-code tools but SheetCam is a very well priced\n solution and there are a number of post processors available for LinuxCNC. SheetCam has a number\n of advanced features designed for plasma cutting and for the price, is a no brainer for anybody doing\n regular plasma cutting.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 82 / 1331\n \n 2.7.19 Designing For Noisy Electrical Environments\n Plasma cutting is inherently an extremely hostile and noisy electrical environment. If you have EMI\n problems things won\u2019t work correctly. You might fire the torch and the computer will reboot in a more\n obvious example, but you can have any number of other odd symptoms. They will pretty much all\n@@ -6680,15 +6680,15 @@\n The minimum water level under the cut level of the torch should be around 40 mm, having space under\n slats is nice so the water can level and escape during cutting, having a bit of water above the metal\n plate being cut is really nice as it gets rid of the little bit of dust, running it submerged is the best way\n but not preferable for systems with part time use as it will corrode the torch. Adding baking soda to\n the water will keep the table in a nice condition for many years as it does not allow corrosion while\n the slats are under water and it also reduces the smell of water vapour. Some people use a water\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 83 / 1331\n \n reservoir with a compressed air inlet so they can push the water from the reservoir up to the water\n table on demand and thus allow changes in water levels.\n \n 2.7.21 Downdraft Tables\n@@ -6727,15 +6727,15 @@\n \n 2.7.25 Hypertherm RS485 Control\n Some Hypertherm plasma cutters have a RS485 interface to allow the controller (e.g., LinuxCNC)\n to set amps.pressure and mode. A number of people have used a non-realtime component written in\n Python to achieve this. More recently, QtPlasmaC now supports this interface natively. Refer to the\n QtPlasmaC documentation for how to use it.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 84 / 1331\n \n The combination of a slow baud rate used by Hypertherm and the non-realtime component, make this\n fairly slow to alter machine states so it generally not viable to change settings on the fly while cutting.\n When selecting a RS485 interface to use at the PC end, users have reported that USB to RS485\n interfaces are not reliable. Good reliable results have been achieved using a hardware based RS232\n@@ -6755,15 +6755,15 @@\n and allows you to configure toolsets and code snippets to suit your needs. SheetCam post processors\n are text files written in the Lua programming language and are generally easy to modify to suit your\n exact requirements. For further information, consult the SheetCam web site and their support forum.\n Another popular post-processor is included with the popular Fusion360 package but the included\n post-processors will need some customisation.\n LinuxCNC is a CNC application and discussions of CAM techniques other than this introductory discussion are out of scope of LinuxCNC.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 85 / 1331\n \n Kapitel 3\n \n Konfigurationsassistenten\n 3.1 Stepper Configuration Wizard\n@@ -6774,15 +6774,15 @@\n StepConf wird bei der Installation von LinuxCNC mitinstalliert und befindet sich im CNC-Men\u00fc.\n StepConf legt eine Datei im Verzeichnis linuxcnc/config ab, um die Auswahlm\u00f6glichkeiten f\u00fcr jede von\n Ihnen erstellte Konfiguration zu speichern. Wenn Sie etwas \u00e4ndern, m\u00fcssen Sie die Datei ausw\u00e4hlen,\n die dem Namen Ihrer Konfiguration entspricht. Die Dateierweiterung lautet .stepconf.\n Der StepConf-Assistent funktioniert am besten bei einer Bildschirmaufl\u00f6sung von mindestens 800 x\n 600.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 86 / 1331\n \n 3.1.2 Startseite\n \n Abbildung 3.1: StepConf Einstiegsseite\n Die ersten drei Optionsfelder sind selbsterkl\u00e4rend:\n@@ -6794,15 +6794,15 @@\n \u2022 Importieren (engl. import) - Importieren Sie eine Mach-Konfigurationsdatei und versucht, sie in eine\n LinuxCNC-Konfigurationsdatei zu konvertieren. Nach dem Import gehen Sie durch die Seiten von\n StepConf, um die Eintr\u00e4ge zu best\u00e4tigen/zu \u00e4ndern. Die urspr\u00fcngliche Mach-XML-Datei wird nicht\n ver\u00e4ndert.\n Diese folgenden Optionen werden in einer Einstellungsdatei f\u00fcr den n\u00e4chsten Lauf von StepConf\n gespeichert.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 87 / 1331\n \n \u2022 Desktop-Verkn\u00fcpfung erstellen (engl. Create Desktop Shortcut) - Damit wird eine Verkn\u00fcpfung auf\n Ihrem Desktop zu den Dateien erstellt.\n \u2022 Desktop Launcher erstellen (engl. Create Desktop Launcher) - Damit wird ein Launcher auf Ihrem\n Desktop platziert, um Ihre Anwendung zu starten.\n@@ -6812,15 +6812,15 @@\n \n Abbildung 3.2: Seite mit grundlegenden Informationen\n \u2022 Simulierte Hardware erstellen (engl. Create Simulated Hardware) - Damit k\u00f6nnen Sie eine Konfiguration zum Testen erstellen, auch wenn Sie nicht \u00fcber die tats\u00e4chliche Hardware verf\u00fcgen\u2019.\n \u2022 Machine Name - Choose a name for your machine. Use only uppercase letters, lowercase letters,\n digits, - and _.\n \u2022 Axis Configuration - Choose XYZ (Mill), XYZA (4-axis mill) or XZ (Lathe).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 88 / 1331\n \n \u2022 Machine Units - Choose Inch or mm. All subsequent entries will be in the chosen units. Changing\n this also changes the default values in the Axes section. If you change this after selecting values in\n any of the axes sections, they will be over-written by the default values of the selected units.\n \u2022 Driver Type - If you have one of the stepper drivers listed in the pull down box, choose it. Otherwise,\n@@ -6856,15 +6856,15 @@\n Test mindestens ein paar Minuten laufen. Je l\u00e4nger Sie den Test laufen lassen, desto eher werden auch\n seltene Ereignisse erfasst, die m\u00f6glicherweise in k\u00fcrzeren Abst\u00e4nden auftreten. Dies ist ein Test nur\n f\u00fcr Ihren Computer, es muss also keine Hardware angeschlossen sein, um den Test durchzuf\u00fchren.\n \n Warnung\n Versuchen Sie nicht, LinuxCNC zu starten, w\u00e4hrend der Latenztest l\u00e4uft.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 89 / 1331\n \n Abbildung 3.3: Latenz-Test\n Die Latenzzeit gibt an, wie lange der PC braucht, um seine Arbeit zu unterbrechen und auf eine externe\n Anfrage zu reagieren. In unserem Fall ist die Anfrage der periodische Herzschlag (engl. heartbeat),\n der als Zeitreferenz f\u00fcr die Schrittimpulse dient. Je geringer die Latenzzeit ist, desto schneller kann\n@@ -6882,15 +6882,15 @@\n If your Max Jitter number is less than about 15-20 \u00b5s (15000-20000 ns), the computer should give very\n nice results with software stepping. If the max latency is more like 30-50 \u00b5s, you can still get good\n results, but your maximum step rate might be a little disappointing, especially if you use microstepping\n or have very fine pitch leadscrews. If the numbers are 100 \u00b5s or more (100,000 ns), then the PC is not\n a good candidate for software stepping. Numbers over 1 millisecond (1,000,000 ns) mean the PC is\n not a good candidate for LinuxCNC, regardless of whether you use software stepping or not.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 90 / 1331\n \n 3.1.5 Einrichtung der parallelen Schnittstelle\n \n Abbildung 3.4: Parallele Schnittstelle Setup-Seite\n Sie k\u00f6nnen die Adresse als Hexadezimalwert (oft 0x378) oder als Linux\u2019s Standard-Portnummer (wahrscheinlich 0) angeben\n@@ -6899,15 +6899,15 @@\n \u2022 Ausgangspinout-Voreinstellungen - Automatische Einstellung der Pins 2 bis 9 gem\u00e4\u00df dem SherlineStandard (Richtung auf Pins 2, 4, 6, 8) oder dem Xylotex-Standard (Richtung auf Pins 3, 5, 7, 9).\n \u2022 \u201eEing\u00e4nge und Ausg\u00e4nge\u201c \u2013 Wenn der Ein- oder Ausgang nicht verwendet wird, setzen Sie die\n Option auf \u201eNicht verwendet\u201c.\n \u2022 Externes Notaus (engl. external E-Stop) - Dies kann aus einem Dropdown-Feld f\u00fcr den Eingangsstift ausgew\u00e4hlt werden. Eine typische Notaus-Kette verwendet alle normalerweise geschlossenen\n Kontakte.\n \u2022 Referenzpunkt- & Endschalter - Diese k\u00f6nnen bei den meisten Konfigurationen aus einem DropdownFeld f\u00fcr den Eingangspin ausgew\u00e4hlt werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 91 / 1331\n \n \u2022 Charge Pump - Wenn Ihre Treiberplatine ein Ladungspumpensignal ben\u00f6tigt, w\u00e4hlen Sie Charge\n Pump aus der Dropdown-Liste f\u00fcr den Ausgangspin, den Sie mit Ihrem Ladungspumpeneingang\n verbinden m\u00f6chten. Der Ausgang der Ladungspumpe ist \u00fcber StepConf mit dem Basisgewinde verbunden. Der Ausgang der Ladungspumpe entspricht etwa der H\u00e4lfte der maximalen Schrittrate, die\n auf der Seite \u201dBasic Machine Configuration\u201d angegeben ist.\n@@ -6920,15 +6920,15 @@\n Abbildung 3.5: Einrichten von Parallel Port 2\n Der zweite Parallelport (falls ausgew\u00e4hlt) kann auf dieser Seite konfiguriert und seine Pins zugewiesen\n werden. Es k\u00f6nnen keine Schritt- und Richtungssignale ausgew\u00e4hlt werden. Sie k\u00f6nnen \u201din\u201d oder\n \u201dout\u201d w\u00e4hlen, um die Anzahl der verf\u00fcgbaren Eingangs-/Ausgangs-Pins zu maximieren. Sie k\u00f6nnen\n die Adresse als Hexadezimalwert (oft 0x378) oder als Linux\u2019s Standard-Portnummer (wahrscheinlich\n 1) angeben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 92 / 1331\n \n 3.1.7 Konfiguration der Achsen\n \n Abbildung 3.6: Achsenkonfiguration am Bildschirm\n \u2022 Motor Steps Per Revolution - The number of full steps per motor revolution. If you know how many\n@@ -6939,15 +6939,15 @@\n If not, enter 1:1.\n \u2022 Leadscrew Pitch - Enter the pitch of the leadscrew here. If you chose Inch units, enter the number\n of threads per inch. If you chose mm units, enter the number of millimeters per revolution (e.g.,\n enter 2 for 2mm/rev). If the machine travels in the wrong direction, enter a negative number here\n instead of a positive number, or invert the direction pin for the axis.\n \u2022 Maximum Velocity - Enter the maximum velocity for the axis in units per second.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 93 / 1331\n \n \u2022 Maximum Acceleration - The correct values for these items can only be determined through experimentation. See Finding Maximum Velocity to set the speed and Finding Maximum Acceleration to\n set the acceleration.\n \u2022 Home Location - The position the machine moves to after completing the homing procedure for this\n axis. For machines without home switches, this is the location the operator manually moves the\n@@ -6976,15 +6976,15 @@\n Pulse rate at max speed determines the BASE_PERIOD. Values above 20000Hz may lead to slow\n response time or even lockups (the fastest usable pulse rate varies from computer to computer)\n \u2022 Axis SCALE - Die Zahl, die in der INI-Datei [SCALE] Einstellung verwendet wird. Die Anzahl Schritte\n pro Benutzereinheit.\n \u2022 Test this axis - This will open a window to allow testing for each axis. This can be used after filling\n out all the information for this axis.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 94 / 1331\n \n Abbildung 3.7: Achsen-Test\n Der Achsen-Test ist ein einfacher Test, f\u00fcr den nur Schritt- und Richtungssignale ausgegeben werden,\n um verschiedene Werte f\u00fcr Beschleunigung und Geschwindigkeit zu testen.\n Wichtig\n@@ -7007,15 +7007,15 @@\n Wenn die Maschine nicht offensichtlich zum Stillstand gekommen ist, klicken Sie auf die Schaltfl\u00e4che\n Ausf\u00fchren. Die Achse kehrt nun zu der Position zur\u00fcck, an der sie gestartet ist. Wenn die Position\n nicht korrekt ist, dann ist die Achse w\u00e4hrend des Tests stehen geblieben oder hat Schritte verloren.\n Verringern Sie die Geschwindigkeit und starten Sie den Test erneut.\n Wenn sich die Maschine nicht bewegt, stehen bleibt oder Schritte verliert, egal wie niedrig Sie die\n Geschwindigkeit einstellen, \u00fcberpr\u00fcfen Sie Folgendes:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 95 / 1331\n \n \u2022 Korrigieren Sie das Timing der Schrittwellenform\n \u2022 Korrekte Pinbelegung, einschlie\u00dflich Invert auf Step-Pins\n \u2022 Korrekte, gut geschirmte Verkabelung\n \u2022 Physikalische Probleme mit dem Motor, der Motorkupplung, der Leitspindel usw.\n@@ -7025,15 +7025,15 @@\n 3.1.7.2 Finding Maximum Acceleration\n Geben Sie mit der im vorherigen Schritt ermittelten H\u00f6chstgeschwindigkeit den zu testenden Beschleunigungswert ein. Passen Sie den Beschleunigungswert wie oben beschrieben nach oben oder\n unten an. Bei diesem Test ist es wichtig, dass die Kombination aus Beschleunigung und Testbereich es\n der Maschine erm\u00f6glicht, die ausgew\u00e4hlte Geschwindigkeit zu erreichen. Sobald Sie einen Wert gefunden haben, bei dem die Achse w\u00e4hrend dieses Testverfahrens nicht ins Stocken ger\u00e4t oder Schritte\n verliert, reduzieren Sie ihn um 10 % und verwenden Sie diesen Wert als maximale Beschleunigung\n der Achse.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 96 / 1331\n \n 3.1.8 Spindel-Konfiguration\n \n Abbildung 3.8: Seite zur Spindelkonfiguration\n Diese Seite erscheint nur, wenn Spindle PWM auf der Seite Parallel Port Pinout f\u00fcr einen der Ausg\u00e4nge\n@@ -7044,15 +7044,15 @@\n ein, der f\u00fcr die Erzeugung einer analogen Steuerspannung n\u00fctzlich ist. Den entsprechenden Wert\n finden Sie in der Dokumentation zu Ihrem Spindelcontroller.\n \u2022 Drehzahl 1 und 2, PWM 1 und 2 - Die generierte Konfigurationsdatei verwendet eine einfache lineare\n Beziehung, um den PWM-Wert f\u00fcr einen bestimmten Drehzahlwert zu bestimmen. Wenn die Werte\n nicht bekannt sind, k\u00f6nnen sie bestimmt werden. Weitere Informationen finden Sie unter Festlegung\n der Spindle Kalibrierung.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 97 / 1331\n \n 3.1.8.2 Spindle-synchronized motion\n Wenn die entsprechenden Signale von einem Spindel-Encoder an LinuxCNC \u00fcber HAL verbunden\n sind, unterst\u00fctzt LinuxCNC Drehmaschine Gewindeschneiden. Diese Signale sind:\n \u2022 Spindle Index \u2013 Ist ein Impuls, der einmal pro Spindelumdrehung auftritt.\n@@ -7095,28 +7095,28 @@\n zu ber\u00fccksichtigen:\n \u2022 Stellen Sie sicher, dass die beiden Kalibrierungsdrehzahlen nicht zu nahe beieinander liegen.\n \u2022 Vergewissern Sie sich, dass die beiden Kalibrierungsgeschwindigkeiten im Bereich der Geschwindigkeiten liegen, die Sie normalerweise beim Fr\u00e4sen verwenden.\n Wenn Ihre Spindel z. B. von 0 U/min bis 8000 U/min l\u00e4uft, Sie aber in der Regel Drehzahlen zwischen\n 400 U/min (10 %) und 4000 U/min (100 %) verwenden, dann suchen Sie die PWM-Werte, die 1600\n U/min (40 %) und 2800 U/min (70 %) ergeben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 98 / 1331\n \n 3.1.9 Optionen\n \n Abbildung 3.9: Erweiterte Optionen bei der Konfiguration\n \u2022 Include Halui - Damit wird die Halui-Benutzerschnittstellenkomponente hinzugef\u00fcgt. Siehe das HALUI Kapitel f\u00fcr weitere Informationen hierzu.\n \u2022 Include PyVCP - Diese Option f\u00fcgt die PyVCP-Panel-Basisdatei oder eine Beispieldatei zum Arbeiten\n hinzu. Siehe das PyVCP Kapitel f\u00fcr weitere Informationen.\n \u2022 Include ClassicLadder PLC - Diese Option f\u00fcgt die ClassicLadder PLC (Speicherprogrammierbare\n Steuerung) hinzu. Weitere Informationen finden Sie im Kapitel >.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 99 / 1331\n \n \u2022 Bildschirm-Aufforderung zu Werkzeugwechsel - Wenn dieses Feld markiert ist, wird LinuxCNC Pause und fordern Sie auf, das Werkzeug zu wechseln, wenn M6 angetroffen wird. Diese Funktion ist\n in der Regel nur sinnvoll, wenn Sie voreinstellbaren Werkzeugen haben.\n \n 3.1.10 Complete Machine Configuration\n@@ -7136,15 +7136,15 @@\n angetroffen wird, schaltet LinuxCNC den Motorverst\u00e4rker ab. Der Abstand zwischen dem harten Anschlag und Endschalter muss lang genug sein, um einen unbestromten Motor zum Stillstand zu bringen.\n Vor dem Endschalter gibt es ein soft limit. Dabei handelt es sich um eine Grenze, die nach der Referenzfahrt in der Software durchgesetzt wird. Wenn ein MDI-Befehl oder ein G-Code-Programm die\n weiche Grenze \u00fcberschreiten w\u00fcrde, wird es nicht ausgef\u00fchrt. Wenn eine manuelle Steuerung die\n Softgrenze \u00fcberschreiten w\u00fcrde, wird diese an der Softgrenze beendet.\n Der Referenzschalter (engl. home switch) kann an einer beliebigen Stelle innerhalb des Verfahrwegs\n (zwischen harten Anschl\u00e4gen) platziert werden. Solange die externe Hardware die Motorverst\u00e4rker\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 100 / 1331\n \n nicht deaktiviert, wenn der Endschalter erreicht wird, kann einer der Endschalter als Referenzschalter\n verwendet werden.\n Die Nullposition ist die Stelle auf der Achse, die im Maschinenkoordinatensystem 0 ist. Normalerweise\n liegt die Nullposition innerhalb der weichen Grenzen. Bei Drehmaschinen erfordert der Modus Konstante Schnittgeschwindigkeit, dass X=0 dem Zentrum der Spindeldrehung entspricht, wenn keine\n@@ -7169,15 +7169,15 @@\n The figures below show the general idea of wiring multiple switches to a single input pin. In each\n case, when one switch is actuated, the value seen on INPUT goes from logic HIGH to LOW. However,\n LinuxCNC expects a TRUE value when a switch is closed, so the corresponding Invert box must be\n checked on the pinout configuration page. The pull up resistor show in the diagrams pulls the input\n high until the connection to ground is made and then the input goes low. Otherwise the input might\n float between on and off when the circuit is open. Typically for a parallel port you might use 47 k\u03a9;.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 101 / 1331\n \n Abbildung 3.11: Normalerweise geschlossene Schalter (engl. normally closed, N/C) in Reihe verdrahtet (vereinfachtes Diagramm)\n \n Abbildung 3.12: Normalerweise offene Schalter (engl. normally open switches, N/O) parallel verdrahtet (vereinfachte Darstellung)\n Die folgenden Kombinationen von Schaltern sind in StepConf zul\u00e4ssig:\n@@ -7188,15 +7188,15 @@\n \u2022 Kombinieren eines Endschalters und des Referenzschalters f\u00fcr eine Achse\n Die letzten beiden Kombinationen sind auch geeignet, wenn der Typ Kontakt\n Referenz verwendet wird.\n \n 3.2 Mesa-Konfigurationsassistent\n PnCconf wurde entwickelt, um Konfigurationen zu erstellen, die bestimmte Mesa Anything I/O Produkte verwenden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 102 / 1331\n \n It can configure closed loop servo systems or hardware stepper systems. It uses a similar wizard\n approach as StepConf (used for software stepping, parallel port driven systems).\n PnCconf befindet sich noch im Entwicklungsstadium (Beta), daher gibt es noch einige Bugs und fehlende Funktionen. Bitte melden Sie Fehler und Vorschl\u00e4ge auf der LinuxCNC Forumsseite oder \u00fcber\n die Mailing-Liste.\n@@ -7207,15 +7207,15 @@\n The other is to use PnCconf to build a config that is close to what you want and then hand edit everything to tailor it to your needs. This would be the choice if you need extensive modifications beyond\n PnCconf\u2019s scope or just want to tinker with / learn about LinuxCNC.\n Mit den Schaltfl\u00e4chen \u201dVor\u201d, \u201dZur\u00fcck\u201d und \u201dAbbrechen\u201d k\u00f6nnen Sie durch die Seiten des Assistenten\n navigieren. Au\u00dferdem gibt es eine Hilfeschaltfl\u00e4che, die einige Informationen zu den Seiten, Diagrammen und einer Ausgabeseite enth\u00e4lt.\n Tipp\n Die Hilfeseite von PnCconf sollte die aktuellsten Informationen und zus\u00e4tzliche Details enthalten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 103 / 1331\n \n 3.2.1 Schritt f\u00fcr Schritt Anleitung\n \n Abbildung 3.13: PnCconf Startfenster\n \n@@ -7227,15 +7227,15 @@\n places a note in those files. It also allows you to select desktop shortcut / launcher options. A desktop\n shortcut will place a folder icon on the desktop that points to your new configuration files. Otherwise\n you would have to look in your home folder under linuxcnc/configs.\n A Desktop launcher will add an icon to the desktop for starting your config directly. You can also\n launch it from the main menu by using the Configuration Selector LinuxCNC found in CNC menu and\n selecting your config name.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 104 / 1331\n \n 3.2.3 Grundlegende Informationen zur Maschine\n \n Abbildung 3.14: PnCconf Basic\n \n@@ -7247,15 +7247,15 @@\n Tipp\n Standardwerte werden bei der Verwendung in metrisch nicht konvertiert, stellen Sie also sicher, dass\n es sich um vern\u00fcnftige Werte handelt!\n \n Reaktionszeit des Computers\n The servo period sets the heart beat of the system. Latency refers to the amount of time the\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 105 / 1331\n \n computer can be longer then that period. Just like a railroad, LinuxCNC requires everything\n on a very tight and consistent time line or bad things happen. LinuxCNC requires and uses a\n real time operating system, which just means it has a low latency ( lateness ) response time\n when LinuxCNC requires its calculations and when doing LinuxCNCs calculations it cannot be\n@@ -7302,15 +7302,15 @@\n Up to 3 parallel ports (referred to as parports) can be used as simple I/O. You must set the address\n of the parport. You can either enter the Linux parallel port numbering system (0,1,or 2) or enter\n the actual address. The address for an on board parport is often 0x0278 or 0x0378 (written in\n hexadecimal) but can be found in the BIOS page. The BIOS page is found when you first start\n your computer you must press a key to enter it (such as F2). On the BIOS page you can find\n the parallel port address and set the mode such as SPP, EPP, etc on some computers this info is\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 106 / 1331\n \n displayed for a few seconds during start up. For PCI parallel port cards the address can be found\n by pressing the parport address search button. This pops up the help output page with a list of\n all the PCI devices that can be found. In there should be a reference to a parallel port device with\n a list of addresses. One of those addresses should work. Not all PCI parallel ports work properly.\n@@ -7340,15 +7340,15 @@\n \u2022 hat kein grafisches Fenster\n \u2022 Das Aussehen kann mit benutzerdefinierten Designs ge\u00e4ndert werden\n QtPlasmaC\n \u2022 voll funktionsf\u00e4hige Plasmac-Konfiguration auf der Grundlage der QtVCP-Infrastruktur.\n \u2022 Maus-/Tastaturbedienung oder Touchscreen-Bedienung\n \u2022 keine VCP-Integration\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 107 / 1331\n \n 3.2.4 Externe Konfiguration\n Auf dieser Seite k\u00f6nnen Sie externe Steuerungen ausw\u00e4hlen, z. B. f\u00fcr Jogging oder Overrides.\n \n Abbildung 3.15: Externe Steuerelemente\n@@ -7358,15 +7358,15 @@\n a pulse generator (MPG) or switches (such as a rotary dial). External buttons might be used with a\n switch based OEM joystick.\n Joystick-Joggen\n Requires a custom device rule to be installed in the system. This is a file that LinuxCNC uses to\n connect to Linux\u2019s device list. PnCconf will help to prepare this file.\n \u2022 Suche nach Ger\u00e4teregeln durchsucht das System nach Regeln. Sie k\u00f6nnen diese Funktion verwenden, um den Namen von Ger\u00e4ten zu finden, die Sie bereits mit PnCconf erstellt haben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 108 / 1331\n \n \u2022 Mit Add a device rule k\u00f6nnen Sie ein neues Ger\u00e4t konfigurieren, indem Sie den Aufforderungen\n folgen. Sie m\u00fcssen Ihr Ger\u00e4t zur Verf\u00fcgung haben.\n \u2022 Mit test device k\u00f6nnen Sie ein Ger\u00e4t laden, dessen Pin-Namen sehen und seine Funktionen mit\n halmeter \u00fcberpr\u00fcfen.\n@@ -7384,15 +7384,15 @@\n Neufestlegungen (engl. overrides)\n PnCconf erm\u00f6glicht die Neufestsetzung von Vorschubgeschwindigkeiten und/oder Spindeldrehzahlen \u00fcber ein Handrad (MPG) oder Schalter (z. B. Drehschalter).\n \n 3.2.5 GUI-Konfiguration\n Hier k\u00f6nnen Sie die Standardeinstellungen f\u00fcr die Bildschirme, f\u00fcgen Sie virtuelle Bedienfelder (VCP),\n und stellen Sie einige LinuxCNC Optionen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 109 / 1331\n \n Abbildung 3.16: GUI-Konfiguration\n \n Front-End GUI-Optionen\n Die Standardoptionen erm\u00f6glichen die Auswahl allgemeiner Standardeinstellungen f\u00fcr jeden Anzeigebildschirm.\n@@ -7403,15 +7403,15 @@\n Touchy defaults are options specific to Touchy. Most of Touchy\u2019s options can be changed while Touchy\n is running using the preference page. Touchy uses GTK to draw its screen, and GTK supports themes.\n Themes controls the basic look and feel of a program. You can download themes from the net or edit\n them yourself. There are a list of the current themes on the computer that you can pick from. To help\n some of the text to stand out PnCconf allows you to override the Themes\u2019s defaults. The position and\n force max options can be used to move Touchy to a second monitor if the system is capable.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 110 / 1331\n \n QtPlasmaC-Optionen sind spezifisch f\u00fcr QtPlasmac, alle allgemeinen Optionen, die nicht ben\u00f6tigt werden, sind deaktiviert. Wenn QtPlasmac ausgew\u00e4hlt wird, ist der folgende Bildschirm ein Bildschirm\n zur Einstellung der Benutzertasten, der spezifisch f\u00fcr QtPlasmaC ist, und die VCP-Optionen sind nicht\n verf\u00fcgbar.\n VCP Optionen\n@@ -7447,15 +7447,15 @@\n Unter \u201eAnzeigeoptionen\u201c k\u00f6nnen Gr\u00f6\u00dfe, Position und max. Kraft auf einem \u201eeigenst\u00e4ndigen\u201c Panel\n verwendet werden, um beispielsweise den Bildschirm auf einem zweiten Monitor zu platzieren, wenn\n das System dazu in der Lage ist.\n Sie k\u00f6nnen ein GTK-Thema ausw\u00e4hlen, welches das grundlegende Erscheinungsbild des Panels festlegt. Normalerweise m\u00f6chten Sie, dass dies mit dem Front-End-Bildschirm \u00fcbereinstimmt. Diese Optionen werden verwendet, wenn Sie auf die Schaltfl\u00e4che \u201dBeispiel anzeigen\u201d klicken. Mit GladeVCP\n k\u00f6nnen Sie je nach Front-End-Bildschirm ausw\u00e4hlen, wo das Panel angezeigt werden soll.\n Bei AXIS kann er in der Mitte oder auf der rechten Seite stehen, bei Touchy in der Mitte.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 111 / 1331\n \n Standardeinstellungen und Optionen\n \u2022 Referenzfahrt vor Manueller Dateneingabe / Ausf\u00fchrung erforderlich machen\n \u2013 Wenn Sie m\u00f6chten, dass die Maschine vor der Referenzfahrt bewegt werden kann, deaktivieren Sie dieses Kontrollk\u00e4stchen.\n \u2022 Popup-Tool-Eingabeaufforderung\n@@ -7471,15 +7471,15 @@\n \u2013 Wird f\u00fcr Werkzeugwechsler verwendet, die das Werkzeug nicht in dieselbe Tasche zur\u00fcckbringen. Um Werkzeugwechsler zu unterst\u00fctzen, m\u00fcssen Sie einen eigenen HAL-Code hinzuf\u00fcgen.\n \n 3.2.6 Mesa-Konfiguration\n Die Mesa-Konfigurationsseiten erlauben es, verschiedene Firmwares zu verwenden. Auf der Basisseite\n haben Sie eine Mesa-Karte ausgew\u00e4hlt. Hier w\u00e4hlen Sie die verf\u00fcgbare Firmware aus und bestimmen,\n welche und wie viele Komponenten verf\u00fcgbar sind.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 112 / 1331\n \n Abbildung 3.17: Mesa Board Konfiguration\n Parport address is used only with Mesa parport card, the 7i43. An on board parallel port usually uses\n 0x278 or 0x378 though you should be able to find the address from the BIOS page. The 7i43 requires\n the parallel port to use the EPP mode, again set in the BIOS page. If using a PCI parallel port the\n@@ -7489,15 +7489,15 @@\n \n PDM PWM and 3PWM base frequency sets the balance between ripple and linearity. If using Mesa\n daughter boards the docs for the board should give recommendations.\n \n Wichtig\n Es ist wichtig, diese zu beachten, um Sch\u00e4den zu vermeiden und die beste Leistung zu erzielen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 113 / 1331\n \n Der 7i33 ben\u00f6tigt PDM und eine PDM-Basisfrequenz von 6 MHz\n Der 7i29 ben\u00f6tigt PWM und eine PWM-Basisfrequenz von 20 kHz\n Das 7i30 erfordert PWM und eine PWM-Basisfrequenz von 20 kHz\n Das 7i40 erfordert PWM und eine PWM-Basisfrequenz von 50 kHz\n@@ -7521,48 +7521,48 @@\n After choosing all these options press the Accept Component Changes button and PnCconf will update\n the I/O setup pages. Only I/O tabs will be shown for available connectors, depending on the Mesa\n board.\n \n 3.2.7 Mesa I/O-Einrichtung\n Die Registerkarten werden zur Konfiguration der Eingangs- und Ausgangspins der Mesa-Karten verwendet. Mit PnCconf k\u00f6nnen Sie benutzerdefinierte Signalnamen zur Verwendung in benutzerdefinierten HAL-Dateien erstellen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 114 / 1331\n \n Abbildung 3.18: Mesa I/O C2 Einrichtung\n Auf dieser Registerkarte mit dieser Firmware sind die Komponenten f\u00fcr eine 7i33 Tochterplatine eingestellt, die normalerweise mit Servos mit geschlossenem Regelkreis verwendet wird. Beachten Sie,\n dass die Komponentennummern der Encoderz\u00e4hler und PWM-Treiber nicht in numerischer Reihenfolge sind. Dies entspricht den Anforderungen f\u00fcr die Tochterkarte.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 115 / 1331\n \n Abbildung 3.19: Mesa I/O C3 Einrichtung\n Auf dieser Registerkarte sind alle Pins GPIO. Beachten Sie die 3-stelligen Nummern - sie entsprechen\n der HAL-Pin-Nummer. GPIO-Pins k\u00f6nnen als Eingang oder Ausgang gew\u00e4hlt werden und k\u00f6nnen invertiert werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 116 / 1331\n \n Abbildung 3.20: Mesa I/O C4 Einrichtung\n On this tab there are a mix of step generators and GPIO. Step generators output and direction pins\n can be inverted. Note that inverting a Step Gen-A pin (the step output pin) changes the step timing.\n It should match what your controller expects.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 117 / 1331\n \n 3.2.8 Konfiguration des parallelen Anschlusses\n \n Der Parallelport kann f\u00fcr einfache E/A verwendet werden, \u00e4hnlich wie die GPIO-Pins von Mesa\u2019s.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 118 / 1331\n \n 3.2.9 Konfiguration der Achsen\n \n Abbildung 3.21: Konfiguration des Achsantriebs\n Diese Seite erm\u00f6glicht das Konfigurieren und Testen der Motor- und/oder Encoderkombination. Bei\n@@ -7575,15 +7575,15 @@\n Handbook 1 standards or AXIS graphical display will not make much sense. Hopefully the help\n page and diagrams can help figure this out. Note that axis directions are based on TOOL movement not table movement. There is no acceleration ramping with the open loop test so start with\n lower DAC numbers. By moving the axis a known distance one can confirm the encoder scaling.\n The encoder should count even without the amp enabled depending on how power is supplied to\n the encoder.\n 1 \u201daxis nomenclature\u201d in the chapter \u201dNumerical Control\u201d in the \u201dMachinery\u2019s Handbook\u201d published by Industrial Press.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 119 / 1331\n \n Warnung\n Wenn Motor und Encoder die Z\u00e4hlrichtung nicht \u00fcbereinstimmen, l\u00e4uft das Servo bei PIDRegelung weg.\n \n Da die PID-Einstellungen derzeit nicht in PnCconf getestet werden k\u00f6nnen, sind die Einstellungen\n@@ -7624,15 +7624,15 @@\n 9.87\n 10.07\n \n \u2022 F\u00fchren Sie eine lineare Anpassung nach dem Prinzip der kleinsten Quadrate durch, um die Koeffizienten a und b so zu ermitteln, dass meas=a*raw+b\n \u2022 Beachten Sie, dass wir eine Rohausgabe w\u00fcnschen, bei der das gemessene Ergebnis mit der befohlenen Ausgabe identisch ist. Das bedeutet\n \u2013 cmd=a*raw+b\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 120 / 1331\n \n \u2013 raw=(cmd-b)/a\n \u2022 Folglich k\u00f6nnen die Koeffizienten a und b aus der linearen Anpassung direkt als Skala und Offset\n f\u00fcr den Regler verwendet werden.\n MAX OUTPUT\n@@ -7652,25 +7652,25 @@\n speed.\n B\u00fcrstenlose Motorsteuerung\n These options are used to allow low level control of brushless motors using special firmware and\n daughter boards. It also allows conversion of HALL sensors from one manufacturer to another.\n It is only partially supported and will require one to finish the HAL connections. Contact the\n mail-list or forum for more help.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 121 / 1331\n \n Abbildung 3.22: Berechnung der Achsenskala\n The scale settings can be directly entered or one can use the calculate scale button to assist. Use the\n check boxes to select appropriate calculations. Note that pulley teeth requires the number of teeth\n not the gear ratio. Worm turn ratio is just the opposite it requires the gear ratio. If your happy with\n the scale press apply otherwise push cancel and enter the scale directly.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 122 / 1331\n \n Abbildung 3.23: Konfiguration der Achsen\n Also refer to the diagram tab for two examples of home and limit switches. These are two examples\n of many different ways to set homing and limits.\n \n@@ -7681,15 +7681,15 @@\n Denken Sie daran, dass sich positive und negative Richtungen auf das WERKZEUG und nicht auf den\n Tisch beziehen, wie im Maschinenhandbuch beschrieben.\n Bei einer typischen Knie- oder Bettfr\u00e4se\n \u2022 Wenn sich die TABLE nach au\u00dfen bewegt, ist das die positive Y-Richtung\n \u2022 Wenn sich die TABLE nach links bewegt, ist das die positive X-Richtung\n \u2022 Wenn sich die TABLE nach unten bewegt, ist das die positive Z-Richtung\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 123 / 1331\n \n \u2022 Wenn sich der KOPF nach oben bewegt, ist das die positive Z-Richtung\n Bei einer typischen Drehmaschine\n \u2022 wenn sich das WERKZEUG nach rechts, weg vom Futter, bewegt\n \u2022 das ist die positive Z-Richtung\n@@ -7733,15 +7733,15 @@\n Fahren Sie die Achse zum Ursprung. Markieren Sie eine Referenz auf dem beweglichen Schlitten\n und dem unbeweglichen Tr\u00e4ger (so dass sie in einer Linie liegen) und fahren Sie die Maschine\n bis zum Ende der Grenzen. Messen Sie den Abstand zwischen den Markierungen, der einer der\n Verfahrwege ist. Bewegen Sie den Tisch an das andere Ende des Verfahrwegs. Messen Sie die\n Markierungen erneut. Das ist der andere Verfahrweg. Wenn sich der URSPRUNG an einer der\n Begrenzungen befindet, ist dieser Verfahrweg gleich Null.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 124 / 1331\n \n (Maschinen-)URSPRUNG\n Der Ursprung ist der MASCHINENNullpunkt. (nicht der Nullpunkt Sie Ihre Cutter / Material auf).\n LinuxCNC verwendet diesen Punkt, um alles andere von Referenz. Es sollte innerhalb der Software Grenzen sein. LinuxCNC verwendet die Referenzpunkt (engl. home)-Schalter-Position, um\n die Ursprungs-Position zu bestimmen (bei Verwendung von Home-Schalter oder muss manuell\n@@ -7783,29 +7783,29 @@\n Erm\u00f6glicht die Einstellung der Verriegelungsrichtung auf die gleiche oder entgegengesetzte\n Richtung wie die Suchrichtung.\n Encoder-Index f\u00fcr Referenzpunkt verwenden\n LinuxCNC sucht w\u00e4hrend der Latch-Phase der Referenzfahrt nach einem Encoder-Indeximpuls.\n Kompensationsdatei verwenden\n Erm\u00f6glicht die Angabe eines Komp-Dateinamens und -typs. Erm\u00f6glicht eine anspruchsvolle Kompensation. Siehe den> des INI Kapitels.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 125 / 1331\n \n Verwenden des Umkehrspiel-Ausgleichs\n Erm\u00f6glicht die Einstellung einer einfachen Kompensation des Umkehrspiels. Kann nicht mit Kompensationsdatei verwendet werden. Siehe den > des\n INI Kapitels.\n \n Abbildung 3.24: AXIS-Hilfsdiagramm\n Das Diagramm soll helfen, ein Beispiel f\u00fcr Endschalter und Standard-Achsbewegungsrichtungen zu\n demonstrieren. In diesem Beispiel wurde die Z-Achse mit zwei Endschaltern versehen, wobei der\n positive Schalter als Home-Schalter verwendet wird. Der Maschinen-Ursprung (Nullpunkt, engl. machine origin) befindet sich am negativen Endschalter. Die linke Kante des Schlittens ist der negative\n Grenzwert und die rechte der positive Grenzwert. Die ENDG\u00dcLTIGE HOME-POSITION soll 4 Zoll\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 126 / 1331\n \n vom ORIGIN auf der positiven Seite entfernt sein. Wenn der Schlitten an die positive Grenze bewegt\n w\u00fcrde, w\u00fcrden wir 10 Zoll zwischen der negativen Grenze und dem negativen Ausl\u00f6sestift messen.\n \n 3.2.10 Spindel-Konfiguration\n@@ -7815,15 +7815,15 @@\n Option ausgew\u00e4hlt wurde!\n \n Abbildung 3.25: Spindelmotor/Encoder-Konfiguration\n Diese Seite \u00e4hnelt der Seite zur Konfiguration der Achsenmotoren.\n Es gibt einige Unterschiede:\n \u2022 Sofern man sich nicht f\u00fcr eine schrittgetriebene Spindel entschieden hat, gibt es keine Beschleunigungsoder Geschwindigkeitsbegrenzung.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 127 / 1331\n \n \u2022 Es gibt keine Unterst\u00fctzung f\u00fcr Gangschaltungen oder Bereiche.\n \u2022 Wenn Sie eine VCP-Spindelanzeigeoption gew\u00e4hlt haben, k\u00f6nnen die Skala f\u00fcr die Spindeldrehzahl\n und die Filtereinstellungen angezeigt werden.\n \u2022 Spindle-at-Speed erm\u00f6glicht LinuxCNC zu warten, bis die Spindel auf die gew\u00fcnschte Geschwindigkeit vor dem Bewegen der Achse ist. Dies ist besonders praktisch auf Drehmaschinen mit konstantem Oberfl\u00e4chenvorschub und gro\u00dfe Geschwindigkeit Durchmesser\u00e4nderungen. Es erfordert\n@@ -7840,26 +7840,26 @@\n Dies erm\u00f6glicht die Einstellung von HALUI-Befehlen und das Laden von ClassicLadder- und BeispielSPS-Programme. Wenn Sie GladeVCP-Optionen ausgew\u00e4hlt haben, z. B. zum Nullstellen der Achse,\n werden Befehle angezeigt. Im Kapitel HALUI finden Sie weitere Informationen zur Verwendung benutzerdefinierter halcmds. Es gibt mehrere Optionen f\u00fcr Kontaktplanprogramme. Das Notaus (engl.\n E-stop)-Programm erm\u00f6glicht es einem externen Notaus-Schalter oder dem GUI-Frontend, ein Notaus auszul\u00f6sen. Es verf\u00fcgt auch \u00fcber ein zeitgesteuertes Schmiermittelpumpensignal. Das Z-AutoTouch-Off-Programm verf\u00fcgt \u00fcber eine Touch-Off-Platte, die GladeVCP-Touch-Off-Taste und spezielle\n HALUI-Befehle, um den aktuellen Benutzerursprung auf Null zu setzen und schnell zu l\u00f6schen. Das\n serielle Modbus-Programm ist im Grunde eine leere Programmvorlage, die ClassicLadder f\u00fcr seriellen\n Modbus einrichtet. Siehe das Kapitel > im Handbuch.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 128 / 1331\n \n Abbildung 3.26: PnCconf, erweiterte Optionen\n \n 3.2.12 HAL-Komponenten\n Auf dieser Seite k\u00f6nnen Sie zus\u00e4tzliche HAL-Komponenten hinzuf\u00fcgen, die Sie f\u00fcr benutzerdefinierte\n HAL-Dateien ben\u00f6tigen. Auf diese Weise sollte man die Haupt-HAL-Datei nicht von Hand bearbeiten\n m\u00fcssen, aber dennoch die vom Benutzer ben\u00f6tigten Komponenten bei der Konfiguration ber\u00fccksichtigen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 129 / 1331\n \n Abbildung 3.27: HAL-Komponenten\n Die erste Auswahl sind Komponenten, die PnCconf intern verwendet. Sie k\u00f6nnen pncconf so konfigurieren, dass zus\u00e4tzliche Instanzen der Komponenten f\u00fcr Ihre eigene HAL-Datei geladen werden.\n W\u00e4hlen Sie die Anzahl der Instanzen, die Ihre benutzerdefinierte Datei ben\u00f6tigt, PnCconf f\u00fcgt die\n ben\u00f6tigten Instanzen danach hinzu.\n@@ -7867,15 +7867,15 @@\n letzte verwenden.\n Benutzerdefinierte Komponenten-Befehle\n Mit dieser Auswahl k\u00f6nnen Sie HAL-Komponenten laden, die PnCconf nicht verwendet. F\u00fcgen\n Sie den Befehl loadrt oder loadusr unter der \u00dcberschrift loading command hinzu. F\u00fcgen Sie den\n Befehl addf unter der \u00dcberschrift Thread-Befehl hinzu. Die Komponenten werden dem Thread\n zwischen dem Lesen von Eingaben und dem Schreiben von Ausgaben in der Reihenfolge hinzugef\u00fcgt, in der Sie sie im Befehl \u201dthread\u201d schreiben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 130 / 1331\n \n 3.2.13 PnCconf f\u00fcr Fortgeschrittene\n PnCconf ist bestrebt, flexible Anpassungen durch den Benutzer zu erm\u00f6glichen. PnCconf unterst\u00fctzt\n benutzerdefinierte Signalnamen, benutzerdefiniertes Laden von Komponenten, benutzerdefinierte HALDateien und benutzerdefinierte Firmware.\n Es gibt auch Signalnamen, die PnCconf immer bereitstellt, unabh\u00e4ngig von den gew\u00e4hlten Optionen\n@@ -7901,15 +7901,15 @@\n GPIO-Pins werden einfach mit dem eingegebenen Signalnamen verbunden\n Auf diese Weise kann man sich mit diesen Signalen in den benutzerdefinierten HAL-Dateien verbinden\n und hat trotzdem die M\u00f6glichkeit, sie sp\u00e4ter zu verschieben.\n Benutzerdefinierte Signalnamen\n Die Seite mit HAL Komponenten kann verwendet werden, um Komponenten zu laden, die ein\n Benutzer f\u00fcr die Anpassung ben\u00f6tigt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 131 / 1331\n \n Laden der benutzerdefinierten Firmware\n PnCconf sucht auf dem System nach Firmware und sucht dann nach der XML-Datei, die es in das\n konvertieren kann, was es versteht. Diese XML-Dateien werden nur f\u00fcr offiziell freigegebene\n Firmware vom LinuxCNC-Team bereitgestellt. Um benutzerdefinierte Firmware zu verwenden,\n@@ -7928,15 +7928,15 @@\n \u2022 custom.hal ist f\u00fcr HAL-Befehle, die nicht nach dem Laden des GUI-Frontends ausgef\u00fchrt werden m\u00fcssen. Es wird diese erst nach der HAL-Datei mit dem Konfigurationsnamen ausgef\u00fchrt.\n \u2022 custom_postgui.hal ist f\u00fcr Befehle gedacht, die ausgef\u00fchrt werden m\u00fcssen, nachdem AXIS\n geladen wurde oder eine eigenst\u00e4ndige PyVCP-Anzeige geladen wurde.\n \u2022 custom_gvcp.hal ist f\u00fcr Befehle, die ausgef\u00fchrt werden m\u00fcssen, nachdem GladeVCP geladen\n wurde.\n \u2022 shutdown.hal ist f\u00fcr Befehle, die ausgef\u00fchrt werden, wenn LinuxCNC kontrolliert herunterf\u00e4hrt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 132 / 1331\n \n Kapitel 4\n \n Konfiguration\n 4.1 Integrator-Konzepte\n@@ -7955,15 +7955,15 @@\n \u2022 /home/fred/linuxcnc/nc_files\n \u2022 /home/fred/linuxcnc/configs/mill\n \u2013 /home/fred/linuxcnc/configs/mill/mill.ini\n \u2013 /home/fred/linuxcnc/configs/mill/mill.hal\n \u2013 /home/fred/linuxcnc/configs/mill/mill.var\n \u2013 /home/fred/linuxcnc/configs/mill/tool.tbl\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 133 / 1331\n \n 4.1.1.2 Befehlszeile\n Wenn Sie LinuxCNC von der Kommandozeile aus und geben Sie den Namen und den Speicherort der\n INI-Datei k\u00f6nnen die Dateispeicherorte in einem anderen Ort sein. Um die Optionen f\u00fcr die Ausf\u00fchrung von LinuxCNC von der Kommandozeile laufen linuxcnc -h.\n Anmerkung\n@@ -7995,15 +7995,15 @@\n Software-Schrittgenerator, ob es Zeit f\u00fcr einen weiteren Schrittimpuls ist. Eine k\u00fcrzere Periode erm\u00f6glicht es Ihnen, mehr Impulse pro Sekunde zu erzeugen, innerhalb von Grenzen. Wenn Sie jedoch\n eine zu kurze Periode w\u00e4hlen, verbringt Ihr Computer so viel Zeit mit der Erzeugung von Schrittimpulsen, dass alles andere langsamer wird oder vielleicht sogar zum Stillstand kommt. Die Latenzzeit\n und die Anforderungen an die Schrittmotorsteuerung beeinflussen die k\u00fcrzeste Zeitspanne, die Sie\n verwenden k\u00f6nnen.\n 1 Dieser Abschnitt bezieht sich auf die Verwendung stepgen, LinuxCNCs eingebauten Schritt-Generator. Einige HardwareGer\u00e4te haben ihre eigenen Schritt-Generator und nicht mit LinuxCNC \u2019 s built-in ein. In diesem Fall, verweisen wir auf Ihr\n Hardware-Handbuch\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 134 / 1331\n \n Im schlimmsten Fall treten Latenzzeiten nur ein paar Mal pro Minute auf und die Wahrscheinlichkeit,\n dass eine schlechte Latenz genau dann auftritt, wenn der Motor die Richtung \u00e4ndert, ist gering. Es\n kann also zu sehr seltenen Fehlern kommen, die hin und wieder ein Teil ruinieren und bei denen eine\n Fehlerbehebung unm\u00f6glich ist.\n@@ -8039,15 +8039,15 @@\n Servosysteme sind in der Lage, eine h\u00f6here Geschwindigkeit und Genauigkeit zu erreichen als entsprechende Schrittmachersysteme, sind aber teurer und komplexer. Im Gegensatz zu Schrittmotorensystemen ben\u00f6tigen Servosysteme eine Art von Positionsr\u00fcckmeldung und m\u00fcssen eingestellt oder getunt werden, da sie nicht wie Schrittmotorensysteme direkt nach dem Auspacken funktionieren. Diese\n Unterschiede bestehen, weil Servos ein geschlossener Regelkreis sind, im Gegensatz zu Schrittmotoren, die im Allgemeinen offener Regelkreis betrieben werden. Was bedeutet geschlossener Regelkreis? Schauen wir uns ein vereinfachtes Diagramm an, wie ein Servomotorensystem angeschlossen\n ist.\n 2 steplen refers to a parameter that adjusts the performance of LinuxCNC\u2019s built-in step generator, stepgen, which is a HAL\n component. This parameter adjusts the length of the step pulse itself. Keep reading, all will be explained eventually.\n 3 dirhold refers to a parameter that adjusts the length of the direction hold time.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 135 / 1331\n \n Abbildung 4.1: Servo Loop\n Dieses Diagramm zeigt, dass das Eingangssignal (und das R\u00fcckkopplungssignal) den Summierverst\u00e4rker antreibt, der Summierverst\u00e4rker den Leistungsverst\u00e4rker antreibt, der Leistungsverst\u00e4rker den\n Motor antreibt, der Motor die Last (und das R\u00fcckkopplungsger\u00e4t) antreibt und das R\u00fcckkopplungsger\u00e4t (und das Eingangssignal) den Motor antreibt. Dies sieht aus wie ein Kreis (eine geschlossene\n Schleife), in dem A B, B C, C D und D A steuert.\n@@ -8062,15 +8062,15 @@\n PID steht f\u00fcr Proportional, Integral und Derivativ. Der Proportionalwert bestimmt die Reaktion auf\n den aktuellen Fehler, der Integralwert bestimmt die Reaktion auf der Grundlage der Summe der letzten Fehler und der Derivativwert bestimmt die Reaktion auf der Grundlage der Rate, mit der sich\n der Fehler ge\u00e4ndert hat. Sie sind drei gemeinsame mathematische Techniken, die auf die Aufgabe,\n einen Arbeitsprozess, um einen Sollwert zu folgen angewendet werden. Im Fall von LinuxCNC ist der\n Prozess, den wir steuern wollen, die tats\u00e4chliche Achsenposition und der Sollwert ist die befohlene\n Achsenposition.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 136 / 1331\n \n Abbildung 4.2: PID-Schleife\n Durch Abstimmung der drei Konstanten im PID-Regler-Algorithmus kann der Regler eine auf die spezifischen Prozessanforderungen abgestimmte Regelwirkung erzielen. Die Reaktion des Reglers l\u00e4sst\n sich beschreiben anhand des Ansprechens des Reglers auf eine Regelabweichung, des Ausma\u00dfes, in\n dem der Regler \u00fcber den Sollwert hinausschie\u00dft, und des Grades der Systemschwingung.\n@@ -8090,15 +8090,15 @@\n korrigiert werden m\u00fcssen. Der kumulierte Fehler wird dann mit der Integralverst\u00e4rkung multipliziert\n und zum Reglerausgang addiert.\n Der Integral-Anteil (wenn er zum Proportional-Anteil (kurz P-Anteil) hinzugef\u00fcgt wird) beschleunigt\n die Bewegung des Prozesses in Richtung Sollwert und beseitigt den verbleibenden station\u00e4ren Fehler, der bei einem reinen Proportionalregler auftritt. Da der Integral-Anteil jedoch auf akkumulierte\n Fehler aus der Vergangenheit reagiert, kann er dazu f\u00fchren, dass der aktuelle Wert \u00fcber den Sollwert hinausschie\u00dft (den Sollwert \u00fcberschreitet und dann eine Abweichung in die andere Richtung\n erzeugt).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 137 / 1331\n \n 4.1.4.4 Differenzierender-Anteil (D-Anteil)\n Die \u00c4nderungsrate des Prozessfehlers wird berechnet, indem die Steigung des Fehlers nach der Zeit\n (d. h. seine erste Ableitung nach der Zeit) bestimmt und diese \u00c4nderungsrate mit der Ableitungsverst\u00e4rkung multipliziert wird.\n Der Derivationsanteil verlangsamt die \u00c4nderungsrate des Reglerausgangs, und dieser Effekt ist in\n@@ -8125,15 +8125,15 @@\n die beste Echtzeitleistung (RT) zu erzielen. Mit dem gepatchten RTAI-Kernel k\u00f6nnen Sie Anwendungen mit strengen Zeitvorgaben schreiben. RTAI gibt Ihnen die M\u00f6glichkeit, Dinge wie die SoftwareSchritterzeugung durchzuf\u00fchren, die ein pr\u00e4zises Timing erfordern.\n 4.1.5.1 ACPI\n Das Advanced Configuration and Power Interface (ACPI) hat viele verschiedene Funktionen, von denen die meisten die RT-Leistung beeintr\u00e4chtigen (z. B.: Energieverwaltung, CPU-Abschaltung, CPUFrequenzskalierung usw.). Der LinuxCNC-Kernel (und wahrscheinlich alle RTAI-gepatchten Kernel)\n hat ACPI deaktiviert. ACPI k\u00fcmmert sich auch um das Herunterfahren des Systems, nachdem ein\n Shutdown gestartet wurde, und deshalb m\u00fcssen Sie m\u00f6glicherweise den Netzschalter dr\u00fccken, um\n Ihren Computer vollst\u00e4ndig auszuschalten. Die RTAI-Gruppe hat dies in den letzten Versionen verbessert, so dass sich Ihr LinuxCNC-System vielleicht doch von selbst ausschaltet.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 138 / 1331\n \n 4.2 Latency Testing\n 4.2.1 What is latency?\n Latency is how long it takes the PC to stop what it is doing and respond to an external request, such\n as running one of LinuxCNC\u2019s periodic realtime threads. The lower the latency, the faster you can run\n@@ -8167,15 +8167,15 @@\n latency-test 50000 1000000\n \n Damit wird der Latenztest mit einer Basis-Thread-Periode von 50 \u00b5s und einer Servo-Thread-Periode\n von 1 ms gestartet.\n Die verf\u00fcgbaren Optionen k\u00f6nnen Sie in der Befehlszeile eingeben:\n latency-test -h\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 139 / 1331\n \n After starting a latency test you should see something like this:\n \n Abbildung 4.3: HAL-Latenz-Test\n W\u00e4hrend der Test l\u00e4uft, sollten Sie den Computer besch\u00e4ftigen: Bewegen Sie die Fenster auf dem\n@@ -8196,15 +8196,15 @@\n ist kein guter Kandidat f\u00fcr LinuxCNC, unabh\u00e4ngig davon, ob Sie Software-Stepping verwenden oder\n nicht.\n Anmerkung\n If you get high numbers, there may be ways to improve them. Another PC had very bad latency\n (several milliseconds) when using the onboard video. But a $5 used video card solved the problem.\n LinuxCNC does not require bleeding edge hardware.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 140 / 1331\n \n Weitere Informationen zum Stepper-Tuning finden Sie im Kapitel Stepper Tuning.\n Additional command line tools are available for examining latency when LinuxCNC is not\n running.\n 4.2.2.2 Latency Plot\n@@ -8228,15 +8228,15 @@\n 4.2.2.3 Latenz-Histogramm\n latency-histogram zeigt ein Histogramm der Latenz (Jitter) f\u00fcr einen Basis- und einen Servo-Thread\n an.\n Usage:\n latency-histogram --help | -?\n latency-histogram [Options]\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 141 / 1331\n \n Optionen:\n --base ns (Basisgewindeintervall, Voreinstellung: 25000, min: 5000)\n --servo ns (Servo-Thread-Intervall, Voreinstellung: 1000000, Mindestwert: 25000)\n --bbinsize ns (Basis-Bin-Gr\u00f6\u00dfe, Voreinstellung: 100\n@@ -8259,15 +8259,15 @@\n \n Abbildung 4.5: Latenz-Histogramm-Fenster\n \n 4.2.3 Latency tuning\n LinuxCNC can run on many different hardware platforms and with many different realtime kernels,\n and they all may benefit from tuning for optimal latency.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 142 / 1331\n \n A primary goal in tuning the system for LinuxCNC is to reserve a CPU for the exclusive use of LinuxCNC\u2019s realtime tasks, so that other tasks (both user programs and kernel threads) do not interfere\n with LinuxCNC\u2019s access to that CPU.\n When specific tuning options are believed to be universally helpful LinuxCNC does this tuning automatically at startup, but many tuning options are machine-specific and cannot be done automatically.\n The person installing LinuxCNC will need to experimentally determine the optimal tuning for their\n@@ -8298,15 +8298,15 @@\n \u2022 rcu_nocbs: Prevent RCU callbacks from running on these CPUs.\n \u2022 rcu_nocb_poll: Poll for RCU callbacks instead of using sleep/wake.\n \u2022 nohz_full: Disable clock tick on these CPUs.\n Sysctl\n Details here: https://www.kernel.org/doc/html/latest/scheduler/sched-rt-group.html\n \u2022 sysctl.kernel.sched_rt_runtime_us: Set to -1 to remove the limit on how much time realtime tasks may use.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 143 / 1331\n \n 4.3 Stepper-Abstimmung\n 4.3.1 Das Beste aus Software Stepping herausholen\n Die Erzeugung von Schrittimpulsen in der Software hat einen sehr gro\u00dfen Vorteil - sie ist kostenlos.\n Nahezu jeder PC verf\u00fcgt \u00fcber eine parallele Schnittstelle, die in der Lage ist, die von der Software\n@@ -8339,15 +8339,15 @@\n Software-Stepping. Zahlen \u00fcber 1 Millisekunde (1.000.000 Nanosekunden) bedeuten, dass der PC\n ist kein guter Kandidat f\u00fcr LinuxCNC, unabh\u00e4ngig davon, ob Sie Software-Stepping verwenden oder\n nicht.\n Beachten Sie, dass, wenn Sie hohe Zahlen erhalten, es M\u00f6glichkeiten geben kann, sie zu verbessern.\n Zum Beispiel hatte ein PC eine sehr schlechte Latenz (mehrere Millisekunden), wenn er das OnboardVideo verwendete. Aber eine $ 5 gebrauchte Grafikkarte l\u00f6ste das Problem - LinuxCNC ben\u00f6tigt keine\n modernste Hardware.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 144 / 1331\n \n 4.3.1.2 Finden Sie heraus, was Ihre Antriebe erwarten\n Verschiedene Marken von Schrittmotorantrieben haben unterschiedliche Zeitanforderungen an ihre\n Schritt- und Richtungseing\u00e4nge. Sie m\u00fcssen also das Datenblatt mit den technischen Daten Ihres\n Antriebs heraussuchen (oder danach googeln).\n@@ -8383,15 +8383,15 @@\n dass alle \u00c4nderungen an den STEP- und DIR-Leitungen durch 20 \u00b5s getrennt sind. Alles ist gut, oder?\n Falsch! Wenn es NULL Latenz g\u00e4be, dann w\u00e4ren alle Kanten durch 20 \u00b5s getrennt, und alles w\u00e4re\n in Ordnung. Aber alle Computer haben eine gewisse Latenz, d.h. mit Verz\u00f6gerung. Wenn der Computer eine Latenz von 11 \u00b5s hat, bedeutet das, dass die Software manchmal 11 \u00b5s sp\u00e4ter l\u00e4uft, als\n sie eigentlich sollte. Wenn ein Durchlauf der Software 11 \u00b5s zu sp\u00e4t ist und der n\u00e4chste p\u00fcnktlich erfolgt, betr\u00e4gt die Verz\u00f6gerung vom ersten zum zweiten Durchlauf nur 9 \u00b5s. Wenn der erste Durchlauf\n einen Schrittimpuls erzeugte und der zweite das Richtungsbit \u00e4nderte, haben Sie gerade die G202Haltezeitanforderung von 20 \u00b5s verletzt. Das bedeutet, dass Ihr Antrieb m\u00f6glicherweise einen Schritt\n in die falsche Richtung gemacht hat, und Ihr Teil hat die falsche Gr\u00f6\u00dfe.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 145 / 1331\n \n Das wirklich Unangenehme an diesem Problem ist, dass es sehr selten auftreten kann. Im schlimmsten\n Fall treten Latenzen nur ein paar Mal pro Minute auf, und die Wahrscheinlichkeit, dass eine schlechte\n Latenz genau dann auftritt, wenn der Motor die Richtung \u00e4ndert, ist gering. So kommt es zu sehr\n seltenen Fehlern, die hin und wieder ein Werkst\u00fcck ruinieren und eine Fehlerbehebung unm\u00f6glich\n@@ -8434,15 +8434,15 @@\n das, was uns zwingt, eine langsame 31 \u00b5s Periode zu verwenden. Aber die LinuxCNC Software-SchrittGenerator hat einige Parameter, mit denen Sie die verschiedenen Zeit von einer Periode auf mehrere\n zu erh\u00f6hen. Zum Beispiel, wenn steplen von 1 auf 2 ge\u00e4ndert wird, dann wird es zwei Perioden zwischen dem Beginn und dem Ende des Schrittimpulses sein. Wenn dirhold von 1 auf 3 ge\u00e4ndert wird,\n liegen mindestens drei Perioden zwischen dem Schrittimpuls und einem Wechsel des Richtungspins.\n Wenn wir dirhold verwenden k\u00f6nnen, um die Anforderung von 20 \u00b5s Haltezeit zu erf\u00fcllen, dann ist die\n n\u00e4chstl\u00e4ngere Zeit die 4,5 \u00b5s \u201dhigh time\u201d. Addiert man die Latenzzeit von 11 \u00b5s zu der \u201dhigh-time\u201d von\n 4,5 \u00b5s, so erh\u00e4lt man eine Mindestzeit von 15,5 \u00b5s. Wenn Sie 15,5 \u00b5s ausprobieren, stellen Sie fest,\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 146 / 1331\n \n dass der Computer zu tr\u00e4ge ist, also entscheiden Sie sich f\u00fcr 16 \u00b5s. Wenn wir dirhold auf 1 belassen\n (die Voreinstellung), dann ist die Mindestzeit zwischen Schritt und Richtung die 16 \u00b5s Periode minus\n die 11 \u00b5s Latenzzeit = 5 \u00b5s, was nicht ausreicht. Wir brauchen weitere 15 \u00b5s. Da die Periode 16 \u00b5s\n betr\u00e4gt, brauchen wir eine weitere Periode. Also \u00e4ndern wir dirhold von 1 auf 2. Jetzt betr\u00e4gt die\n@@ -8484,15 +8484,15 @@\n \n Kommentare\n \n A comment line is started with a ; or a # mark. When the INI reader sees either of these marks at the\n start a line, the rest of the line is ignored by the software. Comments can be used to describe what an\n INI element will do.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 147 / 1331\n \n ; Dies ist die Konfigurationsdatei meiner Fr\u00e4smaschine\n # Ich habe sie am 12. Januar 2012 eingerichtet.\n \n Comments can also be used to turn off a variable. This makes it easier to pick between different\n@@ -8527,15 +8527,15 @@\n \u2022 [APPLICATIONS] Other applications to be started by LinuxCNC\n \u2022 [TRAJ] additional settings used by the real time motion controller\n \u2022 [JOINT_n] individual joint variables\n \u2022 [AXIS_l] individual axis variables\n \u2022 [KINS] kinematics variables\n \u2022 [EMCIO] settings used by the I/O Controller\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 4.4.1.3\n \n 148 / 1331\n \n Variablen\n \n@@ -8586,15 +8586,15 @@\n Z_OFFSET = 12\n Z_SAFE_DISTANCE = -10\n \n Um die benutzerdefinierten Variablen in Ihrer HAL-Datei zu verwenden, setzen Sie den Abschnitt und\n den Variablennamen an die Stelle des Wertes.\n HAL Beispiel\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 149 / 1331\n \n setp offset.1.offset [PROBE]Z_OFFSET\n setp stepgen.0.position-scale [JOINT_0]SCALE\n \n Anmerkung\n@@ -8631,15 +8631,15 @@\n #INCLUDE /home/myusername/myincludes/display.inc\n #INCLUDE ~/linuxcnc/myincludes/rs274ngc.inc\n \n The #INCLUDE directives are supported for one level of expansion only \u2014 an included file may not\n include additional files. The recommended file extension is .inc. Do not use a file extension of .ini for\n included files.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 4.4.2\n \n INI File Sections\n \n 4.4.2.1\n \n@@ -8679,15 +8679,15 @@\n value.\n \u2022 CONE_BASESIZE = .25 - Override the default cone/tool base size of .5 in the graphics display.\n \u2022 MAX_FEED_OVERRIDE = 1.2 - The maximum feed override the user may select. 1.2 means 120% of\n the programmed feed rate.\n \u2022 MIN_SPINDLE_OVERRIDE = 0.5 - The minimum spindle override the user may select. 0.5 means 50%\n of the programmed spindle speed. (This is used to set the minimum spindle speed.)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 151 / 1331\n \n \u2022 MIN_SPINDLE_0_OVERRIDE = 0.5 - The minimum spindle override the user may select. 0.5 means\n 50% of the programmed spindle speed. (This is used to set the minimum spindle speed.) On multi\n spindle machine there will be entries for each spindle number. Only used by the QtVCP based user\n interfaces.\n@@ -8720,15 +8720,15 @@\n (0.1 s) is a common setting though a range of 50 - 200 ms (.05 - .2 s) may be useable. An under\n powered CPU may see improvement with a longer setting. Usually the default is fine.\n \u2022 PREVIEW_TIMEOUT = 5 - Timeout (in seconds) for loading graphical preview of G-code. Currently\n AXIS only.\n Anmerkung\n Die folgenden [DISPLAY]-Elemente werden von GladeVCP und PyVCP verwendet, siehe den embedding a tab Abschnitt des GladeVCP Kapitels oder das PyVCP Kapitel f\u00fcr weitere Informationen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 152 / 1331\n \n \u2022 EMBED_TAB_NAME = GladeVCP demo\n \n \u2022 EMBED_TAB_COMMAND = halcmd loadusr -Wn gladevcp gladevcp -c gladevcp -x {XID\\} -u ./glad\n ./gladevcp/manual-example.ui\n@@ -8766,15 +8766,15 @@\n \u2022 LATHE = 1 - Any non-empty value (including \u201d0\u201d) causes axis to use \u201dlathe mode\u201d with a top view\n and with Radius and Diameter on the DRO.\n \u2022 BACK_TOOL_LATHE = 1 - Any non-empty value (including \u201d0\u201d) causes axis to use \u201dback tool lathe\n mode\u201d with inverted X axis.\n \u2022 FOAM = 1 - Any non-empty value (including \u201d0\u201d) causes axis to change the display for foam-cutter\n mode.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 153 / 1331\n \n \u2022 GEOMETRY = XYZABCUVW - Controls the preview and backplot of motion. This item consists of a\n sequence of axis letters and control characters, optionally preceded with a \u201d-\u201d sign:\n 1. Die Buchstaben X, Y, Z geben die Verschiebung entlang der genannten Koordinate an.\n 2. Die Buchstaben A, B, C bezeichnen die Drehung um die entsprechenden Achsen X, Y, Z.\n@@ -8815,15 +8815,15 @@\n \u2022 JOG_AXES = - The order in which jog keys are assigned to axis letters. The left and right arrows are\n assigned to the first axis letter, up and down to the second, page up/page down to the third, and left\n and right bracket to the fourth. If unspecified, the default is determined from the [TRAJ]COORDINATES,\n [DISPLAY]LATHE and [DISPLAY]FOAM values.\n \u2022 JOG_INVERT = - For each axis letter, the jog direction is inverted. The default is \u201dX\u201d for lathes and\n blank otherwise.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 154 / 1331\n \n Anmerkung\n The settings for JOG_AXES and JOG_INVERT apply to world mode jogging by axis coordinate letter\n and are in effect while in world mode after successful homing. When operating in joint mode prior\n to homing, keyboard jog keys are assigned in a fixed sequence: left/right: joint0, up/down: joint1,\n@@ -8863,15 +8863,15 @@\n \n Anmerkung\n Die Programmdatei, die mit einer Erweiterung verkn\u00fcpft ist, muss entweder den vollst\u00e4ndigen Pfad\n zum Programm enthalten oder sich in einem Verzeichnis befinden, das sich im Systempfad befindet.\n \n Es ist auch m\u00f6glich, einen Interpreter anzugeben:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 155 / 1331\n \n PROGRAM_EXTENSION = .py Python Script\n py = python\n \n In this way, any Python script can be opened, and its output is treated as G-code. One such example\n@@ -8916,15 +8916,15 @@\n \n [RS274NGC] Section\n \n \u2022 PARAMETER_FILE = myfile.var - The file located in the same directory as the INI file which contains\n the parameters used by the interpreter (saved between runs).\n \u2022 ORIENT_OFFSET = 0 - A float value added to the R word parameter of an M19 Orient Spindle operation. Used to define an arbitrary zero position regardless of encoder mount orientation.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 156 / 1331\n \n \u2022 RS274NGC_STARTUP_CODE = G17 G20 G40 G49 G64 P0.001 G80 G90 G92.1 G94 G97 G98 - A string\n of NC codes that the interpreter is initialized with. This is not a substitute for specifying modal Gcodes at the top of each NGC file, because the modal codes of machines differ, and may be changed\n by G-code interpreted earlier in the session.\n \u2022 SUBROUTINE_PATH = ncsubroutines:/tmp/testsubs:lathesubs:millsubs - Specifies a colon (:)\n@@ -8977,15 +8977,15 @@\n Preserve case in O-word names within comments if set, enables reading of mixed-case HAL items\n in structured comments like (debug, #<_hal[MixedCaseItem]).\n \u2022 OWORD_WARNONLY = 0 (Default: 0)\n Warn rather than error in case of errors in O-word subroutines.\n \u2022 DISABLE_G92_PERSISTENCE = 0 (Default: 0) Allow to clear the G92 offset automatically when config\n start-up.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 157 / 1331\n \n \u2022 DISABLE_FANUC_STYLE_SUB = 0 (Default: 0) If there is reason to disable Fanuc subroutines set it to\n 1.\n Anmerkung\n The above six options were controlled by the FEATURES bitmask in versions of LinuxCNC prior to 2.8.\n@@ -9021,15 +9021,15 @@\n \u2022 TRAJ_PERIOD = 100000 - This is the Trajectory Planner task period in nanoseconds.\n \u2022 COMM_TIMEOUT = 1.0 - Number of seconds to wait for Motion (the realtime part of the motion controller) to acknowledge receipt of messages from Task (the non-realtime part of the motion controller).\n \u2022 HOMEMOD = alternate_homing_module [home_parms=value] The HOMEMOD variable is optional. If\n specified, use a specified (user-built) module instead of the default (homemod). Module parameters\n (home_parms) may be included if supported by the named module. The setting may be overridden\n from the command line using the -m option ($ linuxcnc -h).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 4.4.2.6\n \n 158 / 1331\n \n [TASK] Section\n \n@@ -9071,15 +9071,15 @@\n HALFILE items specify files that loadrt HAL components and make signal connections between component pins. Common mistakes are\n 1. omission of the addf statement needed to add a component\u2019s function(s) to a thread,\n 2. incomplete signal (net) specifiers.\n Omission of required addf statements is almost always an error. Signals usually include one or more\n input connections and a single output (but both are not strictly required). A system library file is\n provided to make checks for these conditions and report to stdout and in a pop-up GUI:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 159 / 1331\n \n HALFILE = LIB:halcheck.tcl [nopopup]\n \n Anmerkung\n Die Zeile LIB:halcheck.tcl sollte die letzte [HAL]HALFILE sein. Geben Sie die Option nopopup an, um\n@@ -9121,15 +9121,15 @@\n \n LinuxCNC kann andere Anwendungen starten, bevor die angegebene Benutzeroberfl\u00e4che gestartet\n wird. Die Anwendungen k\u00f6nnen nach einer bestimmten Verz\u00f6gerung gestartet werden, um GUIabh\u00e4ngige Aktionen zu erm\u00f6glichen (wie das Erstellen von GUI-spezifischen HAL-Pins).\n \u2022 DELAY = value - seconds to wait before starting other applications. A delay may be needed if an\n application has dependencies on [HAL]POSTGUI_HALFILE actions or GUI-created HAL pins (default\n DELAY=0).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 160 / 1331\n \n \u2022 \u201aAPP = \u0300 appname [arg1 [arg2 \u2026]]\u2018 - Application to be started. This specification can be included\n multiple times. The appname can be explicitly named as an absolute or tilde specified filename\n (first character is / or ~), a relative filename (first characters of filename are ./), or as a file in the\n INI file directory. If no executable file is found using these names, then the user search PATH is\n@@ -9174,15 +9174,15 @@\n # n = v_max / (2.0 * a_max * t_c)\n # wobei:\n # n = Optimierungstiefe\n # v_max = maximale Achsengeschwindigkeit (UU / sec)\n # a_max = maximale Achsenbeschleunigung (UU / sec)\n # t_c = Servo-Periode (Sekunden)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 161 / 1331\n \n So, a machine with a maximum axis velocity of 10 IPS, a max acceleration of 100 IPS2 , and a servo\n period of 0.001 s would need:\n 10 / (2,0 * 100 * 0,001) = 50 Segmente, um immer die maximale Geschwindigkeit entlang der\n schnellsten Achse zu erreichen.\n@@ -9224,15 +9224,15 @@\n # a_max = maximale Achsenbeschleunigung\n # f = Grenzfrequenz aus INI\n \n For the aforementioned machine, the ripple for a 20 Hz cutoff frequency is 100 / (4 * 20) = 1.25 IPS.\n This seems high, but keep in mind that it is only a worst-case estimate. In reality, the trapezoidal\n motion profile is limited by other factors, such as normal acceleration or requested velocity, and so\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 162 / 1331\n \n the actual performance loss should be much smaller. Increasing the cutoff frequency can squeeze\n out more performance, but make the motion rougher due to acceleration discontinuities. A value in\n the range 20 Hz to 200 Hz should be reasonable to start.\n Und schlie\u00dflich k\u00f6nnen Sie einen Werkzeugweg mit vielen kleinen, engen Kurven nicht beschleunigen,\n@@ -9274,15 +9274,15 @@\n \n Warnung\n LinuxCNC will not know your joint travel limits when using NO_FORCE_HOMING = 1.\n \n \u2022 HOME = 0 0 0 0 0 0 0 0 0 - World home position needed for kinematics modules that compute\n world coordinates using kinematicsForward() when switching from joint to teleop mode. Up to nine\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 163 / 1331\n \n coordinate values (X Y Z A B C U V W) may be specified, unused trailing items may be omitted.\n This value is only used for machines with nontrivial kinematics. On machines with trivial kinematics\n (mill, lathe, gantry types) this value is ignored. Note: The sim hexapod config requires a non-zero\n value for the Z coordinate.\n@@ -9328,15 +9328,15 @@\n axis . In this example, the joint is 4 which would correspond to the B axis for a XYZAB\n system with trivkins (identity) kinematics. When set, a G0 move for this axis will initiate an unlock\n with the joint.4.unlock pin then wait for the joint.4.is-unlocked pin then move the joint at\n the rapid rate for that joint. After the move the joint.4.unlock will be false and motion will wait\n for joint.4.is-unlocked to go false. Moving with other joints is not allowed when moving a locked\n rotary joint. To create the unlock pins, use the motmod parameter:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 164 / 1331\n \n unlock_joints_mask=jointmask\n \n Die Bits der Jointmaske sind: (LSB)0:joint0, 1:joint1, 2:joint2, \u2026\n Example: loadrt motmod ... unlock_joints_mask=0x38 creates unlock-pins for joints 3,4,5.\n@@ -9373,15 +9373,15 @@\n kins).\n \u2022 TYPE = LINEAR - The type of joint, either LINEAR or ANGULAR.\n \n \u2022 UNITS = INCH - If specified, this setting overrides the related [TRAJ] UNITS setting, e.g., [TRAJ]LINEAR_UN\n if the TYPE of this joint is LINEAR, [TRAJ]ANGULAR_UNITS if the TYPE of this joint is ANGULAR.\n \u2022 MAX_VELOCITY = 1.2 - Maximum velocity for this joint in machine units per second.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 165 / 1331\n \n \u2022 MAX_ACCELERATION = 20.0 - Maximum acceleration for this joint in machine units per second squared.\n \u2022 BACKLASH = 0.0000 - Backlash in machine units. Backlash compensation value can be used to\n make up for small deficiencies in the hardware used to drive an joint. If backlash is added to an\n joint and you are using steppers the STEPGEN_MAXACCEL must be increased to 1.5 to 2 times the\n@@ -9417,15 +9417,15 @@\n \u2022 MAX_LIMIT = 1000 - The maximum limit for joint motion, in machine units. When this limit is reached, the controller aborts joint motion. For a rotary joint with unlimited rotation having no MAX_LIMIT\n for that joint in the [JOINT_N] section a the value 1e99 is used.\n Anmerkung\n For identity kinematics, the [JOINT_N]MIN_LIMIT/MAX_LIMIT settings must equal or exceed the\n corresponding (one-to-one identity) [AXIS_L] limits. These settings are verified at startup when the\n trivkins kinematics modules is specified.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 166 / 1331\n \n Anmerkung\n The [JOINT_N]MIN_LIMIT/MAX_LIMIT settings are enforced while jogging in joint mode prior to homing. After homing, [AXIS_L]MIN_LIMIT/MAX_LIMIT coordinate limits are used as constraints for axis\n (coordinate letter) jogging and by the trajectory planning used for G-code moves (programs and MDI\n commands). The trajectory planner works in Cartesian space (XYZABCUVW) and has no information\n@@ -9465,15 +9465,15 @@\n provision for this signal you may set it to yes. When it is yes, it will affect the kind of home pattern\n used. Currently, you can\u2019t home to index with steppers unless you\u2019re using StepGen in velocity mode\n and PID.\n \u2022 HOME_INDEX_NO_ENCODER_RESET = NO - Use YES if the encoder used for this joint does not reset\n its counter when an index pulse is detected after assertion of the joint index_enable HAL pin.\n Applicable only for HOME_USE_INDEX = YES.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 167 / 1331\n \n \u2022 HOME_IGNORE_LIMITS = NO - When you use the limit switch as a home switch and the limit switch\n this should be set to YES. When set to YES the limit switch for this joint is ignored when homing.\n You must configure your homing so that at the end of your home move the home/limit switch is not\n in the toggled state you will get a limit switch error after the home move.\n@@ -9511,15 +9511,15 @@\n begrenzen, wenn Sie k\u00f6nnen.\n Be careful about going below 1 encoder count, since you may create a condition where there is no\n place that your servo is happy. This can go beyond hunting (slow) to nervous (rapid), and even to\n squealing which is easy to confuse with oscillation caused by improper tuning. Better to be a count\n or two loose here at first, until you\u2019ve been through gross tuning at least.\n Example of calculating machine units per encoder pulse to use in deciding DEADBAND value:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 168 / 1331\n \n \u2022 BIAS = 0.000 - This is used by hm2-servo and some others. Bias is a constant amount that is added\n to the output. In most cases it should be left at zero. However, it can sometimes be useful to compensate for offsets in servo amplifiers, or to balance the weight of an object that moves vertically.\n Bias is turned off when the PID loop is disabled, just like all other components of the output.\n \u2022 P = 50 - The proportional gain for the joint servo. This value multiplies the error between commanded and actual position in machine units, resulting in a contribution to the computed voltage for\n@@ -9548,15 +9548,15 @@\n linearize a DAC. Specifically, when writing outputs, the LinuxCNC first converts the desired output\n in quasi-SI units to raw actuator values, e.g., Volts for an amplifier DAC. This scaling looks like:\n \n The value for scale can be obtained analytically by doing a unit analysis, i.e., units are [output\n SI units]/[actuator units]. For example, on a machine with a velocity mode amplifier such that 1 V\n results in 250 mm/s velocity.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 169 / 1331\n \n Note that the units of the offset are in machine units, e.g. mm/s, and they are pre-subtracted from\n the sensor readings. The value for this offset is obtained by finding the value of your output which\n yields 0.0 for the actuator output. If the DAC is linearized, this offset is normally 0.0.\n Skalierung und Offset k\u00f6nnen auch zur Linearisierung des DAC verwendet werden. Diese Werte spigeln dann die kombinierten Auswirkungen von Verst\u00e4rkung, Nicht-Linearit\u00e4t des DAC, DACEinheiten usw. wider.\n@@ -9598,15 +9598,15 @@\n section. For a linear joint one machine unit will be equal to the setting of LINEAR_UNITS. For an angular\n joint one unit is equal to the setting in ANGULAR_UNITS. A second number, if specified, is ignored. For\n example, on a 2000 counts per rev encoder, and 10 revs/inch gearing, and desired units of inch, we\n have:\n \n Diese Parameter sind relevant f\u00fcr Gelenke, die von Schrittmotoren gesteuert werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 170 / 1331\n \n Warnung\n The following are custom INI file entries that you may find in a sample INI file or a wizard\n generated file. These are not used by the LinuxCNC software and meant only to put all the\n settings in one place. For more information on custom INI file entries see the Custom Sections\n@@ -9647,15 +9647,15 @@\n The specifies the spindle number 0 \u2026 (num_spindles-1)\n The value of num_spindles is set by [TRAJ]SPINDLES= .\n By default maximum velocity of the spindle in forward and reverse is approximately 2147483000 RPM.\n By default minimum velocity of the spindle in forward and reverse is 0 RPM.\n By default the increment is 100 RPM.\n You change these default by setting the following INI variables:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 171 / 1331\n \n Anmerkung\n These settings are for the motion controller component. Control screens can limit these settings\n further.\n \u2022 MAX_FORWARD_VELOCITY = 20000 The maximum spindle speed (in rpm) for the specified spindle.\n@@ -9697,15 +9697,15 @@\n \u2022 TOOL_CHANGE_QUILL_UP = 1 - The Z axis will be moved to machine zero prior to the tool change\n when the value is 1. This is the same as issuing a G0 G53 Z0.\n \u2022 TOOL_CHANGE_AT_G30 = 1 - The machine is moved to reference point defined by parameters 51815186 for G30 if the value is 1. For more information see G-code Parameters and G-code G30-G30.1.\n \u2022 RANDOM_TOOLCHANGER = 1 - This is for machines that cannot place the tool back into the pocket it\n came from. For example, machines that exchange the tool in the active pocket with the tool in the\n spindle.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 172 / 1331\n \n 4.5 Konfiguration der Referenzfahrt (engl. homing)\n 4.5.1 \u00dcbersicht\n Die Referenzfahrt legt den Nullpunkt der G53-Maschinenkoordinaten fest. Softlimits werden relativ\n zum Maschinenursprung definiert. Eine korrekt konfigurierte und funktionierende Maschine bewegt\n@@ -9741,15 +9741,15 @@\n \u2022 If using a separate homing switch, it is possible to start homing on the wrong side of the home\n switch, which combined with HOME_IGNORE_LIMITS option will lead to a hard crash. You can\n avoid this by making the home switch toggle its state when the trip dog is on a particular side until\n it returns passed the trip point again. Said another way, the home switch state must represent the\n position of the dog relative to the switch (ie before or after the switch), and must stay that way even\n if the dog coasts past the switch in the same direction.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 173 / 1331\n \n Anmerkung\n While it is possible to use LinuxCNC with the G53 machine origin outside the soft machine limits, if\n you use G28 or G30 without setting the parameters it goes to the origin by default. This would trip\n the limit switches before getting to position.\n@@ -9767,15 +9767,15 @@\n \u2022 A<->B ist die negative weiche Grenze (MIN_LIMITS) = -3 Einheiten\n \u2022 B<->C ist der Home_Offset (HOME_OFFSET) = -2,3 Einheiten\n \u2022 B<->D ist die positive weiche Grenze (MAX_LIMITS) = 7 Einheiten\n \u2022 A<->D ist der gesamte Weg = 10 Einheiten\n \u2022 Der Abstand zwischen den Endschaltern und Soft Limits (-L<->A und D<-+L) wird in diesem Beispiel vergr\u00f6\u00dfert\n \u2022 Beachten Sie, dass zwischen den Endschaltern und dem tats\u00e4chlichen harten Kontakt f\u00fcr den Auslauf nach der Deaktivierung des Verst\u00e4rkers ein Abstand besteht.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 174 / 1331\n \n Anmerkung\n Die Referenzfahrt legt das G53-Koordinatensystem fest. Der Maschinenursprung (Nullpunkt) kann an\n einer beliebigen Stelle liegen, aber wenn Sie den Nullpunkt auf die negative weiche Grenze setzen,\n werden alle G53-Koordinaten positiv, was wahrscheinlich am einfachsten zu merken ist. Dazu setzen\n@@ -9796,32 +9796,32 @@\n \u2022 B<->C ist der Home_Offset (HOME_OFFSET) = -0,7 Einheiten.\n \u2022 B<->D ist die positive weiche Grenze (MAX_LIMITS) 10 Einheiten.\n \u2022 A<->D ist der gesamte Weg = 10 Einheiten.\n \u2022 Der Abstand zwischen den Endschaltern und den Soft Limits (-L<->A und D<->+L) wird in diesem\n Beispiel vergr\u00f6\u00dfert.\n \u2022 Beachten Sie, dass zwischen den Endschaltern und dem tats\u00e4chlichen harten Kontakt f\u00fcr den Auslauf nach der Deaktivierung des Verst\u00e4rkers ein Abstand besteht.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 175 / 1331\n \n 4.5.5 Referenzfahrt Abfolge\n \n There are four possible homing sequences defined by the sign of HOME_SEARCH_VEL and HOME_LATCH_V\n along with the associated configuration parameters as shown in the following table. Two basic conditions exist, HOME_SEARCH_VEL and HOME_LATCH_VEL are the same sign or they are opposite\n signs. For a more detailed description of what each configuration parameter does, see the following\n section.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 176 / 1331\n \n Abbildung 4.8: Referenzfahrt-Abl\u00e4ufe\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 177 / 1331\n \n 4.5.6 Konfiguration\n Im Folgenden wird genau festgelegt, wie sich die Stammfolge verh\u00e4lt. Sie werden in einem [JOINT_n]Abschnitt der INI-Datei definiert.\n Referenzfahrt\n Typ\n@@ -9879,15 +9879,15 @@\n 4.5.6.3 HOME_FINAL_VEL\n Diese Variable hat die Einheit von Maschineneinheiten pro Sekunde.\n Sie gibt die Geschwindigkeit an, die LinuxCNC verwendet, wenn es seine Bewegung von HOME_OFFSET\n zur HOME-Position durchf\u00fchrt. Wenn die HOME_FINAL_VEL in der INI-Datei fehlt, dann wird die\n maximale Gelenkgeschwindigkeit verwendet, um diese Bewegung zu machen. Der Wert muss eine\n positive Zahl sein.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 178 / 1331\n \n 4.5.6.4 HOME_IGNORE_LIMITS\n Can hold the values YES / NO. The default value for this parameter is NO. This flag determines whether\n LinuxCNC will ignore the limit switch input for this joint while homing. This setting will not ignore\n limit inputs for other joints. If you do not have a separate home switch set this to YES and connect the\n@@ -9919,15 +9919,15 @@\n switch or home switch then index pulse (depending on configuration), and setting the coordinate of\n that point to HOME_OFFSET, LinuxCNC makes a move to HOME as the final step of the homing\n process. The default value is zero. Note that even if this parameter is the same as HOME_OFFSET,\n the joint will slightly overshoot the latched position as it stops. Therefore there will always be a small\n move at this time (unless HOME_SEARCH_VEL is zero, and the entire search/latch stage was skipped).\n This final move will be made at the joint\u2019s maximum velocity unless HOME_FINAL_VEL has been set.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 179 / 1331\n \n Anmerkung\n Der Unterschied zwischen HOME_OFFSET und HOME besteht darin, dass HOME_OFFSET zun\u00e4chst die\n Ursprungsposition und den Ma\u00dfstab auf der Maschine festlegt, indem der HOME_OFFSET -Wert auf\n die Position angewendet wird, an der die Ausgangsposition gefunden wurde, und dann HOME angibt,\n@@ -9962,15 +9962,15 @@\n Wenn HOME_SEQUENCE nicht angegeben ist, wird das Gelenk nicht durch die HOME ALL-Sequenz referenziert (sondern kann durch einzelne gelenkspezifische Referenzierungsbefehle referenziert werden).\n \n Die anf\u00e4ngliche HOME_SEQUENCE-Nummer kann 0, 1 (oder -1) sein. Der absolute Wert der Sequenznummern muss um eins erh\u00f6ht werden - das \u00dcberspringen von Sequenznummern wird nicht unterst\u00fctzt. Wenn eine Sequenznummer weggelassen wird, stoppt HOME ALL die Referenzfahrt nach\n Abschluss der letzten g\u00fcltigen Sequenznummer.\n Negative HOME_SEQUENCE values indicate that joints in the sequence should synchronize the\n final move to [JOINT_n]HOME by waiting until all joints in the sequence are ready. If any joint has a\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 180 / 1331\n \n negative HOME_SEQUENCE value, then all joints with the same absolute value (positive or negative)\n of the HOME_SEQUENCE item value will synchronize the final move.\n Eine negative HOME_SEQUENCE gilt auch f\u00fcr das Ausf\u00fchren einer Referenzfahrt eines einzelnen\n Gelenks. Wenn der HOME_SEQUENCE-Wert negativ ist, werden alle Gelenke, die den gleichen absoluten Wert dieser HOME_SEQUENCE haben, gemeinsam mit einer synchronisierten Endbewegung freigesetzt. Wenn der HOME_SEQUENCE-Wert Null oder positiv ist, wird nur das angegebene\n@@ -10013,15 +10013,15 @@\n If this setting is true, this joint becomes unhomed whenever the machine transitions into the OFF\n state. This is appropriate for any joint that does not maintain position when the joint drive is off. Some\n stepper drives, especially microstep drives, may need this.\n 4.5.6.13 LOCKING_INDEXER\n Handelt es sich bei diesem Gelenk um einen verriegelnden Drehindexer, wird es vor der Referenzfahrt\n entriegelt und danach verriegelt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 181 / 1331\n \n 4.5.6.14 Immediate Homing\n If a joint does not have home switches or does not have a logical home position like a rotary joint and\n you want that joint to home at the current position when the \u201dHome All\u201d button is pressed in the AXIS\n GUI, then the following INI entries for that joint are needed.\n@@ -10064,15 +10064,15 @@\n net home_seq_s32 => ini.1.home_sequence\n ...\n # allow_jjog: von einem virtuellen Bedienfeld oder Hardware-Schalter erzeugter Pin\n net hsequence_select <= allow_jog\n net hsequence_select => home_sequence_mux.sel\n net hsequence_select => motion.homing-inhibit\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 182 / 1331\n \n Anmerkung\n INI HAL-Pins (wie ini.N.home_sequence) sind nicht verf\u00fcgbar, bis milltask startet, so dass die Ausf\u00fchrung der oben genannten HAL-Befehle mit Hilfe einer postgui HAL-Datei oder eines verz\u00f6gerten\n [APPLICATION]APP=-Skripts verschoben werden sollte.\n \n@@ -10102,15 +10102,15 @@\n wird ein Handshake erwartet, um zuverl\u00e4ssige Signalisierung zu gew\u00e4hrleisten, und optional lockstep Verhalten zu erzwingen. Handshaking ist optional und kann in HAL \u00fcberbr\u00fcckt werden, wenn\n es nicht ben\u00f6tigt wird.\n \u2022 R\u00fcckw\u00e4rtskompatibilit\u00e4t: Ein Werkzeugwechsler, der die iocontrol emc-abort-Zeile ignoriert und an\n der alten Handhabung festh\u00e4lt, wird \u201dweiterhin funktionieren\u201d (vorbehaltlich einer Race Condition)\n Wenn Sie strenge Zeitvorgaben haben oder einfach mehr E/A ben\u00f6tigen, sollten Sie stattdessen die\n Echtzeit-E/A verwenden, die von motion bereitgestellt wird.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 183 / 1331\n \n 4.6.2 Anwendung\n INI-Datei Optionen:\n [EMCIO] Abschnitt\n PROTOCOL_VERSION = 2\n@@ -10141,15 +10141,15 @@\n \u2022 iocontrol.0.tool-number (s32, out) Current tool number\n \u2022 iocontrol.0.tool-prep-number (s32, out) The number of the next tool, from the RS274NGC T-word\n \u2022 iocontrol.0.tool-prep-pocket (s32, out) This is the pocket number (location in the tool storage mechanism) of the tool requested by the most recent T-word.\n \u2022 iocontrol.0.tool-prepare (bit, out) TRUE when a Tn tool prepare is requested.\n \u2022 iocontrol.0.tool-prepared (bit, in) Should be driven TRUE when a tool prepare is completed.\n \u2022 iocontrol.0.user-enable-out (bit, out) FALSE when an internal E-stop condition exists\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 184 / 1331\n \n \u2022 iocontrol.0.user-request-enable (bit, out) TRUE when the user has requested that E-stop be cleared\n Zus\u00e4tzliche Pins hinzugef\u00fcgt durch I/O Control V2\n \u2022 emc-abort: (bit, out) signals emc-originated abort to toolchanger.\n \u2022 emc-abort-ack: (bit, in) Acknowledge line from toolchanger for previous signal, or jumpered to aborttool-change if not used in toolchanger. NB: after signaling an emc-abort, iov2 will block until emcabort-ack is raised.\n@@ -10182,15 +10182,15 @@\n die Abort-Handshake-Funktion nicht ben\u00f6tigen, jumpen Sie sie wie folgt:\n net emc-abort-ack iocontrol.0.emc-abort iocontrol.0.emc-abort-ack\n \n Der emc-reason-Pin wird als g\u00fcltig angesehen, wenn emc-abort TRUE ist.\n Die Ausl\u00f6ser-Codes sind wie folgt f\u00fcr LinuxCNC intern generiert Abbr\u00fcche (siehe emc.hh ca Zeile\n 321):\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 185 / 1331\n \n \u2022 EMC_ABORT_TASK_EXEC_ERROR = 1,\n \u2022 EMC_ABORT_AUX_ESTOP = 2,\n \u2022 EMC_ABORT_MOTION_OR_IO_RCS_ERROR = 3,\n \u2022 EMC_ABORT_TASK_STATE_OFF = 4,\n@@ -10221,15 +10221,15 @@\n die Standardebene zu \u00e4ndern, f\u00fcgen Sie die folgende Zeile in die INI-Datei im Abschnitt RS274NGC\n ein.\n RS274NGC_STARTUP_CODE = G18\n \n Die obigen Angaben k\u00f6nnen in einem G-Code-Programm \u00fcberschrieben werden, daher sollten Sie\n wichtige Dinge immer in der Pr\u00e4ambel der G-Code-Datei festlegen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 186 / 1331\n \n 4.7.2 INI-Einstellungen\n Die folgenden INI-Einstellungen werden f\u00fcr den Drehmaschinenmodus in Axis zus\u00e4tzlich zu den normalen Einstellungen in der INI-Datei ben\u00f6tigt oder ersetzen diese. Diese historischen Einstellungen\n verwenden die Identit\u00e4tskinematik (trivkins) und drei Gelenke (0,1,2) entsprechend den Koordinaten\n x, y, z. Das Gelenk 1 f\u00fcr die unbenutzte y-Achse ist erforderlich, wird aber in diesen historischen Konfigurationen nicht verwendet. Simulierte Drehmaschinen-Konfigurationen k\u00f6nnen diese historischen\n@@ -10271,15 +10271,15 @@\n [JOINT_1]\n ...\n [AXIS_X]\n ...\n [AXIS_Z]\n ...\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 187 / 1331\n \n 4.8 Stepper Schnellstart\n This section assumes you have done a standard install from the Live CD. After installation it is recommended that you connect the computer to the Internet and wait for the update manager to pop up\n and get the latest updates for LinuxCNC and Ubuntu before continuing.\n \n@@ -10339,15 +10339,15 @@\n 10\n \n Typ.\n Wenn UnterFunktion\n schiedlich\n X End/Referenzschalter\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 188 / 1331\n \n AusgangsPin\n 2\n \n Typ.\n@@ -10432,15 +10432,15 @@\n \u2022 Motor Teeth and Leadscrew Teeth - ist, wenn Sie eine Untersetzung (Zahnrad, Kette, Zahnriemen\n usw.) zwischen Motor und Leitspindel haben. Wenn nicht, setzen Sie beide auf 1.\n \u2022 Leitspindelsteigung\u2019 - gibt an, wie viel Bewegung (in Benutzereinheiten) in einer Leitspindelumdrehung stattfindet. Wenn Sie auf Zoll eingestellt sind, ist es Zoll pro Umdrehung. Wenn Sie in\n Millimetern einstellen, sind es Millimeter pro Umdrehung.\n Das Nettoergebnis, nach dem Sie suchen, ist die Anzahl der CNC-Ausgabeschritte, die erforderlich\n sind, um eine Benutzereinheit (Zoll oder mm) zu bewegen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 189 / 1331\n \n Beispiel 4.1 Einheiten Zoll\n Stepper = 200 Schritte pro Umdrehung\n Antrieb = 10 Mikroschritte pro Schritt\n Motorverzahnung = 20\n@@ -10468,15 +10468,15 @@\n This chapter describes some of the more common settings for manually setting up a stepper based\n system. These systems are using stepper motors with drives that accept step & direction signals.\n Es ist eines der einfacheren Systeme, da die Motoren im offenen Regelkreis laufen (keine R\u00fcckmeldung von den Motoren), aber das System muss richtig konfiguriert werden, damit die Motoren nicht\n abgew\u00fcrgt werden oder Schritte verlieren.\n Most of this chapter is based on a sample config released along with LinuxCNC. The config is called\n stepper_inch, and can be found by running the Configuration Picker.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 190 / 1331\n \n 4.9.2 Maximale Schrittgeschwindigkeit\n With software step generation, the maximum step rate is one step per two BASE_PERIODs for stepand-direction output. The maximum requested step rate is the product of an axis\u2019 MAX_VELOCITY and\n its INPUT_SCALE. If the requested step rate is not attainable, following errors will occur, particularly\n during fast jogs and G0 moves.\n@@ -10514,15 +10514,15 @@\n loadrt hal_parport cfg=\u201d0x0378\u201d\n #\n # als n\u00e4chstes die Parport-Funktionen mit den Threads verbinden\n # lese zuerst die Eing\u00e4nge\n addf parport.0.read base-thread 1\n # Ausgaben zuletzt schreiben\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 191 / 1331\n \n addf parport.0.write base-thread -1\n #\n # schlie\u00dflich physische Pins mit den Signalen verbinden Netz\n net Xstep => parport.0.pin-03-out\n@@ -10571,15 +10571,15 @@\n ### Beispiel f\u00fcr separate Endschalter auf der X-Achse (Achse 0)\n ###\n # net X-neg-limit parport.0.pin-11-in => joint.0.neg-lim-sw-in\n # net X-pos-limit parport.0.pin-12-in => joint.0.pos-lim-sw-in\n \n \u2190-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 192 / 1331\n \n ###\n ### Genau wie beim Beispiel der gemeinsamen Referenzschalter k\u00f6nnen Sie auch\n ### Endschalter miteinander verbinden. Achten Sie darauf, wenn Sie einen ausl\u00f6sen, wird \u2190LinuxCNC stoppen,\n ### kann Ihnen aber nicht sagen, welche Schalter/Achse verantwortlich ist. Seien Sie \u2190vorsichtig, wenn die den Betrieb\n@@ -10612,15 +10612,15 @@\n Tipp: Achten Sie darauf, dass Sie nicht mehr als ein Signal an denselben Pin anschlie\u00dfen.\n 4.9.3.4 \u00c4ndern der Polarit\u00e4t eines Signals\n If external hardware expects an \u201dactive low\u201d signal, set the corresponding -invert parameter. For\n instance, to invert the spindle control signal:\n setp parport.0.pin-09-invert TRUE\n 4 The fastest thread in the LinuxCNC setup, usually the code gets executed every few tens of microseconds.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 193 / 1331\n \n 4.9.3.5 Hinzuf\u00fcgen einer PWM-Spindeldrehzahlregelung\n Wenn Ihre Spindel durch ein PWM-Signal gesteuert werden kann, verwenden Sie die Komponente\n \u201epwmgen\u201c, um das Signal zu erzeugen:\n loadrt pwmgen output_type=0\n@@ -10657,15 +10657,15 @@\n 4.10.1 H\u00e4ufige Probleme\n 4.10.1.1 Stepper bewegt sich einen Schritt\n Der h\u00e4ufigste Grund, warum sich ein Schrittmotor bei einer Neuinstallation nicht bewegt, ist, dass die\n Schritt- und Richtungssignale vertauscht sind. Wenn Sie die Tasten \u201dTippen vorw\u00e4rts\u201d und \u201dTippen\n r\u00fcckw\u00e4rts\u201d abwechselnd dr\u00fccken und der Schrittmotor sich jedes Mal um einen Schritt und in dieselbe\n Richtung bewegt, haben Sie einen Anhaltspunkt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 194 / 1331\n \n 4.10.1.2 Keine Stepper bewegen sich\n Viele Laufwerke haben einen Freigabe-Pin oder ben\u00f6tigen eine Ladungspumpe, um den Ausgang zu\n aktivieren.\n 4.10.1.3 Abstand nicht korrekt\n@@ -10701,15 +10701,15 @@\n usually an indication that the BASE_PERIOD in the [EMCMOT] section of the ini file is set too low. You\n should run the Latency Test for an extended period of time to see if you have any delays that would\n cause this problem. If you used the StepConf Wizard, run it again, and test the Base Period Jitter again,\n and adjust the Base Period Maximum Jitter on the Basic Machine Information page. You might have to\n leave the test running for an extended period of time to find out if some hardware causes intermittent\n problems.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 195 / 1331\n \n LinuxCNC verfolgt die Anzahl der CPU-Zyklen zwischen den Aufrufen des Echtzeit-Threads. Wenn ein\n Element Ihrer Hardware verursacht Verz\u00f6gerungen oder Ihre Echtzeit-Threads zu schnell eingestellt\n sind, werden Sie diesen Fehler erhalten.\n Anmerkung\n@@ -10753,15 +10753,15 @@\n #1000 = [#1000 - 1]\n o101 endwhile\n ( msg, Done...Z sollte genau .5\u201d \u00fcber dem Tisch liegen )\n M2\n \n \u2190-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 196 / 1331\n \n 4.11 Filter-Programme\n 4.11.1 Einf\u00fchrung\n Die meisten Bildschirme von LinuxCNC haben die M\u00f6glichkeit, geladene Dateien durch ein \u201dFilterprogramm\u201d zu senden oder das Filterprogramm zu verwenden, um G-Code zu machen. Ein solcher Filter\n kann jede gew\u00fcnschte Aufgabe erledigen: Etwas so Einfaches wie sicherzustellen, dass die Datei mit\n@@ -10782,15 +10782,15 @@\n Es ist auch m\u00f6glich, einen Interpreter anzugeben:\n PROGRAM_EXTENSION = .py Python Script\n py = python\n \n Auf diese Weise kann jedes Python-Skript ge\u00f6ffnet werden, und seine Ausgabe wird als G-Code behandelt. Ein solches Beispielskript ist unter \u201dnc_files/holecircle.py\u201d verf\u00fcgbar. Dieses Skript erzeugt\n G-Code f\u00fcr das Bohren einer Reihe von L\u00f6chern entlang des Umfangs eines Kreises.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 197 / 1331\n \n Abbildung 4.9: Kreisf\u00f6rmige L\u00f6cher\n Wenn das Filterprogramm Zeilen in der folgenden Form an stderr sendet:\n FILTER_PROGRESS=10\n \n@@ -10810,15 +10810,15 @@\n time.sleep(.1)\n # Ausgabe einer Zeile G-Code\n print(\u2019G0 X1\u2019, file=sys.stdout)\n # Fortschritt aktualisieren\n print(\u2019FILTER_PROGRESS={}\u2019.format(i), file=sys.stderr)\n except:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 198 / 1331\n \n # Dies f\u00fchrt zu einer Fehlermeldung\n print(\u2019Fehler; Aber das war nur ein Test\u2019, file=sys.stderr)\n raise SystemExit(1)\n \n@@ -10860,15 +10860,15 @@\n print(\u2019You asked to cancel before finished.\u2019, file=sys.stderr)\n raise SystemExit(1)\n def process(self):\n try:\n # n\u00e4chste Codezeile erhalten\n codeLine = self.temp[self.line]\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 199 / 1331\n \n # die Zeile irgendwie verarbeiten\n # Verarbeiteten Code ausgeben\n print(codeLine, file=sys.stdout)\n self.line +=1\n@@ -10891,15 +10891,15 @@\n else:\n path = None\n app = QApplication(sys.argv)\n w = CustomDialog(path=path)\n w.show()\n sys.exit( app.exec_() )\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 200 / 1331\n \n Kapitel 5\n \n HAL (Hardware Abstraction Layer)\n 5.1 HAL Introduction\n@@ -10923,15 +10923,15 @@\n of what CNC machines need to do, or space craft.\n Any machine controller needs to know:\n \u2022 about its internal state and how this maps to the environment (machine coordinates, state of switches/regulators),\n \u2022 how actuators are expected to change that state,\n \u2022 how allow for updates of the internal state by sensors (encoders, probes).\n The HAL layer consists of parts (referred to as \u201dcomponents\u201d) that\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 201 / 1331\n \n \u2022 are connected with each other, e.g., to update position data or have the planning algorithm tell the\n motors about the next step.\n \u2022 may know how to communicate with hardware,\n \u2022 may simply process incoming data and provide data outputs to other components,\n@@ -10964,15 +10964,15 @@\n \u2022 from within C/C++ programs,\n but none of these interfaces are HAL itself.\n HAL itself is not a program, it consists of one or more lists of loaded programs (the components) that\n are periodically executed (in strict sequence), and an area of shared-memory that these components\n use to interchange data. The main HAL script runs only once at machine startup, setting up the realtime threads and the shared-memory locations, loading the components and setting up the data links\n between them (the \u201dsignals\u201d and \u201dpins\u201d).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 202 / 1331\n \n In principle multiple machines could share a common HAL to allow them to inter-operate, however\n the current implementation of LinuxCNC is limited to a single interpreter and a single Task module.\n Currently this is almost always a G-code interpreter and \u201dmilltask\u201d (which was found to also work well\n for lathes and adequately for robots) but these modules are selectable at load-time. With an increasing\n@@ -11013,15 +11013,15 @@\n number of components that know a lot about CNC and present that information via pins. There are\n pins representing\n \u2022 static information about the machine\n \u2022 the current state of the machine\n \u2013 end switches\n \u2013 positions counted by steppers or as measured by encoders\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 203 / 1331\n \n \u2022 recipients for instructions\n \u2013 manual control of machine position (\u201djogging\u201d)\n \u2013 positions that stepper motors should take next\n In a analogy to electronic cables, pins can be wired, so the value changing in one pin serves as input to\n@@ -11063,15 +11063,15 @@\n \u2013 developing over time.\n \n 5.1.3 HAL System Design\n HAL basiert auf traditionellen Systementwurfstechniken. HAL is based on the same principles\n that are used to design hardware circuits and systems, so it is useful to examine those principles first.\n Any system, including a CNC machine, consists of interconnected components. For the CNC machine,\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 204 / 1331\n \n those components might be the main controller, servo amps or stepper drives, motors, encoders, limit\n switches, pushbutton pendants, perhaps a VFD for the spindle drive, a PLC to run a toolchanger, etc.\n The machine builder must aselect, mount and wire these pieces together to make a complete system.\n \n@@ -11093,15 +11093,15 @@\n black boxes. During the design stage, he decides which parts he is going to use - steppers or servos,\n which brand of servo amp, what kind of limit switches and how many, etc. The integrator\u2019s decisions\n about which specific components to use is based on what that component does and the specifications\n supplied by the manufacturer of the device. The size of a motor and the load it must drive will affect the\n choice of amplifier needed to run it. The choice of amplifier may affect the kinds of feedback needed\n by the amp and the velocity or position signals that must be sent to the amp from a control.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 205 / 1331\n \n In the HAL world, the integrator must decide what HAL components are needed. Usually every interface card will require a driver. Additional components may be needed for software generation of step\n pulses, PLC functionality, and a wide variety of other tasks.\n 5.1.3.2 Interconnection Design\n The designer of a hardware system not only selects the parts, he also decides how those parts will be\n@@ -11127,15 +11127,15 @@\n HAL provides the software equivalents of a voltmeter, oscilloscope, signal generator, and other tools\n needed for testing and tuning a system. The same commands used to build the system can be used to\n make changes as needed.\n 5.1.3.5 Summary\n This document is aimed at people who already know how to do this kind of hardware system integration, but who do not know how to connect the hardware to LinuxCNC. See the Remote Start Example\n section in the HAL UI Examples documentation.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 206 / 1331\n \n Abbildung 5.2: Remote-Start-Beispiel (Schema)\n The traditional hardware design as described above ends at the edge of the main control. Outside the\n control are a bunch of relatively simple boxes, connected together to do whatever is needed. Inside,\n the control is a big mystery \u2014 one huge black box that we hope works.\n@@ -11160,15 +11160,15 @@\n because these terms are not arranged in alphabetical order. They are arranged by their relationship\n or flow in the HAL way of things.\n Komponente\n When we talked about hardware design, we referred to the individual pieces as parts, building\n blocks, black boxes, etc. The HAL equivalent is a component or HAL component. This document\n uses HAL component when there is likely to be confusion with other kinds of components, but\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 207 / 1331\n \n normally just uses component. A HAL component is a piece of software with well-defined inputs,\n outputs, and behavior, that can be installed and interconnected as needed. + + Many HAL Components model the behaviour of a tangible part of a machine, and a pin may indeed be meant to\n be connected to a physical pin on the device to communicate with it, hence the names. But most\n often this is not the case. Imagine a retrofit of a manual lathe/mill. What LinuxCNC implements\n@@ -11208,15 +11208,15 @@\n Both pins and signals have types, and signals can only be connected to pins of ffvthe same type.\n Currently there are 4 types, as follows:\n \u2022 bit - ein einzelner TRUE/FALSE- oder ON/OFF-Wert\n \u2022 float - eine 64-Bit-Flie\u00dfkommazahl mit einer Aufl\u00f6sung von etwa 53 Bit und einem Dynamikbereich von \u00fcber 1000 Bit.\n \u2022 u32 - eine 32-Bit-Ganzzahl ohne Vorzeichen, zul\u00e4ssige Werte sind 0 bis 4.294.967.295\n \u2022 s32 - eine 32-Bit-Ganzzahl mit Vorzeichen, zul\u00e4ssige Werte sind -2.147.483.647 bis +2.147.483.647\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 208 / 1331\n \n Funktion\n Real hardware components tend to act immediately on their inputs. For example, if the input\n voltage to a servo amp changes, the output also changes automatically. However software components cannot act automatically. Each component has specific code that must be executed to\n do whatever that component is supposed to do. In some cases, that code simply runs as part of\n@@ -11258,15 +11258,15 @@\n de-energizes the coil. So the relay still switches rapidly between on and off, but at a rate determined\n by how often the PLC evaluates the rung.\n In HAL, the function is the code that evaluates the rung(s). In fact, the HAL-aware realtime version\n of ClassicLadder exports a function to do exactly that. Meanwhile, a thread is the thing that runs the\n function at specific time intervals. Just like you can choose to have a PLC evaluate all its rungs every\n 10 ms, or every second, you can define HAL threads with different periods.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 209 / 1331\n \n What distinguishes one thread from another is not what the thread does - that is determined by which\n functions are connected to it. The real distinction is simply how often a thread runs.\n In LinuxCNC you might have a 50 \u00b5s thread and a 1 ms thread. These would be created based on\n BASE_PERIOD and SERVO_PERIOD, the actual times depend on the values in your INI file.\n@@ -11280,15 +11280,15 @@\n 5.2.1 HAL Commands\n Ausf\u00fchrlichere Informationen finden Sie in der Manpage f\u00fcr halcmd: f\u00fchren Sie man halcmd in einem\n Terminalfenster aus.\n To see the HAL configuration and check the status of pins and parameters use the HAL Configuration\n window on the Machine menu in AXIS. To watch a pin status open the Watch tab and click on each\n pin you wish to watch and it will be added to the watch window.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 210 / 1331\n \n Abbildung 5.3: HAL-Konfigurationsfenster\n \n 5.2.1.1\n \n@@ -11308,15 +11308,15 @@\n The addf command adds a function to a real-time thread. If the StepConf wizard was used to create\n the configuration, two threads have been created ( \u0300 \u0300base-thread \u0300 \u0300 and \u0300 \u0300servo-thread \u0300 \u0300).\n addf adds function functname to thread threadname. Default is to add the function in the order they\n are in the file. If position is specified, adds the function to that spot in the thread. A negative position\n indicates the position with respect to the end of the thread. For example 1 is start of thread, -1 is the\n end of the thread, -3 is third from the end.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 211 / 1331\n \n For some functions it is important to load them in a certain order, like the parport read and write\n functions. The function name is usually the component name plus a number. In the following example\n the component or2 is loaded and show function shows the name of the or2 function.\n $ halrun\n@@ -11387,15 +11387,15 @@\n ausgegangen, dass die Komponente denselben Namen hat wie das erste\n Argument des Befehls.\n um auf die Komponente zu warten, die den angegebenen haben wird.\n Dies gilt nur, wenn die Komponente eine Namensoption hat.\n um zu warten, bis das Programm beendet wird\n um den R\u00fcckgabewert des Programms zu ignorieren (mit -w)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n -n\n \n 212 / 1331\n \n Benennt eine Komponente, sofern dies eine zul\u00e4ssige Option f\u00fcr diese\n Komponente ist.\n@@ -11427,15 +11427,15 @@\n \u2022 Ein IN-Pin kann immer mit einem Signal verbunden werden.\n \u2022 Ein IO-Pin kann angeschlossen werden, sofern kein ein OUT-Pin am Signal anliegt.\n \u2022 Ein OUT-Pin kann nur angeschlossen werden, wenn es keine anderen OUT- oder IO-Pins am Signal\n gibt.\n Derselbe Signal-Name kann in mehreren Netzbefehlen verwendet werden, um zus\u00e4tzliche Pins zu\n verbinden, solange die obigen Regeln beachtet werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 213 / 1331\n \n Abbildung 5.4: Signalrichtung (engl. signal direction)\n This example shows the signal xStep with the source being stepgen.0.out and with two readers,\n parport.0.pin-02-out and parport.0.pin-08-out. Basically the value of stepgen.0.out is sent to\n the signal xStep and that value is then sent to parport.0.pin-02-out and parport.0.pin-08-out.\n@@ -11462,15 +11462,15 @@\n \n The command setp sets the value of a pin or parameter. The valid values will depend on the type of\n the pin or parameter. It is an error if the data types do not match.\n Some components have parameters that need to be set before use. Parameters can be set before use\n or while running as needed. You cannot use setp on a pin that is connected to a signal.\n Syntax and Examples of setp\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 214 / 1331\n \n setp \n setp parport.0.pin-08-out TRUE\n \n 5.2.1.6\n@@ -11513,15 +11513,15 @@\n linkps parport.0.pin-02-out X-Step\n \n The linkps command has been superseded by the net command.\n the command newsig creates a new HAL signal by the name and the data type of .\n Type must be bit, s32, u32 or float. Error if already exists.\n Syntax and Examples of newsig\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 215 / 1331\n \n newsig \n newsig Xstep bit\n \n Weitere Informationen finden Sie im HAL-Handbuch oder in den Man Pages f\u00fcr halrun.\n@@ -11561,15 +11561,15 @@\n ge\u00e4ndert werden, wenn Sie den Stepper-Konfigurationsassistenten verwendet haben.\n \u2022 custom.hal This file is loaded next and before the GUI loads. This is where you put your custom HAL\n commands that you want loaded before the GUI is loaded.\n \u2022 custom_postgui.hal This file is loaded after the GUI loads. This is where you put your custom HAL\n commands that you want loaded after the GUI is loaded. Any HAL commands that use PyVCP widgets\n need to be placed here.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 216 / 1331\n \n 5.2.4 HAL Parameter\n Two parameters are automatically added to each HAL component when it is created. These parameters\n allow you to scope the execution time of a component.\n .time\n@@ -11620,15 +11620,15 @@\n \n out\n False\n False\n False\n True\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 5.2.5.2\n \n 217 / 1331\n \n not\n \n@@ -11684,15 +11684,15 @@\n \n out\n True\n True\n True\n False\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 5.2.5.4\n \n 218 / 1331\n \n xor2\n \n@@ -11747,15 +11747,15 @@\n \n The weighted sum converts a group of bits into an integer. The conversion is the sum of the weights of\n the bits present plus any offset. It\u2019s similar to binary coded decimal but with more options. The hold\n bit interrupts the input processing, so that the sum value no longer changes.\n Syntax for loading component weighted_sum\n loadrt weighted_sum wsum_sizes=size[,size,...]\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 219 / 1331\n \n Creates groups of \u0300 \u0300weighted_sum \u0300 \u0300s, each with the given number of input bits (size).\n Um die \u201dweighted_sum\u201d zu aktualisieren, muss der \u201dprocess_wsums\u201d an einen Thread angeh\u00e4ngt\n werden.\n Add process_wsums to servo thread\n@@ -11845,15 +11845,15 @@\n loadrt and2 count=3\n \n Configurations are more readable if you specify with the names= option for components where it is\n supported, e.g.:\n Example load command resulting in explicitly named components aa, ab, ac.\n loadrt and2 names=aa,ab,ac\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 220 / 1331\n \n It can be a maintenance problem to keep track of the components and their names, since when you\n add (or remove) a component, you must find and update the single loadrt directive applicable to the\n component.\n TWOPASS processing is enabled by including an INI file parameter in the [HAL] section,\n@@ -11889,15 +11889,15 @@\n In einem zweiten Durchlauf werden dann alle anderen in den HALFILES angegebenen LinuxCNCBefehle ausgef\u00fchrt. Die addf-Befehle verkn\u00fcpfen die Funktionen einer Komponente mit der ThreadAusf\u00fchrung und werden in diesem zweiten Durchgang in der Reihenfolge ihres Erscheinens zusammen mit anderen Befehlen ausgef\u00fchrt.\n Die Optionen \u201dcount=\u201d und \u201dnames=\u201d k\u00f6nnen zwar verwendet werden, schlie\u00dfen sich aber gegenseitig aus - f\u00fcr ein bestimmtes Modul kann nur ein Typ angegeben werden.\n Die TWOPASS-Verarbeitung ist am effektivsten, wenn die Option \u201dnames=\u201d verwendet wird. Mit dieser Option k\u00f6nnen Sie eindeutige Namen vergeben, die als Ged\u00e4chtnisst\u00fctze dienen oder anderweitig\n f\u00fcr die Konfiguration relevant sind. Wenn Sie z. B. eine Ableitungskomponente zur Sch\u00e4tzung der Geschwindigkeiten und Beschleunigungen an jeder (x,y,z)-Koordinate verwenden, f\u00fchrt die Verwendung\n der count=-Methode zu obskuren Komponentennamen wie ddt.0, ddt.1, ddt.2, usw.\n Alternativ k\u00f6nnen Sie auch die Option names= verwenden:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 221 / 1331\n \n loadrt ddt names=xvel,yvel,zvel\n ...\n loadrt ddt names=xaccel,yaccel,zaccel\n \n@@ -11939,15 +11939,15 @@\n 5.3.3 Ausschlie\u00dfen von HAL-Dateien\n TWOPASS processing converts .hal files to equivalent .tcl files and uses haltcl to find loadrt and addf\n commands in order to accumulate and consolidate their usage. Loadrt parameters that conform to\n the simple names= (or count=) parameters accepted by the HAL Component Generator (halcompile)\n are expected. More complex parameter items included in specialized LinuxCNC components may not\n be handled properly.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 222 / 1331\n \n A .hal file may be excluded from TWOPASS processing by including a magic comment line anywhere in\n the .hal file. The magic comment line must begin with the string: #NOTWOPASS. Files specified with this\n magic comment are sourced by halcmd using the -k (keep going if failure) and -v (verbose) options.\n Diese Ausschlussbestimmung kann verwendet werden, um Probleme zu isolieren oder um spezielle\n@@ -11982,15 +11982,15 @@\n \n 5.4 HAL Tutorial\n 5.4.1 Einf\u00fchrung\n Die Konfiguration geht von der Theorie zum Ger\u00e4t \u00fcber - dem HAL-Ger\u00e4t. F\u00fcr diejenigen, die nur ein\n wenig Erfahrung mit Computerprogrammierung haben, ist dieser Abschnitt das \u201dHello World\u201d des\n HAL.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 223 / 1331\n \n halrun kann verwendet werden, um ein funktionierendes System zu erstellen. Es ist ein Kommandozeilenoder Textdateiwerkzeug f\u00fcr Konfiguration und Tuning.\n \n 5.4.2 Halcmd\n halcmd ist ein Befehlszeilentool zum Manipulieren von HAL. Eine vollst\u00e4ndigere Manpage existiert\n@@ -12030,15 +12030,15 @@\n Linux. Unfortunately, each RTOS does things a little differently.\n Um diese Unterschiede zu beseitigen, hat das LinuxCNC-Team die RTAPI entwickelt, die einen einheitlichen Weg f\u00fcr Programme bietet, um mit dem RTOS zu kommunizieren. Wenn Sie ein Programmierer\n sind, der an den Interna von LinuxCNC arbeiten will, sollten Sie vielleicht linuxcnc/src/rtapi/rtapi.h\n studieren, um die API zu verstehen. Aber wenn Sie eine normale Person sind, ist alles, was Sie \u00fcber\n RTAPI wissen m\u00fcssen, dass es (und das RTOS) in den Speicher Ihres Computers geladen werden muss,\n bevor Sie etwas mit HAL machen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 224 / 1331\n \n 5.4.3 Ein einfaches Beispiel\n 5.4.3.1 Laden einer Komponente\n F\u00fcr dieses Tutorial gehen wir davon aus, dass Sie die Live-CD erfolgreich installiert haben und, falls\n Sie eine RIP footnote: [Run In Place, wenn die Quelldateien in ein Benutzerverzeichnis heruntergeladen wurden und direkt von dort aus kompiliert und ausgef\u00fchrt werden] Installation verwenden, das\n@@ -12087,15 +12087,15 @@\n halcmd at the same time (in different terminal windows for example), so the PID is added to the end of\n the name to make it unique. The list also shows the siggen component that we installed in the previous\n step. The RT under Type indicates that siggen is a realtime component. The User under Type indicates\n it is a non-realtime component.\n Next, let\u2019s see what pins siggen makes available:\n Pins anzeigen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 225 / 1331\n \n halcmd: show pin\n Component Pins:\n Owner\n Type\n@@ -12190,15 +12190,15 @@\n to any threads, so users is zero 1 .\n 5.4.3.3 Echtzeitcode zum Laufen bringen\n To actually run the code contained in the function siggen.0.update, we need a realtime thread. The\n component called threads that is used to create a new thread. Lets create a thread called \u201dtest-thread\u201d\n with a period of 1 ms (1,000 \u00b5s or 1,000,000 ns):\n 1 CodeAddr and Arg fields were used during development and should probably disappear.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 226 / 1331\n \n halcmd: loadrt threads name1=test-thread period1=1000000\n \n Mal sehen, ob das funktioniert:\n Threads anzeigen\n@@ -12293,15 +12293,15 @@\n Owner\n Type Dir\n \n Value\n \n Name\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 3\n 3\n 3\n 3\n 3\n 3\n@@ -12414,15 +12414,15 @@\n Das meiste, was wir bisher mit halcmd gemacht haben, war einfach das Anzeigen von Dingen mit dem\n show-Befehl. Zwei der Befehle haben jedoch tats\u00e4chlich Dinge ver\u00e4ndert. Wenn wir komplexere Systeme mit HAL entwerfen, werden wir viele Befehle verwenden, um die Dinge genau so zu konfigurieren,\n wie wir sie haben wollen. HAL hat ein Ged\u00e4chtnis wie ein Elefant und beh\u00e4lt diese Konfiguration bei,\n bis wir es abschalten. Aber was ist beim n\u00e4chsten Mal? Wir wollen nicht jedes Mal, wenn wir das\n System benutzen wollen, eine Reihe von Befehlen manuell eingeben.\n Saving the configuration of the entire HAL with a single command.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 228 / 1331\n \n halcmd: save\n # Komponenten\n loadrt threads name1=test-thread period1=1000000\n loadrt siggen\n@@ -12458,15 +12458,15 @@\n file saved.hal to add it there).\n 5.4.3.8 HAL aus dem Speicher entfernen\n Wenn eine HAL-Sitzung unerwartet beendet wird, m\u00fcssen Sie m\u00f6glicherweise HAL entladen, bevor\n eine neue Sitzung beginnen kann. Geben Sie dazu den folgenden Befehl in ein Terminalfenster ein.\n Removing HAL\n halrun -U\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 5.4.4\n \n 229 / 1331\n \n Halmeter\n \n@@ -12504,27 +12504,27 @@\n halcmd: start\n halcmd: setp siggen.0.amplitude 5\n \n At this point we have the siggen component loaded and running. It\u2019s time to start halmeter.\n Halmeter starten\n halcmd: loadusr halmeter\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 230 / 1331\n \n The first window you will see is the \u201dSelect Item to Probe\u201d window.\n \n Abbildung 5.5: Halmeter Auswahlfenster\n This dialog has three tabs. The first tab displays all of the HAL pins in the system. The second one\n displays all the signals, and the third displays all the parameters. We would like to look at the pin\n siggen.0.cosine first, so click on it then click the \u201dClose\u201d button. The probe selection dialog will\n close, and the meter looks something like the following figure.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 231 / 1331\n \n Abbildung 5.6: Halmeter-Fenster\n To change what the meter displays press the \u201dSelect\u201d button which brings back the \u201dSelect Item to\n Probe\u201d window.\n Sie sollten sehen, wie sich der Wert \u00e4ndert, wenn siggen seine Kosinuswelle erzeugt. Das Halmeter\n@@ -12554,15 +12554,15 @@\n The first command loads two step generators, both configured to generate stepping type 0. The second\n command loads our old friend siggen, and the third one creates two threads, a fast one with a period\n of 50 microseconds (\u00b5s) and a slow one with a period of 1 millisecond (ms). The fast thread doesn\u2019t\n support floating point functions.\n As before, we can use halcmd show to take a look at the HAL. This time we have a lot more pins and\n parameters than before:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 232 / 1331\n \n halcmd: show pin\n Component Pins:\n Owner\n Type Dir\n@@ -12744,15 +12744,15 @@\n stepgen.capture-position.time\n stepgen.capture-position.tmax\n stepgen.make-pulses.time\n stepgen.make-pulses.tmax\n stepgen.update-freq.time\n stepgen.update-freq.tmax\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 233 / 1331\n \n 5.4.5.2 Verbinden von Pins mit Signalen\n Wir haben also zwei Schrittimpulsgeneratoren und einen Signalgenerator. Nun ist es an der Zeit,\n einige HAL-Signale zu erzeugen, um die beiden Komponenten zu verbinden. Wir tun so, als ob die beiden Schrittimpulsgeneratoren die X- und Y-Achse einer Maschine antreiben w\u00fcrden. Wir wollen den\n Tisch im Kreis bewegen. Dazu senden wir ein Kosinussignal an die X-Achse und ein Sinussignal an die\n@@ -12810,15 +12810,15 @@\n signal comes from pin siggen.0.cosine, and goes to pin stepgen.0.velocity-cmd.\n 5.4.5.3 Einrichten der Echtzeitausf\u00fchrung - Threads und Funktionen\n Thinking about data flowing through \u201dwires\u201d makes pins and signals fairly easy to understand. Threads\n and functions are a little more difficult. Functions contain the computer instructions that actually get\n things done. Thread are the method used to make those instructions run when they are needed. First\n let\u2019s look at the functions available to us.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 234 / 1331\n \n halcmd: show funct\n Exported Functions:\n Owner\n CodeAddr Arg\n@@ -12902,15 +12902,15 @@\n (\n slow (\n \n Time, Max-Time )\n 0,\n 0 )\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 49849\n \n NO\n \n 1 siggen.0.update\n 2 stepgen.update-freq\n@@ -12961,39 +12961,39 @@\n \n 5.4.6 Halscope\n Das vorherige Beispiel erzeugt einige sehr interessante Signale. Aber vieles von dem, was passiert,\n ist viel zu schnell, um es mit dem Halmeter zu sehen. Um einen genaueren Blick auf die Vorg\u00e4nge\n im Inneren des HAL zu werfen, brauchen wir ein Oszilloskop. Gl\u00fccklicherweise verf\u00fcgt HAL \u00fcber ein\n solches, genannt halscope.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 236 / 1331\n \n Halscope has two parts - a realtime part that reads the HAL signals, and a non-realtime part that\n provides the GUI and display. However, you don\u2019t need to worry about this because the non-realtime\n part will automatically load the realtime part when needed.\n With LinuxCNC running in a terminal you can start halscope with the following command.\n Halscope starten\n halcmd loadusr halscope\n \n Wenn LinuxCNC nicht l\u00e4uft oder die Datei autosave.halscope nicht mit den Pins \u00fcbereinstimmt, die\n im aktuell laufenden LinuxCNC verf\u00fcgbar sind, \u00f6ffnet sich das Scope-GUI-Fenster, unmittelbar gefolgt von einem Dialog Realtime function not linked, der wie die folgende Abbildung aussieht. Um die\n Abtastrate zu \u00e4ndern, klicken Sie mit der linken Maustaste auf das Feld Samples.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 237 / 1331\n \n Abbildung 5.7: Dialog Echtzeitfunktion nicht verkn\u00fcpft\n This dialog is where you set the sampling rate for the oscilloscope. For now we want to sample once\n per millisecond, so click on the 989 \u00b5s thread slow and leave the multiplier at 1. We will also leave the\n record length at 4000 samples, so that we can use up to four channels at one time. When you select\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 238 / 1331\n \n a thread and then click OK, the dialog disappears, and the scope window looks something like the\n following figure.\n \n Abbildung 5.8: Fenster f\u00fcr den anf\u00e4nglichen Geltungsbereich\n@@ -13005,34 +13005,34 @@\n die Aufzeichnung verf\u00fcgbare Speicher auf etwa 16.000 Samples festgelegt ist.\n Die Kanalschaltfl\u00e4chen befinden sich am unteren Rand des Halskop-Bildschirms. Wenn Sie auf die\n Schaltfl\u00e4che \u201d1\u201d klicken, wird das Dialogfeld \u201dSelect Channel Source\u201d (Kanalquelle ausw\u00e4hlen) angezeigt, wie in der folgenden Abbildung dargestellt. Dieser Dialog ist dem von Halmeter verwendeten\n Dialog sehr \u00e4hnlich. Wir m\u00f6chten uns die Signale ansehen, die wir zuvor definiert haben, also klicken\n wir auf die Registerkarte \u201dSignale\u201d, und der Dialog zeigt alle Signale im HAL an (in diesem Beispiel\n nur zwei).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 239 / 1331\n \n Abbildung 5.9: Kanalquelle ausw\u00e4hlen\n Um ein Signal auszuw\u00e4hlen, klicken Sie es einfach an. In diesem Fall m\u00f6chten wir, dass auf Kanal 1\n das Signal \u201dX-vel\u201d angezeigt wird. Klicken Sie auf die Registerkarte \u201dSignale\u201d und dann auf \u201dX-vel\u201d.\n Das Dialogfeld schlie\u00dft sich und der Kanal ist nun ausgew\u00e4hlt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 240 / 1331\n \n Abbildung 5.10: Signal ausw\u00e4hlen\n Die Taste f\u00fcr Kanal 1 wird gedr\u00fcckt, und die Kanalnummer 1 und die Bezeichnung \u201dX-vel\u201d erscheinen\n unter der Tastenreihe. Diese Anzeige zeigt immer den ausgew\u00e4hlten Kanal an - Sie k\u00f6nnen mehrere\n Kan\u00e4le auf dem Bildschirm haben, aber der ausgew\u00e4hlte Kanal ist hervorgehoben, und die verschiedenen Steuerelemente wie vertikale Position und Skalierung funktionieren immer f\u00fcr den ausgew\u00e4hlten\n Kanal.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 241 / 1331\n \n Abbildung 5.11: Halscope\n To add a signal to channel 2, click the 2 button. When the dialog pops up, click the Signals tab, then\n click on Y-vel. We also want to look at the square and triangle wave outputs. There are no signals\n connected to those pins, so we use the Pins tab instead. For channel 3, select siggen.0.triangle and\n@@ -13042,15 +13042,15 @@\n haben und 1000 Samples pro Sekunde erfassen, wird halscope etwa 2 Sekunden brauchen, um die\n H\u00e4lfte seines Puffers zu f\u00fcllen. W\u00e4hrend dieser Zeit zeigt ein Fortschrittsbalken direkt \u00fcber dem\n Hauptbildschirm an, dass der Puffer gef\u00fcllt ist. Sobald der Puffer halb voll ist, wartet das Scope auf einen Trigger. Da wir noch keinen konfiguriert haben, wird es ewig warten. Um es manuell auszul\u00f6sen,\n klicken Sie auf die Schaltfl\u00e4che \u201dErzwingen\u201d im Abschnitt \u201dAusl\u00f6ser\u201d oben rechts. Sie sollten sehen,\n wie sich der Rest des Puffers f\u00fcllt, und dann werden die erfassten Wellenformen auf dem Bildschirm\n angezeigt. Das Ergebnis sieht ungef\u00e4hr so aus wie in der folgenden Abbildung.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 242 / 1331\n \n Abbildung 5.12: Erfasste Wellenformen\n The Selected Channel box at the bottom tells you that the purple trace is the currently selected one,\n channel 4, which is displaying the value of the pin siggen.0.square. Try clicking channel buttons 1\n through 3 to highlight the other three traces.\n@@ -13059,30 +13059,30 @@\n verwenden wir die \u201dVertikal\u201d-Steuerungen in der Box auf der rechten Seite des Bildschirms. Diese\n Regler wirken sich auf den aktuell ausgew\u00e4hlten Kanal aus. Bei der Einstellung der Verst\u00e4rkung ist\n zu beachten, dass sie einen riesigen Bereich abdeckt - im Gegensatz zu einem echten Oszilloskop kann\n dieses Ger\u00e4t Signale von sehr kleinen (Pico-Einheiten) bis zu sehr gro\u00dfen (Tera-Einheiten) anzeigen.\n Mit dem Positionsregler wird die angezeigte Kurve nur \u00fcber die H\u00f6he des Bildschirms nach oben und\n unten bewegt. F\u00fcr gr\u00f6\u00dfere Einstellungen sollte die Offset-Taste verwendet werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 243 / 1331\n \n Abbildung 5.13: Vertikale Einstellung\n Die gro\u00dfe Schaltfl\u00e4che Ausgew\u00e4hlter Kanal am unteren Rand zeigt an, dass Kanal 1 der aktuell ausgew\u00e4hlte Kanal ist und dass er mit dem X-vel-Signal \u00fcbereinstimmt. Versuchen Sie, auf die anderen\n Kan\u00e4le zu klicken, um ihre Spuren sichtbar zu machen und sie mit dem Pos-Cursor verschieben zu\n k\u00f6nnen.\n 5.4.6.4 Triggering (automatisches Ausl\u00f6sen)\n Die Verwendung des Button \u201dErzwingen\u201d ist eine eher unbefriedigende Art, das Oszilloskop auszul\u00f6sen. Um eine echte Triggerung einzurichten, klicken Sie auf die Schaltfl\u00e4che \u201dQuelle\u201d unten rechts.\n Daraufhin wird das Dialogfeld \u201dTrigger Source\u201d (Triggerquelle) angezeigt, das einfach eine Liste aller\n derzeit angeschlossenen Sonden enth\u00e4lt. W\u00e4hlen Sie eine Sonde f\u00fcr die Triggerung aus, indem Sie\n auf sie klicken. In diesem Beispiel verwenden wir Kanal 3, die Dreieckswelle, wie in der folgenden\n Abbildung dargestellt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 244 / 1331\n \n Abbildung 5.14: Dialogfeld Triggerquelle (engl. trigger source)\n Nachdem Sie die Triggerquelle eingestellt haben, k\u00f6nnen Sie den Triggerpegel und die Triggerposition mit den Schiebereglern im Feld \u201dTrigger\u201d am rechten Rand einstellen. Der Pegel kann vom\n oberen bis zum unteren Rand des Bildschirms eingestellt werden und wird unter den Schiebereglern\n angezeigt. Die Position ist die Lage des Ausl\u00f6sepunkts innerhalb der gesamten Aufzeichnung. Ist der\n@@ -13091,15 +13091,15 @@\n dem Ausl\u00f6sen passiert ist. Der Triggerpunkt ist als vertikale Linie in der Fortschrittsanzeige \u00fcber\n dem Bildschirm sichtbar. Die Triggerpolarit\u00e4t kann durch Klicken auf die Schaltfl\u00e4che direkt unter\n der Triggerpegelanzeige ge\u00e4ndert werden. Sie wird dann absteigend. Beachten Sie, dass die \u00c4nderung der Triggerposition das Oszilloskop anh\u00e4lt, sobald die Position angepasst wurde, starten Sie das\n Oszilloskop erneut, indem Sie auf die Schaltfl\u00e4che Normal des Run-Modus der Gruppe klicken.\n Nachdem wir nun die vertikalen Regler und die Triggerung eingestellt haben, sieht die Anzeige des\n Oszilloskops etwa wie in der folgenden Abbildung aus.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 245 / 1331\n \n Abbildung 5.15: Wellenformen mit Triggerung\n \n 5.4.6.5 Horizontale Anpassungen\n To look closely at part of a waveform, you can use the zoom slider at the top of the screen to expand\n@@ -13108,15 +13108,15 @@\n the sampling rate. For example, we would like to look at the actual step pulses that are being generated\n in our example. Since the step pulses may be only 50 \u00b5s long, sampling at 1 kHz isn\u2019t fast enough. To\n change the sample rate, click on the button that displays the number of samples and sample rate to\n bring up the Select Sample Rate dialog figure. For this example, we will click on the 50 \u00b5s thread,\n fast, which gives us a sample rate of about 20 kHz. Now instead of displaying about 4 seconds worth\n of data, one record is 4000 samples at 20 kHz, or about 0.20 seconds.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 246 / 1331\n \n Abbildung 5.16: Dialogfeld f\u00fcr Abtastrate\n \n 5.4.6.6 Weitere Kan\u00e4le\n Now let\u2019s look at the step pulses. Halscope has 16 channels, but for this example we are using only 4 at\n@@ -13125,15 +13125,15 @@\n do the same for channel 4. Even though the channels are turned off, they still remember what they are\n connected to, and in fact we will continue to use channel 3 as the trigger source. To add new channels,\n select channel 5, and choose pin stepgen.0.dir, then channel 6, and select stepgen.0.step. Then\n click run mode Normal to start the scope, and adjust the horizontal zoom to 5 ms per division. You\n should see the step pulses slow down as the velocity command (channel 1) approaches zero, then the\n direction pin changes state and the step pulses speed up again. You might want toincrease the gain on\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 247 / 1331\n \n channel 1 to about 20 milli per division to better see the change in the velocity command. The result\n should look like the following figure.\n \n Abbildung 5.17: Schrittimpulse\n@@ -13147,15 +13147,15 @@\n Verf\u00fcgung stehen. (Wenn scope_rt bereits geladen war, hat das numerische Argument f\u00fcr halscope\n keine Auswirkungen).\n \n 5.5 HAL Examples\n All of these examples assume you are starting with a StepConf-based configuration and have two\n threads base-thread and servo-thread. The StepConf wizard will create an empty custom.hal and a\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 248 / 1331\n \n custom_postgui.hal file. The custom.hal file will be loaded after the configuration HAL file and the\n custom_postgui.hal file is loaded after the GUI has been loaded.\n \n 5.5.1 Verbinden von zwei Ausg\u00e4ngen\n@@ -13217,15 +13217,15 @@\n pin. From the direction arrow you can see that the button is and output and the or2.0.in0 is an input.\n The output from or2 goes to the input of the LED.\n \n 5.5.2 Manueller Werkzeugwechsel\n In this example it is assumed that you\u2019re rolling your own configuration and wish to add the HAL\n Manual Toolchange window. The HAL Manual Toolchange is primarily useful if you have presettable\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 249 / 1331\n \n tools and you store the offsets in the tool table. If you need to touch off for each tool change then it is\n best just to split up your G-code. To use the HAL Manual Toolchange window you basically have to\n 1. load the hal_manualtoolchange component,\n 2. then send the iocontrol tool change to the hal_manualtoolchange change and\n@@ -13265,15 +13265,15 @@\n Herstellen der Verbindungen.\n setp mult2.in1 60\n net xpos-cmd ddt.0.in\n net X-IPS mult2.0.in0 <= ddt.0.out\n net X-ABS abs.0.in <= mult2.0.out\n net X-IPM abs.0.out\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 250 / 1331\n \n In this last section we are setting the mult2.0.in1 to 60 to convert the inch per second to inch per\n minute (IPM) that we get from the ddt.0.out.\n The xpos-cmd sends the commanded position to the ddt.0.in. The ddt computes the derivative of the\n change of the input.\n@@ -13286,15 +13286,15 @@\n \n 5.5.4 Details zum Softstart\n Dieses Beispiel zeigt, wie die HAL-Komponenten Tiefpass, limit2 oder limit3 verwendet werden k\u00f6nnen, um die \u00c4nderungsgeschwindigkeit eines Signals zu begrenzen.\n In this example we have a servo motor driving a lathe spindle. If we just used the commanded\n spindle speeds on the servo it will try to go from present speed to commanded speed as fast as it\n can. This could cause a problem or damage the drive. To slow the rate of change we can send the\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 251 / 1331\n \n spindle.N.speed-out through a limiter before the PID, so that the PID command value changes to\n new settings more slowly.\n Die drei eingebauten Komponenten, die ein Signal begrenzen, sind:\n \u2022 limit2 begrenzt den Bereich und die erste Ableitung eines Signals.\n@@ -13334,15 +13334,15 @@\n Signals tab. Repeat for channels 2-4 and add lowpass, limit2, and limit3.\n Next to set up a trigger signal click on the Source None button and select square. The button will\n change to Source Chan 1.\n Next click on Single in the Run Mode radio buttons box. This will start a run and when it finishes you\n will see your traces.\n Um die Signale zu trennen, damit Sie sie besser sehen k\u00f6nnen, klicken Sie auf einen Kanal und verwenden Sie dann den Pos-Schieberegler im vertikalen Feld, um die Positionen festzulegen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 252 / 1331\n \n To see the effect of changing the set point values of any of the components you can change them in\n the terminal window. To see what different gain settings do for lowpass just type the following in the\n terminal window and try different settings.\n setp lowpass.0.gain *.01\n@@ -13356,15 +13356,15 @@\n 5.5.5 Stand-Alone HAL\n In some cases you might want to run a GladeVCP screen with just HAL. For example say you had a\n stepper driven device that all you need is to run a stepper motor. A simple Start/Stop interface is all\n you need for your application so no need to load up and configure a full blown CNC application.\n Im folgenden Beispiel haben wir ein einfaches GladeVCP-Panel mit einem Schrittmotor.\n Grundlegende (engl. basic) Syntax\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 253 / 1331\n \n # L\u00e4dt die GUI winder.glade und nennt diese winder\n loadusr -Wn winder gladevcp -c winder -u handler.py winder.glade\n # load Echtzeit-Komponenten\n loadrt threads name1=fast period1=50000 fp1=0 name2=slow period2=1000000\n@@ -13401,15 +13401,15 @@\n der an die Motorantriebe weitergeleitet wird.\n Optional wird die Anzahl der digitalen E/A (engl. I/O) mit num_dio eingestellt. Die Anzahl der analogen\n E/A wird mit num_aio festgelegt, Standard ist jeweils 4. Die Anzahl der Spindeln wird mit num_spindles\n eingestellt, Voreinstellung ist 1.\n Pin- und Parameternamen, die mit axis.L und joint.N beginnen, werden von der Motion-ControllerFunktion gelesen und aktualisiert.\n Motion wird mit dem Befehl motmod geladen. Ein kins sollte vor motion geladen werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 254 / 1331\n \n loadrt motmod base_period_nsec=[\u2019period\u2019] servo_period_nsec=[\u2019period\u2019]\n traj_period_nsec=[\u2019period\u2019] num_joints=[\u20190-9\u2019]\n num_dio=[\u20191-64\u2019] num_aio=[\u20191-16\u2019] unlock_joints_mask=[\u20190xNN\u2019]\n num_spindles=[\u20191-8\u2019]\n@@ -13446,15 +13446,15 @@\n Diese Pins, Parameter und Funktionen werden durch das Echtzeitmodul motmod angelegt.\n \u2022 motion.adaptive-feed - (float, in) Wenn der adaptive Vorschub mit M52 P1 aktiviert ist, wird die\n befohlene Geschwindigkeit mit diesem Wert multipliziert. Dieser Effekt ist multiplikativ mit dem\n Vorschub-Override-Wert auf NML-Ebene und motion.feed-hold. Ab der Version 2.9 von LinuxCNC\n ist es m\u00f6glich, einen negativen adaptiven Vorschubwert zu verwenden, f\u00fcr eine G-Code-Bahn in\n umgekehrter Richtung.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 255 / 1331\n \n \u2022 motion.analog-in-00 - (float, in) Diese Pins (00, 01, 02, 03 oder mehr, falls konfiguriert) werden von\n M66 gesteuert.\n \u2022 motion.analog-out-00 - (float, out) Diese Pins (00, 01, 02, 03 oder mehr, falls konfiguriert) werden\n von M67 oder M68 gesteuert.\n@@ -13493,15 +13493,15 @@\n \u2022 motion.program-line - (s32, out) Die aktuelle Programmzeile w\u00e4hrend der Ausf\u00fchrung. Null, wenn\n das Programm nicht l\u00e4uft oder zwischen den Zeilen bei Einzelschritten.\n \u2022 motion.requested-vel - (float, out) Die aktuell geforderte Geschwindigkeit in Benutzereinheiten pro\n Sekunde. Dieser Wert ist die F-Wort-Einstellung aus der G-Code-Datei, m\u00f6glicherweise reduziert,\n um die Geschwindigkeits- und Beschleunigungsgrenzen der Maschine zu ber\u00fccksichtigen. Der Wert\n an diesem Pin spiegelt nicht den Vorschub-Override oder andere Anpassungen wider.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 256 / 1331\n \n \u2022 motion.teleop-mode - (bit, out) TRUE wenn die Bewegung im teleop mode (Fernsteuerungs-Modus)\n ist, im Gegensatz zum coordinated mode (Koordinaten-Modus)\n \u2022 motion.tooloffset.x \u2026 motion.tooloffset.w - (float, out, einer pro Achse) zeigt den aktuellen Werkzeugversatz an; er kann aus der Werkzeugtabelle (G43 aktiv) oder aus dem G-Code (G43.1 aktiv)\n stammen\n@@ -13533,15 +13533,15 @@\n \u2022 motion.debug-float-2 - (float, RO) Dies wird zur Fehlersuche verwendet.\n \u2022 motion.debug-float-3 - (float, RO) Dies wird zur Fehlersuche verwendet.\n \u2022 motion.debug-s32-0 - (s32, RO) Dies wird zur Fehlersuche verwendet.\n \u2022 motion.debug-s32-1 - (s32, RO) Dies wird zur Fehlersuche verwendet.\n \u2022 motion.servo.last-period - (u32, RO) Die Anzahl der CPU-Zyklen zwischen den Aufrufen des ServoThreads. Normalerweise ergibt diese Zahl geteilt durch die CPU-Geschwindigkeit die Zeit in Sekunden und kann verwendet werden, um festzustellen, ob der Echtzeit-Bewegungsregler seine Zeitvorgaben einh\u00e4lt\n \u2022 motion.servo.last-period-ns - (float, RO)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 257 / 1331\n \n 5.6.1.4 Funktionen\n Im Allgemeinen werden diese beiden Funktionen in der angegebenen Reihenfolge zum Servo-Thread\n hinzugef\u00fcgt.\n \u2022 motion-command-handler - Receives and processes motion commands\n@@ -13576,15 +13576,15 @@\n Spindelgeber-Treiber nicht \u00fcber einen Geschwindigkeitsausgang verf\u00fcgt, k\u00f6nnen Sie einen geeigneten Ausgang erzeugen, indem Sie die Spindelposition durch eine ddt Komponente senden. Wenn\n Sie keinen Spindelgeber haben, k\u00f6nnen Sie spindle.N.speed-out-rps durchschleifen.\n \u2022 spindle.N.speed-out - (float, out) Befohlene Spindeldrehzahl in Umdrehungen pro Minute. Positiv\n f\u00fcr Spindel vorw\u00e4rts (M3), negativ f\u00fcr Spindel r\u00fcckw\u00e4rts (M4).\n \u2022 spindle.N.speed-out-abs - (Float, out) Geforderte Spindeldrehzahl in Umdrehungen pro Minute. Dies\n ist immer eine positive Zahl.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 258 / 1331\n \n \u2022 spindle.N.speed-out-rps - (float, out) Geforderte Spindeldrehzahl in Umdrehungen pro Sekunde.\n Positiv f\u00fcr Spindel vorw\u00e4rts (M3), negativ f\u00fcr Spindel r\u00fcckw\u00e4rts (M4).\n \u2022 spindle.N.speed-out-rps-abs - (float, out) Befohlene Spindeldrehzahl in Umdrehungen pro Sekunde.\n Dies ist immer eine positive Zahl.\n@@ -13617,15 +13617,15 @@\n Au\u00dferdem kann jeder der Befehle M3, M4 oder M5 entweder den Modus Suche nach gew\u00fcnschter\n Orientierung oder Orientierung abgeschlossen abbrechen. Dies wird durch das Deassertieren der Pins\n spindle-orient und spindle-locked angezeigt.\n Der Pin \u201dspindle-orient-mode\u201d spiegelt das M19 P-Wort wider und ist wie folgt zu interpretieren:\n \u2022 0: Drehen im oder gegen den Uhrzeigersinn f\u00fcr kleinste Winkelbewegung\n \u2022 1: immer rot\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 259 / 1331\n \n \u2022 2: immer gegen den Uhrzeigersinn drehen\n Sie kann mit der HAL-Komponente \u201dorient\u201d verwendet werden, die einen PID-Befehlswert auf der\n Grundlage der Spindelgeberposition, des spindle-orient-angle (\u201dSpindelorientierungswinkel\u201d) and\n spindle-orient-mode (\u201dSpindelorientierungsmodus\u201d) liefert.\n@@ -13654,15 +13654,15 @@\n \u2022 iocontrol.0.tool-prepared (bit, in) Should be driven TRUE when a tool prepare is completed.\n \u2022 iocontrol.0.user-enable-out (bit, out) FALSE when an internal E-Stop condition exists.\n \u2022 iocontrol.0.user-request-enable (bit, out) TRUE when the user has requested that E-Stop be cleared.\n \n 5.6.5 INI-Einstellungen\n Eine Reihe von INI-Einstellungen werden als HAL Eingangspins zur Verf\u00fcgung gestellt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 260 / 1331\n \n 5.6.5.1 Pins )\n N bezieht sich auf eine Gelenknummer, L auf einen Achsenbuchstaben.\n \u2022 \u201dini.N.ferror\u2019 - (float, in) [JOINT_N]FERROR\n \u2022 ini.N.min_ferror - (float, in) [JOINT_N]MIN_FERROR\n@@ -13694,15 +13694,15 @@\n The traj_arc_blend pins are sampled continuously but changing pin values while a program is running\n may not have immediate effect due to queueing of commands.\n \n \u2022 ini.traj_default_acceleration - (float, in) [TRAJ]DEFAULT_ACCELERATION\n \u2022 ini.traj_default_velocity - (float, in) [TRAJ]DEFAULT_VELOCITY\n \u2022 ini.traj_max_acceleration - (float, in) [TRAJ]MAX_ACCELERATION\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 261 / 1331\n \n 5.7 HAL Component List\n 5.7.1 Komponenten\n Most of the commands in the following list have their own dedicated man pages. Some will have\n expanded descriptions, some will have limited descriptions. From this list you know what components\n@@ -13767,15 +13767,15 @@\n Vismach Virtuelle Maschine GUI\n Vismach Virtuelle Maschine GUI\n Vismach Virtuelle Maschine GUI\n Vismach Virtuelle Maschine GUI\n hexagui - Vismach Virtual Machine-GUI\n hexagui - Vismach Virtual Machine-GUI\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n puma560gui\n pumagui\n rotarydelta\n scaragui\n xyzac-trtgui\n xyzbc-trtgui\n@@ -13852,15 +13852,15 @@\n 5.7.1.4 Mesa und andere I/O-Karten (Echtzeit)\n hal_ppmc\n hal_bb_gpio\n \n Pico Systems Treiber f\u00fcr analoge Servo-, PWM- und Stepper-Controller\n Treiber f\u00fcr Beaglebone GPIO-Pins\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 263 / 1331\n \n hal_parport\n \n Realtime HAL component to communicate with one or more PC parallel\n ports\n@@ -13940,15 +13940,15 @@\n latencyPlottet Histogramm der Maschinenlatenz\n histogram\n latency-plot Eine weitere M\u00f6glichkeit, Latenzzahlen anzuzeigen\n latency-test Testen der Latenzzeit des Echtzeitsystems\n pncconf\n Konfigurationsassistent f\u00fcr Mesa-Karten\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n setsserial\n \n sim_pin\n stepconf\n \n 264 / 1331\n@@ -14039,15 +14039,15 @@\n Verwendet einen Parameter, um den Wert eines Pins festzulegen\n Counts input pulses (deprecated). Use the encoder component.\n Berechnet die Ableitung der Eingangsfunktion.\n Gibt den Mittelpunkt zur\u00fcck, wenn er sich innerhalb des Schwellenwerts\n befindet.\n Quotient of two floating point inputs.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 265 / 1331\n \n hypot\n Rechner f\u00fcr die Hypotenuse (euklidischer Abstand) mit drei Eingaben.\n ilowpass\n Tiefpassfilter mit ganzzahligen Ein- und Ausg\u00e4ngen\n@@ -14125,15 +14125,15 @@\n conv_u32_s32 Konvertiert von u32 nach s32\n gray2bin\n Konvertiert Gray-Code-Eingabe in Bin\u00e4rformat\n 2 Wenn der Eingang eine Position ist, bedeutet dies, dass die Position begrenzt ist.\n 3 When the input is a position, this means that position and velocity are limited.\n 4 When the input is a position, this means that the position, velocity, and acceleration are limited.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 266 / 1331\n \n 5.7.1.7 Kinematiken (Echtzeit)\n corexy_by_hal CoreXY-Kinematiken\n differential\n Kinematik f\u00fcr ein Differentialgetriebe\n@@ -14206,15 +14206,15 @@\n Software-Schrittimpulsgenerierung, siehe Beschreibung.\n \n 5.7.1.10 Sonstiges (Echtzeit)\n comp\n \n Erstellen, kompilieren und installieren Sie LinuxCNC HAL Komponenten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 267 / 1331\n \n classicladder Echtzeit-Software-SPS (engl. PLC), die auf Kontaktplan-Logik basiert.\n Siehe Kapitel ClassicLadder f\u00fcr weitere Informationen.\n threads\n Erzeugt harte Echtzeit-HAL-Threads.\n@@ -14278,15 +14278,15 @@\n hal_param_u32_newf.3hal\n hal_parport.3hal\n hal_pin_bit_new.3hal\n hal_pin_bit_newf.3hal\n hal_pin_float_new.3hal\n hal_pin_float_newf.3hal\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n hal_pin_new.3hal\n hal_pin_s32_new.3hal\n hal_pin_s32_newf.3hal\n hal_pin_u32_new.3hal\n hal_pin_u32_newf.3hal\n hal_ready.3hal\n@@ -14337,15 +14337,15 @@\n rtapi_print.3rtap\n rtapi_prio.3rtapi\n rtapi_prio_highest.3rtapi\n rtapi_prio_lowest.3rtapi\n \n 268 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 269 / 1331\n \n rtapi_prio_next_higher.3rtapi\n rtapi_prio_next_lower.3rtapi\n rtapi_region.3rtapi\n rtapi_release_region.3rtapi\n@@ -14374,21 +14374,21 @@\n velocity mode, it drives a motor at the commanded speed, while obeying velocity and acceleration limits. It is a realtime component only, and depending on CPU speed, etc., is capable of maximum step\n rates of 10 kHz to perhaps 50 kHz. The step pulse generator block diagram shows three block diagrams, each is a single step pulse generator. The first diagram is for step type 0, (step and direction).\n The second is for step type 1 (up/down, or pseudo-PWM), and the third is for step types 2 through\n 14 (various stepping patterns). The first two diagrams show position mode control, and the third one\n shows velocity mode. Control mode and step type are set independently, and any combination can be\n selected.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 5.19: Schrittimpulsgenerator-Blockdiagramm Positionsmodus\n \n 270 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 271 / 1331\n \n Laden der Komponente stepgen\n halcmd: loadrt stepgen step_type= [ctrl_type=]\n \n \n@@ -14437,15 +14437,15 @@\n \u2022 (bit) stepgen. \u0300\n ____.phase-C \u0300 - Phase C output (step types 3-14 only).\n \u2022 (bit) stepgen. \u0300\n ____.phase-D \u0300 - Phase D output (step types 5-14 only).\n \u2022 (bit) stepgen. \u0300\n ____.phase-E \u0300 - Phase E output (step types 11-14 only).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 272 / 1331\n \n 5.8.1.2 Parameter\n \u2022 (float) stepgen. \u0300\n ____.position-scale \u0300 - Steps per position unit. This parameter is used for\n both output and feedback.\n@@ -14494,15 +14494,15 @@\n 1 ns, but the automatic rounding takes effect the first time the code runs. Since one step requires\n steplen ns high and stepspace ns low, the maximum frequency is 1,000,000,000 divided by (steplen\n + stepspace)\u2019. If maxfreq is set higher than that limit, it will be lowered automatically. If maxfreq is\n zero, it will remain zero, but the output frequency will still be limited.\n When using the parallel port driver the step frequency can be doubled using the parport reset function\n together with StepGen\u2019s doublefreq setting.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 273 / 1331\n \n Abbildung 5.20: Schritt- und Richtungs-Timing (engl. step and direction timing)\n Schritt Typ 1 (step type 1) Step type 1 has two outputs, up and down. Pulses appear on one or the\n other, depending on the direction of travel. Each pulse is steplen ns long, and the pulses are separated\n by at least stepspace ns. The maximum frequency is the same as for step type 0. If maxfreq is set higher\n@@ -14513,33 +14513,33 @@\n Do not use the parport reset function with step types 2 - 14. Unexpected results can happen.\n \n Schritt Typen 2 - 14 (engl. step type 2-14) Step types 2 through 14 are state based, and have from\n two to five outputs. On each step, a state counter is incremented or decremented. The Two-and-ThreePhase, Four-Phase, and Five-Phase show the output patterns as a function of the state counter. The\n maximum frequency is 1,000,000,000 divided by steplen, and as in the other modes, maxfreq will be\n lowered if it is above the limit.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 5.21: Zwei- und dreiphasige Schritttypen\n \n 274 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 5.22: Vierphasige Schritttypen\n \n 275 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 5.23: F\u00fcnf-Phasen-Schritttypen\n \n 276 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 277 / 1331\n \n 5.8.1.4 Funktionen\n The component exports three functions. Each function acts on all of the step pulse generators - running\n different generators in different threads is not supported.\n \u2022 (funct) stepgen.make-pulses - High speed function to generate and count pulses (no floating point).\n@@ -14574,15 +14574,15 @@\n use a type 1 output (PWM and direction) and the third will use a type 2 output (UP and DOWN). There\n is no default value, if is not not specified, no PWM generator will be installed. The maximum number of frequency generators is 8 (as defined by MAX_CHAN in pwmgen.c). Each generator\n is independent, but all are updated by the same function(s), at the same time. In the descriptions that\n follow, is the number of specific generators. The numbering of PWM generators starts at 0.\n Entfernen (engl. hier unloading) von PWMgen\n unloadrt pwmgen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 278 / 1331\n \n 5.8.2.1 Ausgangstypen (engl. output types)\n Der PWM-Generator unterst\u00fctzt drei verschiedene \u201dAusgangstypen\u201d.\n \u2022 Output type 0 - PWM output pin only. Only positive commands are accepted, negative values are\n treated as zero (and will be affected by the parameter min-dc if it is non-zero).\n@@ -14626,15 +14626,15 @@\n to zero when disabled, regardless of this setting).\n \u2022 (float) pwmgen. \u0300\n ____.max-dc \u0300 - Maximum duty cycle, between 0.0 and 1.0.\n \u2022 (float) pwmgen. \u0300\n ____.curr-dc \u0300 - Current duty cycle - after all limiting and rounding (read\n only).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 279 / 1331\n \n 5.8.2.4 Funktionen\n Die Komponente exportiert zwei Funktionen. Jede Funktion wirkt auf alle PWM-Generatoren - die\n Ausf\u00fchrung verschiedener Generatoren in verschiedenen Threads wird nicht unterst\u00fctzt.\n \u2022 (funct) pwmgen.make-pulses - High speed function to generate PWM waveforms (no floating point).\n@@ -14655,15 +14655,15 @@\n The base thread should be 1/2 count speed to allow for noise and timing variation. For example if you\n have a 100 pulse per revolution encoder on the spindle and your maximum RPM is 3000 the maximum\n base thread should be 25 \u00b5s. A 100 pulse per revolution encoder will have 400 counts. The spindle\n speed of 3000 RPM = 50 RPS (revolutions per second). 400 * 50 = 20,000 counts per second or 50 \u00b5s\n between counts.\n Das Blockdiagramm des Encoderz\u00e4hlers ist ein Blockdiagramm eines Kanals eines Encoderz\u00e4hlers.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 280 / 1331\n \n Abbildung 5.24: Encoderz\u00e4hler-Blockdiagramm\n Laden des Encoders\n halcmd: loadrt encoder [num_chan=]\n \n@@ -14677,15 +14677,15 @@\n \n 5.8.3.1 Pins\n \u2022 encoder.__.counter-mode (bit, I/O) (default: FALSE) - Enables counter mode. When true,\n the counter counts each rising edge of the phase-A input, ignoring the value on phase-B. This is\n useful for counting the output of a single channel (non-quadrature) sensor. When false, it counts in\n quadrature mode.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 281 / 1331\n \n \u2022 encoder.__.missing-teeth (s32, In) (default: 0) - Enables the use of missing-tooth index.\n This allows a single IO pin to provide both position and index information. If the encoder wheel has\n 58 teeth with two missing, spaced as if there were 60(common for automotive crank sensors) then\n the position-scale should be set to 60 and missing-teeth to 2. To use this mode counter-mode should\n@@ -14724,15 +14724,15 @@\n pulse.\n \u2022 encoder.__.reset (bit, In) - When True, force counts and position to zero immediately.\n \u2022 encoder.__.velocity (float, Out) - Velocity in scaled units per second. encoder uses an\n algorithm that greatly reduces quantization noise as compared to simply differentiating the position\n output. When the magnitude of the true velocity is below min-speed-estimate, the velocity output is\n 0.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 282 / 1331\n \n \u2022 encoder.__.x4-mode (bit, I/O) (default: TRUE) - Enables times-4 mode. When true, the counter counts each edge of the quadrature waveform (four counts per full cycle). When false, it only\n counts once per full cycle. In counter-mode, this parameter is ignored. The 1x mode is useful for\n some jogwheels.\n 5.8.3.2 Parameter\n@@ -14748,15 +14748,15 @@\n \n 5.8.4 PID\n This component provides Proportional/Integral/Derivative control loops. It is a realtime component\n only. For simplicity, this discussion assumes that we are talking about position loops, however this\n component can be used to implement other feedback loops such as speed, torch height, temperature,\n etc. The PID Loop Block Diagram is a block diagram of a single PID loop.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 283 / 1331\n \n Abbildung 5.25: PID-Regelkreis-Blockdiagramm\n PID laden\n halcmd: loadrt pid [num_chan=] [debug=1]\n \n@@ -14768,15 +14768,15 @@\n cluttering the pin list.\n PID entfernen (engl. unload)\n halcmd: unloadrt pid\n \n 5.8.4.1 Pins\n Die drei wichtigsten Pins sind\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 284 / 1331\n \n \u2022 (float) pid. \u0300\n ____.command \u0300 - The desired position, as commanded by another system\n component.\n \u2022 (float) pid. \u0300\n@@ -14813,15 +14813,15 @@\n \u2022 (float) pid. . FF2 - Feedforward zweiter Ordnung - Ausgabe proportional zur 2. Ableitung\n des Befehls (Beschleunigung).\n \u2022 (float) pid..deadband - Betrag des Fehlers, der ignoriert wird\n \u2022 (float) pid. .maxerror - Fehlerbegrenzung\n \u2022 (float) pid. .maxerrorI - Limit f\u00fcr Fehlerintegrator\n \u2022 (float) pid. .maxerrorD - Limit f\u00fcr Fehlerableitung\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 285 / 1331\n \n \u2022 (float) pid..maxcmdD - Begrenzung der Befehlsableitung\n \u2022 (float) pid..maxcmdDD - Begrenzung der 2. Ableitung des Befehls\n \u2022 (float) pid. .maxoutput - Grenzwert f\u00fcr Ausgangswert\n Alle max*-Grenzwerte sind so implementiert, dass es keinen Grenzwert gibt, wenn der Wert dieses\n@@ -14858,15 +14858,15 @@\n ____.phase-A \u0300 - Quadrature output.\n \u2022 (bit) sim-encoder. \u0300\n ____.phase-B \u0300 - Quadrature output.\n \u2022 (bit) sim-encoder. \u0300\n ____.phase-Z \u0300 - Index pulse output.\n When .speed is positive, .phase-A leads .phase-B.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 286 / 1331\n \n 5.8.5.2 Parameter\n \u2022 (u32) sim-encoder. \u0300\n ____.ppr \u0300 - Pulses Per Revolution.\n \u2022 (float) sim-encoder. \u0300\n@@ -14903,15 +14903,15 @@\n 5.8.6.1 Pins\n Jeder einzelne Filter hat zwei Pins.\n \u2022 (bit) debounce. \u0300\n ____.____.in \u0300 - Input of filter in group .\n \u2022 (bit) debounce. \u0300\n ____.____.out \u0300 - Output of filter in group .\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 287 / 1331\n \n 5.8.6.2 Parameter\n Each group of filters has one parameter5 .\n \u2022 (s32) debounce. \u0300\n ____.delay \u0300 - Filter delay for all filters in group .\n@@ -14949,15 +14949,15 @@\n \u2022 (float) siggen. \u0300\n ____.triangle \u0300 - Triangle wave output.\n \u2022 (float) siggen. \u0300\n ____.square \u0300 - Square wave output.\n 5 Each individual filter also has an internal state variable. There is a compile time switch that can export that variable as a\n parameter. This is intended for testing, and simply wastes shared memory under normal circumstances.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 288 / 1331\n \n Alle f\u00fcnf Ausg\u00e4nge haben die gleiche Frequenz, Amplitude und Offset.\n Zus\u00e4tzlich zu den Ausgangspins gibt es drei Steuerpins:\n \u2022 (float) siggen. \u0300\n ____.frequency \u0300 - Sets the frequency in Hertz, default value is 1 Hz.\n@@ -15035,15 +15035,15 @@\n 0\n \n Ausgabe\n \n 6 Prior to version 2.1, frequency, amplitude, and offset were parameters. They were changed to pins to allow control by other\n components.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 289 / 1331\n \n Tabelle 5.22: (continued)\n Bit 4\n 0\n 0\n@@ -15226,15 +15226,15 @@\n function is 0xa. The hexadecimal prefix is 0x.\n \n 5.9 HAL Component Generator\n 5.9.1 Einf\u00fchrung\n This section introduces to the compilation HAL components, i.e. the addition of some machinists\u2019\n knowledge on how to deal with the machine. It should be noted that such components do not ne-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 290 / 1331\n \n cessarily deal with the hardware directly. They often do, but not necessarily, e.g. there could be a\n component to convert between imperial and metric scales, so this section does not require to dive\n into the interaction with hardware.\n Writing a HAL component can be a tedious process, most of it in setup calls to rtapi_ and hal_ functions\n@@ -15274,15 +15274,15 @@\n loadrt threads name1=servo-thread period1=1000000\n loadrt ddt\n addf ddt.0 servo-thread\n \n More information on loadrt and addf can be found in the HAL Grundlagen.\n Um Ihre Komponente zu testen, k\u00f6nnen Sie den Beispielen im HAL Tutorial folgen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 291 / 1331\n \n 5.9.4 Definitionen\n \u2022 component - A component is a single real-time module, which is loaded with halcmd loadrt. One\n .comp file specifies one component. The component name and file name must match.\n \u2022 instance - A component can have zero or more instances. Each instance of a component is created\n@@ -15317,15 +15317,15 @@\n \u2022 option OPT (VALUE);\n \u2022 variable CTYPE STARREDNAME ([SIZE]);\n \u2022 description DOC;\n \u2022 examples DOC;\n \u2022 notes DOC;\n \u2022 see_also DOC;\u2019\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 292 / 1331\n \n \u2022 license LICENSE;\n \u2022 author AUTHOR;\n \u2022 include HEADERFILE;\n Parentheses indicate optional items. A vertical bar indicates alternatives. Words in CAPITALS indicate\n@@ -15376,15 +15376,15 @@\n \u2022 SIZE - Eine Zahl, um die Gr\u00f6\u00dfe eines Arrays anzugeben. Die Array-Elemente sind von 0 bis SIZE-1\n nummeriert.\n \u2022 MAXSIZE : CONDSIZE - A number that gives the maximum size of the array, followed by an expression involving the variable personality and which always evaluates to less than MAXSIZE. When the\n array is created its size will be CONDSIZE.\n \u2022 DOC - Eine Zeichenfolge, die das Element dokumentiert. Die Zeichenfolge kann eine \u201ddoppelt in\n Anf\u00fchrungszeichen\u201d gesetzte Zeichenfolge im C-Stil sein, z. B.:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 293 / 1331\n \n \u201dW\u00e4hlt die gew\u00fcnschte Flanke aus: TRUE bedeutet fallend, FALSE bedeutet steigend\u201d\n \n oder eine \u201ddreifach in Anf\u00fchrungszeichen\u201d gesetzte Zeichenfolge im Python-Stil, die eingebettete\n Zeilenumbr\u00fcche und Anf\u00fchrungszeichen enthalten kann, z. B.:\n@@ -15422,15 +15422,15 @@\n 5.9.7.2 Optionen\n Die derzeit definierten Optionen sind:\n \u2022 option singleton yes - (default: no) Do not create a count module parameter, and always create a single instance. With singleton, items are named component-name.item-name and without singleton,\n items for numbered instances are named component-name..item-name.\n \u2022 option default_count number\u2019 - (Standardwert: 1) Normalerweise ist der Modulparameter count auf\n 1 voreingestellt. Ist er angegeben, so wird count stattdessen auf diesen Wert gesetzt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 294 / 1331\n \n \u2022 option count_function yes - (Voreinstellung: no) Normalerweise wird die Anzahl der zu erstellenden\n Instanzen im Modulparameter count angegeben; wenn count_function angegeben ist, wird stattdessen der von der Funktion int get_count(void) zur\u00fcckgegebene Wert verwendet, und der Modulparameter count ist nicht definiert.\n \u2022 option rtapi_app no - (default: yes) Normally, the functions rtapi_app_main() and rtapi_app_exit()\n are automatically defined. With option rtapi_app no, they are not, and must be provided in the C\n@@ -15471,15 +15471,15 @@\n above) is set to no. When compiling a non-realtime component, the arguments given are inserted\n in the compiler command line. If the input file is a .c file this option can be set in the halcompile\n command-line with --extra-compile-args=\u201d-I\u2026..\u201d. This alternative provides a way to set extra flags\n in cases where the input file is a .c file rather than a .comp file.\n \u2022 option homemod yes - (default: no)\n Module is a custom Homing module loaded using [EMCMOT]HOMEMOD=modulename .\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 295 / 1331\n \n \u2022 option tpmod yes - (default: no)\n Module is a custom Trajectory Planning (tp) module loaded using [TRAJ]TPMOD=modulename .\n Wenn der VALUE (engl. f\u00fcr Wert) einer Option nicht angegeben wird, ist dies gleichbedeutend mit der\n Angabe von option \u2026 yes.\n@@ -15513,15 +15513,15 @@\n Einzeilige Kommentare im C++-Stil (//...) und mehrzeilige Kommentare im C-Stil (/* ... */) werden beide im Deklarationsabschnitt unterst\u00fctzt.\n \n 5.9.8 Einschr\u00e4nkungen\n Obwohl HAL erlaubt, dass ein Pin, ein Parameter und eine Funktion denselben Namen haben k\u00f6nnen,\n ist dies bei halcompile nicht der Fall.\n Zu den Variablen- und Funktionsnamen, die nicht verwendet werden k\u00f6nnen oder zu Problemen f\u00fchren k\u00f6nnen, geh\u00f6ren:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 296 / 1331\n \n \u2022 Alles, was mit _comp beginnt.\n \u2022 comp_id\n \u2022 fperiod\n \u2022 rtapi_app_main\n@@ -15561,15 +15561,15 @@\n they do in realtime functions.\n \n 5.9.10 Komponenten mit einer Funktion\n If a component has only one function and the string \u201dFUNCTION\u201d does not appear anywhere after ;;,\n then the portion after ;; is all taken to be the body of the component\u2019s single function. See the Simple\n Comp for an example of this.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 297 / 1331\n \n 5.9.11 Komponenten-Pers\u00f6nlichkeit\n Wenn eine Komponente Pins oder Parameter mit einer \u201dif-Bedingung\u201d oder \u201d[maxsize : condsize]\u201d hat,\n wird sie als Komponente mit \u201dPers\u00f6nlichkeit\u201d bezeichnet. Die \u201dPers\u00f6nlichkeit\u201d jeder Instanz wird beim\n Laden des Moduls festgelegt. Die \u201dPers\u00f6nlichkeit\u201d kann verwendet werden, um Pins nur bei Bedarf\n@@ -15606,15 +15606,15 @@\n Anmerkung\n sudo (f\u00fcr Root-Rechte) wird ben\u00f6tigt, wenn Sie LinuxCNC aus einem Deb-Paket installieren. Wenn Sie\n einen Run-In-Place (RIP) Build verwenden, sollten Root-Rechte nicht erforderlich sein.\n \n Oder es kann in einem Schritt verarbeitet und kompiliert werden, wobei example.ko (oder example.so\n f\u00fcr den Simulator) im aktuellen Verzeichnis verbleibt:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 298 / 1331\n \n halcompile --compile rtexample.comp\n \n Oder es kann einfach verarbeitet werden, wobei die Datei \u201dexample.c\u201d im aktuellen Verzeichnis verbleibt:\n halcompile rtexample.comp\n@@ -15656,15 +15656,15 @@\n pin out float out;\n param r float value = 1.0;\n function _;\n license \u201dGPL\u201d; // bedeutet GPL v2 oder h\u00f6her\n ;;\n FUNCTION(_) { out = value; }\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 299 / 1331\n \n 5.9.15.2 sincos\n This component computes the sine and cosine of an input angle in radians. It has different capabilities\n than the \u201dsine\u201d and \u201dcosine\u201d outputs of siggen, because the input is an angle, rather than running\n freely based on a \u201dfrequency\u201d parameter.\n@@ -15710,15 +15710,15 @@\n // Setze diesen I/O-Port auf 0, damit EXTRA_CLEANUP die IO-Ports nicht freigibt,\n // die nie angefordert wurden.\n io[extra_arg] = 0;\n return -EBUSY;\n }\n ioaddr = io[extra_arg];\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 300 / 1331\n \n return 0;\n }\n EXTRA_CLEANUP() {\n int i;\n@@ -15760,15 +15760,15 @@\n ;;\n #include \n void user_mainloop(void) {\n while(1) {\n usleep(1000);\n FOR_ALL_INSTS() out = drand48();\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 301 / 1331\n \n }\n }\n \n 5.9.15.7 logic\n@@ -15812,15 +15812,15 @@\n Dieses Beispiel zeigt, wie man Funktionen von der Hauptfunktion aus aufruft. Es zeigt auch, wie die\n Referenz von HAL-Pins an diese Funktionen \u00fcbergeben werden kann.\n component example;\n pin in s32 in;\n pin out bit out1;\n pin out bit out2;\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 302 / 1331\n \n function _;\n license \u201dGPL\u201d;\n ;;\n // allgemeine Pin Set True Funktion\n@@ -15865,15 +15865,15 @@\n The .tcl extension is understood by the main script (linuxcnc) that processes INI files. Haltcl files are\n identified in the the HAL section of INI files (just like HAL files).\n Beispiel\n [HAL]\n HALFILE = conventional_file.hal\n HALFILE = tcl_based_file.tcl\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 303 / 1331\n \n Bei entsprechender Sorgfalt k\u00f6nnen HAL- und Tcl-Dateien miteinander vermischt werden.\n \n 5.10.1 Kompatibilit\u00e4t\n Die in HAL-Dateien verwendete halcmd-Sprache hat eine einfache Syntax, die eigentlich eine Teilmenge der leistungsf\u00e4higeren Allzweck-Skriptsprache Tcl ist.\n@@ -15917,15 +15917,15 @@\n Die gleichen Werte der INI-Datei sind in Tcl-Dateien in Form einer globalen Tcl-Array-Variable zug\u00e4nglich:\n $::SECTION(ITEM)\n \n Zum Beispiel, ein INI-Datei Element wie:\n [JOINT_0]\n MAX_VELOCITY = 4\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 304 / 1331\n \n is expressed as [JOINT_0]MAX_VELOCITY in HAL files for halcmd\n and as $::JOINT_0(MAX_VELOCITY) in Tcl files for haltcl.\n Da INI-Dateien das gleiche ITEM in der gleichen SECTION mehrfach wiederholen kann, ist $::SECTION(ITEM) eigentlich eine Tcl-Liste jedes einzelnen Wertes.\n Wenn es nur einen Wert gibt und dieser ein einfacher Wert ist (alle Werte, die nur aus Buchstaben und\n@@ -15971,15 +15971,15 @@\n Beispiel\n # Verst\u00e4rkung f\u00fcr die Umrechnung von Grad/Sekunde in Einheiten/Minute f\u00fcr den\n JOINT_0-Radius festlegen\n setp scale.0.gain 6.28/360.0*$::JOINT_0(radius)*60.0\n \n \u2190-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 305 / 1331\n \n Leerzeichen im blo\u00dfen Ausdruck sind nicht erlaubt, verwenden Sie daf\u00fcr Anf\u00fchrungszeichen:\n setp scale.0.gain \u201d6.28 / 360.0 * $::JOINT_0(radius) * 60.0\u201d\n \n In anderen Zusammenh\u00e4ngen, wie z. B. bei loadrt, m\u00fcssen Sie den Tcl \u201dexpr\u201d-Befehl ([expr {}]) ausdr\u00fccklich f\u00fcr Berechnungsausdr\u00fccke verwenden.\n@@ -16023,15 +16023,15 @@\n \n 5.10.7 Haltcl Interaktiv\n The halrun command recognizes haltcl files. With the -T option, haltcl can be run interaactively as a\n Tcl interpreter. This capability is useful for testing and for standalone HAL applications.\n Beispiel\n $ halrun -T haltclfile.tcl\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 306 / 1331\n \n 5.10.8 Haltcl-Verteilungsbeispiele (sim)\n Das Verzeichnis configs/sim/axis/simtcl enth\u00e4lt eine INI-Datei, die eine .tcl-Datei verwendet, um eine\n haltcl-Konfiguration in Verbindung mit der Verwendung der twopass-Verarbeitung zu demonstrieren.\n Das Beispiel zeigt die Verwendung von Tcl-Prozeduren, Schleifen, die Verwendung von Kommentaren\n@@ -16072,15 +16072,15 @@\n halui.mdi-command-00 <= pyvcp.quillup\n net reference-pos halui.mdi-command-01 <= pyvcp.referencepos\n net call-mysub\n halui.mdi-command-02 <= pyvcp.callmysub\n \n Netze zum Verbinden der von halui bereitgestellten halui.mdi-command-NN-Pins.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 307 / 1331\n \n $ halcmd show pin halui.mdi\n Component Pins:\n Owner Type Dir Value Name\n 10 bit\n@@ -16118,15 +16118,15 @@\n \u2022 halui.feed-override.reset (bit, in) - Pin zum Zur\u00fccksetzen des FO (scale=1.0)\n \u2022 halui.feed-override.direct-value (bit, in) - falsch, wenn der Encoder verwendet wird, um die Anzahl\n zu \u00e4ndern, wahr, wenn die Anzahl direkt eingestellt wird.\n \u2022 halui.feed-override.scale (float, in) - Pin zum Einstellen der Skala f\u00fcr die Erh\u00f6hung und Verringerung\n des feed-override.\n \u2022 halui.feed-override.value (float, out) - aktueller FO-Wert\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 308 / 1331\n \n 5.11.4.4 Nebel (engl. mist)\n \u2022 halui.mist.is-on (bit, out) - zeigt an, dass Nebel eingeschaltet ist\n \u2022 halui.mist.off (bit, in) - Pin zum Anfordern von Nebel\n \u2022 halui.mist.on\u2019 (bit, in) - Pin zur Abfrage von Nebel ein\n@@ -16153,15 +16153,15 @@\n \u2022 halui.max-velocity.count-enable (bit, in) - muss true sein, damit counts oder direct-value funktionieren.\n \u2022 halui.max-velocity.counts (s32, in) - counts * scale = MV percentage. Kann mit einem Encoder oder\n direct-value verwendet werden.\n \u2022 halui.max-velocity.direct-value (bit, in) - false bei Verwendung des Encoders zum \u00c4ndern der Anzahl,\n true beim direkten Festlegen von Z\u00e4hlungen.\n \u2022 halui.max-velocity.decrease (bit, in) - Pin zur Verringerung der maximalen Geschwindigkeit\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 309 / 1331\n \n \u2022 halui.max-velocity.increase (bit, in) - Pin zur Erh\u00f6hung der maximalen Geschwindigkeit\n \u2022 halui.max-velocity.scale (float, in) - der Betrag, der auf die aktuelle maximale Geschwindigkeit bei\n jedem \u00dcbergang von Aus zu Ein des An- oder Abnahmestiftes in Maschineneinheiten pro Sekunde\n angewendet wird.\n@@ -16191,15 +16191,15 @@\n \u2022 halui.joint.selected (u32 out) - ausgew\u00e4hlte Gelenknummer (0 \u2026 num_joints-1\n \u2022 halui.joint.selected.has-fault (bit out) - Status-Pin ausgew\u00e4hltes Gelenk ist fehlerhaft\n \u2022 halui.joint.selected.home (Bit in) - Pin f\u00fcr das Homing des ausgew\u00e4hlten Gelenks\n \u2022 halui.joint.s selected.is-homed (bit out) - Status-Pin, der angibt, dass das ausgew\u00e4hlte Gelenk referenziert ist\n \u2022 halui.joint.selected.on-hard-max-limit (bit out) - Status-Pin, der anzeigt, dass sich das ausgew\u00e4hlte\n Gelenk auf dem positiven Hardware-Limit befindet\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 310 / 1331\n \n \u2022 halui.joint.selected.on-hard-min-limit (bit out) - Status-Pin, der anzeigt, dass sich das ausgew\u00e4hlte\n Gelenk am negativen Hardware-Limit befindet\n \u2022 halui.joint.s selected.on-soft-max-limit (bit out) - Status-Pin, der angibt, dass sich das ausgew\u00e4hlte\n Gelenk auf der positiven Softwaregrenze befindet\n@@ -16226,15 +16226,15 @@\n \u2022 halui.joint.selected.increment-plus\u2019 (Bit in) - eine steigende Flanke bewirkt, dass das ausgew\u00e4hlte\n Gelenk um den Betrag des Inkrements in die positive Richtung bewegt wird\n \u2022 halui.joint.selected.minus\u2019 (bit in) - Pin zum Joggen des ausgew\u00e4hlten Gelenks in negativer Richtung\n mit der halui.joint.jog-speed Geschwindigkeit\n \u2022 halui.joint.selected.plus\u2019 (bit in) - Pin f\u00fcr das Joggen des ausgew\u00e4hlten Gelenks in positiver Richtung\n mit der halui.joint.jog-speed Geschwindigkeit\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 311 / 1331\n \n 5.11.4.13 Achse\n L = Buchstabe der Achse (xyzabcuvw)\n \u2022 halui.axis.L.select (Bit) - Pin zur Auswahl der Achse anhand des Buchstaben\n \u2022 halui.axis.L.is-selected (Bit out) - Status-Pin, dass die Achse L ausgew\u00e4hlt ist\n@@ -16263,15 +16263,15 @@\n \u2022 halui.axis.selected.increment-plus (bit in) - a rising edge will will make the selected axis jog in the\n positive direction by the increment amount\n \u2022 halui.axis.selected.minus (bit in) - pin for jogging the selected axis in negative direction at the\n halui.axis.jog-speed velocity\n \u2022 halui.axis.selected.plus (pin in) - for jogging the selected axis bit in in positive direction at the\n halui.axis.jog-speed velocity\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 312 / 1331\n \n 5.11.4.15 Modus\n \u2022 halui.mode.auto (bit, in) - Pin zum Anfordern des automatischen Modus\n \u2022 halui.mode.is-auto (bit, out) - zeigt an, dass der Auto-Modus eingeschaltet ist\n \u2022 halui.mode.is-joint (bit, out) - zeigt an, dass der Gelenk-f\u00fcr-Gelenk (engl. joint by joint)-JoggingModus eingeschaltet ist\n@@ -16296,15 +16296,15 @@\n ist\n \u2022 halui.program.pause (bit, in) - Pin zum Anhalten eines Programms\n \u2022 halui.program.resume (bit, in) - Pin zum Fortsetzen eines pausierten Programms\n \u2022 halui.program.run (bit, in) - Pin zum Ausf\u00fchren eines Programms\n \u2022 halui.program.step (bit, in) - Pin f\u00fcr das Steppen eines Programms\n \u2022 halui.program.stop (bit, in) - Pin zum Stoppen eines Programms\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 313 / 1331\n \n 5.11.4.17 Eilgang-Override (engl. rapid override)\n \u2022 halui.rapid-override.count-enable\u2019 (Bit in (Standard: TRUE)) - Wenn TRUE, wird Rapid Override\n ge\u00e4ndert, wenn sich die Z\u00e4hlerst\u00e4nde \u00e4ndern.\n \u2022 halui.rapid-override.counts\u2019 (s32 in) - counts X scale = Rapid Override Prozentsatz. Kann mit einem\n@@ -16335,15 +16335,15 @@\n \u2022 halui.spindle.N.is-on (bit, out) - zeigt an, dass die Spindel eingeschaltet ist (in beide Richtungen)\n \u2022 halui.spindle.N.reverse (bit, in)- startet die Spindel mit einer Bewegung gegen den Uhrzeigersinn\n \u2022 halui.spindle.N.runs-backward (bit, out) - zeigt an, dass die Spindel eingeschaltet ist und umgekehrt\n \u2022 halui.spindle.N.runs-forward (bit, out) - zeigt an, dass die Spindel eingeschaltet und vorw\u00e4rts l\u00e4uft\n \u2022 halui.spindle.N.start (bit, in) - startet die Spindel\n \u2022 halui.spindle.N.stop (bit, in) - stoppt die Spindel\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 314 / 1331\n \n 5.11.4.20 Werkzeug\n \u2022 halui.tool.length-offset.a (float out) - aktuell angewendeter Werkzeugl\u00e4ngenversatz f\u00fcr die A-Achse\n \u2022 halui.tool.length-offset.b (float out) - aktuell angewendeter Werkzeugl\u00e4ngenversatz f\u00fcr die B-Achse\n \u2022 halui.tool.length-offset.c (float out) \u2013 aktuell angewendeter Werkzeugl\u00e4ngenversatz f\u00fcr die C-Achse\n@@ -16365,15 +16365,15 @@\n Um einen Fernstartknopf mit LinuxCNC zu verbinden, benutzen Sie den halui.program.run Pin\n und den halui.mode.auto Pin. Sie m\u00fcssen sicherstellen, dass es OK ist, zuerst zu laufen, indem\n Sie die halui.mode.is-auto Pin. Dies geschieht mit einer and2 Komponente. Die folgende Abbildung zeigt, wie das gemacht wird. Wenn der Fernbedienungsknopf gedr\u00fcckt wird, ist er sowohl mit\n halui.mode.auto als auch mit and2.0.in0 verbunden. Wenn der Automodus OK ist, wird der Pin\n halui.mode.is-auto eingeschaltet. Wenn beide Eing\u00e4nge an der Komponente and2.0 eingeschaltet\n sind, wird and2.0.out eingeschaltet und das Programm gestartet.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 315 / 1331\n \n Abbildung 5.26: Beispiel f\u00fcr Fernstart\n Die f\u00fcr das Vorstehende erforderlichen HAL-Befehle sind:\n net program-start-btn halui.mode.auto and2.0.in0 <= \n net program-run-ok and2.0.in1 <= halui.mode.is-auto\n@@ -16394,15 +16394,15 @@\n the program pause or to resume when the external system wants LinuxCNC to continue.\n net ispaused halui.program.is paused => \u201dDein output (Ausgabe) Pin\u201d\n net resume halui.program.resume <= \u201dyour input (Eingabe) Pin\u201d\n \n Ihre Eingangs- und Ausgangspins sind mit den Pins verbunden, die mit dem anderen Controller verdrahtet sind. Dabei kann es sich um Pins des Parallelports oder andere E/A-Pins handeln, auf die Sie\n Zugriff haben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 316 / 1331\n \n Dieses System funktioniert auf folgende Weise. Wrid ein M0 in Ihrem G-Code erreicht, so wird das\n Signal \u201dhalui.program.is-paused\u201d wahr. Dies schaltet auf Ihrem Ausgangspin, so dass die externe\n Steuerung wei\u00df, dass LinuxCNC pausiert ist.\n Um die LinuxCNC G-Code-Programm fortzusetzen, wenn die externe Steuerung bereit ist, wird es\n@@ -16447,15 +16447,15 @@\n 03\n float OUT\n \n Wert Name\n 0 passthrough.in\n 0 passthrough.out\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 317 / 1331\n \n halcmd: setp passthrough.in 3.14\n halcmd: show pin\n Komponenten-Pins:\n Owner Typ\n@@ -16514,15 +16514,15 @@\n h.ready()\n \n Sobald alle Pins und Parameter erstellt wurden, rufen Sie die Methode .ready() auf.\n 5.13.3.1 \u00c4ndern des Pr\u00e4fixes\n Das Pr\u00e4fix kann durch den Aufruf der Methode .setprefix() ge\u00e4ndert werden. Das aktuelle Pr\u00e4fix kann\n durch den Aufruf der Methode .getprefix() abgefragt werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 318 / 1331\n \n 5.13.4 Lesen und Schreiben von Pins und Parametern\n Bei Pins und Parametern, die auch echte Python-Bezeichner sind, kann der Wert unter Verwendung\n der Attributsyntax aufgerufen oder gesetzt werden:\n h.out = h.in\n@@ -16556,15 +16556,15 @@\n 5.13.6 Hilfreiche Funktionen\n See Python HAL Interface for an overview of available functions.\n \n 5.13.7 Konstanten\n Verwenden Sie diese, um Details zu spezifizieren, und nicht den Wert, den sie enthalten.\n \u2022 HAL_BIT\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 319 / 1331\n \n \u2022 HAL_FLOAT\n \u2022 HAL_S32\n \u2022 HAL_U32\n \u2022 HAL_IN\n@@ -16592,15 +16592,15 @@\n Note that only the __ and __ fields are defined for a canonical device. The\n _, __, and __ fields are set based on the characteristics of\n the real device.\n \n 5.14.2 Digital Input\n Der kanonische Digitaleingang (E/A-Typfeld: \u201ddigin\u201d) ist recht einfach.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 320 / 1331\n \n 5.14.2.1 Pins\n \n (bit) in\n Zustand des Hardware-Eingangs.\n@@ -16627,15 +16627,15 @@\n \n (funct) write\n Lesen Sie out und invert und stellen Sie die Hardwareausgabe entsprechend ein.\n \n 5.14.4 Analog Input\n The canonical analog input (I/O type: adcin). This is expected to be used for analog to digital converters, which convert e.g. voltage to a continuous range of values.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 321 / 1331\n \n 5.14.4.1 Pins\n \n (float) Wert\n Der Hardware-Messwert, skaliert gem\u00e4\u00df den Parametern Skala und Offset.\n@@ -16665,15 +16665,15 @@\n \n (float) Wert\n Der zu schreibende Wert. Der tats\u00e4chliche Wert, der an die Hardware ausgegeben wird, h\u00e4ngt\n von den Parametern Skala und Offset ab.\n (bit) aktivieren (engl. enable)\n Wenn false, dann wird 0 an die Hardware ausgegeben, unabh\u00e4ngig vom value Pin.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 322 / 1331\n \n 5.14.5.2 Parameter\n \n (float) Offset\n Dies wird zu dem Wert (engl. value) hinzugef\u00fcgt, bevor die Hardware aktualisiert wird.\n@@ -16710,15 +16710,15 @@\n cd toplevel_directory_for_rip_build\n . scripts/rip-environment\n man halcmd\n \n Das HAL Tutorial enth\u00e4lt eine Reihe von Beispielen f\u00fcr die Verwendung von halcmd und ist ein gutes\n Tutorial f\u00fcr halcmd.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 323 / 1331\n \n 5.15.2 Halmeter\n Halmeter is a voltmeter for the HAL. It lets you look at a pin, signal, or parameter, and displays the\n current value of that item. It is pretty simple to use. Start it by typing halmeter in an X windows shell.\n Halmeter is a GUI application. It will pop up a small window, with two buttons labeled \u201dSelect\u201d and\n@@ -16743,23 +16743,23 @@\n displays the value. Multiple \u0300 \u0300halmeter \u0300 \u0300s can be open at the same time. If you use a script to open\n multiple \u0300 \u0300halmeter \u0300 \u0300s you can set the position of each one with -g X Y relative to the upper left corner\n of your screen. For example:\n loadusr halmeter pin hm2.0.stepgen.00.velocity-fb -g 0 500\n \n Siehe die Manpage f\u00fcr weitere Optionen und den Abschnitt Halmeter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 5.27: Halmeter-Auswahlfenster\n \n Abbildung 5.28: Halmeter-Watch Fenster\n \n 324 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 325 / 1331\n \n 5.15.3 Halshow\n halshow (complete usage description) can be started from the command line to show details for selected components, pins, parameters, signals, functions, and threads of a running HAL. The WATCH tab\n provides a continuous display of selected pin, parameters, and signal items. The File menu provides\n buttons to save the watch items to a watch list and to load an existing watch list. The watch list items\n@@ -16775,15 +16775,15 @@\n Hinweise:\n Erstellen Sie einen watchfile in halshow mit: \u2019File/Save Watch List\u2019.\n LinuxCNC muss f\u00fcr die Standalone-Nutzung ausgef\u00fchrt werden.\n \n Abbildung 5.29: Halshow Watch Tab\n A watchfile created using the File/Save Watch List menu item is formatted as a single line with tokens\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 326 / 1331\n \n \u201dpin+\u201d, \u201dparam+\u201d, \u201dsig=+\u201d, followed by the appropriate pin, param, or signal name. The token-name\n pairs are separated by a space character.\n Einzeiliges Watchfile-Beispiel\n pin+joint.0.pos-hard-limit pin+joint.1.pos-hard-limit sig+estop-loop\n@@ -16829,15 +16829,15 @@\n A named item can specify a pin, param, or signal\n The item must be writable, e.g.:\n pin:\n IN or I/O (and not connected to a signal with a writer)\n param: RW\n signal: connected to a writable pin\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 327 / 1331\n \n HAL item types bit,s32,u32,float are supported.\n When a bit item is specified, a pushbutton is created\n to manage the item in one of three manners specified\n by radio buttons:\n@@ -16861,15 +16861,15 @@\n Abbildung 5.30: sim_pin-Fenster\n \n 5.15.6 simulate_probe (Sonde simulieren)\n simulate_probe ist ein einfaches GUI, um die Aktivierung des Pins motion.probe-input zu simulieren.\n Verwendung:\n simulate_probe &\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 328 / 1331\n \n Abbildung 5.31: Fenster simulieren_probe\n \n 5.15.7 HAL Histogramm\n hal-histogram ist ein Kommandozeilenprogramm zur Anzeige von Histogrammen f\u00fcr HAL-Pins.\n@@ -16918,15 +16918,15 @@\n \n Anmerkungen:\n 1. LinuxCNC (oder eine andere HAL-Anwendung) muss laufen.\n 2. If no pinname is specified, default is: motion-command-handler.time.\n 3. Diese App kann f\u00fcr 5 Pins ge\u00f6ffnet werden.\n 4. Unterst\u00fctzt werden die Pintypen float, s32, u32, bit.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 329 / 1331\n \n 5. The pin must be associated with a thread supporting floating point. For a base thread, this may\n require using loadrt motmod ... base_thread_fp=1 .\n \n Abbildung 5.32: hal-histogram-Fenster\n@@ -16937,15 +16937,15 @@\n 1. Systembeschreibung und Kernelversion.\n 2. Signale und alle angeschlossenen Ausgangs-, E/A- und Eingangspins.\n 3. Eines jeden Pin component_function, thread und addf-Reihenfolge.\n 4. Non-realtime component pins having non-ordered functions.\n 5. Identifizierung von unbekannten Funktionen f\u00fcr nicht behandelte Komponenten.\n 6. Signals with no output.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 330 / 1331\n \n 7. Signals with no inputs.\n 8. Functions with no addf.\n 9. Warning tags for components marked as deprecated/obsolete in docs.\n 10. Real names for pins that use alias names.\n@@ -17019,15 +17019,15 @@\n h.00.velocity-cmd\n hm2_7i92.0.write\n (=hm2_7i92.0.stepgen.00.velocity-cmd)\n \n servo-thread 004\n servo-thread 008\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 331 / 1331\n \n Im obigen Beispiel verwendet die HALFILE halcmd-Aliase, um die Pin-Namen f\u00fcr ein hostmot2-FPGABoard mit Befehlen wie diesen zu vereinfachen:\n alias pin hm2_7i92.0.stepgen.00.position-fb h.00.position-fb\n \n Anmerkung\n@@ -17042,15 +17042,15 @@\n Komponentenstifte, die nicht mit einer bekannten Gewindefunktion verbunden werden k\u00f6nnen, melden die Funktion als \u201dUnbekannt\u201d.\n \n halreport generates a connections report (without pin types, and current values) for a running HAL\n application to aid in designing and verifying connections. This helps with the understanding what the\n source of a pin value is. Use this information with applications like halshow, halmeter, halscope or\n the halcmd show command in a terminal.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 332 / 1331\n \n Kapitel 6\n \n Hardware-Treiber\n 6.1 Parallelport-Treiber\n@@ -17080,15 +17080,15 @@\n Bei einigen Computern k\u00f6nnen die BIOS-Einstellungen beeinflussen, ob der x-Modus verwendet werden kann. Der SPP-Modus funktioniert am ehesten.\n \n Andere Kombinationen werden nicht unterst\u00fctzt, und ein Anschluss kann nach der Installation des\n Treibers nicht mehr von Eingang auf Ausgang umgestellt werden.\n Der parport-Treiber kann bis zu 8 Ports steuern (definiert durch MAX_PORTS in hal_parport.c). Die\n Ports werden bei Null beginnend nummeriert.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 333 / 1331\n \n 6.1.1 Laden\n The hal_parport driver is a real time component so it must be loaded into the real time thread with\n loadrt. The configuration string describes the parallel ports to be used, and (optionally) their types. If\n the configuration string does not describe at least one port, it is an error.\n@@ -17115,15 +17115,15 @@\n 2 to 9 explicitly specified as outputs. Note that you must know the base address of the parallel ports\n to configure the drivers correctly. For ISA bus ports, this is usually not a problem, since the ports\n are almost always at a well-known address, such as 0x278 or 0x378 which are typically configured\n in the BIOS. The addresses of PCI bus cards are usually found with lspci -v in an I/O ports line, or\n in a kernel message after running sudo modprobe -a parport_pc. There is no default address, so if\n does not contain at least one address, it is an error.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 334 / 1331\n \n Abbildung 6.1: Parport-Blockdiagramm\n Typ F\u00fcr jede parallele Schnittstelle, die vom hal_parport Treiber verwaltet wird, kann optional ein\n Typ angegeben werden. Der Typ ist einer von in, out, epp oder x.\n Tabelle 6.1: Parallele Port-Richtung\n@@ -17183,15 +17183,15 @@\n out\n out\n in\n in\n in\n in\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 335 / 1331\n \n Tabelle 6.1: (continued)\n Pin\n 14\n 15\n@@ -17252,15 +17252,15 @@\n I/O ports at cc00 [size=16]\n \n From experimentation, I\u2019ve found the first port (the on-card port) uses the third address listed (c000),\n and the second port (the one that attaches with a ribbon cable) uses the first address listed (b800).\n The following example shows the onboard parallel port and a PCI parallel port using the default out\n direction.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 336 / 1331\n \n loadrt hal_parport cfg=\u201d0x378 0xc000\u201d\n \n Please note that your values will differ. The Netmos cards are Plug-N-Play, and might change their\n settings depending on which slot you put them into, so if you like to get under the hood and re-arrange\n@@ -17307,15 +17307,15 @@\n \u2022 parport. \u0300\n __

__.reset \u0300 (funct) Waits until reset-time has elapsed since the associated write,\n then resets pins to values indicated by -out-invert and -out-invert settings. reset must be later\n in the same thread as write. If -reset is TRUE, then the reset function will set the pin to the value\n of -out-invert. This can be used in conjunction with stepgen\u2019s doublefreq to produce one step per\n period. The stepgen stepspace for that pin must be set to 0 to enable doublefreq.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 337 / 1331\n \n The individual functions are provided for situations where one port needs to be updated in a very fast\n thread, but other ports can be updated in a slower thread to save CPU time. It is probably not a good\n idea to use both an -all function and an individual function at the same time.\n \n@@ -17356,15 +17356,15 @@\n 6.1.8.1 Installation von probe_parport\n Wenn das Kernelmodul parport_pc mit dem Befehl geladen wird:\n sudo modprobe -a parport_pc; sudo rmmod parport_pc\n \n Der Linux-Kernel gibt eine Meldung \u00e4hnlich der folgenden aus:\n parport: PnPBIOS parport erkannt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 338 / 1331\n \n Dann wird die Verwendung dieses Moduls wahrscheinlich notwendig sein.\n Schlie\u00dflich sollten die HAL-Parport-Komponenten geladen werden:\n loadrt probe_parport\n loadrt hal_parport ...\n@@ -17395,15 +17395,15 @@\n F\u00fcr jeden Pin ist die Platinen-Nummer (beginnt bei Null) und die Nummer\n des E/A-Kanals (0 bis 47).\n Beachten Sie, dass der Treiber von aktiven LOW-Signalen ausgeht. Dies ist erforderlich, damit Module wie OPTO-22 korrekt funktionieren (TRUE bedeutet Ausgang EIN oder Eingang unter Spannung). Wenn die Signale direkt ohne Pufferung oder Isolierung verwendet werden, muss die Inversion\n ber\u00fccksichtigt werden. Der In-HAL-Pin ist TRUE, wenn der physikalische Pin niedrig ist (OPTO-22Modul unter Spannung), und FALSE, wenn der physikalische Pin hoch ist (OPTO-22-Modul aus). Der\n in--not HAL-Pin ist invertiert - er ist FALSE, wenn der physikalische Pin low ist (OPTO22-Modul unter Spannung). Durch Anschluss eines Signals an den einen oder anderen Pin kann der\n Benutzer den Zustand des Eingangs bestimmen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 339 / 1331\n \n 6.2.3 Parameter\n \u2022 (bit) ax5214..out--invert \u2014 Invertiert einen Ausgangspin.\n Der Parameter -invert bestimmt, ob ein Ausgangspin aktiv high oder aktiv low ist. Wenn -invert auf\n FALSE steht, wird der physikalische Pin durch das Setzen von HAL out- pin TRUE auf low gesetzt,\n@@ -17424,27 +17424,27 @@\n oder ein analoger Servo sein.\n \u2022 GPIO: Vier bzw. acht E/A-Pins sind auf Standard-Flachkabelsteckern untergebracht.\n \u2022 RS485 E/A-Erweiterungsmodule: Der RS485-Bus wurde f\u00fcr den Anschluss von kompakten Erweiterungsmodulen f\u00fcr die DIN-Schienenmontage entwickelt. Ein 8-Kanal-Digitaleingang, ein 8-KanalRelaisausgang und ein analoges I/O-Modul (4x +/-10 Volt Ausgang und 8x +/-5 Volt Eingang) sind\n jetzt verf\u00fcgbar. Insgesamt k\u00f6nnen bis zu 16 Module an den Bus angeschlossen werden.\n \u2022 20 optisch isolierte Eingangspins: Sechs mal drei f\u00fcr den direkten Anschluss von zwei Endschaltern\n und einem Referenzierungssensor f\u00fcr jedes Gelenk. Und zus\u00e4tzlich zwei optisch isolierte NotausEing\u00e4nge.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 340 / 1331\n \n Installation:\n loadrt hal_gm\n \n W\u00e4hrend des Ladens (oder versuchten Ladens) gibt der Treiber einige n\u00fctzliche Debugging-Meldungen\n in das Kernel-Protokoll aus, die mit dmesg eingesehen werden k\u00f6nnen.\n Es k\u00f6nnen bis zu 3 Karten in einem System verwendet werden.\n Die folgenden Anschl\u00fcsse befinden sich auf der GM6-PCI-Karte:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 341 / 1331\n \n Abbildung 6.2: GM6-PCI-Kartenanschl\u00fcsse und LEDs\n \n 6.3.1 I/O-Anschl\u00fcsse\n \n@@ -17476,15 +17476,15 @@\n \n 4\n IOx/2\n \n 2\n IOx/0\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 342 / 1331\n \n Jeder Pin kann als digitaler Eingang oder Ausgang konfiguriert werden. Die GM6-PCI-Bewegungssteuerungs\n verf\u00fcgt \u00fcber 4 GPIO-Anschl\u00fcsse (General Purpose I/O) mit jeweils acht konfigurierbaren E/A. Jeder\n GPIO-Pin und Parametername beginnt wie folgt:\n gm..gpio.\n@@ -17533,15 +17533,15 @@\n Bei True wird der entsprechende\n GPIO auf Totem-Pol-Ausgang gesetzt,\n andernfalls auf hochohmigen Eingang.\n Wenn True, wird der Wert des Pins\n invertiert. Wird verwendet, wenn der\n Pin als Ausgang konfiguriert ist.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 343 / 1331\n \n 6.3.2 Achsen-Anschl\u00fcsse\n \n Abbildung 6.4: Pin-Nummerierung der Achsenverbinder\n Tabelle 6.6: Belegung der Achsanschl\u00fcsse\n@@ -17571,15 +17571,15 @@\n \n 6.3.2.1 Achsen-Schnittstellenmodule\n Small sized DIN rail mounted interface modules gives easy way of connecting different types of servo\n modules to the axis connectors. Seven different system configurations are presented in the System integration manual for evaluating typical applications. Also the detailed description of the Axis modules\n can be found in the System integration manual.\n Zur Ermittlung der geeigneten Servoantriebsstruktur sind die Module wie im folgenden Blockschaltbild dargestellt zu verbinden:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 344 / 1331\n \n Abbildung 6.5: Servo-Achsen-Schnittstellen\n \n 6.3.2.2 Encoder\n Die GM6-PCI-Bewegungssteuerungskarte verf\u00fcgt \u00fcber sechs Encoder-Module. Jedes Gebermodul hat\n@@ -17593,15 +17593,15 @@\n \n wobei zwischen 0 und 5 liegt. Beispielsweise bezieht sich \u201egm.0.encoder.0.position\u201c auf\n die Position des Encodermoduls von Achse 0.\n Die GM6-PCI-Karte z\u00e4hlt das Gebersignal unabh\u00e4ngig von LinuxCNC. HAL-Pins werden nach Funktion\n aktualisiert:\n gm..read\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 345 / 1331\n \n Tabelle 6.7: Encoder-Pins\n Pins\n .reset\n \n@@ -17681,15 +17681,15 @@\n Kanal-A-Eingangs in die durch Kanal-B\n bestimmte Richtung. Dies ist n\u00fctzlich\n f\u00fcr die Z\u00e4hlung des Ausgangs eines\n Einkanal- (Nicht-Quadratur-) oder\n Schritt-/Differenzsignalsensors. Wenn\n False, z\u00e4hlt er im Quadraturmodus.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 346 / 1331\n \n Tabelle 6.8: (continued)\n Parameter\n \n .index-mode\n@@ -17760,15 +17760,15 @@\n Skala in Z\u00e4hlungen pro L\u00e4ngeneinheit.\n .position=.counts/.position-scale.\n Wenn z. B. der Positionsma\u00dfstab 2000\n ist, dann ergeben 1000 Z\u00e4hlungen des\n Encoders eine Position von 0,5\n Einheiten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 347 / 1331\n \n Einstellung des Gebermoduls der Achse 0 f\u00fcr den Empfang des 500 CPR Quadraturgebersignals und Verwendung der R\u00fcckstellung zum Runden der Position.\n setp gm.0.encoder.0.counter-mode 0 # 0: quad, 1: stepDir\n setp gm.0.encoder.0.index-mode 1 # 0: reset pos at index, 1:round pos at index\n setp gm.0.encoder.0.counts-per-rev 2000 # GM-Prozess-Encoder im 4x-Modus, 4x500=2000\n@@ -17822,15 +17822,15 @@\n Positionsr\u00fcckmeldung in Positionseinheit.\n Die befohlene Position in Positionseinheiten.\n Wird nur im Positionsmodus verwendet.\n Geforderte Geschwindigkeit in\n Positionseinheiten pro Sekunde. Wird nur\n im Geschwindigkeitsmodus verwendet.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 348 / 1331\n \n Tabelle 6.10: StepGen-Modul-Parameter\n Parameter\n \n .step-type\n@@ -17903,15 +17903,15 @@\n Mindestzeit zwischen zwei Schrittimpulsen\n in Nanosekunden.\n Mindestzeit zwischen Schrittimpuls und\n Richtungswechsel in Nanosekunden.\n \n Zur Ermittlung der entsprechenden Werte siehe die nachstehenden Zeitdiagramme:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 349 / 1331\n \n Abbildung 6.6: Referenzsignal-Zeitdiagramme\n Einstellung des StepGen-Moduls der Achse 0 zur Erzeugung von 1000 Schrittimpulsen pro\n Positionseinheit\n setp gm.0.stepgen.0.step-type 0\n@@ -17928,15 +17928,15 @@\n setp gm.0.stepgen.0.maxaccel 0\n # do not set max acceleration for\n # step generator, let interpolator control it.\n setp gm.0.stepgen.0.position-scale 1000 # 1000 step/position unit\n setp gm.0.stepgen.0.steplen 1000\n # 1000 ns = 1 \u00b5s\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n setp gm.0.stepgen.0.stepspace1000\n setp gm.0.stepgen.0.dirdelay 2000\n \n 350 / 1331\n \n # 1000 ns = 1 \u00b5s\n@@ -17978,15 +17978,15 @@\n Die GM6-PCI-Bewegungssteuerungskarte verf\u00fcgt \u00fcber sechs serielle Achsen-DAC-Treibermodule, eines f\u00fcr jedes Gelenk. Jedes Modul wird an den Pin des entsprechenden RJ50-Achsenanschlusses angeschlossen. Jeder Achsen-DAC-Pin und Parametername beginnt wie folgt:\n gm..dac.\n \n wobei zwischen 0 und 5 liegt. Zum Beispiel bezieht sich gm.0.dac.0.value auf die Ausgangsspannung des DAC-Moduls der Achse 0.\n HAL Pins werden durch Funktion aktualisiert:\n gm..write\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 351 / 1331\n \n Tabelle 6.12: Achsen DAC-Pins\n Pins\n .enable\n \n@@ -18055,15 +18055,15 @@\n Jeder CAN-Pin- und Parametername beginnt wie folgt:\n gm..can-gm.\n \n wobei < axis_no > zwischen 0 und 5 liegt. Zum Beispiel bezieht sich gm.0.can-gm.0.position auf\n die Ausgangsposition der Achse 0 in Positionseinheiten.\n HAL Pins werden durch Funktion aktualisiert:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 352 / 1331\n \n gm..write\n \n 6.3.3.1 Pins\n Tabelle 6.14: CAN-Modul-Pins\n@@ -18118,15 +18118,15 @@\n Pin-Beschreibung\n Gibt an, dass der Watchdog-Zeitgeber\n abgelaufen ist.\n \n Das \u00dcberschreiten des Watchdog-Timers f\u00fchrt dazu, dass das Power-Enable in der Hardware auf Low\n gesetzt wird.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 353 / 1331\n \n 6.3.4.2 Parameter\n Tabelle 6.17: Watchdog-Parameter\n Parameter\n \n@@ -18184,15 +18184,15 @@\n 6/End+\n ing\n ing\n ing\n 2\n (Ext.)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 26\n \n 24\n \n GND\n \n@@ -18279,15 +18279,15 @@\n \n Parameterbeschreibung\n Notaus0 Eingang\n Negierter Notaus 0-Eingang\n Notaus 1 Eingang\n Negierter Notaus 1-Eingang\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 355 / 1331\n \n \u2022 Blinken w\u00e4hrend der Datenkommunikation.\n \u2022 Ein, wenn einer der Puffer voll ist - Kommunikationsfehler.\n \u2022 Aus, wenn keine Datenkommunikation stattfindet.\n 6.3.6.2 RS485\n@@ -18312,15 +18312,15 @@\n 6.3.7 RS485 E/A-Erweiterungsmodule\n Diese Module wurden f\u00fcr die Erweiterung der E/A- und Funktionsf\u00e4higkeit entlang einer RS485-Linie\n der GM6-PCI Motion Control Karte entwickelt.\n Verf\u00fcgbare Modultypen:\n \u2022 8-Kanal-Relaisausgangsmodul - bietet acht NO-NC-Relaisausg\u00e4nge an einem dreipoligen Klemmenanschluss f\u00fcr jeden Kanal.\n \u2022 8-Kanal-Digitaleingangsmodul - bietet acht optisch isolierte digitale Eingangsstifte.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 356 / 1331\n \n \u2022 8-Kanal-ADC- und 4-Kanal-DAC-Modul - bietet vier Digital-Analog-Wandler-Ausg\u00e4nge und acht AnalogDigital-Eing\u00e4nge. Auch dieses Modul ist von der GM6-PCI-Karte optisch isoliert.\n Automatische Knotenerkennung Jeder an den Bus angeschlossene Knoten wurde von der GM6PCI-Karte automatisch erkannt. Beim Start von LinuxCNC exportiert der Treiber automatisch Pins\n und Parameter aller verf\u00fcgbaren Module.\n Fehlerbehandlung Wenn ein Modul nicht regelm\u00e4\u00dfig antwortet, f\u00e4hrt die GM6-PCI-Karte das Modul\n@@ -18344,15 +18344,15 @@\n \n Es sollte dem Servo-Thread oder einem anderen Thread mit gr\u00f6\u00dferer Periode hinzugef\u00fcgt werden, um\n eine CPU-\u00dcberlastung zu vermeiden. Jeder RS485-Modul-Pin und Parametername beginnt wie folgt:\n gm..rs485.\n \n wobei zwischen 00 und 15 liegt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 357 / 1331\n \n Tabelle 6.22: Pins des Relaisausgangsmoduls\n Pins\n .relay-<0-7>\n \n@@ -18425,15 +18425,15 @@\n #\n .rs485.0\n # Auswahl des Knotens mit der Adresse 0 auf dem RS485-Bus\n #\n .in-0\n # W\u00e4hlt das erste digitale Eingangsmodul\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 358 / 1331\n \n 6.3.7.3 DAC & ADC-Modul\n For pinout, connection and electrical charasteristics of the module, please refer to the System integration manual.\n Alle Pins und Parameter werden durch die folgende Funktion aktualisiert:\n gm..rs485\n@@ -18509,15 +18509,15 @@\n #\n .rs485.0\n # Auswahl des Knotens mit der Adresse 0 auf dem RS485-Bus\n #\n .adc-0\n # W\u00e4hlt den ersten Analogeingang des Moduls\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 359 / 1331\n \n 6.3.7.4 Teach Pendant Modul\n For pinout, connection and electrical charasteristics of the module, please refer to the System integration manual.\n Alle Pins und Parameter werden durch die folgende Funktion aktualisiert:\n gm..rs485\n@@ -18599,15 +18599,15 @@\n # Bedeutet die erste GM6-PCI-Bewegungssteuerungskarte (PCI- \u2190Kartenadresse = 0)\n #\n .rs485.0\n # Auswahl des Knotens mit der Adresse 0 auf dem RS485-Bus\n #\n .adc-0 # W\u00e4hlt den ersten Analogeingang des Moduls\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 360 / 1331\n \n 6.3.8 Errata\n 6.3.8.1 GM6-PCI-Karte Errata\n Die Revisionsnummer in diesem Abschnitt bezieht sich auf die Revision des GM6-PCI-Kartenger\u00e4ts.\n Rev. 1.2\n@@ -18641,15 +18641,15 @@\n \u2022 -t or --target (default: 1) Set MODBUS target (slave) number. This must match the device\n number you set on the GS2.\n \u2022 -v oder --verbose Schaltet Debug-Meldungen ein.\n \u2022 -A oder --accel-seconds (Voreinstellung: 10.0) Sekunden um die Spindel von 0 auf max. U/min\n (engl. RPM) zu beschleunigen.\n 1 In Europe the equivalent can be found under the brand name Omron.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 361 / 1331\n \n \u2022 -D or --decel-seconds (default: 0.0) Seconds to decelerate the spindle from max. RPM to 0. If\n set to 0.0 the spindle will be allowed to coast to a stop without controlled deceleration.\n \u2022 -R or --braking-resistor This argument should be used when a braking resistor is installed on the\n GS2 VFD (see Appendix A of the GS2 manual). It disables deceleration over-voltage stall prevention\n@@ -18683,15 +18683,15 @@\n \u2022 .spindle-on (bit, in) 1 f\u00fcr EIN und 0 f\u00fcr AUS an VFD gesendet\n \u2022 .status-1 (s32, out) Antriebsstatus des VFD (siehe GS2-Handbuch)\n \u2022 .status-2 (s32, out) Laufwerksstatus des Frequenzumrichters (siehe GS2-Handbuch)\n Anmerkung\n The status value is a sum of all the bits that are on. So a 163 which means the drive is in the run\n mode is the sum of 3 (run) + 32 (freq set by serial) + 128 (operation set by serial).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 362 / 1331\n \n 6.4.3 Parameter\n Dabei ist gs2_vfd oder der Name, der beim Laden mit der Option -n angegeben wurde:\n \u2022 .error-count (s32, RW)\n \u2022 .loop-time (float, RW) wie oft der Modbus abgefragt wird (Standard: 0.1)\n@@ -18717,15 +18717,15 @@\n The \u201ddir\u201d mask determines whether the pins are inputs and outputs, the exclude mask prevents the\n driver from using the pins (and so allows them to be used for their normal RPi purposes such as SPI\n or UART).\n The mask can be in decimal or hexadecimal (hex may be easier as there will be no carries).\n To determine the value of the masks, add up the hex/decimal values for all pins that should be configured as output, and analogously for all pins that should be excluded according to the following\n table.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 363 / 1331\n \n Tabelle 6.29: GPIO masks - mapping of GPIO numbers\n (leftmost column) to physical pin numbers as printed on\n the Raspberry Pi board (rightmost column) and the decimal/hexadecimal values that contribute to the value of\n the mask.\n@@ -18851,15 +18851,15 @@\n \u2022 hal_pi_gpio.pin-NN-out\n \u2022 hal_pi_gpio.pin-NN-in\n Depending on the dir and exclude masks.\n \n 6.5.4 Parameter\n Only the standard timing parameters which are created for all components exist.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 364 / 1331\n \n *hal_pi_gpio.read.tmax *hal_pi_gpio.read.tmax-increased *hal_pi_gpio.write.tmax *hal_pi_gpio.write.tmaxincreased\n For unknown reasons the driver also creates HAL pins to indicate timing\n *hal_pi_gpio.read.time *hal_pi_gpio.write.time\n \n@@ -18890,15 +18890,15 @@\n This driver has been tested on the Raspberry Pi, and should also work on Banana Pi, BeagleBone,\n Pine64 (et al.) and other single board computers, and potentially on other platforms.\n \n 6.6.1 Purpose\n This driver allows the use of GPIO pins in a way analogous to the parallel port driver on x86 PCs. It\n can use the same step generators, encoder counters and similar components.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 365 / 1331\n \n 6.6.2 Anwendung\n loadrt hal_gpio inputs=GPIO5,GPIO6,GPIO12,GPIO13,GPIO16,GPIO17,GPIO18,GPIO19 \\\n outputs=GPIO20,GPIO21,GPIO22,GPIO23,GPIO24,GPIO25,GPIO26, \u2190GPIO27 \\\n invert=GPIO20,GPIO27 \\\n@@ -19040,15 +19040,15 @@\n and must be in the same thread. The behaviour of this function is equivalent to the same\n function in the hal_parport driver, and it allows a step pulse every thread cycle. If the\n hal_gpio.reset_ns time is set longer than 1/4 of the period of the thread that it is added to,\n then the value will be reduced to 1/4 the thread period. There is a lower limit to how long\n the pulse can be. With 8 pins in the output list the pulse width can not reduce lower than\n 5000 ns on an RPi4, for example.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 366 / 1331\n \n The following functions are accepted in all versions, but are only effective if a version of libgpiod_dev\n >= 1.6 is installed. They should be used in the same way as the parameters described above, and will\n alter the electrical parameters of the GPIO pins if this is supported by the hardware.\n opendrain\n@@ -19078,15 +19078,15 @@\n \n 6.6.6 Pin Identification\n Use the pin names returned by the gpioinfo utility. This uses the device-tree data. If the installed OS\n does not have a device-tree database then the pins will all be called \u201dunnamed\u201d (or similar) and this\n driver can not be used.\n A further update to this driver might allow access by index number, but this is not currently supported.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 367 / 1331\n \n 6.6.7 Troubleshooting permissions problems.\n If \u201daccess denied\u201d messages are returned on loading the driver, try the following recipe: (Should not\n be needed for Raspbian, and will need to be modified to match the actual GPIO chip name on non-Pi\n platforms)\n@@ -19121,15 +19121,15 @@\n 6.7.1 Einf\u00fchrung\n HostMot2 is an FPGA configuration developed by Mesa Electronics for their line of Anything I/O motion\n control cards. The firmware is open source, portable and flexible. It can be configured (at compiletime) with zero or more instances (an object created at runtime) of each of several Modules: encoders\n (quadrature counters), PWM generators, and step/dir generators. The firmware can be configured\n (at run-time) to connect each of these instances to pins on the I/O headers. I/O pins not driven by a\n Module instance revert to general-purpose bi-directional digital I/O.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 368 / 1331\n \n 6.7.2 Firmware-Bin\u00e4rdateien\n 50 Pin Header FPGA-Karten Several pre-compiled HostMot2 firmware binaries are available for\n the different Anything I/O boards. This list is incomplete, check the hostmot2-firmware distribution\n for up-to-date firmware lists.\n@@ -19166,15 +19166,15 @@\n denen die HostMot2-Firmware l\u00e4uft. Die Low-Level-I/O-Treiber stellen diesen Zugang zur Verf\u00fcgung.\n Die Low-Level-I/O-Treiber werden mit Befehlen wie diesem geladen:\n loadrt hm2_pci config=\u201dfirmware=hm2/5i20/SVST8_4.BIT\n num_encoders=3 num_pwmgens=3 num_stepgens=1\u201d\n \n Die Konfigurationsparameter sind in der Manpage zu hostmot2 beschrieben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 369 / 1331\n \n 6.7.5 Watchdog\n Die HostMot2-Firmware kann ein Watchdog-Modul enthalten; wenn dies der Fall ist, wird es vom\n Hostmot2-Treiber verwendet.\n Der Watchdog muss von Zeit zu Zeit von LinuxCNC gestreichelt werden, sonst bei\u00dft er. Die hm2\n@@ -19204,15 +19204,15 @@\n Die obigen Funktionen read_gpio und write_gpio sollten normalerweise nicht ben\u00f6tigt werden, da die\n GPIO-Bits zusammen mit allem anderen in den obigen Standardfunktionen read und write gelesen\n und geschrieben werden, die normalerweise im Servo-Thread ausgef\u00fchrt werden.\n Die Funktionen read_gpio und write_gpio wurden f\u00fcr den Fall bereitgestellt, dass eine sehr schnelle\n (h\u00e4ufig aktualisierte) E/A ben\u00f6tigt wird. Diese Funktionen sollten im Basis-Thread ausgef\u00fchrt werden.\n Wenn Sie dies ben\u00f6tigen, senden Sie uns bitte eine E-Mail und teilen Sie uns mit, um welche Anwendung es sich handelt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 370 / 1331\n \n 6.7.7 Pinbelegungen\n Der hostmot2-Treiber hat keine bestimmte Pinbelegung. Die Pinbelegung ergibt sich aus der Firmware, die der hostmot2-Treiber an die Anything I/O-Karte sendet. Jede Firmware hat eine andere\n Pinbelegung, und die Pinbelegung h\u00e4ngt davon ab, wie viele der verf\u00fcgbaren Encoder, pwmgens und\n stepgens verwendet werden. Um eine Pinout-Liste f\u00fcr Ihre Konfiguration nach dem Laden von LinuxCNC im Terminalfenster zu erhalten, geben Sie ein:\n@@ -19260,15 +19260,15 @@\n [ 1141.053619] hm2/hm2_5i20.0: IO Pin 068 (P4-41): IOPort\n [ 1141.053621] hm2/hm2_5i20.0: IO Pin 069 (P4-43): IOPort\n [ 1141.053624] hm2/hm2_5i20.0: IO Pin 070 (P4-45): IOPort\n [ 1141.053627] hm2/hm2_5i20.0: IO Pin 071 (P4-47): IOPort\n [ 1141.053811] hm2/hm2_5i20.0: registered\n [ 1141.053815] hm2_5i20.0: initialized AnyIO board at 0000:02:02.0\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 371 / 1331\n \n Anmerkung\n Der I/O Pin nnn entspricht der Pin-Nummer, die auf dem HAL Configuration Bildschirm f\u00fcr GPIOs angezeigt wird. Einige der StepGen, Encoder und PWMGen werden auch als GPIOs im HALKonfigurationsbildschirm angezeigt.\n \n 6.7.8 PIN-Dateien\n@@ -19282,15 +19282,15 @@\n Konfiguration finden Sie im Abschnitt Konfigurationen.\n \n 6.7.10 HAL-Pins\n The HAL pins for each configuration can be seen by opening up Show HAL Configuration from the\n Machine menu. All the HAL pins and parameters can be found there. The following figure is of the\n 5I20 configuration used above.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 372 / 1331\n \n Abbildung 6.9: 5i20 HAL-Pins\n \n 6.7.11 Konfigurationen\n Die Hostmot2-Firmware gibt es in verschiedenen Versionen, je nachdem, was Sie erreichen wollen.\n@@ -19307,15 +19307,15 @@\n 7I47). So in this way we can save two ports (48 bits) for GPIO.\n Hier sind Tabellen mit den in den offiziellen Paketen verf\u00fcgbaren Firmwares. Es kann zus\u00e4tzliche\n Firmwares auf der Mesanet.com Website, die noch nicht in die LinuxCNC offiziellen Firmware-Pakete\n geschafft haben, daher schauen Sie auch dort nach.\n 3x20 (verschiedene 6 Anschl\u00fcsse) Standardkonfigurationen (3x20 ist in den Versionen mit 1M, 1,5M\n und 2M Gatter erh\u00e4ltlich. Bislang ist die gesamte Firmware in allen Gate-Gr\u00f6\u00dfen verf\u00fcgbar.)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Firmware\n SV24\n SVST16_24\n \n Encoder\n 24\n@@ -19528,15 +19528,15 @@\n 0\n 4\n \n GPIO\n 0\n 0\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Firmware\n SVST8_4IM2\n \n Encoder\n 8 (+IM)\n \n@@ -19639,15 +19639,15 @@\n 6.7.12.1 Pins\n \u2022 in - (Bit, Out) Normaler Zustand des Hardware-Eingangs-Pins. Sowohl volle GPIO-Pins als auch\n I/O-Pins, die von aktiven Modulinstanzen als Eing\u00e4nge verwendet werden, haben diesen Pin.\n \u2022 in_not - (Bit, Out) Invertierter Zustand des Hardware-Eingangs-Pins. Sowohl volle GPIO-Pins als\n auch I/O-Pins, die von aktiven Modulinstanzen als Eing\u00e4nge verwendet werden, haben diesen Pin.\n \u2022 out - (Bit, In) Wert, der (m\u00f6glicherweise invertiert) an den Hardware-Ausgangspin geschrieben werden soll. Nur volle GPIO-Pins haben diesen Pin.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 375 / 1331\n \n 6.7.12.2 Parameter\n \u2022 invert_output - (Bit, RW) Dieser Parameter hat nur eine Auswirkung, wenn der Parameter is_output\n wahr ist. Wenn dieser Parameter wahr ist, wird der Ausgangswert des GPIOs der Inverse des Wertes\n am out HAL-Pin sein. Nur vollst\u00e4ndige GPIO-Pins und I/O-Pins, die von aktiven Modulinstanzen als\n@@ -19680,15 +19680,15 @@\n \u2022 control-type - (Bit, In) Schaltet zwischen Lageregelungsmodus (engl. position control mode) (0)\n und Geschwindigkeitsregelungsmodus (engl. velocity control mode) (1) um. Standardm\u00e4\u00dfig ist die\n Lageregelung (0) eingestellt.\n \u2022 counts - (s32, Out) R\u00fcckmeldung der Position in counts (Anzahl der Schritte).\n \u2022 enable - (Bit, In) Aktiviert Schritte am Ausgang. Wenn false, werden keine Schritte erzeugt.\n \u2022 position-cmd - (Float, In) Zielposition der Stepperbewegung, in benutzerdefinierten Positionseinheiten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 376 / 1331\n \n \u2022 position-fb - (Float, Out) Positionsr\u00fcckmeldung in benutzerdefinierten Positionseinheiten (counts /\n position_scale).\n \u2022 velocity-cmd - (Float, In) Zielgeschwindigkeit der Schrittmotorbewegung, in benutzerdefinierten\n Positionseinheiten pro Sekunde. Dieser Pin wird nur verwendet, wenn sich der Stepgen im Geschwindigkeitsregelungsmodus befindet (control-type=1).\n@@ -19719,15 +19719,15 @@\n Ausgangspin: der I/O-Pin am Anschluss wird auf den durch den out HAL-Pin spezifizierten Wert gesteuert (m\u00f6glicherweise invertiert). Wenn dieser Parameter true ist, verh\u00e4lt sich der GPIO wie ein\n Open-Drain-Pin. Das Schreiben von 0 an den out HAL-Pin treibt den I/O-Pin auf low, das Schreiben\n von 1 an den out HAL-Pin versetzt den I/O-Pin in einen hochohmigen Zustand. In diesem hochohmigen Zustand schwebt der I/O-Pin (schwach hochgezogen), und andere Ger\u00e4te k\u00f6nnen den Wert\n treiben; der resultierende Wert am I/O-Pin ist an den in und in_not Pins verf\u00fcgbar. Nur vollst\u00e4ndige\n GPIO-Pins und I/O-Pins, die von aktiven Modulinstanzen als Ausg\u00e4nge verwendet werden, haben\n diesen Parameter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 377 / 1331\n \n 6.7.14 PWMGen\n PWMgens haben Namen wie hm2_..pwmgen.. Instance ist eine zweistellige Nummer, die der HostMot2 pwmgen Instanznummer entspricht. Es gibt num_pwmgens\n Instanzen, beginnend mit 00.\n In HM2 verwendet jedes pwmgen drei Ausgangs-E/A-Pins: Not-Enable, Out0, und Out1. Um einen\n@@ -19765,15 +19765,15 @@\n Its effective range is from 1 Hz up to 193 kHz. Note that the max frequency is determined by the\n ClockHigh frequency of the Anything I/O board; the 5i20 and 7i43 both have a 100 MHz clock,\n resulting in a 193 kHz max PWM frequency. Other boards may have different clocks, resulting in\n different max PWM frequencies. If the user attempts to set the frequency too high, then it will be\n clipped to the max supported frequency of the board. Frequencies below about 5 Hz are not terribly\n accurate, but above 5 Hz they are pretty close.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 378 / 1331\n \n 6.7.14.3 Ausgangsparameter\n Die Ausgangspins der einzelnen PWMGen haben zwei zus\u00e4tzliche Parameter. Um herauszufinden,\n welcher E/A-Pin zu welchem Ausgang geh\u00f6rt, f\u00fchren Sie dmesg wie oben beschrieben aus.\n \u2022 invert_output - (Bit, RW) This parameter only has an effect if the is_output parameter is true. If\n@@ -19810,15 +19810,15 @@\n FALSE zur\u00fcck, nachdem er die Z\u00e4hlung auf 0 gesetzt hat, das ist Aufgabe des Benutzers.\n \u2022 velocity - (Float, Out) Gesch\u00e4tzte Encoder-Geschwindigkeit in Positionseinheiten pro Sekunde.\n 6.7.15.2 Parameter\n \u2022 counter-mode - (Bit, RW) Auf False (Standard) f\u00fcr Quadratur gesetzt. Auf True gesetzt f\u00fcr Up/Down\n oder f\u00fcr einen einzelnen Eingang an Phase A. Kann f\u00fcr einen Frequenz/Geschwindigkeits-Wandler\n mit einem einzelnen Eingang an Phase A verwendet werden, wenn auf True gesetzt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 379 / 1331\n \n \u2022 filter - (Bit, RW) If set to True (the default), the quadrature counter needs 15 clocks to register\n a change on any of the three input lines (any pulse shorter than this is rejected as noise). If set to\n False, the quadrature counter needs only 3 clocks to register a change. The encoder sample clock\n runs at 33 MHz on the PCI Anything I/O cards and 50 MHz on the 7I43.\n@@ -19857,15 +19857,15 @@\n \n 5I25 + 7I77 Karte\n # den generischen Treiber laden\n loadrt hostmot2\n # Laden Sie den PCI-Treiber und konfigurieren Sie ihn\n loadrt hm2_pci config=\u201dnum_encoders=6 num_pwmgens=6 sserial_port_0=0XXX\u201d\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 380 / 1331\n \n 6.7.16.3 SSERIAL-Konfiguration\n Die Konfigurationszeichenfolge sserial_port_0=0XXX legt einige Optionen f\u00fcr die intelligente serielle Tochterkarte fest. Diese Optionen sind spezifisch f\u00fcr jede Tochterkarte. Weitere Informationen \u00fcber\n die genaue Verwendung finden Sie im Mesa-Handbuch (normalerweise im Abschnitt SOFTWARE PROCESS DATA MODES) oder auf der Handbuchseite des Links:../man/man9/sserial.9.html[SSERIAL(9)].\n 6.7.16.4 7I77 Grenzwerte\n@@ -19898,15 +19898,15 @@\n \n 6.8 MB2HAL\n 6.8.1 Einf\u00fchrung\n MB2HAL is a generic non-realtime HAL component to communicate with one or more Modbus devices.\n So far, there are two options to communicate with a Modbus device:\n 1. One option is to create a HAL component as a driver see VFD Modbus.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 381 / 1331\n \n 2. Another option is to use Classic Ladder which has Modbus built in, see ClassicLadder.\n 3. Jetzt gibt es eine dritte Option, die aus einem \u201dgenerischen\u201d Treiber besteht, der per Textdatei\n konfiguriert wird, dieser hei\u00dft MB2HAL.\n Why MB2HAL? Consider using MB2HAL if:\n@@ -19956,15 +19956,15 @@\n (engl.\n string)\n \n Version number in the format N.N[NN]. Defaults to 1.0.\n \n HAL module (component) name. Defaults to \u201dmb2hal\u201d.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 382 / 1331\n \n Wert\n SLOWDOWN\n \n Typ\n@@ -20060,15 +20060,15 @@\n A list of element names. These names will be used for the\n nicht\n pin names, e.g. mb2hal.plcin.cycle_start.\n NELEMENTS NOTE: There must be no white space characters in the list.\n angegeben Example: PIN_NAMES=cycle_start,stop,feed_hold\n ist\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Wert\n MB_TX_CODE\n \n Typ\n ErforderlichBeschreibung\n Zeichenfolge\n@@ -20143,15 +20143,15 @@\n \u2022 0x04 - SLAVE_DEVICE_FAILURE - SLAVE (or MASTER) device unrecoverable FAILURE while attempting to perform the requested action.\n \u2022 0x04 - SERVER_FAILURE - (see above).\n \u2022 0x05 - ACKNOWLEDGE - This response is returned to PREVENT A TIMEOUT in the master. A long\n duration of time is required to process the request in the slave.\n \u2022 0x06 - SLAVE_DEVICE_BUSY - The slave (or server) is BUSY. Retransmit the request later.\n \u2022 0x06 - SERVER_BUSY - (see above).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 384 / 1331\n \n \u2022 0x07 - NEGATIVE_ACKNOWLEDGE - Unsuccessful programming request using function code 13 or\n 14.\n \u2022 0x08 - MEMORY_PARITY_ERROR - SLAVE parity error in MEMORY.\n \u2022 0x0A (-10) - GATEWAY_PROBLEM_PATH - Gateway path(s) not available.\n@@ -20190,15 +20190,15 @@\n VERSION=1.1\n #OPTIONAL: HAL module (component) name. Defaults to \u201dmb2hal\u201d.\n HAL_MODULE_NAME=mb2hal\n #OPTIONAL: Insert a delay of \u201dFLOAT seconds\u201d between transactions in order\n #to not to have a lot of logging and facilitate the debugging.\n #Useful when using DEBUG=3 (NOT INIT_DEBUG=3)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 385 / 1331\n \n #It affects ALL transactions.\n #Use \u201d0.0\u201d for normal activity.\n SLOWDOWN=0.0\n #REQUIRED: The number of total Modbus transactions. There is no maximum.\n@@ -20243,15 +20243,15 @@\n #if LINK_TYPE=serial then OPTIONAL:\n #if LINK_TYPE=tcp then IGNORED\n #Serial port delay between for this transaction only.\n #In ms. Defaults to 0.\n SERIAL_DELAY_MS=10\n #REQUIRED (only 1st time).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 386 / 1331\n \n #Modbus slave number.\n MB_SLAVE_ID=1\n #REQUIRED: The first element address (decimal integer).\n FIRST_ELEMENT=0\n@@ -20340,15 +20340,15 @@\n #\n mb2hal.TxName.01. (HAL_TX_NAME=TxName, second register=01 (00 is the first \u2190one))\n MB_TX_CODE=fnct_03_read_holding_registers\n #OPTIONAL: Response timeout for this transaction. In INTEGER ms. Defaults to 500 ms.\n #This is how much to wait for 1st byte before raise an error.\n MB_RESPONSE_TIMEOUT_MS=500\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 387 / 1331\n \n #OPTIONAL: Byte timeout for this transaction. In INTEGER ms. Defaults to 500 ms.\n #This is how much to wait from byte to byte before raise an error.\n MB_BYTE_TIMEOUT_MS=500\n #OPTIONAL: Instead of giving the transaction number, use a name.\n@@ -20412,15 +20412,15 @@\n MB_TX_CODE=fnct_01_read_coils\n FIRST_ELEMENT=1024\n NELEMENTS=24\n HAL_TX_NAME=remoteIOin\n MAX_UPDATE_RATE=0.0\n DEBUG=1\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n [TRANSACTION_02]\n MB_TX_CODE=fnct_02_read_discrete_inputs\n FIRST_ELEMENT=1280\n NELEMENTS=8\n HAL_TX_NAME=readStatus\n MAX_UPDATE_RATE=0.0\n@@ -20471,15 +20471,15 @@\n NELEMENTS=8\n HAL_TX_NAME=XDrive04\n MAX_UPDATE_RATE=10.0\n DEBUG=1\n \n 388 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 389 / 1331\n \n 6.8.5 Pins\n Anmerkung\n Yellow = New in MB2HAL 1.1 (LinuxCNC 2.9) To use these new features you have to set VERSION =\n 1.1.\n@@ -20506,15 +20506,15 @@\n NELEMENTS muss 1 sein oder PIN_NAMES darf nur einen Namen enthalten.\n 6.8.5.6 fnct_06_write_single_register\n \u2022 mb2hal.m.n.float float in\n \u2022 mb2hal.m.n.int s32 in\n NELEMENTS needs to be 1 or PIN_NAMES must contain just one name. Both pin values are added and\n limited to 65535 (UINT16_MAX). Use one and let the other open (read as 0).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 390 / 1331\n \n 6.8.5.7 fnct_15_write_multiple_coils\n \u2022 mb2hal.m.n.bit bit in\n 6.8.5.8 fnct_16_write_multiple_registers\n \u2022 mb2hal.m.n.float float in\n@@ -20546,15 +20546,15 @@\n \u2022 -b oder --baud : die Baudrate einstellen - muss f\u00fcr alle vernetzten VFDs gleich sein\n \u2022 -p oder --port : legt den zu verwendenden Anschluss fest, z. B. /dev/ttyUSB0\n \u2022 = : setzt den Namen der HAL-Komponente/des Pins und die Slave-Nummer.\n Das Debugging kann durch Setzen des Debug-Pins auf true umgeschaltet werden.\n Anmerkung\n Das Einschalten der Fehlersuche (engl. debugging) f\u00fchrt zu einer Flut von Text im Terminal.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 391 / 1331\n \n 6.9.2 Pins\n Dabei steht f\u00fcr mitsub_vfd oder den beim Laden vergebenen Namen.\n \u2022 .fwd (bit, in) True setzt Bewegung vorw\u00e4rts, False setzt Bewegung r\u00fcckw\u00e4rts.\n \u2022 .run (bit, in) True setzt den VFD basierend auf dem .fwd-Pin in Bewegung.\n@@ -20592,15 +20592,15 @@\n # cmd skaliert auf RPM\n setp spindel.scale-cmd .135\n # R\u00fcckmeldung erfolgt in U/min\n setp spindel.scale-fb 7.411\n # erm\u00f6glicht es uns, den Status zu sehen\n setp spindel.monitor 1\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n net spindle-speed-indicator spindle.motor-fb\n \n 392 / 1331\n \n gladevcp.spindle-speed\n \n@@ -20640,15 +20640,15 @@\n \u2022 PR 119 auf 0 gesetzt -Stoppbit/Datenl\u00e4nge (8 Bits, zwei Stopps)\n \u2022 PR 120\u2019 auf 0 gesetzt -keine Parit\u00e4t\n \u2022 PR 121 set to 1-10 -if 10 (maximum) COM errors then VFD faults.\n \u2022 PR 122 getestet mit 9999 \u2019-wenn die Kommunikation verloren geht, hat der VFD keinen Fehler \u2019\n \u2022 PR 123 auf 9999 eingestellt -dem seriellen Datenrahmen wird keine Wartezeit hinzugef\u00fcgt.\n \u2022 PR 124 auf 0 gesetzt -kein Zeilenumbruch am Ende der Zeile.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 393 / 1331\n \n 6.10 Motenc Treiber\n Vital Systems Moenc-100 und Moenc-LITE\n Die Vital Systems Motenc-100 und Motenc-LITE sind 8- und 4-Kanal-Servokontrollkarten. Die Motenc100 bietet 8 Quadratur-Encoder-Z\u00e4hler, 8 analoge Eing\u00e4nge, 8 analoge Ausg\u00e4nge, 64 (68?) digitale\n Eing\u00e4nge und 32 digitale Ausg\u00e4nge. Die Motenc-LITE hat nur 4 Encoderz\u00e4hler, 32 digitale Eing\u00e4nge\n@@ -20680,15 +20680,15 @@\n kanonischer Digitaleingang.\n \u2022 (bit) motenc..out- - Wert, der in den digitalen Ausgang geschrieben werden soll,\n siehe kanonischer digitaler Ausgang.\n \u2022 (bit) motenc..estop-in - Separater Notaus-Eingang, weitere Details erforderlich.\n \u2022 (bit) motenc..estop-in-not - Invertierter Zustand des dedizierten Notaus-Eingangs.\n \u2022 (bit) motenc..watchdog-reset - Bidirektional, - TRUE setzen, um Watchdog einmal zur\u00fcckzusetzen, wird automatisch gel\u00f6scht.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 394 / 1331\n \n 6.10.2 Parameter\n \u2022 (float) motenc..enc--scale - Die Anzahl der Z\u00e4hlungen / Benutzereinheit (zur\n Umrechnung von Z\u00e4hlungen in Einheiten).\n \u2022 (float) motenc..dac--offset - Setzt den DAC-Offset.\n@@ -20733,15 +20733,15 @@\n \u2022 (funct) motenc..dac-write - Schreibt die Spannungen an die DACs.\n \u2022 (funct) motenc..digital-out-write - Schreibt die digitalen Ausg\u00e4nge.\n \u2022 (funct) motenc..misc-update - Aktualisiert verschiedene Dinge.\n \n 6.11 Opto22 Treiber\n PCI AC5 ADAPTER CARD / HAL DRIVER\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 395 / 1331\n \n 6.11.1 Die Adapterkarte\n Dies ist eine Karte von Opto22 f\u00fcr die Anpassung des PCI-Ports an Solid-State-Relais-Racks wie die\n Standard- oder G4-Serie. Sie hat 2 Ports, die jeweils bis zu 24 Punkte steuern k\u00f6nnen, und verf\u00fcgt \u00fcber\n 4 LEDs auf der Karte. Die Ports sind mit 50-poligen Anschl\u00fcssen ausgestattet, die denen der MesaKarten entsprechen. Alle Relais-Racks/Breakout-Boards, die mit Mesa-Karten funktionieren, sollten\n@@ -20778,15 +20778,15 @@\n BOARDNUMBER kann 0-3 sein PORTNUMBER kann 0 oder 1 sein. Anschluss 0 liegt am n\u00e4chsten an\n der Kartenhalterung.\n \n 6.11.4 Parameter\n \u2022 opto_ac5.[BOARDNUMBER].port[PORTNUMBER].out-[PINNUMBER]-invert W bit - Bei TRUE wird\n die Bedeutung des entsprechenden -out-Pins invertiert, so dass TRUE LOW und FALSE HIGH ergibt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 396 / 1331\n \n 6.11.5 FUNKTIONEN\n \u2022 opto_ac5.0.digital-read - F\u00fcgen Sie dies zu einem Thread hinzu, um alle Eingabepunkte zu lesen.\n \u2022 opto_ac5.0.digital-write - F\u00fcgen Sie dies zu einem Thread hinzu, um alle Ausgangspunkte und LEDs\n zu schreiben.\n@@ -20824,15 +20824,15 @@\n Hier sind die 24 Bits in einer BIN\u00c4REN Zahl dargestellt. Bit 1 ist die ganz rechte Zahl:\n 16 Nullen f\u00fcr die 16 Eing\u00e4nge und 8 Einsen f\u00fcr die 8 Ausg\u00e4nge\n 000000000000000011111111\n \n Das wird auf dem Taschenrechner in FF umgewandelt, so dass 0xff die Nummer ist, die beim Laden\n des Treibers f\u00fcr portconfig0 und/oder portconfig1 zu verwenden ist.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 397 / 1331\n \n 6.11.7 Pin-Nummerierung\n Der HAL-Pin 00 entspricht dem Bit 1 (ganz rechts), das die Position 0 auf einem Opto22-Relaisgestell\n darstellt. HAL-Pin 01 entspricht Bit 2 (eine Stelle links vom rechten Rand), das die Position 1 auf\n einem Opto22-Relaismodul darstellt. HAL-Pin 23 entspricht Bit 24 (ganz links), das die Position 23\n@@ -20868,15 +20868,15 @@\n In der Befehlszeile von loadrt k\u00f6nnen mehrere Optionen angegeben werden. Erstens kann bei USC\n und UPC ein 8-Bit-DAC f\u00fcr die Spindeldrehzahlsteuerung und \u00e4hnliche Funktionen hinzugef\u00fcgt werden. Dies kann mit dem Parameter extradac=0xnn[,0xmm] angegeben werden. Mit dem in [ ] eingeschlossenen Teil k\u00f6nnen Sie diese Option auf mehr als einer Platine des Systems angeben. Die erste\n Hexadezimalziffer gibt an, auf welchen EPP-Bus Bezug genommen wird; sie entspricht der Reihenfolge der Portadressen im Parameter port_addr, wobei hier Null w\u00e4re. F\u00fcr den ersten EPP-Bus\n w\u00fcrde die erste USC- oder UPC-Platine also mit 0x00 beschrieben, die zweite USC- oder UPC-Platine\n auf demselben Bus w\u00e4re 0x02. (Beachten Sie, dass jede USC- oder UPC-Platine zwei Adressen belegt,\n wenn also eine auf 00 steht, m\u00fcsste die n\u00e4chste 02 sein.)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 398 / 1331\n \n Alternativ k\u00f6nnen die 8 digitalen Ausgangspins als zus\u00e4tzliche digitale Ausg\u00e4nge verwendet werden,\n es funktioniert genauso wie oben mit der Syntax : extradout=0xnn\u2019. Die Extradac- und ExtradoutOptionen schlie\u00dfen sich auf jedem Board gegenseitig aus, Sie k\u00f6nnen nur eine angeben.\n Die Encoderplatinen UPC und PPMC k\u00f6nnen das Eintreffen von Encoderz\u00e4hlungen mit einem Zeitstempel versehen, um die Ableitung der Achsengeschwindigkeit zu verfeinern. Diese abgeleitete Geschwindigkeit kann in die PID hal-Komponente eingespeist werden, um eine glattere D-Term-Reaktion\n zu erzeugen. Die Syntax lautet: timestamp=0xnn[,0xmm], dies funktioniert auf die gleiche Weise\n@@ -20914,15 +20914,15 @@\n ist. Option bedeutet, dass dieser Pin nur exportiert wird, wenn diese Option durch einen optionalen\n Parameter im loadrt HAL-Befehl aktiviert ist. Diese Optionen setzen voraus, dass die Platine einen\n ausreichenden Revisionsstand hat, um die Funktion zu unterst\u00fctzen.\n \u2022 (Alle s32-Ausgaben) ppmc..encoder..count - Encoder-Position in Z\u00e4hlwerten.\n \u2022 (Alle s32-Ausgaben) ppmc..encoder..delta \u2013 \u00c4nderung der Z\u00e4hlwerte seit dem\n letzten Lesen, in rohen Encoder-Z\u00e4hleinheiten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 399 / 1331\n \n \u2022 (Alles Float-Ausgaben) \u2019ppmc..encoder..velocity - Geschwindigkeit skaliert in Benutzereinheiten pro Sekunde. Auf PPMC und USC wird dies von den rohen Encoder-Z\u00e4hlungen pro\n Servoperiode abgeleitet und wird daher von der Encoder-Granularit\u00e4t beeinflusst. Auf UPC-Platinen\n mit der Firmware 8/21/09 und sp\u00e4ter kann die Geschwindigkeitssch\u00e4tzung durch Zeitstempelung\n der Encoderz\u00e4hlungen verwendet werden, um die Glattheit dieser Geschwindigkeitsausgabe zu verbessern. Dies kann in die PID-HAL-Komponente eingespeist werden, um eine stabilere Servoreaktion zu erzeugen. Diese Funktion muss in der HAL-Kommandozeile, die den PPMC-Treiber startet,\n@@ -20949,15 +20949,15 @@\n angeschlossen sein sollte. 0 entspricht null Volt, 255 entspricht 10 Volt. Die Polarit\u00e4t des Ausgangs\n kann auf immer Minus, immer Plus eingestellt werden oder durch den Zustand von SSR1 (Plus,\n wenn eingeschaltet) und SSR2 (Minus, wenn eingeschaltet) gesteuert werden. Sie m\u00fcssen extradac\n = 0x00 in der HAL-Befehlszeile angeben, die den PPMC-Treiber l\u00e4dt, um diese Funktion auf der ersten USC ur UPC-Platine zu aktivieren.\n \u2022 (Option bit input) ppmc..dout..out - Wert, der an einen der 8 zus\u00e4tzlichen digitalen Ausgangspins an J8 geschrieben werden soll. Sie m\u00fcssen extradout = 0x00 in der HALBefehlszeile angeben, die den ppmc-Treiber l\u00e4dt, um diese Funktion auf der ersten USC- oder UPCPlatine zu aktivieren. extradac und extradout schlie\u00dfen sich gegenseitig aus, da sie dieselben Signalleitungen f\u00fcr unterschiedliche Zwecke verwenden. Diese Ausgangspins werden nach den digitalen\n Standardausg\u00e4ngen der Karte aufgez\u00e4hlt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 400 / 1331\n \n 6.12.3 Parameter\n \u2022 (All float) ppmc..encoder..scale - Die Anzahl der Z\u00e4hlungen / Benutzereinheit (zur\n Umrechnung von Z\u00e4hlungen in Einheiten).\n \u2022 (UPC float) ppmc..pwm..freq - Die PWM-Tr\u00e4gerfrequenz, in Hz. Gilt f\u00fcr\n@@ -20990,15 +20990,15 @@\n gekappt.)\n \u2022 (USC float) ppmc..stepgen..frequency - Tats\u00e4chliche Schrittimpulsfrequenz in Hz\n (wird meist zur Fehlersuche verwendet.)\n \u2022 (Option float) ppmc. . DAC8. .scale - Legt die Skalierung des zus\u00e4tzlichen DACAusgangs so fest, dass ein der Skalierung entsprechender Ausgangswert eine Gr\u00f6\u00dfe von 10,0 V\n ergibt. (Das Vorzeichen des Ausgangs wird durch Jumper und/oder andere digitale Ausg\u00e4nge gesetzt.)\n \u2022 (Optionsbit) ppmc..dout..invert - Invertiert einen digitalen Ausgang, siehe kanonischer digitaler Ausgang.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 401 / 1331\n \n \u2022 (Optionsbit) ppmc. .dout. .invert - Invertiert einen digitalen Ausgangspin von J8,\n siehe Kanonischer Digitalausgang.\n \n 6.12.4 Funktionen\n@@ -21026,15 +21026,15 @@\n \u2022 Bei der Auslieferung der Pluto-P-Platine ist der linke Steckverbinder vorgel\u00f6tet, wobei sich der\n Schl\u00fcssel in der angegebenen Position befindet. Die anderen Anschl\u00fcsse sind unbest\u00fcckt. Es scheint\n keinen standardm\u00e4\u00dfigen 12-poligen IDC-Stecker zu geben, aber einige der Stifte eines 16-poligen\n Steckers k\u00f6nnen von der Platine neben QA3/QZ3 herunterh\u00e4ngen.\n \u2022 Der untere und der rechte Anschluss befinden sich auf demselben .1\u201d-Raster, der linke Anschluss jedoch nicht. Wenn OUT2\u2026OUT9 nicht ben\u00f6tigt werden, kann ein einzelner IDC-Stecker den unteren\n Stecker und die unteren beiden Reihen des rechten Steckers \u00fcberbr\u00fccken.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 402 / 1331\n \n 6.13.1.3 Physikalische Stifte (engl.+ inzwischen auch deutsch: pins)\n \u2022 Lesen Sie das ACEX1K-Datenblatt f\u00fcr Informationen \u00fcber Eingangs- und Ausgangsspannungsschwellenwerte. Die Pins sind alle im LVTTL/LVCMOS Modus konfiguriert und sind generell mit 5V TTLLogik kompatibel.\n \u2022 Vor der Konfiguration und nach dem ordnungsgem\u00e4\u00dfen Verlassen von LinuxCNC werden alle PlutoP-Pins mit schwachen Pull-ups (20 k\u03a9 min, 50 k\u03a9 max) tristiert. Wenn der Watchdog-Timer aktiviert\n ist (Standardeinstellung), werden diese Pins auch nach einer Unterbrechung der Kommunikation\n@@ -21063,15 +21063,15 @@\n regulierte +3,3 VDC zugef\u00fchrt werden. Der erforderliche Strom ist noch nicht bekannt, liegt aber\n wahrscheinlich bei etwa 50 mA plus I/O-Strom.\n \u2022 Der Regler auf der Pluto-P-Platine ist ein Low-Dropout-Typ. Wenn 5 V an der Netzbuchse anliegen,\n kann der Regler ordnungsgem\u00e4\u00df arbeiten.\n 6.13.1.6 PC-Schnittstelle\n \u2022 Es wird nur eine einzige pluto_servo oder pluto_step Karte unterst\u00fctzt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 403 / 1331\n \n 6.13.1.7 Neuerstellung der FPGA-Firmware\n Die Unterverzeichnisse \u201dsrc/hal/drivers/pluto_servo_firmware/\u201d und \u201dsrc/hal/drivers/pluto_step_firmware/\u201d\n enthalten den Verilog-Quellcode sowie zus\u00e4tzliche Dateien, die von Quartus f\u00fcr die FPGA-Firmware\n verwendet werden. Die Quartus II Software von Altera ist erforderlich, um die FPGA-Firmware neu\n@@ -21102,15 +21102,15 @@\n 6.13.2.1 Pinbelegung\n \u2022 UPx - Das Up- (Aufw\u00e4rts-/Abw\u00e4rtsmodus) oder PWM-Signal (PWM+Richtung-Modus) vom PWMGenerator X. Kann als digitaler Ausgang verwendet werden, wenn der entsprechende PWM-Kanal\n unbenutzt ist oder der Ausgang des Kanals immer negativ ist. Der entsprechende digitale Ausgang\n kann auf TRUE gesetzt werden, damit UPx aktiv low statt aktiv high ist.\n \u2022 DNx - Das down- (Aufw\u00e4rts/Abw\u00e4rts-Modus) oder Richtungs-Signal (PWM+direction-Modus) vom\n PWM-Generator X. Kann als digitaler Ausgang verwendet werden, wenn der entsprechende PWMKanal unbenutzt ist oder der Ausgang des Kanals nie negativ ist. Der entsprechende digitale Ausgang kann auf TRUE gesetzt werden, damit DNx aktiv low statt aktiv high ist.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 404 / 1331\n \n \u2022 QAx, QBx - Die A- und B-Signale f\u00fcr Quadraturz\u00e4hler X. Kann als digitaler Eingang verwendet werden, wenn der entsprechende Quadraturkanal nicht verwendet wird.\n \u2022 QZx - Das Z-Signal (Index) f\u00fcr Quadraturz\u00e4hler X. Kann als digitaler Eingang verwendet werden,\n wenn die Indexfunktion des entsprechenden Quadraturkanals nicht verwendet wird.\n \u2022 INx - Dedizierter digitaler Eingang#x\n@@ -21151,15 +21151,15 @@\n Pin der PWM-Ausgang\n geXORt mit UP1 oder\n PWM1\n Wenn pwm-2-pwmdir\n TRUE ist, dann ist dieser\n Pin der PWM-Ausgang\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 405 / 1331\n \n Tabelle 6.41: (continued)\n Prim\u00e4re Funktion\n \n Alternative Funktion\n@@ -21262,15 +21262,15 @@\n 6.13.2.2 Input-Latching und Output-Aktualisierung\n \u2022 Die PWM-Tastverh\u00e4ltnisse werden f\u00fcr jeden Kanal zu unterschiedlichen Zeiten aktualisiert.\n \u2022 Die digitalen Ausg\u00e4nge OUT0 bis OUT9 werden alle zur gleichen Zeit aktualisiert. Die digitalen\n Ausg\u00e4nge OUT10 bis OUT17 werden gleichzeitig mit der PWM-Funktion aktualisiert, mit der sie\n geteilt werden.\n \u2022 Die digitalen Eing\u00e4nge IN0 bis IN19 werden alle gleichzeitig gehalten (engl. latched).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 406 / 1331\n \n \u2022 Die Quadraturpositionen werden f\u00fcr jeden Kanal zu unterschiedlichen Zeiten gespeichert.\n 6.13.2.3 HAL-Funktionen, Pins und Parameter\n Eine Liste aller loadrt-Argumente, HAL-Funktionsnamen, Pin-Namen und Parameter-Namen befindet\n sich in der Manpage zu pluto_servo.9.\n@@ -21296,15 +21296,15 @@\n \u2022 OUTx - Dedizierter digitaler Ausgang #x\n \u2022 GND - Masse (engl. ground)\n \u2022 VCC\u2019 - +3,3V geregelter Gleichstrom (engl. regulated DC)\n W\u00e4hrend der \u201derweiterte Hauptanschluss\u201d \u00fcber eine Reihe von Signalen verf\u00fcgt, die normalerweise\n auf einem Step & Direction DB25-Anschluss zu finden sind - 4 Schrittgeneratoren, 9 Eing\u00e4nge und 6\n Allzweckausg\u00e4nge -, unterscheidet sich das Layout dieses Anschlusses von dem eines standardm\u00e4\u00dfigen 26-poligen Flachbandkabels zu einem DB25-Anschluss.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 407 / 1331\n \n Abbildung 6.11: Pluto-Step Pinout\n \n 6.13.3.2 Input-Latching und Output-Aktualisierung\n \u2022 Die Schrittfrequenzen f\u00fcr jeden Kanal werden zu unterschiedlichen Zeiten aktualisiert.\n@@ -21312,15 +21312,15 @@\n \u2022 Die digitalen Eing\u00e4nge werden alle zur gleichen Zeit gehalten (engl. latched).\n \u2022 Feedback-Positionen werden f\u00fcr jeden Kanal zu unterschiedlichen Zeiten gespeichert.\n 6.13.3.3 Schritt (engl. Step)-Wellenform-Timings\n Die Firmware und der Treiber erzwingen Schrittl\u00e4nge, Abstand und Richtungswechselzeiten. Die Zeiten werden auf das n\u00e4chste Vielfache von 1,6 \u03bcs aufgerundet, mit einem Maximum von 49,6 \u03bcs. Die\n Zeitvorgaben sind dieselben wie bei der Softwarekomponente stepgen, mit der Ausnahme, dass \u201ddirhold\u201d und \u201ddirsetup\u201d zu einem einzigen Parameter \u201ddirtime\u201d zusammengefasst wurden, der das Maximum der beiden Parameter sein sollte, und dass f\u00fcr alle Kan\u00e4le stets dieselben Schrittvorgaben\n gelten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 408 / 1331\n \n Abbildung 6.12: Pluto-Step-Timings\n \n 6.13.3.4 HAL-Funktionen, Pins und Parameter\n Eine Liste aller loadrt-Argumente, HAL-Funktionsnamen, Pin-Namen und Parameter-Namen findet\n@@ -21336,15 +21336,15 @@\n Diese Komponente wird mit dem halcmd-Befehl \u201dloadusr\u201d geladen:\n loadusr -Wn pmx485 pmx485 /dev/ttyUSB0\n \n Dadurch wird die pmx485-Komponente \u00fcber den Port /dev/ttyUSB0 geladen und gewartet, bis sie\n bereit ist.\n Es ist erforderlich, den f\u00fcr die Kommunikation zu verwendenden Anschluss zu benennen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 409 / 1331\n \n 6.14.1 Pins\n \u2022 pmx485.mode-set (bit, in) # set cutting mode\n \u2022 pmx485.current-set (bit, in) # set cutting current\n \u2022 pmx485.pressure-set (bit, in) # set gas pressure\n@@ -21375,15 +21375,15 @@\n \u2022 Setzen Sie alle Set-Pins auf Null: mode-set, current-set und pressure-set.\n \u2022 Trennen Sie das Powermax-Netzteil f\u00fcr etwa 30 Sekunden von der Stromquelle. Wenn Sie das System wieder einschalten, befindet es sich nicht mehr im Remote-Modus.\n \n 6.14.3 Referenz:\n \u2022 Hypertherm Anwendungshinweis #807220\n \u201dPowermax45 XP/65/85/105/125\u00ae Serielles Kommunikationsprotokoll\u201d\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 410 / 1331\n \n 6.15 Servo To Go-Treiber\n Die Servo-To-Go (STG) ist eine der ersten PC Motion Control Karten von LinuxCNC unterst\u00fctzt. Es ist\n eine ISA-Karte und es gibt in verschiedenen Varianten (alle von diesem Treiber unterst\u00fctzt). Die Karte\n enth\u00e4lt bis zu 8 Kan\u00e4le von Quadratur-Encoder-Eingang, 8 Kan\u00e4le von analogen Ein- und Ausg\u00e4ngen,\n@@ -21420,15 +21420,15 @@\n Dieses Beispiel installiert den Treiber und versucht, die Kartenadresse und das Kartenmodell automatisch zu erkennen. Es installiert standardm\u00e4\u00dfig 8 Achsen zusammen mit einer Standard-E/AEinstellung: Port A und B sind als Eingang, Port C und D als Ausgang konfiguriert.\n \n 6.15.2 Pins\n \u2022 stg..counts - (s32) Folgt den gez\u00e4hlten Encoder-Ticks.\n \u2022 stg..position - (float) Gibt eine konvertierte Position aus.\n \u2022 stg..dac-value - (float) Steuert die Spannung f\u00fcr den entsprechenden DAC.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 411 / 1331\n \n \u2022 stg..adc-value - (float) Folgt die gemessene Spannung vom entsprechenden ADC.\n \u2022 stg.in- - (bit) Folgt einen physischen Eingangspin.\n \u2022 stg.in--not - (bit) Folgt einem physischen Eingangspin, aber invertiert.\n \u2022 stg.out- - (Bit) Treibt einen physischen Ausgangspin an\n@@ -21454,15 +21454,15 @@\n \u2022 stg.capture-position - Liest die Encoder-Z\u00e4hler von der Achse .\n \u2022 stg.write-dacs - Schreibt die Spannungen in die DACs.\n \u2022 stg.read-adcs - Liest die Spannungen von den ADCs.\n \u2022 stg.di-read - Liest physische In-Pins aller Ports und aktualisiert alle HAL In- und In- nicht\n Pins.\n \u2022 stg.do-write - Liest alle HAL out- Pins und aktualisiert alle physischen Ausgangspins.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 412 / 1331\n \n 6.16 Shuttle\n 6.16.1 Beschreibung\n Shuttle ist eine Nicht-Echtzeit-HAL-Komponente, die Schnittstellen Contour Design\u2019s ShuttleXpress,\n ShuttlePRO, und ShuttlePRO2 Ger\u00e4te mit LinuxCNC\u2019s HAL.\n@@ -21494,15 +21494,15 @@\n \n 6.16.3 Pins\n All HAL pin names are prefixed with shuttle followed by the index of the device (the order in which\n the driver found them), for example shuttle.0 or shuttle.2.\n .button- (bit out)\n Diese Pins sind wahr (1) wenn die Schaltfl\u00e4che gedr\u00fcckt wird.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 413 / 1331\n \n .button--not (bit out)\n Diese Pins haben den umgekehrten Zustand des Buttons, also sind sie True (1) wenn der Button\n nicht gedr\u00fcckt wird.\n .counts (s32 out)\n@@ -21538,15 +21538,15 @@\n Debugging can be toggled by sending a USR1 signal to the vfs11_vfd process. Modbus debugging can\n be toggled by sending a USR2 signal to vfs11_vfd process (example: kill -USR1 \u0300\n pidof vfs11_vfd \u0300\n ).\n Anmerkung\n Bei seriellen Konfigurationsfehlern kann das Einschalten von verbose zu einer Flut von TimeoutFehlern f\u00fchren.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 414 / 1331\n \n 6.17.2 Pins\n Dabei steht f\u00fcr vfs11_vfd oder den beim Laden mit der Option -n angegebenen Namen.\n \u2022 .acceleration-pattern (bit, in) when true, set acceleration and deceleration times as defined\n in registers F500 and F501 respectively. Used in PID loops to choose shorter ramp times to avoid\n@@ -21582,15 +21582,15 @@\n \u2022 .output-voltage-percentage (float, out) vom VFD\n \u2022 .output-voltage (float, out) vom VFD\n \u2022 .speed-command (float, in) an den VFD gesendete Geschwindigkeit in U/min. Es ist ein Fehler,\n eine Geschwindigkeit zu senden, die h\u00f6her ist als die im VFD eingestellte Motor Max RPM\n \u2022 .spindle-fwd (bit, in) 1 f\u00fcr FWD (engl. kurz f\u00fcr vorw\u00e4rts) und 0 f\u00fcr REV (engl. kurz f\u00fcr r\u00fcckw\u00e4rts), gesendet an VFD\n \u2022 .spindle-on (bit, in) 1 f\u00fcr EIN und 0 f\u00fcr AUS an den VFD gesendet, nur bei Betrieb eingeschaltet\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 415 / 1331\n \n \u2022 .spindle-rev (bit, in) 1 f\u00fcr EIN und 0 f\u00fcr AUS, nur bei Betrieb eingeschaltet\n \u2022 .jog-mode (bit, in) 1 for ON and 0 for OFF, enables the VF-S11 jog mode. Speed control is\n disabled, and the output frequency is determined by register F262 (preset to 5 Hz). This might be\n useful for spindle orientation. In normal mode, the VFD shuts off if the frequency drops below 12\n@@ -21625,15 +21625,15 @@\n # TCP-Server - Warten Sie auf eingehende Verbindung\n TYP=tcpserver\n # tcp portnumber f\u00fcr TYPE=tcpserver oder tcpclient\n PORT=1502\n # TCP-Client - aktive ausgehende Verbindung\n TYPE=tcpclient\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n # Ziel, zu dem eine Verbindung aufgebaut werden soll if TYPE=tcpclient\n TCPDEST=192.168.1.1\n ---------- nur sinnvoll, wenn TYPE=rtu ------# serial device detail\n # 5 6 7 8\n BITS= 5\n # even odd none\n@@ -21675,15 +21675,15 @@\n net vfs11-fwd spindle-vfd.spindle-fwd <= spindle.0.forward\n net vfs11-rev spindle-vfd.spindle-rev <= spindle.0.reverse\n # Verbinden des Pins \u201dSpindel ein\u201d mit dem VF-S11\n net vfs11-run spindle-vfd.spindle-on <= spindle.0.on\n \n 416 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 417 / 1331\n \n # Verbinden des VF-S11-auf-Geschwindigkeit-Pins\n net vfs11-at-speed spindle.0.at-speed <= spindle-vfd.at-speed\n # Verbinden der Spindeldrehzahl-Pins\n net vfs11-RPM spindle-vfd.speed-command <= spindle.0.speed-out\n@@ -21722,15 +21722,15 @@\n 6.17.8 Konfigurieren des VFS11 VFD f\u00fcr die Modbus-Nutzung\n 6.17.8.1 Anschlie\u00dfen der seriellen Schnittstelle\n The VF-S11 has an RJ-45 jack for serial communication. Unfortunately, it does not have a standard\n RS-232 plug and logic levels. The Toshiba-recommended way is: connect the USB001Z USB-to-serial\n conversion unit to the drive, and plug the USB port into the PC. A cheaper alternative is a homebrew\n interface ( hints from Toshiba support, circuit diagram).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 418 / 1331\n \n Hinweis: Der 24-V-Ausgang des VFD hat keinen Kurzschlussschutz.\n Die Werkseinstellungen f\u00fcr die serielle Schnittstelle sind 9600/8/1/gerade, das Protokoll ist standardm\u00e4\u00dfig das propriet\u00e4re Toshiba Inverter Protocol\u201d.\n 6.17.8.2 Modbus-Einrichtung\n Several parameters need setting before the VF-S11 will talk to this module. This can either be done\n@@ -21750,15 +21750,15 @@\n (Precise Pengolin). Moreover, these packages lack support for the MODBUS_RTS_MODE_* flags. Therefore, building vfs11_vfd using this library might generate a warning if RTS_MODE= is specified in\n the INI file.\n Um die volle Funktionalit\u00e4t auf Ubuntu Lucid und Precise zu nutzen:\n \u2022 Entfernen Sie die libmodbus-Pakete: sudo apt-get remove libmodbus5 libmodbus-dev\n \u2022 erstellen und installieren Sie libmodbus Version 3 aus den Quellen, wie unter hier beschrieben.\n Libmodbus kann nicht auf Ubuntu Hardy gebaut werden, daher ist vfs11_vfd auf Hardy nicht verf\u00fcgbar.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 419 / 1331\n \n Kapitel 7\n \n Hardware-Beispiele\n 7.1 PCI-Parallelport\n@@ -21789,15 +21789,15 @@\n und f\u00fcgte dann die folgenden Zeilen hinzu, damit der Parport gelesen und geschrieben werden kann:\n addf parport.1.read base-thread\n addf parport.1.write base-thread\n \n Nachdem Sie die obigen Schritte durchgef\u00fchrt haben, starten Sie mit dieser Konfiguration und \u00fcberpr\u00fcfen Sie, ob im Fenster Maschine/HAL-Konfiguration angezeigt wird, dass die parallele Schnittstelle\n geladen wurde.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 420 / 1331\n \n 7.2 Spindelsteuerung\n LinuxCNC kann bis zu 8 Spindeln steuern. Die Anzahl wird in der INI-Datei eingestellt. Die Beispiele\n unten beziehen sich alle auf eine Einspindelkonfiguration mit Spindelsteuerungspins mit Namen wie\n spindle.0... Im Falle einer Mehrspindelmaschine ist alles, was sich \u00e4ndert, dass zus\u00e4tzliche Pins mit\n@@ -21836,15 +21836,15 @@\n \n 7.2.3 Spindle Enable\n Wenn Sie ein Spindelaktivierungssignal ben\u00f6tigen, verkn\u00fcpfen Sie Ihren Ausgangspin mit spindle.0.on.\n Um diese Pins mit einem Parallelport-Pin zu verkn\u00fcpfen, f\u00fcgen Sie etwas wie das Folgende in Ihre .halDatei ein, wobei Sie darauf achten, dass Sie den Pin ausw\u00e4hlen, der mit Ihrem Steuerger\u00e4t verbunden\n ist.\n net spindle-enable spindle.0.on => parport.0.pin-14-out\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 421 / 1331\n \n 7.2.4 Spindle Direction\n Wenn Sie die Kontrolle \u00fcber die Drehrichtung Ihrer Spindel haben, dann werden die HAL-Pins spindle.N.forward und spindle. N.reverse durch die G-Codes M3 und M4 gesteuert. Die Spindeldrehzahl Sn\n muss auf einen positiven Wert ungleich Null eingestellt werden, damit M3/M4 die Spindelbewegung\n einschalten kann.\n@@ -21882,15 +21882,15 @@\n # (maximale Spindelbeschleunigung/-verz\u00f6gerung in Einheiten pro Sekunde)\n setp spindle-ramp.maxv 60\n # Die Spindeldrehzahl an die Spindelrampe umlenken\n net spindle-cmd <= spindle.0.speed-out => spindle-ramp.in\n \n \u2190-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 422 / 1331\n \n # die Ausgabe der Spindelrampe wird an die Sklaierung gesendet\n net spindle-ramped <= spindle-ramp.out => scale.0.in\n # um zu wissen, wann die Bewegung beginnen soll, senden wir die Nahkomponente\n # (namens spindle-at-speed) an die Spindeldrehzahl aus\n@@ -21930,15 +21930,15 @@\n wurden. Das n\u00e4chste verf\u00fcgbare Messger\u00e4t, das wir an der Spindel anbringen k\u00f6nnen, w\u00e4re also Nummer 3. Ihre Situation\n kann davon abweichen\n 2 Der HAL-Encoder index-enable ist eine Ausnahme von der Regel, da er sich sowohl als Eingang als auch als Ausgang\n verh\u00e4lt, siehe den Abschnitt zu Encodern f\u00fcr Details\n 3 Weil wir oben non-quadrature simple counting\u2026 ausgew\u00e4hlt haben, k\u00f6nnen wir mit quadrature counting auskommen, ohne\n einen B-Quadratureingang zu haben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 423 / 1331\n \n net spindle-index-enable encoder.3.index-enable <=> spindle.0.index-enable\n # Verbinden Sie die HAL-Encodereing\u00e4nge mit dem realen Encoder.\n net spindle-phase-a encoder.3.phase-A <= parport.0.pin-10-in\n net spindle-phase-b encoder.3.phase-B\n@@ -21978,15 +21978,15 @@\n von CNC4PC verwendet, die an einen zweiten parallelen Port angeschlossen ist, der in den PCISteckplatz gesteckt wird. Dieses Beispiel bietet Ihnen 3 Achsen mit 3 Schrittweiten von 0,1, 0,01,\n 0,001\n F\u00fcgen Sie in Ihrer Datei custom.hal oder jog.hal Folgendes hinzu, wobei Sie sicherstellen m\u00fcssen,\n dass Sie nicht bereits mux4 oder einen Encoder verwenden. Falls doch, erh\u00f6hen Sie einfach die Anzahl\n und \u00e4ndern Sie die Referenznummern. Weitere Informationen \u00fcber mux4 und encoder finden Sie im\n HAL-Handbuch oder in der Manpage.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 424 / 1331\n \n Weitere Informationen zum Hinzuf\u00fcgen einer HAL-Datei finden Sie im Abschnitt INI HAL der Dokumentation. F\u00fcr jedes Gelenk und alle Koordinatenbuchstaben sind Jog-Management-Pins vorgesehen.\n In diesem Beispiel werden die Achsen-Jogging-Pins f\u00fcr das Jogging im Weltmodus verwendet. Bei Maschinen mit nicht-identischen Kinematiken m\u00fcssen m\u00f6glicherweise zus\u00e4tzliche Verbindungen f\u00fcr das\n Jogging im Gelenkmodus verwendet werden.\n jog.hal\n@@ -22032,15 +22032,15 @@\n net encoder-counts => axis.x.jog-counts\n net encoder-counts => axis.y.jog-counts\n net encoder-counts => axis.z.jog-counts\n \n Wenn die Maschine zu einer hohen Beschleunigung f\u00e4hig ist, um die Bewegungen f\u00fcr jeden Klick des\n MPG zu gl\u00e4tten, verwenden Sie die Komponente ilowpass, um die Beschleunigung zu begrenzen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 425 / 1331\n \n jog.hal mit ilowpass\n loadrt encoder num_chan=1\n loadrt mux4 count=1\n addf encoder.capture-position servo-thread\n@@ -22089,15 +22089,15 @@\n # Nur die ausgew\u00e4hlte Achse wird verschoben.\n net encoder-counts <= ilowpass.0.out\n net encoder-counts => axis.x.jog-counts\n net encoder-counts => axis.y.jog-counts\n \n \u2190-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 426 / 1331\n \n net encoder-counts => axis.z.jog-counts\n \n 7.4 GS2 Spindel\n 7.4.1 Beispiel\n@@ -22134,15 +22134,15 @@\n \n \u2022 P4.00 (Quelle des Frequenzbefehls) muss auf \u201dFrequenz bestimmt durch RS232C/RS485-Kommunikations\n eingestellt werden, 05.\n \u2022 P9.01 (\u00dcbertragungsgeschwindigkeit) muss auf 9600 Baud eingestellt werden, 01.\n \u2022 P9.02 (Kommunikationsprotokoll) muss auf \u201dModbus RTU-Modus, 8 Datenbits, keine Parit\u00e4t, 2 Stoppbits\u201d eingestellt werden, 03.\n Ein auf diesem Beispiel basierendes PyVCP-Panel ist hier.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 427 / 1331\n \n Kapitel 8\n \n ClassicLadder\n 8.1 ClassicLadder Einf\u00fchrung\n@@ -22169,15 +22169,15 @@\n Logikschaltpl\u00e4nen. Sie ist heute eine sehr beliebte grafische Sprache f\u00fcr die Programmierung speicherprogrammierbarer Steuerungen (SPS). Urspr\u00fcnglich wurde sie erfunden, um eine Logik zu beschreiben, die aus Relais besteht. Der Name beruht auf der Beobachtung, dass Programme in dieser\n Sprache Leitern \u00e4hneln, mit zwei vertikalen \u201dSchienen\u201d und einer Reihe von horizontalen \u201dSprossen\u201d\n dazwischen. In Deutschland und anderswo in Europa ist es \u00fcblich, die Sprossen waagerecht am oberen und unteren Rand der Seite zu zeichnen, w\u00e4hrend die Sprossen senkrecht von links nach rechts\n verlaufen.\n Ein Programm in Kontaktplanlogik, auch Kontaktplan genannt, ist einem Schaltplan f\u00fcr eine Reihe\n von Relaisschaltungen \u00e4hnlich. Die Kontaktplanlogik ist n\u00fctzlich, weil eine Vielzahl von Ingenieuren\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 428 / 1331\n \n und Technikern sie aufgrund der \u00c4hnlichkeit ohne viel zus\u00e4tzliche Schulung verstehen und verwenden\n kann.\n Die Kontaktplanlogik wird h\u00e4ufig zur Programmierung von SPS verwendet, wenn eine sequenzielle Steuerung eines Prozesses oder eines Fertigungsvorgangs erforderlich ist. Die Kontaktplanlogik\n ist n\u00fctzlich f\u00fcr einfache, aber kritische Steuerungssysteme oder f\u00fcr die \u00dcberarbeitung alter festverdrahteter Relaisschaltungen. Da speicherprogrammierbare Steuerungen immer ausgereifter wurden,\n@@ -22208,15 +22208,15 @@\n Der Eingang auf der linken Seite, B0, ein Schlie\u00dfer, ist mit der Spule (Ausgang) auf der rechten Seite,\n Q0, verbunden. Stellen Sie sich nun vor, dass am linken Ende eine Spannung angelegt wird, weil der\n Eingang B0 aktiv wird (z. B. weil der Eingang aktiviert ist oder der Benutzer den Schlie\u00dfer bet\u00e4tigt\n hat). Die Spannung hat einen direkten Weg zur Spule (Ausgang) rechts, Q0. Infolgedessen schaltet die\n Spule Q0 (Ausgang) von 0/aus/falsch auf 1/an/wahr. Wenn der Benutzer B0 losl\u00e4sst, kehrt der Ausgang\n Q0 schnell zu 0/aus/falsch zur\u00fcck.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 429 / 1331\n \n 8.1.4 Grundlegende selbsthaltende Ein-Aus-Schaltung\n Nehmen wir an, wir f\u00fcgen dem obigen Beispiel einen Schalter hinzu, der immer dann schlie\u00dft, wenn\n die Spule Q0 aktiv ist. Dies w\u00e4re der Fall bei einem Relais, bei dem die Spule die Schaltkontakte\n aktivieren kann, oder bei einem Sch\u00fctz, bei dem es oft mehrere kleine Hilfskontakte zus\u00e4tzlich zu den\n@@ -22244,15 +22244,15 @@\n Jetzt haben wir den Taster B1 f\u00fcr \u201dAus\u201d oder \u201dStopp\u201d hinzugef\u00fcgt. Wenn der Benutzer ihn dr\u00fcckt,\n wird der Kontakt zwischen der Sprosse und der Spule unterbrochen. Wenn die Spule Q0 keinen Strom\n mehr hat, geht sie auf 0/aus/falsch. Wenn die Spule Q0 erlischt, dann erlischt auch der Schalter Q0,\n so dass der \u201dHaltekontakt\u201d unterbrochen oder der Stromkreis \u201dentsiegelt\u201d wird. Wenn der Benutzer\n die Stopptaste losl\u00e4sst, wird der Kontakt von der Sprosse zur Spule Q0 wiederhergestellt, aber die\n Sprosse ist erloschen, so dass die Spule nicht wieder eingeschaltet wird.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 430 / 1331\n \n Diese Schaltung wird seit Jahrzehnten in praktisch jeder Maschine verwendet, die einen durch ein\n Sch\u00fctz gesteuerten Drehstrommotor hat, so dass es unvermeidlich war, dass sie von Kontaktplan-/SPSProgrammierern \u00fcbernommen werden w\u00fcrde. Es handelt sich auch um eine sehr sichere Schaltung,\n denn wenn \u201dStart\u201d und \u201dStopp\u201d gleichzeitig gedr\u00fcckt werden, gewinnt immer die \u201dStopp\u201d-Funktion.\n Dies ist der Grundbaustein eines Gro\u00dfteils der Kontaktplanprogrammierung. Wenn Sie also neu in\n@@ -22291,15 +22291,15 @@\n 8.2.3.1 Dateien\n Typically ClassicLadder components are placed in the custom.hal file if your working from a StepConf\n generated configuration. These must not be placed in the custom_postgui.hal file or the Ladder Editor\n menu will be grayed out.\n Anmerkung\n Kontaktplan-Dateien (.clp) d\u00fcrfen keine Leerzeichen im Namen enthalten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 431 / 1331\n \n 8.2.3.2 Echtzeit-Modul\n Loading the ClassicLadder real time module (classicladder_rt) is possible from a HAL file, or directly\n using a halcmd instruction. The first line loads real time the ClassicLadder module. The second line\n adds the function classicladder.0.refresh to the servo thread. This line makes ClassicLadder update\n@@ -22378,15 +22378,15 @@\n how many HAL signed integers (+- integer range) pins are available.\n Zum Beispiel (Sie brauchen nicht alle, nur einige wenige zu \u00e4ndern):\n loadrt classicladder_rt numRungs=12 numBits=100 numWords=10\n numTimers=10 numMonostables=10 numCounters=10 numPhysInputs=10\n numPhysOutputs=10 numArithmExpr=100 numSections=4 numSymbols=200\n numS32in=5 numS32out=5\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 432 / 1331\n \n Um die Standardanzahl von Objekten zu laden:\n loadrt classicladder_rt\n \n 8.2.4 Loading the ClassicLadder non-realtime module\n@@ -22416,29 +22416,29 @@\n Die Option -w weist HAL an, die HAL-Umgebung nicht zu schlie\u00dfen, bevor Classic Ladder beendet ist.\n Wenn Sie zuerst ein Kontaktplanprogramm mit der Option --nogui laden und dann ClassicLadder erneut ohne Optionen laden, zeigt die GUI das zuletzt geladene Kontaktplanprogramm an.\n In AXIS k\u00f6nnen Sie die GUI \u00fcber Datei/Kontaktplan-Editor\u2026 laden.\n \n 8.2.5 ClassicLadder GUI\n If you load ClassicLadder with the GUI it will display two windows: Section display, and section manager.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 433 / 1331\n \n 8.2.5.1 Sektions-Manager\n Wenn Sie ClassicLadder zum ersten Mal starten, sehen Sie ein leeres Fenster des Abschnittsmanagers.\n \n Abbildung 8.1: Sections Manager Standardfenster\n This window allows you to name, create or delete sections and choose what language that section\n uses. This is also how you name a subroutine for call coils.\n 8.2.5.2 Abschnittsanzeige\n Wenn Sie ClassicLadder zum ersten Mal starten, sehen Sie ein leeres Abschnittsanzeigefenster. Es\n wird eine leere Sprosse angezeigt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 434 / 1331\n \n Abbildung 8.2: Standardfenster der Abschnittsanzeige\n Die meisten Buttons sind selbsterkl\u00e4rend:\n Die Button Vars dient zur Anzeige von Variablen. Sie k\u00f6nnen sie umschalten, um das eine, das andere,\n beide oder keines der Fenster anzuzeigen.\n@@ -22455,15 +22455,15 @@\n the first %W (in an equation). You might see some funny labels, such as (103) in the rungs. This is\n displayed (on purpose) because of an old bug- when erasing elements older versions sometimes didn\u2019t\n erase the object with the right code. You might have noticed that the long horizontal connection button\n sometimes did not work in the older versions. This was because it looked for the free code but found\n something else. The number in the brackets is the unrecognized code. The ladder program will still\n work properly, to fix it erase the codes with the editor and save the program.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 435 / 1331\n \n 8.2.5.3 Die Variablenfenster\n This are two variable windows: the Bit Status Window (boolean) and the Watch Window (signed integer). The Vars button is in the Section Display Window, toggle the Vars button to display one, the\n other, both, then none of the variable windows.\n \n@@ -22474,27 +22474,27 @@\n areas at the top allow you to select what 15 variables will be displayed in each column. For instance,\n if the %B Variable column were 15 entries high, and you entered 5 at the top of the column, variables\n %B5 to %B19 would be displayed. The check boxes allow you to set and unset %B variables manually\n as long as the ladder program isn\u2019t setting them as outputs. Any Bits that are set as outputs by the\n program when ClassicLadder is running can not be changed and will be displayed as checked if on\n and unchecked if off.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 436 / 1331\n \n Abbildung 8.4: Schaufenster\n The Watch Window displays variable status. The edit box beside it is the number stored in the variable\n and the drop-down box beside that allow you to choose whether the number to be displayed in hex,\n decimal or binary. If there are symbol names defined in the symbols window for the word variables\n showing and the display symbols checkbox is checked in the section display window, symbol names\n will be displayed. To change the variable displayed, type the variable number, e.g. %W2 (if the display symbols check box is not checked) or type the symbol name (if the display symbols checkbox is\n checked) over an existing variable number/name and press the Enter Key.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 437 / 1331\n \n 8.2.5.4 Symbol-Fenster\n \n Abbildung 8.5: Fenster mit Symbolnamen\n This is a list of symbol names to use instead of variable names to be displayed in the section window\n@@ -22502,30 +22502,30 @@\n and capital letters), symbol name. If the variable can have a HAL signal connected to it (%I, %Q, and\n %W-if you have loaded s32 pin with the real time module) then the comment section will show the\n current HAL signal name or lack thereof. Symbol names should be kept short to display better. Keep\n in mind that you can display the longer HAL signal names of %I, %Q and %W variable by clicking on\n them in the section window. Between the two, one should be able to keep track of what the ladder\n program is connected to!\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 438 / 1331\n \n 8.2.5.5 Das Editor-Fenster\n \n Abbildung 8.6: Editor-Fenster\n \u2022 Hinzuf\u00fcgen (engl. add) - f\u00fcgt eine Sprosse nach der ausgew\u00e4hlten Sprosse hinzu\n \u2022 Einf\u00fcgen (engl. insert) - f\u00fcgt eine Sprosse vor der ausgew\u00e4hlten Sprosse ein\n \u2022 L\u00f6schen (engl. delete) - l\u00f6scht die ausgew\u00e4hlte Sprosse\n \u2022 Bearbeiten (engl. modify) - \u00f6ffnet die ausgew\u00e4hlte Sprosse zur Bearbeitung\n Beginnend mit dem Bild oben links:\n \u2022 Objektauswahl, Radiergummi\n \u2022 N.O. Input, N.C. Input, Rising Edge Input, Falling Edge Input\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 439 / 1331\n \n \u2022 Horizontal Connection, Vertical Connection, Long Horizontal Connection\n \u2022 Timer IEC-Block, Z\u00e4hler (engl. counter-)block, Vergleichsvariable\n \u2022 Alter Timer-Block, alter monostabiler Block (diese wurden durch den IEC-Timer ersetzt)\n \u2022 SPULEN (engl. coils) - N.O. Ausgang, N.C. Ausgang, den Ausgang setzen, Ausgang zur\u00fccksetzen\n@@ -22556,21 +22556,21 @@\n %W1=%W2. Compare cannot be placed in the right most side of the section display.\n \u2022 Variable Assignment - creates an assignment block so you to assign values to variables, e.g. %W2=7\n or %W1=%W2. ASSIGNMENT functions can only be placed at the right most side of the section display.\n 8.2.5.6 Konfigurationsfenster\n Das Konfigurationsfenster zeigt den aktuellen Projektstatus und enth\u00e4lt die Registerkarten f\u00fcr die\n Modbus-Einrichtung.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 440 / 1331\n \n Abbildung 8.7: Konfigurationsfenster\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 441 / 1331\n \n 8.2.6 SPS Objekte\n 8.2.6.1 KONTAKTE\n Stellen Schalter oder Relaiskontakte dar. Sie werden durch den ihnen zugewiesenen variablen Buchstaben und die Nummer gesteuert.\n The variable letter can be B, I, or Q and the number can be up to a three digit number, e.g. %I2,\n@@ -22605,15 +22605,15 @@\n \u2022 TP - Wenn der Timer-Eingang auf wahr gepulst oder wahr gehalten wird, setzt der Timer den Ausgang auf wahr, bis der Timer herunterz\u00e4hlt. (einmalig)\n The time intervals can be set in multiples of 100&8239;ms, seconds, or minutes.\n Es gibt auch Variablen f\u00fcr IEC-Timer, die in Vergleichs- oder Betriebsbl\u00f6cken gelesen und/oder beschrieben werden k\u00f6nnen.\n \u2022 %TMxxx.Q - Timer beendet (Boolesch, Lesen/Schreiben)\n \u2022 %TMxxx.P - Timer-Voreinstellung (Lesen/Schreiben)\n \u2022 %TMxxx.V - Timer-Wert (lesender Schreibvorgang)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 442 / 1331\n \n 8.2.6.3 ZEITGLIEDER (engl. timers)\n Repr\u00e4sentiert Countdown-Timer. Dies ist veraltet und wird durch IEC Timers ersetzt.\n Timer haben 4 Kontakte.\n \u2022 E - aktivieren (engl. enable) (Eingang) startet den Timer, wenn wahr, setzt zur\u00fcck, wenn er falsch\n@@ -22640,15 +22640,15 @@\n milliseconds, seconds, or minutes.\n Es gibt auch Variablen f\u00fcr Kippstufen, die in Vergleichs- oder Operationsbl\u00f6cken gelesen und/oder\n beschrieben werden k\u00f6nnen.\n \u2022 %Mxx.R - Kippstufe xx l\u00e4uft (boolesch, nur lesbar)\n \u2022 %Mxx.V - Monostabiler xx aktueller Wert (ganze Zahl, schreibgesch\u00fctzt)\n \u2022 %Mxx.P - Monostabile xx-Voreinstellung (Ganzzahl, Lesen oder Schreiben)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 443 / 1331\n \n 8.2.6.5 Z\u00c4HLER (engl. counters)\n Aufw\u00e4rts-/Abw\u00e4rtsz\u00e4hler darstellen.\n Es gibt 7 Kontakte:\n \u2022 R - reset (Eingabe) setzt die Anzahl auf 0 zur\u00fcck.\n@@ -22673,15 +22673,15 @@\n \u2022 +, -, *, /, = (standard math symbols)\n \u2022 < (less than), > (greater than), <= (less or equal), >= (greater or equal), <> (not equal)\n \u2022 (, ) separate into groups example %IF1=2,&%IF2<5 in pseudo code translates to if %IF1 is equal to\n 2 and %IF2 is less than 5 then the comparison is true. Note the comma separating the two groups\n of comparisons.\n \u2022 ^ (exponent), % (modulus), & (and), | (or),. \u2022 ABS (absolute), MOY (French for average), AVG (average)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 444 / 1331\n \n Zum Beispiel ABS(%W2)=1, MOY(%W1,%W2)<3.\n No spaces are allowed in the comparison equation. For example %C0.V>%C0.P is a valid comparison\n expression while %C0.V > %CO.P is not a valid expression.\n There is a list of Variables down the page that can be used for reading from and writing to ladder\n@@ -22713,23 +22713,23 @@\n when LinuxCNC is started.\n \n The following figure shows an Assignment and a Comparison Example. %QW0 is a S32out bit and\n %IW0 is a S32in bit. In this case the HAL pin classicladder.0.s32out-00 will be set to a value of\n 5 and when the HAL pin classicladder.0.s32in-00 is 0 the HAL pin classicladder.0.out-00 will\n be set to True.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 8.8: Beispiel f\u00fcr Zuordnen/Vergleichen von mit SPS\n \n Abbildung 8.9: Beispiel f\u00fcr einen Zuweisungsausdruck\n \n 445 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 446 / 1331\n \n Abbildung 8.10: Beispiel f\u00fcr einen Vergleichsausdruck\n \n 8.2.6.8 SPULEN (engl. coils)\n Spulen stellen Relaisspulen dar. Sie werden durch den ihnen zugewiesenen variablen Buchstaben und\n@@ -22756,15 +22756,15 @@\n Warnung\n Wenn Sie einen NC-Kontakt mit einer NC-Spule verwenden, funktioniert die Logik (wenn die\n Spule erregt ist, wird der Kontakt geschlossen), aber das ist wirklich schwer zu verstehen!\n \n Eine JUMP COIL wird verwendet, um zu einem anderen Abschnitt zu springen, wie ein goto in der\n Programmiersprache BASIC.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 447 / 1331\n \n If you look at the top left of the sections display window you will see a small label box and a longer\n comment box beside it. Now go to Editor\u2192Modify then go back to the little box, type in a name.\n Go ahead and add a comment in the comment section. This label name is the name of this rung only\n and is used by the JUMP COIL to identify where to go.\n@@ -22805,15 +22805,15 @@\n \u2022 %TM \u0300\n __xxx__.V \u0300 - Timer xxx value (integer, read write)\n \u2022 %M \u0300\n __xx__.R \u0300 - Monostable xx running (Boolean)\n \u2022 %M \u0300\n __xx__.V \u0300 - Monostable xx current value (integer, user read only)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 448 / 1331\n \n \u2022 %M \u0300\n __xx__.P \u0300 - Monostable xx preset (integer)\n \u2022 %C \u0300\n __xx__.D \u0300 - Counter xx done (Boolean, user read only)\n@@ -22856,15 +22856,15 @@\n This is the SEQUENTIAL editor window. (Starting from the top left):\n Selector arrow, Eraser\n Ordinary step, Initial (Starting) step\n Transition, Step and Transition\n Transition Link-Downside, Transition Link-Upside\n Pass-through Link-Downside, Pass-through Link-Upside Jump\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 449 / 1331\n \n Link, Comment Box\n \n Abbildung 8.11: Fenster des Sequenzeditors\n \u2022 ORDINARY STEP - hat f\u00fcr jeden eine eindeutige Nummer\n@@ -22876,15 +22876,15 @@\n \u2022 PASS-THROUGH-LINK-DOWNSIDE - teilt den Logikfluss in zwei Zeilen auf, dass BEIDE wahr sein\n m\u00fcssen, um fortzufahren (Think AND logic)\n \u2022 PASS-THROUGH-LINK-UPSIDE - kombiniert zwei gleichzeitige (UND logische) Logiklinien wieder\n zusammen\n \u2022 JUMP LINK - verbindet Schritte, die nicht untereinander liegen, z. B. das Verbinden des letzten\n Schritts mit dem ersten\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 450 / 1331\n \n \u2022 COMMENT BOX - wird verwendet, um Kommentare hinzuzuf\u00fcgen\n To use links, you must have steps already placed. Select the type of link, then select the two steps or\n transactions one at a time. It takes practice!\n With sequential programming: The variable %X \u0300\n@@ -22918,21 +22918,21 @@\n \u2022 6 - Einzelnes Register schreiben\n \u2022 8 - Echo-Test\n \u2022 15 - mehrere Spulen schreiben\n \u2022 16 - mehrere Register schreiben\n If you do not specify a --modmaster when loading the ClassicLadder non-realtime program this page\n will not be displayed.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 8.12: Modbus I/O-Konfiguration\n \n 451 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 452 / 1331\n \n Abbildung 8.13: Modbus-Kommunikationskonfiguration\n \u2022 SERIAL PORT - For IP blank. For serial the location/name of serial driver, e.g., /dev/ttyS0 ( or /dev/ttyUSB0 for a USB-to-serial converter).\n \u2022 SERIAL SPEED - Sollte auf Geschwindigkeit eingestellt sein, f\u00fcr die der Slave eingestellt ist - 300,\n 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200 werden unterst\u00fctzt.\n@@ -22944,15 +22944,15 @@\n Slave nicht geantwortet hat.\n \u2022 MODBUS ELEMENT OFFSET - wird verwendet, um die Elementnummern um 1 zu kompensieren\n (f\u00fcr Hersteller, die Unterschiede nummerieren).\n \u2022 DEBUG LEVEL - Setzen Sie dies auf 0-3 (0, um das Drucken von Debug-Informationen neben NoResponse-Fehlern zu stoppen).\n \u2022 READ COILS/INPUTS MAP TO - W\u00e4hlen Sie, welche Variablen die gelesenen Spulen/Eing\u00e4nge aktualisieren sollen. (B oder Q).\n \u2022 WRITE COILS MAP TO - W\u00e4hlen Sie aus, von welchen Variablen, von denen Schreibspulen aktualisiert werden sollen (B, Q oder I).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 453 / 1331\n \n \u2022 READ REGISTERS/HOLDING - W\u00e4hlen Sie aus, welche Variablen durch das Lesen von Registern\n aktualisiert werden sollen (W oder QW).\n \u2022 WRITE REGISTERS MAP TO - W\u00e4hlen Sie aus, von welchen Variablen die Leseregister aktualisiert\n werden (W, QW oder IW).\n@@ -22990,15 +22990,15 @@\n Schlie\u00dfen des Konfigurationsfensters werden die Werte \u00fcbernommen, die Radio-Buttons gelten jedoch\n sofort).\n To use the echo function select the echo function and add the slave number you wish to test. You don\u2019t\n need to specify any variables.\n The number 257 will be sent to the slave number you specified and the slave should send it back. You\n will need to have ClassicLadder running in a terminal to see the message.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 454 / 1331\n \n 8.2.10 MODBUS-Einstellungen\n Seriell:\n \u2022 ClassicLadder verwendet das RTU-Protokoll (nicht ASCII).\n \u2022 8 Datenbits, keine Parit\u00e4t und 1 Stoppbit werden auch als 8-N-1 bezeichnet.\n@@ -23029,15 +23029,15 @@\n Weitere Informationen zum Modbus-Protokoll finden Sie im Internet.\n https://www.modbus.org/\n 8.2.10.2 Kommunikationsfehler\n If there is a communication error, a warning window will pop up (if the GUI is running) and %E0 will\n be true. Modbus will continue to try to communicate. The %E0 could be used to make a decision based\n on the error. A timer could be used to stop the machine if timed out, etc.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 455 / 1331\n \n 8.2.11 Fehlersuche bei Modbus-Problemen\n A good reference for the protocol: https://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf.\n If you run linuxcnc/classicladder from a terminal, it will print the Modbus commands and slave responses.\n Hier wird der ClassicLadder so eingestellt, dass er den Slave 1 auffordert, die Holding-Register (Funktionscode 3) ab Adresse 8448 (0x2100) zu lesen. Wir fordern die R\u00fcckgabe von 1 (2 Byte breiten)\n@@ -23045,15 +23045,15 @@\n \n Abbildung 8.14: Modbus I/O-Register-Setup\n Hinweis in diesem Bild haben wir die Debug-Ebene auf 1 gesetzt, so dass Modbus-Nachrichten an das\n Terminal ausgegeben werden. Wir haben unsere Lese- und Schreibregister den %W-Variablen von\n ClassicLadder zugeordnet, so dass unsere zur\u00fcckgegebenen Daten in %W2 sind, wie in dem anderen\n Bild, in dem wir die Daten ab dem 2. Element zugeordnet haben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 456 / 1331\n \n Abbildung 8.15: Einrichtung der Modbus-Kommunikation\n \n 8.2.11.1 Anfrage\n Betrachten wir ein Beispiel f\u00fcr das Lesen eines Hold-Registers bei 8448 Decimal (0x2100 Hex).\n@@ -23079,15 +23079,15 @@\n (2\n 1 bis 125 (0x7D)\n Bytes)\n (2\n Automatisch\n Bytes) berechnet\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 457 / 1331\n \n Hier ist ein Beispiel f\u00fcr einen gesendeten Befehl, wie er im Terminal ausgedruckt wird (alles in Hex):\n INFO CLASSICLADDERModbus I/O module to send: Lgt=8 \u201dpy-reset\u201d\n \u201dReset\u201d\n \n \n \n Starten Sie nun Ihre Konfiguration und sie sollte so aussehen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 470 / 1331\n \n Abbildung 8.26: AXIS Notaus\n Beachten Sie, dass Sie in diesem Beispiel wie im wirklichen Leben den ferngesteuerten Notaus (simuliert durch das Kontrollk\u00e4stchen) deaktivieren m\u00fcssen, bevor der AXIS Notaus oder der externe\n Reset Sie in den AUS-Modus versetzt. Wenn der Not-Aus-Schalter auf dem AXIS-Bildschirm gedr\u00fcckt\n wurde, m\u00fcssen Sie ihn erneut dr\u00fccken, um ihn zu deaktivieren. Nach einem Notaus in AXIS k\u00f6nnen\n Sie keinen externen Reset durchf\u00fchren.\n \n 8.3.4 Beispiel f\u00fcr Timer/Bedienung\n In diesem Beispiel verwenden wir den Operate-Block, um der Timer-Voreinstellung einen Wert zuzuweisen, der davon abh\u00e4ngt, ob ein Eingang ein- oder ausgeschaltet ist.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 471 / 1331\n \n Abbildung 8.27: Beispiel f\u00fcr Timer/Bedienung\n In diesem Fall ist %I0 wahr, so dass der voreingestellte Wert des Timers 10 ist. W\u00e4re %I0 falsch, w\u00e4re\n der voreingestellte Zeitgeberwert 5.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 472 / 1331\n \n Kapitel 9\n \n Fortgeschrittene Themen\n 9.1 Kinematik\n@@ -23451,15 +23451,15 @@\n X, joint 1 along axis Y, joint 2 along axis Z), and these machines are called Cartesian machines (or\n machines with Trivial Kinematics). These are the most common machines used in milling, but are not\n very common in other domains of machine control (e.g. welding: puma-typed robots).\n LinuxCNC unterst\u00fctzt Achsen mit Namen: X Y Z A B C U V W. Die X Y Z-Achsen beziehen sich normalerweise auf die \u00fcblichen kartesischen Koordinaten. Die A B C Achsen beziehen sich auf Rotationskoordinaten um die X Y Z Achsen. Die Achsen U V W beziehen sich auf zus\u00e4tzliche Koordinaten, die\n \u00fcblicherweise kolinear zu den X-Y-Z-Achsen angeordnet sind.\n 1 Kinematics: a two way function to transform from Cartesian space to joint space.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 473 / 1331\n \n 9.1.2 Triviale Kinematik\n Die einfachsten Maschinen sind solche, bei denen jedes Gelenk entlang einer der kartesischen Achsen angeordnet ist. Bei diesen Maschinen ist die Abbildung vom kartesischen Raum (das G-CodeProgramm) auf den Gelenkraum (die tats\u00e4chlichen Aktoren der Maschine) trivial. Es handelt sich um\n eine einfache 1:1-Abbildung:\n pos->tran.x = joints[0];\n@@ -23510,15 +23510,15 @@\n bewerkstelligen, sofern die verwendeten Achsenbuchstaben keine L\u00fccken aufweisen.\n Etwas komplizierter wird es, wenn der Maschine ein oder mehrere Achsenbuchstaben fehlen. Das\n Problem der fehlenden Achsenbuchstaben wird durch die Verwendung des Modulparameters coordinates= mit dem Modul trivkins gel\u00f6st. Jeder angegebenen Koordinate werden fortlaufend Gelenknummern zugewiesen. Eine Drehmaschine kann mit coordinates=xz beschrieben werden. Die Gelenkzuweisungen lauten dann:\n 2 Wenn die Maschine (z. B. eine Drehmaschine) nur mit den X-, Z- und A-Achsen gemountet ist und die INI-Datei von LinuxCNC nur die Definition dieser 3 Verbindungen enth\u00e4lt, ist die vorherige Behauptung falsch. Weil wir derzeit haben (Gelenk0 =\n X, Gelenk 1 = Z, Gelenk 2 = A), die davon ausgeht, dass Gelenk 1 = Y. Um dies in LinuxCNC zum Laufen zu bringen, definieren\n Sie einfach alle Achsen (XYZA), LinuxCNC verwendet dann eine einfache Schleife in HAL f\u00fcr nicht verwendete Y-Achse.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 474 / 1331\n \n joints[0] = pos->tran.x\n joints[1] = pos->tran.z\n \n Die Verwendung des Parameters coordinates= wird f\u00fcr Konfigurationen empfohlen, bei denen die Achsenbuchstaben weggelassen werden. Fu\u00dfnote:[ In der Vergangenheit unterst\u00fctzte das Modul trivkins\n@@ -23539,15 +23539,15 @@\n 9.1.3 Nicht-triviale Kinematik\n There can be quite a few types of machine setups (robots: puma, scara; hexapods etc.). Each of them is\n set up using linear and rotary joints. These joints don\u2019t usually match with the Cartesian coordinates,\n therefore we need a kinematics function which does the conversion (actually 2 functions: forward and\n inverse kinematics function).\n Zur Veranschaulichung der obigen Ausf\u00fchrungen werden wir eine einfache Kinematik namens Zweibein (eine vereinfachte Version des Dreibeins, das eine vereinfachte Version des Hexapods ist) analysieren.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 475 / 1331\n \n Abbildung 9.1: Zweibein-Einrichtung\n Das Zweibein (engl. bipod), um das es hier geht, besteht aus zwei Motoren, die an einer Wand angebracht sind und an denen ein Ger\u00e4t mit einem Draht aufgeh\u00e4ngt ist. Die Gelenke sind in diesem Fall\n die Abst\u00e4nde zwischen den Motoren und dem Ger\u00e4t (in der Abbildung mit AD und BD bezeichnet).\n Die Position der Motoren ist per Konvention festgelegt. Motor A befindet sich in (0,0), was bedeutet,\n@@ -23560,15 +23560,15 @@\n 9.1.3.1 Vorw\u00e4rts-Transformation\n Um vom gemeinsamen Raum in den kartesischen Raum zu transformieren, werden wir einige trigonometrische Regeln anwenden (die rechtwinkligen Dreiecke, die durch die Punkte (0,0), (Dx,0), (Dx,Dy)\n und das Dreieck (Dx,0), (Bx,0) und (Dx,Dy) bestimmt werden).\n Wir k\u00f6nnen leicht erkennen, dass:\n \n ebenso:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 476 / 1331\n \n Wenn wir das eine von dem anderen abziehen, erhalten wir:\n \n und deshalb:\n \n@@ -23600,15 +23600,15 @@\n 9.1.4 Details zur Implementierung\n Ein Kinematikmodul ist als HAL-Komponente implementiert und darf Pins und Parameter exportieren.\n Es besteht aus mehreren \u201dC\u201d-Funktionen (im Gegensatz zu HAL-Funktionen):\n int kinematicsForward(const double *joint, EmcPose *world,\n const KINEMATICS_FORWARD_FLAGS *fflags,\n KINEMATICS_INVERSE_FLAGS *iflags)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 477 / 1331\n \n Implementiert die forward kinematics function.\n int kinematicsInverse(const EmcPose * world, double *joints,\n const KINEMATICS_INVERSE_FLAGS *iflags,\n KINEMATICS_FORWARD_FLAGS *fflags)\n@@ -23643,15 +23643,15 @@\n int rtapi_app_main(void)\n void rtapi_app_exit(void)\n \n Dies sind die Standardfunktionen zum Auf- und Abbauen von RTAPI-Modulen.\n Wenn sie in einer einzigen Quelldatei enthalten sind, k\u00f6nnen Kinematikmodule mit halcompile kompiliert und installiert werden. Weitere Informationen finden Sie in der Manpage halcompile(1) oder\n im HAL-Handbuch.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 478 / 1331\n \n 9.1.4.1 Kinematikmodul unter Verwendung der Vorlage userkins.comp\n Eine weitere M\u00f6glichkeit, ein benutzerdefiniertes Kinematikmodul zu erstellen, ist die Anpassung der\n HAL Komponente userkins. Diese Vorlagenkomponente kann von einem Benutzer lokal ge\u00e4ndert und\n mit halcompile erstellt werden.\n@@ -23681,15 +23681,15 @@\n des Endeffektors in Bezug auf ein Referenzkoordinatensystem, wenn die Gelenkwinkel bekannt sind\n (vorw\u00e4rtsgerichtete Kinematik), sowie die komplexere umgekehrte Berechnung der erforderlichen\n Gelenkwinkel f\u00fcr eine bestimmte Position und Ausrichtung des Endeffektors in Bezug auf das Referenzkoordinatensystem (inverse Kinematik). Die mathematischen Standardwerkzeuge, die f\u00fcr diese\n Berechnungen verwendet werden, sind Matrizen, d. h. Tabellen mit Parametern und Formeln, die den\n Umgang mit den Rotationen und Translationen erleichtern, die bei der Berechnung der Vorw\u00e4rts- und\n R\u00fcckw\u00e4rtskinematik erforderlich sind.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 479 / 1331\n \n Detaillierte Kenntnisse der Mathematik sind f\u00fcr einen Serienroboter nicht erforderlich, da LinuxCNC\n ein Kinematikmodul bereitstellt, das einen Algorithmus namens \u201dgenserkins\u201d implementiert, um die\n Vorw\u00e4rts- und R\u00fcckw\u00e4rtskinematik f\u00fcr einen generischen Serienroboter zu berechnen. Um einen bestimmten Serienroboter zu steuern, muss genserkins mit Daten versorgt werden, so dass es ein mathematisches Modell der mechanischen Struktur des Roboters aufbauen und damit die Mathematik\n tun kann.\n@@ -23724,15 +23724,15 @@\n system\u201d\n 2. a : positive distance, along X, between two joint axes specified in machine units (mm or inch)\n defined in the system\u2019s INI file.\n 3. d : positive or negative length along Z (also in machine units)\n Die Parameters\u00e4tze werden immer in der gleichen Reihenfolge abgeleitet und ein Satz wird durch\n das Setzen des d-Parameters abgeschlossen. Dadurch bleibt die Z-Achse unseres CS nicht auf das\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 480 / 1331\n \n n\u00e4chste Gelenk ausgerichtet! Dies mag verwirrend erscheinen, aber wenn man sich an diese Regel\n h\u00e4lt, erh\u00e4lt man einen funktionierenden Satz von Parametern. Sobald der d-Parameter gesetzt ist,\n muss die X-Achse unseres CS auf die Achse des n\u00e4chsten Gelenks zeigen.\n \n@@ -23760,87 +23760,87 @@\n \n 9.2.8 Detailliertes Beispiel (RV-6SL)\n Im Folgenden wird eine Methode beschrieben, wie man die erforderlichen \u201dmodifizierten DH-Parameter\u201d\n f\u00fcr einen Mitsubishi RV-6SDL ableitet und wie man die Parameter in der HAL-Datei einstellt, um sie\n mit der \u201dgenserkins\u201d-Kinematik in LinuxCNC zu verwenden. Die erforderlichen Abmessungen werden\n am besten aus einer vom Hersteller des Roboters zur Verf\u00fcgung gestellten Ma\u00dfzeichnung entnommen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 481 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 482 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 483 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 484 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 485 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 486 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 487 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 488 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 489 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 490 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 491 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 492 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 493 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 494 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 495 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 496 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 497 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 498 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 499 / 1331\n \n 9.2.9 Danksagungen\n Vielen Dank an den Benutzer Aciera f\u00fcr den gesamten Text und die Grafiken f\u00fcr den RV-6SL-Roboter!\n \n 9.3 5-Axis Kinematics\n@@ -23871,29 +23871,29 @@\n CAD/CAM-Systeme werden in der Regel verwendet, um die 3D-CAD-Modelle des Werkst\u00fccks sowie\n die CAM-Daten f\u00fcr die Eingabe in die CNC-5-Achsen-Maschine zu erzeugen. Die Daten zur Werkzeugoder Fr\u00e4serposition (CL) setzen sich aus der Position der Fr\u00e4serspitze und der Ausrichtung des Fr\u00e4sers\n relativ zum Werkst\u00fcckkoordinatensystem zusammen. Zwei Vektoren, wie sie von den meisten CAMSystemen erzeugt werden und in Abb. 1 dargestellt sind, enthalten diese Informationen:\n \n Der K-Vektor entspricht dem dritten Vektor der Pose-Matrix E6 , die in der 6-Achsen-Roboterkinematik\n [3] verwendet wurde, und der Q-Vektor entspricht dem vierten Vektor von E6 . Vektor von E6 . In MASTERCAM zum Beispiel sind diese Informationen in der Zwischenausgabedatei \u201d.nci\u201d enthalten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 500 / 1331\n \n Abbildung 9.2: Standortdaten des Fr\u00e4sers\n \n 9.3.4 Translations- und Rotationsmatrizen\n Homogene Transformationen bieten eine einfache M\u00f6glichkeit, die Mathematik der Mehrachsenkinematik von Maschinen zu beschreiben. Eine Transformation des Raums H ist eine 4x4-Matrix und kann\n Translations- und Rotationstransformationen darstellen. Wird ein Punkt x,y,x durch einen Vektor u =\n {x,y,z,1}T beschrieben, so wird seine Transformation v durch das Matrixprodukt\n \n Es gibt vier grundlegende Transformationsmatrizen, auf die sich die 5-Achsen-Kinematik st\u00fctzen\n kann:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 501 / 1331\n \n Die Matrix T(a,b,c) impliziert eine Verschiebung in den Koordinatenrichtungen X, Y und Z um die\n Betr\u00e4ge a, b bzw. c. Die R-Matrizen implizieren Rotationen des Winkels theta um die X-, Y- bzw. ZKoordinatenachse. Die Symbole \u201dC\u201d und \u201dS\u201d beziehen sich auf die Kosinus- bzw. Sinusfunktionen.\n \n 9.3.5 Tisch Dreh-/Schwenkkonfigurationen mit 5 Achsen (engl. Table Rotary/Tilting 5-Axis Configurations)\n@@ -23901,15 +23901,15 @@\n montiert. Typischerweise werden zwei Formen verwendet:\n \u2022 Ein Drehtisch, der sich um die vertikale Z-Achse dreht (C-Drehung, sekund\u00e4r), ist auf einem Kipptisch montiert, der sich um die X- oder Y-Achse dreht (A- oder B-Drehung, prim\u00e4r). Das Werkst\u00fcck\n ist auf dem Drehtisch montiert.\n \u2022 Ein Kipptisch, der sich um die X- oder Y-Achse dreht (A- oder B-Drehung, sekund\u00e4r), ist auf einem\n Drehtisch montiert, der sich um die Z-Achse dreht (C-Drehung, prim\u00e4r), wobei das Werkst\u00fcck auf\n dem Kipptisch liegt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 502 / 1331\n \n Abbildung 9.3: Allgemeine Konfiguration und Koordinatensysteme\n Eine mehrachsige Maschine kann als eine Reihe von Gliedern betrachtet werden, die durch Gelenke\n verbunden sind. Durch die Einbettung eines Koordinatenrahmens in jedes Glied der Maschine und\n die Verwendung homogener Transformationen k\u00f6nnen wir die relative Position und Orientierung zwischen diesen Koordinatenrahmen beschreiben\n@@ -23919,46 +23919,46 @@\n Im Allgemeinen kann eine solche Transformation wie folgt aussehen:\n \n wobei jede Matrix i-1 Aj eine Translationsmatrix T oder eine Rotationsmatrix R der Form (2,3) ist.\n Die Matrixmultiplikation ist ein einfacher Vorgang, bei dem die Elemente jeder Zeile der linken Matrix\n A mit den Elementen jeder Spalte der rechten Matrix B multipliziert und summiert werden, um ein\n Element der Ergebnismatrix C zu erhalten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 503 / 1331\n \n In Abb. 2 ist eine generische Konfiguration mit Koordinatensystemen dargestellt [4]. Sie umfasst sowohl Tischdreh-/Schwenkachsen als auch Spindel-Dreh-/Schwenkachsen. Nur zwei der Drehachsen\n werden tats\u00e4chlich in einer Werkzeugmaschine verwendet.\n Zun\u00e4chst werden wir die Transformationen f\u00fcr die erste der oben erw\u00e4hnten Konfigurationen entwickeln, d. h. einen Tisch vom Typ Kippen/Drehen (trt) ohne Drehachsenversatz. Wir k\u00f6nnen ihr den\n Namen xyzac-trt-Konfiguration geben.\n Wir entwickeln auch die Transformationen f\u00fcr den gleichen Typ (xyzac-trt), aber mit rotierenden Achsenvers\u00e4tzen.\n Dann entwickeln wir die Transformationen f\u00fcr eine xyzbc-trt-Konfiguration mit Rotationsachsen-Offsets.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 504 / 1331\n \n 9.3.5.1 Transformationen f\u00fcr eine xyzac-trt-Werkzeugmaschine mit Werkst\u00fcckversatz\n \n Abbildung 9.4: vismach-Modell von xyzac-trt mit \u00fcbereinstimmenden Drehachsen\n Wir befassen uns hier mit einer vereinfachten Konfiguration, bei der sich die Kippachse und die Drehachse in einem Punkt schneiden, der als Drehpunkt bezeichnet wird, wie in Abb. 4 dargestellt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 505 / 1331\n \n Abbildung 9.5: Kipp-/Drehkonfiguration des Tisches\n Die Transformation kann durch die sequentielle Multiplikation der Matrizen definiert werden:\n \n wobei die Matrizen wie folgt aufgebaut sind:\n \n In diesen Gleichungen definieren Lx , Ly , Lz die Verschiebungen des Drehpunktes der beiden Drehachsen A und C relativ zum Ursprung des Werkst\u00fcckkoordinatensystems. Au\u00dferdem sind Px , Py , Pz die\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 506 / 1331\n \n relativen Abst\u00e4nde des Drehpunkts zur Position der Fr\u00e4serspitze, die auch als \u201dGelenkkoordinaten\u201d\n des Drehpunkts bezeichnet werden k\u00f6nnen. Der Drehpunkt liegt im Schnittpunkt der beiden Drehachsen. Die Vorzeichen der Terme SA und SC unterscheiden sich von denen in [2,3], da dort die Tischdrehungen relativ zu den Werkst\u00fcckkoordinatenachsen negativ sind (beachten Sie, dass sin(-theta) =\n -sin(theta), cos(-theta) = cos(theta)).\n Multipliziert mit (5) ergibt sich das Ergebnis:\n@@ -23977,58 +23977,58 @@\n schreiben:\n \n Der Vektor auf der rechten Seite kann auch als das Produkt einer Matrix und eines Vektors geschrieben\n werden, was folgendes ergibt:\n \n Dies kann wie folgt erweitert werden\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 507 / 1331\n \n was die Vorw\u00e4rtstransformation der Kinematik darstellt.\n Wir k\u00f6nnen P aus Gleichung (13) als \u201dP = (Q AP )-1 * Q\u201d berechnen. Die quadratische Matrix ist eine homogene 4x4-Matrix, die eine Rotationsmatrix R und einen Translationsvektor q enth\u00e4lt, deren\n Umkehrung wie folgt geschrieben werden kann:\n \n wobei R^T die Transponierung von R ist (Zeilen und Spalten vertauscht). Wir erhalten also:\n \n Die gew\u00fcnschten Gleichungen f\u00fcr die inverse Transformation der Kinematik k\u00f6nnen somit wie folgt\n geschrieben werden:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 508 / 1331\n \n 9.3.5.2 Transformationen f\u00fcr eine xyzac-trt-Maschine mit Drehachsenverschiebungen\n \n Abbildung 9.6: Vismach-Modell von xyzac-trt mit Rotationsachsenversatz (positiv)\n Wir haben es hier mit einer erweiterten Konfiguration zu tun, bei der sich die Kippachse und die\n Drehachse nicht in einem Punkt schneiden, sondern einen Versatz Dy aufweisen. Au\u00dferdem gibt es\n zwischen den beiden Koordinatensystemen Ows und Owp aus Abb. 2 einen z-Versatz, der Dz genannt\n wird. Ein Vismach-Modell ist in Abb. 5 dargestellt, und die Offsets sind in Abb. 6 gezeigt (positive\n Offsets in diesem Beispiel). Um die Konfiguration zu vereinfachen, werden die Vers\u00e4tze Lx , Ly , Lz des\n vorherigen Falls nicht ber\u00fccksichtigt. Sie sind wahrscheinlich nicht notwendig, wenn man die G54\n Offsets in LinuxCNC mit Hilfe der \u201dtouch of\u201d-Funktion verwendet.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 509 / 1331\n \n Abbildung 9.7: Kipp-/Drehkonfiguration des Tisches xyzac-trt, mit Achsenversatz\n Die Transformation kann durch die sequentielle Multiplikation der Matrizen definiert werden:\n \n wobei die Matrizen wie folgt aufgebaut sind:\n \n In diesen Gleichungen definieren Dy , Dz die Verschiebungen des Drehpunktes der Drehachsen A relativ\n zum Ursprung des Werkst\u00fcckkoordinatensystems. Au\u00dferdem sind Px , Py , Pz die relativen Abst\u00e4nde\n des Drehpunkts zur Position der Schneidenspitze, die auch als \u201dGelenkkoordinaten\u201d des Drehpunkts\n bezeichnet werden k\u00f6nnen. Der Drehpunkt liegt auf der Drehachse A.\n Bei Multiplikation gem\u00e4\u00df (18) erhalten wir:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 510 / 1331\n \n Wir k\u00f6nnen nun die dritte Spalte dieser Matrix mit unserem gegebenen Werkzeugorientierungsvektor\n K gleichsetzen, d. h.:\n \n Aus diesen Gleichungen lassen sich die Drehwinkel thetaA , thetaC ermitteln. Aus der dritten Zeile\n@@ -24047,42 +24047,42 @@\n was die Vorw\u00e4rtstransformation der Kinematik darstellt.\n Wir k\u00f6nnen P aus Gleichung (25) als \u201dP = (Q AP )-1 * Q\u201d l\u00f6sen, indem wir wie zuvor (15) verwenden. Wir\n erhalten somit:\n \n Die gew\u00fcnschten Gleichungen f\u00fcr die inverse Transformation der Kinematik k\u00f6nnen somit wie folgt\n geschrieben werden:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 511 / 1331\n \n 9.3.5.3 Transformationen f\u00fcr eine xyzbc-trt-Maschine mit Drehachsenverschiebungen\n \n Abbildung 9.8: Vismach-Modell von xyzbc-trt mit Rotationsachsenversatz (negativ)\n Wir haben es hier wieder mit einer erweiterten Konfiguration zu tun, bei der sich die Kippachse (um\n die y-Achse) und die Drehachse nicht in einem Punkt schneiden, sondern einen Versatz Dx haben. Au\u00dferdem gibt es zwischen den beiden Koordinatensystemen Ows und Owp aus Abb. 2 einen z-Versatz, der\n Dz genannt wird. Ein Vismach-Modell ist in Abb. 7 dargestellt (negative Vers\u00e4tze in diesem Beispiel),\n und die positiven Vers\u00e4tze sind in Abb. 8 dargestellt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 512 / 1331\n \n Abbildung 9.9: Kipp-/Drehkonfiguration des Tisches xyzbc-trt, mit Achsenversatz\n Die Transformation kann durch die sequentielle Multiplikation der Matrizen definiert werden:\n \n wobei die Matrizen wie folgt aufgebaut sind:\n \n In diesen Gleichungen definieren Dx , Dz die Verschiebungen des Drehpunkts der Drehachsen B relativ\n zum Ursprung des Werkst\u00fcckkoordinatensystems. Au\u00dferdem sind Px , Py , Pz die relativen Abst\u00e4nde\n des Drehpunkts zur Position der Schneidenspitze, die auch als \u201dGelenkkoordinaten\u201d des Drehpunkts\n bezeichnet werden k\u00f6nnen. Der Drehpunkt liegt auf der B-Drehachse.\n Bei Multiplikation gem\u00e4\u00df (29) erhalten wir:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 513 / 1331\n \n Wir k\u00f6nnen nun die dritte Spalte dieser Matrix mit unserem gegebenen Werkzeugorientierungsvektor\n K gleichsetzen, d. h.:\n \n Aus diesen Gleichungen lassen sich die Drehwinkel thetaB , thetaC ermitteln. Aus der dritten Zeile\n@@ -24101,15 +24101,15 @@\n was die Vorw\u00e4rtstransformation der Kinematik darstellt.\n Wir k\u00f6nnen P aus Gleichung (37) als \u201dP = (Q AP )-1 * Q\u201d l\u00f6sen.\n Mit dem gleichen Ansatz wie zuvor, erhalten wir:\n \n Die gew\u00fcnschten Gleichungen f\u00fcr die inverse Transformation der Kinematik k\u00f6nnen somit wie folgt\n geschrieben werden:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 514 / 1331\n \n 9.3.6 Beispiele f\u00fcr Dreh-/Kipptische\n LinuxCNC enth\u00e4lt Kinematik-Module f\u00fcr die \u201dxyzac-trt\u201d und \u201dxyzbc-trt\u201d Topologien in der Mathematik oben beschrieben. F\u00fcr interessierte Benutzer ist der Quellcode im Git-Baum im Verzeichnis\n \u201dsrc/emc/kinematics/\u201d verf\u00fcgbar.\n Beispielkonfigurationen f\u00fcr xyzac-trt und xyzbc-trt befinden sich im Verzeichnis Beispielkonfigurationen (configs/sim/axis/vismach/5axis/table-rotary-tilting/).\n@@ -24145,15 +24145,15 @@\n net :tool-offset motion.tooloffset.z xyzac-trt-kins.tool-offset\n \n wo:\n :tool-offset ---------------- Signalname\n motion.tooloffset.z --------- Ausgang HAL-Pin von LinuxCNC Bewegungsmodul\n xyzac-trt-kins.tool-offset -- Eingang HAL-Pin zu xyzac-trt-kins\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 515 / 1331\n \n 9.3.7 Kundenspezifische Kinematik-Komponenten\n LinuxCNC implementiert Kinematik mit einer HAL-Komponente, die beim Starten von LinuxCNC geladen wird. Die h\u00e4ufigste Kinematik-Modul, trivkins, implementiert Identit\u00e4t (trivial) Kinematik, wo\n es eine eins-zu-eins-Korrespondenz zwischen einer Achse Koordinate Buchstaben und einem Motor\n Gelenk. Zus\u00e4tzliche Kinematik-Module f\u00fcr komplexere Systeme (einschlie\u00dflich \u201dxyzac-trt\u201d und \u201dxyzbctrt\u201d oben beschrieben) sind verf\u00fcgbar.\n@@ -24181,29 +24181,29 @@\n verwendet werden, erstellt werden. Diese Pins k\u00f6nnen mit einem Signal zur dynamischen Steuerung\n verbunden werden oder einmalig mit HAL-Verbindungen wie:\n # Offset-Parameter einstellen\n net :tool-offset motion.tooloffset.z xyzac-trt-kins.tool-offset\n setp xyzac-trt-kins.y-versatz 0\n setp xyzac-trt-kins.z-versatz 20\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 9.3.8 Abbildungen\n \n Abbildung 9.10: Kipp-/Drehkonfiguration des Tisches\n \n 516 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 9.11: Spindel-/Tischkippkonfiguration\n \n 517 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 518 / 1331\n \n Abbildung 9.12: Kipp-/Drehkonfiguration der Spindel\n \n 9.3.9 VERWEISE\n 1. AXIS MACHINE TOOLS: Kinematics and Vismach Implementation in LinuxCNC, RJ du Preez,\n@@ -24219,15 +24219,15 @@\n 9.4 Schaltbare Kinematik (switchkins)\n 9.4.1 Einf\u00fchrung\n Eine Reihe von Kinematikmodulen unterst\u00fctzt die Umschaltung von Kinematikberechnungen. Diese Module unterst\u00fctzen eine Standard-Kinematikmethode (Typ0), eine zweite eingebaute Methode\n (Typ1) und (optional) eine vom Benutzer bereitgestellte Kinematikmethode (Typ2). F\u00fcr die Typ1Methode wird in der Regel die Identit\u00e4tskinematik verwendet.\n Die Switchkins-Funktionalit\u00e4t kann f\u00fcr Maschinen verwendet werden, bei denen eine Steuerung der\n Gelenke nach der Referenzfahrt w\u00e4hrend des Einrichtens erforderlich ist oder um Bewegungen in der\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 519 / 1331\n \n N\u00e4he von Singularit\u00e4ten aus dem G-Code zu vermeiden. Solche Maschinen verwenden f\u00fcr die meisten\n Vorg\u00e4nge spezifische Kinematikberechnungen, k\u00f6nnen aber f\u00fcr die Steuerung einzelner Gelenke nach\n der Referenzfahrt auf Identit\u00e4tskinematik umgestellt werden.\n Die Auswahl des Kinematik-Typs erfolgt \u00fcber einen Motion-Modul-HAL-Pin, der \u00fcber ein G-CodeProgramm oder \u00fcber interaktive MDI-Befehle aktualisiert werden kann. Die halui-Bestimmungen f\u00fcr\n@@ -24261,15 +24261,15 @@\n KINEMATICS = genhexkins coordinates=xyzabc\n # custom identity ordering: joint0==c, joint1==b, ...\n KINEMATICS = genhexkins coordinates=cbazyx\n \n Anmerkung\n Wenn der Parameter coordinates= weggelassen wird, lauten die Standard-Zuordnungen der Gelenkbuchstaben joint0==x,joint1=y,\u2026.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 520 / 1331\n \n Die Gelenkzuweisungen f\u00fcr Identit\u00e4ts-Kinematiken bei Verwendung des Koordinatenparameters sind\n identisch mit denen f\u00fcr das Modul trivkins. Die Duplizierung von Achsenbuchstaben zur Zuweisung\n mehrerer Gelenke f\u00fcr einen Koordinatenbuchstaben ist jedoch im Allgemeinen nicht f\u00fcr serielle oder\n parallele Kinematiken (wie genserkins, pumakins, genhexkins usw.) geeignet, bei denen es keine einfache Beziehung zwischen Gelenken und Koordinaten gibt.\n@@ -24302,15 +24302,15 @@\n 9.4.4.1 HAL-Verbindungen\n Die Switchkins-Funktionalit\u00e4t wird durch den Pin motion.switchkins-type aktiviert. Normalerweise\n wird dieser Pin von einem analogen Ausgangspin wie motion.analog-out-03 gespeist, so dass er durch\n M68-Befehle gesetzt werden kann. Beispiel:\n net :kinstype-select <= motion.analog-out-03\n net :kinstype-select => motion.switchkins-type\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 521 / 1331\n \n 9.4.4.2 G-/M-Code-Befehle\n Die Auswahl des Kinstype wird verwaltet \u00fcber G-Code-Sequenzen wie:\n ...\n M68 E3 Q1 ;analog-out-03 aktualisieren, um Kinstype 1 auszuw\u00e4hlen\n@@ -24347,15 +24347,15 @@\n LinuxCNC Bahnplanung verwendet Grenzen f\u00fcr die Position (min, max), Geschwindigkeit und Beschleunigung f\u00fcr jede anwendbare Koordinaten-Buchstaben in der Konfiguration INI-Datei angegeben. Beispiel f\u00fcr den Buchstaben L (im Satz XYZABCUVW):\n [AXIS_L]\n MIN_LIMIT =\n MAX_LIMIT =\n MAX_VELOCITY =\n MIN_ACCELERATION =\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 522 / 1331\n \n Die angegebenen INI-Datei-Grenzwerte gelten f\u00fcr die Standardkinematik vom Typ 0, die beim Start\n aktiviert wird. Beim Umschalten auf eine andere Kinematik sind diese Grenzen m\u00f6glicherweise nicht\n anwendbar. Da jedoch beim Umschalten der Kinematik eine Synchronisierung zwischen Interpreter\n und Bewegung erforderlich ist, k\u00f6nnen INI-HAL-Pins verwendet werden, um Grenzwerte f\u00fcr einen\n@@ -24399,15 +24399,15 @@\n sinnvoll sein, die in der System-INI-Datei angegebenen Grenzwerte festzulegen oder wiederherzustellen. Ein Beispiel: Ein Roboter startet nach der Referenzfahrt mit einer komplexen (nicht identischen) Kinematik (Typ 0). Das System ist so konfiguriert, dass es auf eine Identit\u00e4tskinematik (Typ1)\n umgeschaltet werden kann, um einzelne Gelenke mit den herk\u00f6mmlichen Buchstaben aus dem Satz\n XYZABCUVW zu manipulieren. Die Einstellungen in der INI-Datei ([AXIS_L]) sind beim Betrieb mit\n Identit\u00e4tskinematik (Typ1) nicht anwendbar. Um diesem Anwendungsfall gerecht zu werden, k\u00f6nnen\n die Benutzer-M-code-Skripte wie folgt gestaltet werden:\n M129 (Switch to identity type1)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 523 / 1331\n \n 1. INI-Datei lesen und auswerten (\u201dparsen\u201d)\n 2. hal: setzt die INI-HAL Grenzstifte f\u00fcr jeden Achsenbuchstaben ([AXIS_L]) entsprechend der identit\u00e4tsbezogenen Gelenknummer INI-Datei ([JOINT_N])\n 3. HAL: setp motion.switchkins-type 1\n 4. MDI: Ausf\u00fchren eines Synchronisations-G-Codes (M66E0L0)\n@@ -24434,15 +24434,15 @@\n 2. 5axis/table-rotary-tilting/xyzbc-trt.ini (xyzac-trt-kins)\n 3. 5axis/bridgemill/5axis.ini (5axiskins)\n 4. scara/scara.ini (scarakins)\n 5. puma/puma560.ini (genserkins)\n 6. puma/puma.ini (pumakins)\n 7. hexapod-sim/hexapod.ini (genhexkins)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 524 / 1331\n \n 9.4.6 Kinematische Bestimmungen des Benutzers\n Benutzerdefinierte Kinematiken k\u00f6nnen auf Run-In-Place (\u201dRIP\u201d) Builds kodiert und getestet werden. Eine Vorlagendatei src/emc/kinematics/userkfuncs.c ist in der Distribution enthalten. Diese Datei kann in ein Benutzerverzeichnis kopiert/umbenannt und bearbeitet werden, um benutzerdefinierte\n Kinematik mit kinstype==2 bereitzustellen.\n Die benutzerdefinierte Kinematikdatei kann bei rt-preempt-Implementierungen aus den Out-of-TreeQuellen kompiliert werden oder bei rtai-Systemen durch Ersetzen der In-Tree-Vorlagendatei (src/emc/kinematics/userkfuncs.c).\n@@ -24468,15 +24468,15 @@\n von Konfigurationseinstellungen.\n Nach dem Aufruf von switchkinsSetup() pr\u00fcft rtapi_app_main() die \u00fcbergebenen Parameter, erstellt\n eine HAL Komponente und ruft dann die f\u00fcr jeden Kinstype (0,1,2) identifizierte Setup-Routine auf.\n Jede Kinstype (0,1,2) Setup-Routine kann (optional) HAL Pins erzeugen und auf Standardwerte setzen.\n Wenn alle Setup-Routinen abgeschlossen sind, gibt rtapi_app_main() hal_ready() f\u00fcr die Komponente\n aus, um die Erstellung des Moduls abzuschlie\u00dfen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 525 / 1331\n \n 9.5 PID Tuning\n 9.5.1 PID-Regler (engl. PID controller)\n A proportional-integral-derivative controller (PID controller) is a common feedback loop component\n in industrial control systems. 3\n@@ -24510,15 +24510,15 @@\n Ein PID-Regler kann zur Regelung jeder messbaren Gr\u00f6\u00dfe verwendet werden, die durch die Beeinflussung einer anderen Prozessgr\u00f6\u00dfe beeinflusst werden kann. Er kann zum Beispiel zur Regelung\n von Temperatur, Druck, Durchfluss, chemischer Zusammensetzung, Geschwindigkeit oder anderen\n Variablen eingesetzt werden. Ein Beispiel f\u00fcr einen Prozess au\u00dferhalb der Industrie, bei dem eine\n grobe PID-Regelung zum Einsatz kommt, ist die Geschwindigkeitsregelung von Autos.\n Einige Regelsysteme ordnen PID-Regler in Kaskaden oder Netzwerken an. Das hei\u00dft, ein \u201dMaster\u201dRegler erzeugt Signale, die von \u201dSlave\u201d-Reglern verwendet werden. Eine h\u00e4ufige Situation sind Motorsteuerungen: Oft soll der Motor eine geregelte Drehzahl haben, wobei der \u201dSlave\u201d-Regler (oft in einen\n 3 This Subsection is taken from an much more extensive article found at https://en.wikipedia.org/wiki/PID_controller\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 526 / 1331\n \n Frequenzumrichter eingebaut) die Drehzahl direkt auf der Grundlage eines proportionalen Eingangs\n steuert. Dieser Slave-Eingang wird vom Ausgang des Master-Reglers gespeist, der auf der Grundlage\n einer verwandten Variablen regelt.\n 9.5.1.2 Theorie\n@@ -24556,15 +24556,15 @@\n weisen einen gewissen Grad an Nichtlinearit\u00e4t auf, so dass Parameter, die unter Volllastbedingungen\n gut funktionieren, beim Anfahren des Prozesses im Leerlauf nicht funktionieren. In diesem Abschnitt\n werden einige herk\u00f6mmliche manuelle Methoden zur Regelkreisabstimmung beschrieben.\n Es gibt mehrere Methoden zur Abstimmung einer PID-Schleife. Die Wahl der Methode h\u00e4ngt weitgehend davon ab, ob die Schleife f\u00fcr die Abstimmung \u201doffline\u201d genommen werden kann oder nicht,\n sowie von der Reaktionsgeschwindigkeit des Systems. Wenn das System offline geschaltet werden\n kann, besteht die beste Abstimmungsmethode oft darin, das System einer sprunghaften \u00c4nderung\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 527 / 1331\n \n des Eingangs zu unterziehen, den Ausgang als Funktion der Zeit zu messen und diese Reaktion zur\n Bestimmung der Regelparameter zu verwenden.\n Einfache Methode Wenn das System am Netz bleiben muss, besteht eine Abstimmungsmethode\n darin, zun\u00e4chst die Werte f\u00fcr I und D auf Null zu setzen. Erh\u00f6hen Sie den P-Wert, bis der Ausgang\n@@ -24640,15 +24640,15 @@\n 9.6 Neuzuordnung (engl. remap) f\u00fcr das Erweitern von G-Code\n 9.6.1 Einf\u00fchrung: Erweiterung des RS274NGC-Interpreters durch Remapping von Codes\n 9.6.1.1 Eine Definition: Neuzuordnung von Codes\n Mit \u201dNeuzuordnung\u201d (engl. Remapping) von Codes meinen wir eine der folgenden Optionen:\n 1. Definition der Semantik neuer - d.h. derzeit nicht zugewiesener - M- oder G-Codes\n 2. Definieren Sie die Semantik eines - derzeit begrenzten - Satzes bestehender Codes neu.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 528 / 1331\n \n 9.6.1.2 Warum sollten Sie den RS274NGC Interpreter erweitern?\n Der Satz von Codes (M,G,T,S,F), die derzeit vom RS274NGC-Interpreter verstanden werden, ist festgelegt und kann nicht durch Konfigurationsoptionen erweitert werden.\n In particular, some of these codes implement a fixed sequence of steps to be executed. While some of\n these, like M6, can be moderately configured by activating or skipping some of these steps through\n@@ -24684,15 +24684,15 @@\n procedure.\n This glue code is impossible to write as an O-word procedure itself, since the RS274NGC language\n lacks the introspective capabilities and access into interpreter internal data structures to achieve\n the required effect. Doing the glue code in - again - C/C+\\+ would be an inflexible and therefore\n unsatisfactory solution.\n Wie sich Embedded Python einf\u00fcgt Um eine einfache Situation einfach und eine komplexe Situation l\u00f6sbar zu machen, wird das Problem des Glue Codes als Zwischenebene wie folgt angegangen:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 529 / 1331\n \n \u2022 For simple situations, a built-in glue procedure (argspec) covers most common parameter passing\n requirements.\n \u2022 For remapping T,M6,M61,S,F there is some standard Python glue which should cover most situations, see Standard Glue.\n \u2022 For more complex situations, one can write your own Python glue to implement new behavior.\n@@ -24726,15 +24726,15 @@\n M-codes section.\n \u2022 Informationen zu unbelegten G-Codes finden Sie hier.\n \u2022 Existing codes that can be reassigned are listed in the remappable codes section.\n Derzeit gibt es zwei vollst\u00e4ndige, nur in Python verf\u00fcgbare Remaps, die in stdglue.py verf\u00fcgbar sind:\n \u2022 ignore_m6\n \u2022 index_lathe_tool_with_wear\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 530 / 1331\n \n Diese sind f\u00fcr die Verwendung mit Drehmaschinen gedacht. Drehb\u00e4nke verwenden nicht M6, um die\n Werkzeuge zu indexieren, sondern den Befehl T.\n This remap also adds wear offsets to the tool offset, e.g. T201 would index to tool 2 (with tool 2\u2019s tool\n offset) and adds wear offset 1. In the tool table, tools numbers above 10000 are wear offsets, e.g. in\n@@ -24769,15 +24769,15 @@\n of which might be required, others might be optional. We have the following options to feed values to\n the procedure:\n 1. Extracting words from the current block and pass them to the procedure as parameters (like\n X22.34 or P47),\n 2. referring to INI file variables,\n 3. referring to global variables (like #2200 = 47.11 or #<_global_param> = 315.2).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 531 / 1331\n \n The first method is preferred for parameters of dynamic nature, like positions. You need to define\n which words on the current block have any meaning for your new code, and specify how that is passed\n to the NGC procedure. Any easy way is to use the argspec statement. A custom prolog might provide\n better error messages.\n@@ -24813,15 +24813,15 @@\n block are ignored with respect to the M400 code. If the P word is not present, fail execution with an\n error.\n \u2022 When an M400 code is encountered, execute myprocedure.ngc along the other modal group 10 Mcodes as per order of execution.\n \u2022 The value of P, and Q are available in the procedure as local named parameters. The may be referred\n to as #

and #. The procedure may test whether the Q word was present with the EXISTS built\n in function.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 532 / 1331\n \n Es wird erwartet, dass die Datei myprocedure.ngc im Verzeichnis [DISPLAY]NC_FILES oder [RS274NGC]SUBR\n existiert.\n Eine ausf\u00fchrliche Erl\u00e4uterung der REMAP (engl. f\u00fcr Neuzuordnung)-Parameter finden Sie im folgenden Referenzteil.\n \n@@ -24861,15 +24861,15 @@\n epilog=\n After executing an ngc procedure, call this Python function. The function is expected to be defined\n in the module_basename.remap module. Optional.\n The python, prolog and epilog options require the Python Interpreter plugin to be configured, and\n appropriate Python functions to be defined there so they can be referred to with these options.\n The syntax for defining a new code, and redefining an existing code is identical.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 533 / 1331\n \n 9.6.3.2 Useful REMAP option combinations\n Note that while many combinations of argspec options are possible, not all of them make sense. The\n following combinations are useful idioms:\n argspec= ngc= modalgroup=_\n@@ -24908,15 +24908,15 @@\n Words DEIJKPQR have no predefined function and are recommended for use as argspec parameters.\n ABCDEFHIJKPQRSTUVWXYZ\n Defines a required word parameter: an uppercase letter specifies that the corresponding word\n must be present in the current block. The word \u0300s value will be passed as a local named parameter\n with a corresponding name. If the @ character is present in the argspec, it will be passed as\n positional parameter, see below.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 534 / 1331\n \n abcdefhijkpqrstuvwxyz\n Defines an optional word parameter: a lowercase letter specifies that the corresponding word\n may be present in the current block. If the word is present, the word\u2019s value will be passed as a\n local named parameter. If the @ character is present in the argspec, it will be passed as positional\n@@ -24953,15 +24953,15 @@\n o endsub\n M2\n \n \u2022 Executing M400 will fail with the message user-defined M400: missing: P.\n \u2022 Executing M400 P123 will display P word=123.000000.\n \u2022 Executing M400 P123 Q456 will display P word=123.000000 and Q word set: 456.000000.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 535 / 1331\n \n Example for positional parameter passing to NGC procedures Assume the code is defined as\n REMAP=M410 modalgroup=10 argspec=@PQr ngc=m410\n and m410.ngc looks as follows:\n o sub\n@@ -25004,15 +25004,15 @@\n self.execute()).\n Angenommen, die Definition lautet wie folgt (Anmerkung: Hier wird argspec nicht verwendet):\n REMAP=G88.1 modalgroup=1 py=involute\n The involute function in python/remap.py listed below does all word extraction from the current\n block directly. Note that interpreter errors can be translated to Python exceptions. Remember this is\n readahead time - execution time errors cannot be trapped this way.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 536 / 1331\n \n import sys\n import traceback\n from math import sin,cos\n from interpreter import *\n@@ -25055,15 +25055,15 @@\n except InterpreterException,e:\n msg = \u201d%d: \u2019%s\u2019 - %s\u201d % (e.line_number,e.line_text, e.error_message)\n return msg\n return INTERP_OK\n \n Die bisher beschriebenen Beispiele finden Sie in \u201dconfigs/sim/axis/remap/getting-started\u201d mit vollst\u00e4ndigen Arbeitskonfigurationen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 537 / 1331\n \n 9.6.4 Aktualisieren einer bestehenden Konfiguration f\u00fcr die Neuzuordnung\n Die Mindestvoraussetzungen f\u00fcr die Verwendung von \u201dREMAP\u201d-Anweisungen sind wie folgt:\n \u2022 The Python plug in must be activated by specifying a [PYTHON]TOPLEVEL=\n in the INI file.\n@@ -25104,15 +25104,15 @@\n of the interpreter.\n Unser remapped Code muss also etwas mehr tun, als nur einige Befehle zu generieren, um die Maschine so zu bewegen, wie wir es wollen - er muss auch die Schritte aus dieser Sequenz wiederholen,\n die n\u00f6tig sind, um den Interpreter und die Task bei Laune zu halten.\n However, this does not affect the processing of tool change-related commands in task and iocontrol.\n This means when we execute step 6b this will still cause iocontrol to do its thing.\n Decisions, decisions:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 538 / 1331\n \n \u2022 M\u00f6chten wir eine O-Wort-Prozedur verwenden oder alles in Python-Code tun?\n \u2022 Ist die \u201diocontrol\u201d-HAL-Sequenz (tool-prepare/tool-prepared und tool-change/tool-changed Pins) gut\n genug oder brauchen wir eine andere Art von HAL-Interaktion f\u00fcr unseren Werkzeugwechsler (z.B.:\n mehr beteiligte HAL-Pins mit einer anderen Interaktionssequenz)?\n@@ -25150,15 +25150,15 @@\n For the sake of documentation, we\u2019ll disable these iocontrol sequences, and roll our own - the result\n will look and feel like the existing interaction, but now we have complete control over them because\n they are executed in our own O-word procedure.\n So what we\u2019ll do is use some motion.digital-* and motion.analog-* pins, and the associated M62\n .. M68 commands to do our own HAL interaction in our O-word procedure, and those will effectively\n replace the iocontrol tool-prepare/tool-prepared and tool-change/tool-changed sequences. So we\u2019ll\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 539 / 1331\n \n define our pins replacing existing iocontrol pins functionally, and go ahead and make the iocontrol\n interactions a loop. We\u2019ll use the following correspondence in our example:\n iocontrol pin correspondence in the examples\n iocontrol.0 pin\n@@ -25208,15 +25208,15 @@\n prolog=change_prolog ngc=change epilog=change_epilog\n \n So the prolog covering steps 1 and 2 would look like so - we decide to pass a few variables to\n the remap procedure which can be inspected and changed there, or used in a message. Those are:\n tool_in_spindle, selected_tool (tool numbers) and their respective tooldata indices current_pocket\n and selected_pocket:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 540 / 1331\n \n Anmerkung\n Die inzwischen nicht mehr verwendeten Namen selected_pocket und current_pocket verweisen\n auf einen sequentiellen Werkzeugdatenindex f\u00fcr Werkzeugelemente, die aus einer Werkzeugtabelle\n ([EMCIO]TOOL_TABLE) oder \u00fcber eine Werkzeugdatenbank ([EMCIO]DB_PROGRAM) geladen werden.\n@@ -25263,15 +25263,15 @@\n # cause a sync()\n self.tool_change_flag = True\n self.set_tool_parameters()\n return INTERP_OK\n else:\n return \u201dM6 aborted (return code %.1f)\u201d % (self.return_value)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 541 / 1331\n \n except Exception, e:\n return \u201dM6/change_epilog: %s\u201d % (e)\n \n This replacement M6 is compatible with the built in code, except steps 3-5 need to be filled in with\n@@ -25305,15 +25305,15 @@\n \u2022 M6 (change_prolog): #, #, #, #\n \u2022 M61 (settool_prolog): # , #\n \u2022 S (setspeed_prolog): #\n \u2022 F (setfeed_prolog): #\n If you have specific needs for extra parameters to be made visible, that can simply be added to the\n prolog - practically all of the interpreter internals are visible to Python.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 542 / 1331\n \n 9.6.5.6 Making minimal changes to the built in codes, including M6\n Remember that normally remapping a code completely disables all internal processing for that code.\n However, in some situations it might be sufficient to add a few codes around the existing M6 built in\n implementation, like a tool length probe, but other than that retain the behavior of the built in M6.\n@@ -25363,15 +25363,15 @@\n cblock = self.blocks[self.remap_level]\n if not cblock.t_flag:\n return \u201dT requires a tool number\u201d\n tool\n \n = cblock.t_number\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 543 / 1331\n \n if tool:\n (status, pocket) = self.find_tool_pocket(tool)\n if status != INTERP_OK:\n return \u201dT%d: pocket not found\u201d % (tool)\n@@ -25419,15 +25419,15 @@\n remap is aborted.\n The way to do this is by using the [RS274NGC]ON_ABORT_COMMAND feature. This INI option specifies a\n O-word procedure call which is executed if task for some reason aborts program execution. on_abort\n receives a single parameter indicating the cause for calling the abort procedure, which might be used\n for conditional cleanup.\n Die Gr\u00fcnde sind in nml_intf/emc.hh definiert\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 544 / 1331\n \n EMC_ABORT_TASK_EXEC_ERROR = 1,\n EMC_ABORT_AUX_ESTOP = 2,\n EMC_ABORT_MOTION_OR_IO_RCS_ERROR = 3,\n EMC_ABORT_TASK_STATE_OFF = 4,\n@@ -25476,15 +25476,15 @@\n Stellen Sie sicher, dass sich on_abort.ngc im Suchpfad des Interpreters befindet (empfohlener Ort:\n SUBROUTINE_PATH, um Ihr NC_FILES-Verzeichnis nicht mit internen Prozeduren zu \u00fcberladen).\n Statements in that procedure typically would assure that post-abort any state has been cleaned up,\n like HAL pins properly reset. For an example, see configs/sim/axis/remap/rack-toolchange.\n Beachten Sie, dass das Beenden eines remapped Codes durch R\u00fcckgabe von INTERP_ERROR aus\n dem Epilog (siehe vorheriger Abschnitt) auch den Aufruf der Prozedur on_abort bewirkt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 545 / 1331\n \n 9.6.5.9 Fehlerbehandlung: Fehlschlagen einer NGC-Prozedur mit neu zugeordnetem Code\n Wenn Sie in Ihrer Handler-Prozedur feststellen, dass eine Fehlerbedingung aufgetreten ist, verwenden\n Sie nicht M2, um Ihren Handler zu beenden - siehe oben:\n If displaying an operator error message and stopping the current program is good enough, use the\n@@ -25518,15 +25518,15 @@\n change gears appropriately if not.\n 9.6.6.2 Anpassen des Verhaltens von M0, M1, M60\n A use case for remapping M0/M1 would be to customize the behavior of the existing code. For instance,\n it could be desirable to turn off the spindle, mist and flood during an M0 or M1 program pause, and\n turn these settings back on when the program is resumed.\n For a complete example doing just that, see configs/sim/axis/remap/extend-builtins/, which adapts M1 as laid out above.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 546 / 1331\n \n 9.6.7 Creating new G-code cycles\n A G-code cycle as used here is meant to behave as follows:\n \u2022 On first invocation, the associated words are collected and the G-code cycle is executed.\n \u2022 If subsequent lines just continue parameter words applicable to this code, but no new G-code, the\n@@ -25570,15 +25570,15 @@\n [PYTHON]\n TOPLEVEL = \n Dateiname des anf\u00e4nglichen Python-Skripts, das beim Starten ausgef\u00fchrt wird. Dieses Skript\n ist f\u00fcr die Einrichtung der Paketnamensstruktur verantwortlich, siehe unten.\n PATH_PREPEND = \n Dieses Verzeichnis dem PYTHON_PATH voranstellen. Eine sich wiederholende Gruppe.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 547 / 1331\n \n PATH_APPEND = \n Dieses Verzeichnis an PYTHON_PATH anh\u00e4ngen. Eine sich wiederholende Gruppe.\n LOG_LEVEL = \n Log level of plugin-related actions. Increase this if you suspect problems. Can be very verbose.\n@@ -25616,15 +25616,15 @@\n Hier werden aufgabenbezogene Abrufe erwartet.\n 9.6.9.2 Der Interpreter aus der Sicht von Python\n \n The interpreter is an existing C++ class (Interp) defined in src/emc/rs274ngc. Conceptually all oword. Python calls are methods of this Interp class, although there is no explicit Python definition of this class (it is a Boost.Python wrapper instance) and hence receive the as the first\n parameter self which can be used to access internals.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 548 / 1331\n \n 9.6.9.3 Die Interpreterfunktionen __init__ und __delete__\n If the TOPLEVEL module defines a function __init__, it will be called once the interpreter is fully\n configured (INI file read, and state synchronized with the world model).\n Wenn das Modul TOPLEVEL eine Funktion __delete__ definiert, wird sie einmal aufgerufen, bevor der\n@@ -25664,15 +25664,15 @@\n \u2013 when a comment like ;py, is executed - during execution of a remapped\n code: any prolog=, python= and epilog= handlers.\n Calling O-word Python subroutines\n Arguments:\n self\n The interpreter instance.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 549 / 1331\n \n *args\n The list of actual positional parameters. Since the number of actual parameters may vary, it is\n best to use this style of declaration:\n # this would be defined in the oword module\n@@ -25710,15 +25710,15 @@\n print(\u201d%s: %s\u201d % (w, words[w]))\n if words[\u2019p\u2019] < 78: # NB: could raise an exception if p were optional\n return \u201dfailing miserably\u201d\n return INTERP_OK\n \n R\u00fcckgabewerte:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 550 / 1331\n \n INTERP_OK\n Return this on success. You need to import this from interpreter.\n a message text\n Returning a string from a handler means this is an error message, abort the program. Works like\n@@ -25758,15 +25758,15 @@\n # Post-sync()-Ausf\u00fchrung wird hier fortgesetzt:\n pin_status = emccanon.GET_EXTERNAL_DIGITAL_INPUT(0,0);\n print(\u201dpin status=\u201d,pin_status)\n \n Warnung\n The yield feature is fragile. The following restrictions apply to the usage of yield INTERP_EXECUTE_FINISH:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 551 / 1331\n \n \u2022 Python-Code, der ein yield INTERP_EXECUTE_FINISH ausf\u00fchrt, muss Teil einer Remap-Prozedur\n sein. Yield funktioniert nicht in einer Python-O-word-Prozedur.\n \u2022 Eine Python-Remap-Subroutine, welche die Anweisung yield INTERP_EXECUTE_FINISH enth\u00e4lt,\n darf keinen Wert zur\u00fcckgeben, wie dies bei normalen Python-Yield-Anweisungen der Fall ist.\n@@ -25808,15 +25808,15 @@\n return \u201dtestparam forgot to assign #\u201d\n return INTERP_OK\n o sub\n (debug, call_level=#<_call_level> myname=#)\n ; try commenting out the next line and run again\n # = [# * 3]\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 552 / 1331\n \n #1 = [#1 * 5]\n #2 = [#2 * 3]\n o endsub\n m2\n@@ -25858,15 +25858,15 @@\n \n except InterpreterException,e:\n msg = \u201d%d: \u2019%s\u2019 - %s\u201d % (e.line_number,e.line_text, e.error_message)\n return msg # ersetzt regul\u00e4r ausgegebene Fehlermeldung\n \n Canon The canon layer is practically all free functions. Example:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 553 / 1331\n \n import emccanon\n def example(self,*args):\n ....\n emccanon.STRAIGHT_TRAVERSE(line,x0,y0,z0,0,0,0,0,0,0)\n@@ -25903,15 +25903,15 @@\n \u2022 Import that module from the TOPLEVEL script.\n # namedparams.py\n # trivial example\n def _pi(self):\n return 3.1415926535\n # = [2 * # * #<_pi>]\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 554 / 1331\n \n Functions in namedparams.py are expected to return a float or int value. If a string is returned, this\n sets the interpreter error message and aborts execution.\n Es werden nur Funktionen mit f\u00fchrendem Unterstrich als Parameter hinzugef\u00fcgt, da dies die RS274NGCKonvention f\u00fcr Globals ist.\n It is possible to redefine an existing predefined parameter by adding a Python function of the same\n@@ -25943,15 +25943,15 @@\n no further action is taken. This can be used for instance to minimally adjust the built in behavior be\n preceding or following it with some other statements.\n \u2022 Otherwise, the # and # parameters are extracted from the subroutine\u2019s parameter\n space. This means that the NGC procedure could change these values, and the epilog takes the\n changed values in account.\n \u2022 Then, the Canon command SELECT_TOOL(#) is executed.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 555 / 1331\n \n 9.6.11.2 M6: change_prolog and change_epilog\n Diese schlie\u00dfen ein NGC-Verfahren f\u00fcr den M6-Werkzeugwechsel ein.\n Actions of change_prolog\n \u2022 Die folgenden drei Schritte sind nur anwendbar, wenn die Komponente \u201diocontrol-v2\u201d verwendet\n@@ -25982,15 +25982,15 @@\n be preceding or following it with some other statements.\n \u2022 Otherwise, the # parameter is extracted from the subroutine\u2019s parameter space,\n and used to set the interpreter\u2019s current_pocket variable. Again, the procedure could change this\n value, and the epilog takes the changed value in account.\n \u2022 Then, the Canon command CHANGE_TOOL(#) is executed.\n \u2022 Die neuen Werkzeugparameter (Versatz, Durchmesser usw.) werden eingestellt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 556 / 1331\n \n 9.6.11.3 G-Code-Zyklen: cycle_prolog und cycle_epilog\n These wrap a NGC procedure so it can act as a cycle, meaning the motion code is retained after\n finishing execution. If the next line just contains parameter words (e.g. new X,Y values), the code is\n executed again with the new parameter words merged into the set of the parameters given in the first\n@@ -26022,15 +26022,15 @@\n \u2013 retain the current motion mode so a continuation line without a motion code will execute the same\n motion code.\n 9.6.11.4 S (Set Speed) : setspeed_prolog and setspeed_epilog\n TBD\n 9.6.11.5 F (Set Feed) : setfeed_prolog and setfeed_epilog\n TBD\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 557 / 1331\n \n 9.6.11.6 M61 Set tool number : settool_prolog and settool_epilog\n TBD\n \n 9.6.12 Remapped code execution\n@@ -26089,15 +26089,15 @@\n or these flags into the [EMC]DEBUG variable as needed. For a current list of debug flags see src/emc/nml_intf/d\n 9.6.12.5 Fehlersuche in eingebettetem Python-Code\n Debugging of embedded Python code is harder than debugging normal Python scripts, and only a\n limited supply of debuggers exists. A working open-source based solution is to use the Eclipse IDE,\n and the PydDev Eclipse plug in and its remote debugging feature.\n Um diesen Ansatz zu verwenden:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 558 / 1331\n \n \u2022 Installieren Sie Eclipse \u00fcber das Ubuntu Software Center (w\u00e4hlen Sie die erste Option).\n \u2022 Install the PyDev plug in from the Pydev Update Site.\n \u2022 Setup the LinuxCNC source tree as an Eclipse project.\n \u2022 Start the Pydev Debug Server in Eclipse.\n@@ -26114,15 +26114,15 @@\n \n To cover the last two steps: the o procedure helps to get into the debugger from MDI mode.\n See also the call_pydevd function in util.py and its usage in remap.involute to set a breakpoint.\n Here\u2019s a screen-shot of Eclipse/PyDevd debugging the involute procedure from above:\n \n See the Python code in configs/sim/axis/remap/getting-started/python for details.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 559 / 1331\n \n 9.6.13 Axis Preview and Remapped code execution\n For complete preview of a remapped code\u2019s tool path some precautions need to be taken. To understand what is going on, let\u2019s review the preview and execution process (this covers the AXIS case, but\n others are similar):\n First, note that there are two independent interpreter instances involved:\n@@ -26152,15 +26152,15 @@\n \u2022 M0 (pause a running program temporarily)\n \u2022 M1 (pause a running program temporarily if the optional stop switch is on)\n \u2022 M60 (exchange pallet shuttles and then pause a running program temporarily)\n \u2022 S (set spindle speed)\n \u2022 F (set feed)\n Note that the use of M61 currently requires the use of iocontrol-v2.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 560 / 1331\n \n 9.6.14.2 Currently unallocated G-codes:\n Currently unallocated G-codes (for remapping) must be selected from the blank areas of the following\n tables. All the listed G-codes are already defined in the current implementation of LinuxCNC and may\n not be used to remap new G-codes. (Developers who add new G-codes to LinuxCNC are encouraged\n@@ -26238,15 +26238,15 @@\n \n Gxx.1 Gxx.2 Gxx.3 Gxx.4 Gxx.5 Gxx.6 Gxx.7 Gxx.8 Gxx.9\n \n G28\n \n G28.1\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 561 / 1331\n \n Tabelle 9.8: Tabelle der zugewiesenen G-Codes 50-59\n #\n 30\n 31\n@@ -26330,15 +26330,15 @@\n Gxx\n G60\n G61\n \n Gxx.1 Gxx.2 Gxx.3 Gxx.4 Gxx.5 Gxx.6 Gxx.7 Gxx.8 Gxx.9\n G61.1\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 562 / 1331\n \n Tabelle 9.11: (continued)\n #\n 62\n 63\n@@ -26420,15 +26420,15 @@\n G93\n \n Gxx.1 Gxx.2 Gxx.3 Gxx.4 Gxx.5 Gxx.6 Gxx.7 Gxx.8 Gxx.9\n G90.1\n G91.1\n G92.1 G92.2 G92.3\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 563 / 1331\n \n Tabelle 9.14: (continued)\n #\n 94\n 95\n@@ -26581,15 +26581,15 @@\n 9.6.14.4 Vorauslesezeit und Ausf\u00fchrungszeit\n FIXME F\u00fcge fehlende Informationen hinzu\n 9.6.14.5 Plugin/Pickle-Hack\n FIXME F\u00fcge fehlende Informationen hinzu\n 9.6.14.6 Modul, Methoden, Klassen, usw. Referenz\n FIXME F\u00fcge fehlende Informationen hinzu\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 564 / 1331\n \n 9.6.15 Einf\u00fchrung: Erweiterung der Task-Ausf\u00fchrung\n FIXME F\u00fcge fehlende Informationen hinzu\n 9.6.15.1 Warum sollten Sie die Task-Ausf\u00fchrung \u00e4ndern wollen?\n FIXME F\u00fcge fehlende Informationen hinzu\n@@ -26617,15 +26617,15 @@\n codes - for instance, once the spindle is turned on and the speed is set, it remains at this setting\n until turned off. The same goes for many codes, like feed, units, motion modes (feed or rapid)\n and so forth.\n 4. Interpreter execution state - Holds information about the block currently executed, whether we\n are in a subroutine, interpreter variables, etc. . Most of this state is aggregated in a - fairly\n unsystematic - structure _setup (see interp_internals.hh).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 565 / 1331\n \n 9.6.17.2 Task and Interpreter interaction, Queuing and Read-Ahead\n The task part of LinuxCNC is responsible for coordinating actual machine commands - movement,\n HAL interactions and so forth. It does not by itself handle the RS274NGC language. To do so, task\n calls upon the interpreter to parse and execute the next command - either from MDI or the current\n@@ -26670,15 +26670,15 @@\n \n To pre-compute the move in N90, the interpreter would need to know where the machine is after line\n N80 - and that depends on whether the probe command succeeded or not, which is not known until it\n is actually executed.\n So, some operations are incompatible with further read-ahead. These are called queue busters, and\n they are:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 566 / 1331\n \n \u2022 Reading a HAL pin\u2019s value with M66: value of HAL pin not predictable.\n \u2022 Loading a new tool with M6: tool geometry not predictable.\n \u2022 Executing a probe with G38.n: final position and success/failure not predictable.\n 9.6.17.5 How queue-busters are dealt with\n@@ -26709,15 +26709,15 @@\n input_flag, probe_flag) and the interpreter returns an INTERP_EXECUTE_FINISH return value, signaling stop readahead for now, and resynch to the caller (task). If no queue busters are found after\n all items are executed, INTERP_OK is returned, signalling that read-ahead may continue.\n When read ahead continues after the synch, task starts executing interpreter read() operations again.\n During the next read operation, the above mentioned flags are checked and corresponding variables\n are set (because the a synch() was just executed, the values are now current). This means that the\n next command already executes in the properly set variable context.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 567 / 1331\n \n 9.6.17.9 Prozedurausf\u00fchrung\n O-word procedures complicate handling of queue busters a bit. A queue buster might be found somewhere in a nested procedure, resulting in a semi-finished procedure call when INTERP_EXECUTE_FINISH\n is returned. Task makes sure to synchronize the world model, and continue parsing and execution as\n long as there is still a procedure executing (call_level > 0).\n@@ -26751,15 +26751,15 @@\n Interpreter action on a Tx command\n Der Interpreter wertet lediglich den Parameter toolnumber aus, sucht den entsprechenden tooldataIndex, speichert ihn f\u00fcr sp\u00e4ter in der Variablen selected_pocket und stellt einen Kanon-Befehl (SELECT_TOOL) in die Warteschlange. Siehe Interp::convert_tool_select in src/emc/rs274/interp_execute.cc.\n Task-Aktion auf SELECT_TOOL Wenn task dazu kommt, ein SELECT_TOOL zu bearbeiten, sendet\n es eine EMC_TOOL_PREPARE Nachricht an den iocontrol Prozess, der die meisten werkzeugbezogenen Aktionen in LinuxCNC bearbeitet.\n In der derzeitigen Implementierung wartet task tats\u00e4chlich darauf, dass iocontrol die Positionierung des Wechslers abschlie\u00dft, was m.E. nicht notwendig ist, da es die Idee zunichte macht, dass die\n Vorbereitung des Wechslers und die Ausf\u00fchrung des Codes parallel laufen k\u00f6nnen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 568 / 1331\n \n Iocontrol-Aktion auf EMC_TOOL_PREPARE Wenn iocontrol den Befehl \u201dSelect Pocket\u201d sieht,\n f\u00fchrt es das entsprechende HAL-Pin-Wackeln aus - es setzt den \u201dtool-prep-number\u201d-Pin, um anzuzeigen, welches Werkzeug als n\u00e4chstes an der Reihe ist, hebt den \u201dtool-prepare\u201d-Pin an und wartet\n darauf, dass der \u201dtool-prepared\u201d-Pin auf High geht.\n When the changer responds by asserting \u201dtool-prepared\u201d, it considers the prepare phase to be completed and signals task to continue. Again, this wait is not strictly necessary IMO.\n@@ -26793,15 +26793,15 @@\n since M6 is a queue buster.\n Was task tut, wenn es einen CHANGE_TOOL-Befehl sieht Auch hier nicht viel mehr, als die\n Kontrolle an iocontrol zu \u00fcbergeben, indem man ihm eine EMC_TOOL_LOAD Nachricht sendet und\n zu warten, bis iocontrol sein Ding gemacht hat.\n Iocontrol-Aktion auf EMC_TOOL_LOAD\n 1. Es best\u00e4tigt den \u201dTool-Change\u201d-Pin\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 569 / 1331\n \n 2. Es wartet, bis der \u201dTool-changed\u201d-Pin aktiv wird\n 3. wenn dies geschehen ist:\n a. deassert \u201dWerkzeugwechsel\u201d\n b. Setzen der Pins tool-prep-number und tool-prep-pocket auf Null\n@@ -26830,15 +26830,15 @@\n \n 9.6.19 Changes\n \u2022 The method to return error messages and fail used to be self.set_errormsg(text) followed by return\n INTERP_ERROR. This has been replaced by merely returning a string from a Python handler or\n oword subroutine. This sets the error message and aborts the program. Previously there was no\n clean way to abort a Python O-word subroutine.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 570 / 1331\n \n 9.6.20 Debugging\n In the [EMC] section of the INI file the DEBUG parameter can be changed to get various levels of\n debug messages when LinuxCNC is started from a terminal.\n Debug level, 0 means no messages. See src/emc/nml_intf/debugflags.h for others\n@@ -26876,15 +26876,15 @@\n waypoint-sample-secs and waypoint-threshold pins. When the backtrack-enable pin is TRUE, the autoreturn path follows the recorded waypoints. When the memory available for waypoints is exhausted,\n offsets are frozen and the waypoint-limit pin is asserted. This restriction applies regardless of the\n state of the backtrack-enable pin. An enabling pin must be deasserted to allow a return to the original\n (non-offset position).\n Backtracking durch Wegpunkte f\u00fchrt zu langsameren Bewegungsraten, da die Bewegungen Punktzu-Punkt unter Ber\u00fccksichtigung der Geschwindigkeits- und Beschleunigungseinstellungen erfolgen.\n Die Geschwindigkeits- und Beschleunigungsgrenzwerte k\u00f6nnen dynamisch verwaltet werden, um Vers\u00e4tze jederzeit zu kontrollieren.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 571 / 1331\n \n Wenn backtrack-enable FALSE ist, wird die automatische R\u00fccklaufbewegung NICHT koordiniert, jede Achse kehrt mit ihrer eigenen Geschwindigkeit auf Null zur\u00fcck. Wenn in diesem Zustand ein kontrollierter Weg gew\u00fcnscht wird, sollte jede Achse manuell auf Null zur\u00fcckgef\u00fchrt werden, bevor ein\n Freigabe-Pin deaktiviert wird.\n Die Pins waypoint-sample-secs, waypoint-threshold und epsilon werden nur ausgewertet, wenn sich\n die Komponente im Leerlauf befindet.\n@@ -26913,15 +26913,15 @@\n \n 9.7.1 \u00c4ndern einer bestehenden Konfiguration\n Eine vom System bereitgestellte HAL-Datei (LIB:hookup_moveoff.tcl) kann verwendet werden, um\n eine bestehende Konfiguration f\u00fcr die Verwendung der moveoff-Komponente anzupassen. Zus\u00e4tzliche Einstellungen in der INI-Datei unterst\u00fctzen die Verwendung einer einfachen Benutzeroberfl\u00e4che\n (moveoff_gui) zur Steuerung von Offsets.\n Wenn die System-HAL-Datei (LIB:hookup_moveoff.tcl) ordnungsgem\u00e4\u00df in einer Konfigurations-INIDatei angegeben ist, wird sie:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 572 / 1331\n \n 1. die urspr\u00fcnglichen Pinverbindungen joint.N.motor-pos-cmd und joint.N.motor-pos-fb trennen\n 2. Die moveoff-Komponente (unter dem Namen mv) mit einem Profil (engl. personality) laden (loadrt),\n die alle in der INI-Datei angegebenen Achsen aufnehmen kann\n 3. Funktionen der Auszugskomponenten in der gew\u00fcnschten Reihenfolge hinzuf\u00fcgen (addf)\n@@ -26963,15 +26963,15 @@\n WAYPOINT_SAMPLE_SECS =\n WAYPOINT_THRESHOLD =\n \n Das moveoff_gui wird verwendet, um zus\u00e4tzliche erforderliche Verbindungen herzustellen und eine\n Popup-GUI zu erstellen:\n 1. Aktivieren/Deaktivieren von Offsets \u00fcber eine Umschalttaste (engl. togglebutton).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 573 / 1331\n \n 2. Bereitstellung einer Schaltfl\u00e4che zum Aktivieren/Deaktivieren des Backtrackings\n 3. Steuertasten zum Inkrementieren/Dekrementieren/Nullstellen jeder Achsenverschiebung\n 4. Anzeige des aktuellen Wertes jeder Achsenverschiebung\n 5. Anzeige des aktuellen Offset-Status (deaktiviert, aktiv, entfernt, etc.)\n@@ -27011,15 +27011,15 @@\n sind:\n net external_enable mv.move-enable\n net external_offset_0 mv.offset-in-0\n net external_offset_1 mv.offset-in-1\n net external_offset_2 mv.offset-in-2\n net external_backtrack_en mv.backtrack-enable\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 574 / 1331\n \n Diese Signale (external_enable, external_offset_M, external_backtrack_en) k\u00f6nnen von nachfolgenden\n HALFILES (einschlie\u00dflich POSTGUI_HALFILEs) verwaltet werden, um eine angepasste Steuerung\n der Komponente zu erm\u00f6glichen, w\u00e4hrend die moveoff_gui-Anzeige f\u00fcr aktuelle Offset-Werte und den\n Offset-Status verwendet wird.\n@@ -27068,15 +27068,15 @@\n [-no_display] (Voreinstellung: nicht verwendet)\n (Verwendung, wenn sowohl externe Steuerungen als auch Anzeigen \u2190)\n (verwendet werden (siehe Hinweis))\n Hinweis: Wenn der moveoff move-enable Pin (mv.move-enable) angeschlossen ist w\u00e4hrend\n moveoff_gui gestartet wird, sind externe Steuerungen erforderlich und nur\n die Bildschirm-Anzeigen sind verf\u00fcgbar.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 575 / 1331\n \n 9.8 Eigenst\u00e4ndiger Interpreter\n Der eigenst\u00e4ndige Interpreter rs274 kann \u00fcber die Kommandozeile verwendet werden.\n \n 9.8.1 Anwendung\n@@ -27114,15 +27114,15 @@\n \n Befehl\n rs274 -g test.ngc -t test.tbl\n \n 9.9 External Axis Offsets\n External axis offsets are supported during teleop (world) jogs and coordinated (G-code) motion. External axis offsets are enabled on a per-axis basis by INI file settings and controlled dynamically by\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 576 / 1331\n \n INI input pins. The INI interface is similar to that used for wheel jogging. This type of interface is\n typically implemented with a manual-pulse-generator (mpg) connected to an encoder INI component\n that counts pulses.\n \n@@ -27153,15 +27153,15 @@\n 9.9.2.2 Other Motion HAL Pins\n 1. motion.eoffset-active Output(bit): non-zero external offsets applied\n 2. motion.eoffset-limited Output(bit): motion inhibited due to soft limit\n \n 9.9.3 Anwendung\n The axis input HAL pins (enable,scale,counts) are similar to the pins used for wheel jogging.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 577 / 1331\n \n 9.9.3.1 Offset-Berechnung\n At each servo period, the axis.L.eoffset-counts pin is compared to its value in the prior period. The\n increase or decrease (positive or negative delta) of the axis.L.eoffset-counts pin is multiplied by the\n current axis.L.eoffset-scale pin value. This product is accumulated in an internal register and exported\n@@ -27197,15 +27197,15 @@\n Der HAL-Pin axis.L.eoffset-request zeigt den aktuellen angeforderten Offset an, der das Produkt aus\n dem internen Z\u00e4hlregister und der eoffset-Skala ist. Im Allgemeinen hinkt der Wert des Pins axis.L.eoffset\n dem Wert von axis.L.eoffset-request hinterher, da der externe Offset einer Beschleunigungsgrenze unterliegt. Beim Betrieb an einer weichen Grenze wirken sich zus\u00e4tzliche Aktualisierungen der\n axis.L.eoffset-counts weiterhin auf den angeforderten externen Offset aus, wie er im axis.L.eoffsetrequest-HAL-Pin reflektiert wird.\n Beim Teleop-Jogging mit aktivierten externen Offsets und angewandten Werten ungleich Null wird\n bei Erreichen eines Soft-Limits die Bewegung in der betreffenden Achse ohne Verz\u00f6gerungsintervall angehalten. In \u00e4hnlicher Weise wird bei einer koordinierten Bewegung mit aktivierten externen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 578 / 1331\n \n Offsets das Erreichen eines Soft-Limits zum Anhalten der Bewegung ohne Verz\u00f6gerungsphase f\u00fchren.\n In diesem Fall spielt es keine Rolle, ob die Offsets Null sind.\n Wenn die Bewegung ohne Verz\u00f6gerungsphase gestoppt wird, k\u00f6nnen die Beschleunigungsgrenzen des Systems verletzt werden, was zu Folgefehlern f\u00fchrt: 1) einem Schleppfehler (und/oder\n einem Klopfen) bei einem Servomotor-System, 2) einem Verlust von Schritten bei einem SchrittmotorSystem. Im Allgemeinen wird empfohlen, externe Offsets so zu verwenden, dass eine Ann\u00e4herung an\n@@ -27230,15 +27230,15 @@\n designed and tested before deployment.\n \n 9.9.4 Related HAL Components\n 9.9.4.1 eoffset_per_angle.comp\n Komponente zur Berechnung eines externen Offsets aus einer Funktion auf der Grundlage eines\n gemessenen Winkels (Drehkoordinate oder Spindel). Siehe die Manpage f\u00fcr Details ($ man eoffset_per_angle).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 579 / 1331\n \n 9.9.5 Testen\n Der externe Achsenversatz wird durch Hinzuf\u00fcgen einer [AXIS_L]-Einstellung f\u00fcr jede Kandidatenachse aktiviert. Zum Beispiel:\n [AXIS_Z]\n OFFSET_AV_RATIO = 0.2\n@@ -27278,15 +27278,15 @@\n HAL logic needed to demonstrate external offset functionality and the GUI HAL pin connections for\n a PyVCP panel are made in separate HAL files. A non-simulation configuration should replace the\n LIB:basic_sim.tcl item HALFILEs appropriate to the machine. The provided PyVCP files (.hal and .xml)\n could be a starting point for application-specific GUI interfaces.\n 9.9.6.1 eoffsets.ini\n Die Sim-Konfiguration sim/configs/axis/external_offsets/eoffsets.ini demonstriert eine kartesische XYZMaschine mit Steuerelementen zur Aktivierung externer Offsets auf jeder Achse.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 580 / 1331\n \n Alle wichtigen Positions- und Offsetwerte werden angezeigt.\n Ein sim_pin GUI bietet Steuerelemente f\u00fcr die Achsen-Offset-Pins: eoffset-scale & eoffset-counts (\u00fcber\n Signal e:counts), eoffset-clear (\u00fcber Signal e:clearall)\n Ein Skript (eoffsets_monitor.tcl) wird verwendet, um die axis.L.counts-Pins beim Ausschalten der Maschine auf Null zu setzen.\n@@ -27314,15 +27314,15 @@\n typically set by a program (or MDI) M68 command to control a motion.analog-out-NN pin.\n Die LEDs auf dem Bedienfeld dienen zur Anzeige wichtiger Statusinformationen.\n Es werden Funktionen f\u00fcr Innen- und Au\u00dfenpolygone (nsides >= 3), Sinuswellen und Rechteckwellen\n bereitgestellt. Die Funktionen k\u00f6nnen mit dem Stift fmul in der Frequenz multipliziert und mit dem\n Stift rfrac in der Amplitude ver\u00e4ndert werden (Bruchteil des Referenzradius).\n Es gibt Bedienelemente zum Starten/Stoppen von Offset-Wellenformen und zum Einstellen des Funktionstyps und seiner Parameter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 581 / 1331\n \n 9.10 Tool Database Interface\n \n Tool data is conventionally described by a tool table file specified by an inifile setting: [EMCIO]TOOL_TABLE=\n A tool table file consists of a text line for each available tool describing the tool\u2019s parameters, see Tool\n@@ -27359,15 +27359,15 @@\n textual reply format is identical to the text line format used in conventional tool table files. A final\n response of \u201dFINI\u201d terminates the reply.\n 4. Das db_program tritt dann in eine Ereignis-Warteschleife ein, um Befehle zu empfangen, die\n anzeigen, dass Werkzeugdaten von LinuxCNC ge\u00e4ndert wurden. Werkzeugdaten \u00c4nderungen\n umfassen:\n \u2022 a) Laden der Spindel(Tn M6)/Entladen(T0 M6)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 582 / 1331\n \n \u2022 b) \u00c4nderung der Werkzeugparameter (z. B. G10L1Pn)\n \u2022 c) Werkzeugauswechslungen (M61Qn).\n Wenn eine Werkzeugdaten\u00e4nderung auftritt, sendet LinuxCNC einen Befehl an das db_program, bestehend aus einem identifizierenden Befehlsbuchstaben, gefolgt von einer vollst\u00e4ndigen oder abgek\u00fcrzten Werkzeugdatenzeile. Das db_program muss mit einer Antwort antworten, um den Empfang\n zu best\u00e4tigen. Enth\u00e4lt die Antwort den Text \u201dNAK\u201d, wird eine Meldung auf stdout ausgegeben, aber\n@@ -27402,15 +27402,15 @@\n Tool data changes made within LinuxCNC (p,u,l commands) are pushed immediately to the db_program\n which is expected to synchronize its source data. By default, LinuxCNC requests for tool data (g commands) are made at startup only. A database program may update tool usage data on a continuous\n basis so long-lived LinuxCNC applications may benefit by refreshing the tool data provided by the\n db_program. The G-code command G10L0 can be used to request a tool data reload (g command)\n from within G-code programs or by MDI. A reload operation is also typically provided by a Graphical User Interface (GUI) so that on-demand reloads can be requested. For example, a Python GUI\n application can use:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 583 / 1331\n \n #!/usr/bin/env python3\n from linuxcnc import command\n command().load_tool_table()\n \n@@ -27448,15 +27448,15 @@\n 9.10.1.5 Python tooldb module\n The example program uses a LinuxCNC provided Python module (tooldb) that manages the low-level\n details for communication and version verification. This module uses callback functions specified by\n the db_program to respond to the g (get) command and the commands that indicate tool data changes\n (p, l, u).\n The db_program uses the tooldb module by implementing the following Python code:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n user_tools = list(...)\n \n 584 / 1331\n \n # list of available tool numbers\n \n@@ -27502,61 +27502,61 @@\n The sim configs demonstrate the use of the Python tooldb interface module and implement a basic\n flat-file database that tracks tool time usage for multiple tools having equal diameters. The database\n rules support selection of the tool having the lowest operating time.\n The sim configs use a primary task to monitor and respond to tool updates initiated from within LinuxCNC. A periodic task updates tool time usage at reguar intervals. Separate, concurrent tasks\n are implemented as threads to demonstrate the code required when changes are initiated by the\n db_program and demonstrate methods for synchronizing LinuxCNC internal tooldata. Examples include:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 585 / 1331\n \n 1. Aktualisierung der Werkzeugparameter\n 2. addition and removal of tool numbers\n A mutual exclusion lock is used to protect data from inconsistencies due to race conditions between\n LinuxCNC tooldata updates and the database application updates.\n 9.10.2.1 Anmerkungen\n \n When a db_program is used in conjunction with a random tool changer ([EMCIO]RANDOM_TOOLCHANGER\n LinuxCNC maintains a file (db_spindle.tbl in the configuration directory) that consists of a single tool\n table line identifying the current tool in the spindle.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 586 / 1331\n \n Teil II\n \n Anwendung\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 587 / 1331\n \n Kapitel 10\n \n Benutzerschnittstellen\n 10.1 AXIS GUI\n 10.1.1 Einf\u00fchrung\n AXIS ist ein grafisches Frontend f\u00fcr LinuxCNC mit Live-Vorschau und Backplot. Es ist in Python geschrieben und verwendet Tk und OpenGL, um seine Benutzeroberfl\u00e4che anzuzeigen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 588 / 1331\n \n Abbildung 10.1: Das AXIS-Fenster\n \n 10.1.2 Erste Schritte\n Wenn Ihre Konfiguration derzeit nicht f\u00fcr die Verwendung von AXIS eingerichtet ist, k\u00f6nnen Sie sie\n \u00e4ndern, indem Sie die .ini Datei (INI-Datei) bearbeiten. \u00c4ndern Sie im Abschnitt [DISPLAY] die Zeile\n [DISPLAY] in DISPLAY = axis.\n Die Beispielkonfiguration \u201dsim/axis.ini\u201d ist bereits f\u00fcr die Verwendung von AXIS als Front-End konfiguriert.\n Wenn AXIS gestartet wird, \u00f6ffnet sich ein Fenster wie das in der Abbildung Abbildung 10.1 oben.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 589 / 1331\n \n 10.1.2.1 INI-Einstellungen\n For more information on INI file settings that can change how AXIS works see the Display Section\n and the Axis Section of the INI Configuration Chapter.\n \u2022 CYCLE_TIME - Passen Sie die Antwortrate der GUI in Millisekunden an. Typisch 100, nutzbarer\n@@ -27589,15 +27589,15 @@\n Anmerkung\n Nun notwendige Schritte um dasselbe Programm erneut auszuf\u00fchren, h\u00e4ngen von Ihrem Setup und\n Ihren Anforderungen ab. M\u00f6glicherweise m\u00fcssen Sie mehr Material laden und Offsets setzen oder\n einen Offset verschieben und festlegen und dann das Programm erneut ausf\u00fchren. Wenn Ihr Material\n fixiert ist, m\u00fcssen Sie das Programm m\u00f6glicherweise nur erneut ausf\u00fchren. Weitere Informationen\n zum Befehl run finden Sie im Abschnitt zum Men\u00fc Maschine.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 590 / 1331\n \n 10.1.3 AXIS Fenster\n Das AXIS-Fenster enth\u00e4lt die folgenden Elemente:\n \u2022 Ein Anzeigebereich, der Folgendes anzeigt:\n \u2013 Eine Vorschau der geladenen Datei (in diesem Fall axis.ngc) sowie des aktuellen Speicherorts des\n@@ -27634,15 +27634,15 @@\n INI-Datei konfiguriert haben. Weitere Informationen zum Angeben eines zu verwendenden Editors\n finden Sie im Abschnitt DISPLAY.\n \u2022 Reload - Laden Sie die aktuelle G-Code-Datei neu. Wenn Sie es bearbeitet haben, m\u00fcssen Sie es\n neu laden, damit die \u00c4nderungen wirksam werden. Wenn Sie eine Datei stoppen und von vorne\n beginnen m\u00f6chten, laden Sie die Datei neu. Das Neuladen der Symbolleiste ist identisch mit dem\n Men\u00fc.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 591 / 1331\n \n \u2022 G-Code speichern unter\u2026 - Speichern Sie die aktuelle Datei unter einem neuen Namen.\n \u2022 Eigenschaften - Die Summe der Eilgang- und Vorschubbewegungen. Ber\u00fccksichtigt keine Beschleunigung, \u00dcberblendung oder den Pfadmodus, sodass die gemeldete Zeit nie weniger als die tats\u00e4chliche Laufzeit ist.\n \u2022 Werkzeugtabelle bearbeiten\u2026 - Wie bei Bearbeiten, wenn Sie einen Editor definiert haben, k\u00f6nnen\n Sie die Werkzeugtabelle \u00f6ffnen und bearbeiten.\n@@ -27675,15 +27675,15 @@\n \u2022 In MDI-Verlauf einf\u00fcgen - Einf\u00fcgen aus der Zwischenablage in das MDI-Verlaufsfenster\n \u2022 Kalibrierung - Startet den Kalibrierungsassistenten (emccalib.tcl). Die Kalibrierung liest die HALDatei und erstellt f\u00fcr jedes setp, das eine Variable aus der INI-Datei verwendet, die sich in einem\n [AXIS_L],[JOINT_N],[SPINDLE_S] oder [TUNE] Abschnitt befindet, ein Eintrag, der bearbeitet und\n getestet werden kann.\n \u2022 HAL-Konfiguration anzeigen - \u00d6ffnet das Fenster HAL-Konfiguration, in dem Sie HAL-Komponenten,\n Pins, Parameter, Signale, Funktionen und Threads \u00fcberwachen k\u00f6nnen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 592 / 1331\n \n \u2022 HAL-Messger\u00e4t - \u00d6ffnet ein Fenster, in dem Sie einen einzelnen HAL-Pin, ein Signal oder einen\n Parameter \u00fcberwachen k\u00f6nnen.\n \u2022 HAL Scope - \u00d6ffnet ein virtuelles Oszilloskop zur Anzeige von HAL-Werten (vertikal) \u00fcber die Zeit\n (horizontal) erm\u00f6glicht.\n@@ -27715,15 +27715,15 @@\n von negativ nach positiv aussieht. Diese Ansicht eignet sich am besten f\u00fcr den Blick auf X & Z.\n \u2022 Perspektivische Ansicht (engl. perspective view) - Die perspektivische Ansicht (oder P-Ansicht) zeigt\n den G-Code an, der das Teil aus einem einstellbaren Blickwinkel betrachtet, standardm\u00e4\u00dfig X+, Y-,\n Z+. Die Position ist mit der Maus und dem Zug-/Drehwahlschalter einstellbar. Diese Ansicht ist eine\n Kompromissansicht, und obwohl sie versucht, drei (bis neun!) Diese Ansicht ist am besten, wenn\n Sie alle drei (bis neun) Achsen gleichzeitig sehen m\u00f6chten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 593 / 1331\n \n Sichtweise\n Das AXIS-Anzeigeauswahlmen\u00fc \u201dAnsicht\u201d bezieht sich auf die Ansichten \u201dOben\u201d, \u201dVorne\u201d und\n \u201dSeitlich\u201d. Diese Begriffe sind korrekt, wenn die Z-Achse der CNC-Maschine senkrecht steht, mit\n positivem Z nach oben. Dies gilt f\u00fcr vertikale Fr\u00e4smaschinen, was wahrscheinlich die h\u00e4ufigste\n@@ -27763,15 +27763,15 @@\n \u2022 Geschwindigkeit anzeigen - Eine Anzeige der Geschwindigkeit ist manchmal n\u00fctzlich, um zu sehen,\n wie nah Ihre Maschine an ihren Entwurfsgeschwindigkeiten l\u00e4uft. Sie kann auf Wunsch deaktiviert\n werden.\n \u2022 Restweg anzeigen (engl. Show Distance to Go) - Der Restweg ist ein sehr n\u00fctzlicher Hinweis, wenn\n Sie ein unbekanntes G-Code-Programm zum ersten Mal ausf\u00fchren. In Kombination mit den Eilgangund Vorschub-Override-Steuerungen k\u00f6nnen unerw\u00fcnschte Werkzeug- und Maschinensch\u00e4den vermieden werden. Sobald das G-Code-Programm fehlerfrei l\u00e4uft, kann die Restweg-Anzeige auf Wunsch\n deaktiviert werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 594 / 1331\n \n \u2022 Koordinaten in gro\u00dfer Schrift\u2026 - Die Koordinaten der Achsen und die Geschwindigkeit im Voraus\n werden in gro\u00dfer Schrift in der Werkzeugwegansicht angezeigt.\n \u2022 Live Plot l\u00f6schen - W\u00e4hrend das Werkzeug in der AXIS-Anzeige reist, wird der G-Code-Pfad hervorgehoben. Um das Programm zu wiederholen oder einen Interessenbereich besser zu sehen, k\u00f6nnen\n die zuvor markierten Pfade gel\u00f6scht werden.\n@@ -27825,15 +27825,15 @@\n \n Zeilen \u00fcberspringen mit \u201d/\u201d [Alt-M-/] umschalten\n \n \u2022\n \n Optionale Pause einschalten [Alt-M-1]\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n \u2022\n \n Vergr\u00f6\u00dfern (engl. zoom in)\n \n \u2022\n \n@@ -27887,15 +27887,15 @@\n mit X 0,0033 auf Ihrer Fr\u00e4smaschine befehlen, aber ein Schritt Ihres Schrittmotors oder eine Encoderz\u00e4hlung 0,00125 betr\u00e4gt, dann k\u00f6nnte die befohlene Position 0,0033 sein, aber die tats\u00e4chliche\n Position wird 0,0025 (2 Schritte) oder 0,00375 (3 Schritte) sein.\n Vorschau-Plot Wird eine Datei geladen, so wird im Anzeigebereich eine Vorschau angezeigt. Schnelle Bewegungen (z.B. durch den Befehl G0) werden als cyanfarbene Linien dargestellt. Bewegungen\n im Vorschub (z. B. mit dem Befehl \u201dG1\u201d) werden als durchgezogene wei\u00dfe Linien dargestellt. Verweilzeiten (z. B. durch den Befehl \u201dG4\u201d) werden als kleine rosa \u201dX\u201d-Markierungen dargestellt.\n G0 (Eilgang) Bewegungen vor einer Vorschubbewegung werden nicht in der Vorschau angezeigt. Eilgangbewegungen nach einem T (Werkzeugwechsel) werden erst nach der ersten Vorschubbewegung in der Vorschau angezeigt. Um eine dieser Funktionen auszuschalten, programmieren Sie einen\n G1 ohne Bewegungen vor den G0-Bewegungen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 596 / 1331\n \n Programm-Extents Die Ausdehnungen des Programms in jeder Achse werden angezeigt. An den\n Enden werden die kleinsten und gr\u00f6\u00dften Koordinatenwerte angegeben. In der Mitte ist die Differenz\n zwischen den Koordinaten dargestellt.\n Wenn einige Koordinaten die \u201dweichen Grenzen\u201d in der INI-Datei \u00fcberschreiten, wird die betreffende\n@@ -27930,15 +27930,15 @@\n der Mittelpunkt der Linie. Andernfalls ist der Drehpunkt der Mittelpunkt des gesamten Programms.\n Durch Drehen des Mausrads oder durch Ziehen mit gedr\u00fcckter rechter Maustaste oder durch Ziehen\n mit der Steuerung und gedr\u00fcckter linker Maustaste wird die Vorschaudarstellung vergr\u00f6\u00dfert oder\n verkleinert.\n Durch Anklicken eines der Symbole \u201dVoreingestellte Ansicht\u201d oder durch Dr\u00fccken von \u201dV\u201d k\u00f6nnen\n mehrere voreingestellte Ansichten ausgew\u00e4hlt werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 597 / 1331\n \n 10.1.3.4 Textanzeigebereich\n Wenn Sie mit der linken Maustaste auf eine Zeile des Programms klicken, wird diese Zeile sowohl in\n der grafischen als auch in der Textanzeige hervorgehoben.\n Wenn das Programm l\u00e4uft, wird die Zeile, die gerade ausgef\u00fchrt wird, rot hervorgehoben. Wenn der\n@@ -27957,15 +27957,15 @@\n nicht angeschlossen, erscheint die Schaltfl\u00e4che \u201dBrake\u201d nicht auf dem Bildschirm. Ist die Umgebungsvariable AXIS_NO_AUTOCONFIGURE gesetzt, so ist dieses Verhalten deaktiviert und alle Elemente\n werden angezeigt.\n Die Achsengruppe Mit AXIS k\u00f6nnen Sie die Maschine manuell bewegen. Diese Aktion wird als \u201dJogging\u201d bezeichnet. W\u00e4hlen Sie zun\u00e4chst die zu bewegende Achse durch Anklicken aus. Klicken Sie\n dann auf die Schaltfl\u00e4che \u201d+\u201d oder \u201d-\u201d und halten Sie sie gedr\u00fcckt, je nachdem, in welche Richtung\n Sie verfahren m\u00f6chten. Die ersten vier Achsen k\u00f6nnen auch mit den Pfeiltasten (X und Y), den Tasten\n PAGE UP und PAGE DOWN (Z) und den Tasten [ und ] (A) bewegt werden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 598 / 1331\n \n Wenn Sie \u201dKontinuierlich\u201d ausw\u00e4hlen, wird die Bewegung so lange fortgesetzt, wie die Schaltfl\u00e4che\n oder Taste gedr\u00fcckt wird. Wenn ein anderer Wert gew\u00e4hlt wird, bewegt sich die Maschine bei jedem\n Klicken auf die Schaltfl\u00e4che oder Dr\u00fccken der Taste genau um die angezeigte Strecke. Standardm\u00e4\u00dfig\n sind die folgenden Werte verf\u00fcgbar: \u201d0.1000, 0.0100, 0.0010, 0.0001\u201d.\n@@ -27993,15 +27993,15 @@\n Weitere Informationen finden Sie im Kapitel Referenzfahrt Konfiguration.\n Touch-Off\n Durch Dr\u00fccken von Touch Off oder der END-Taste wird der G5x-Offset f\u00fcr die aktuelle Achse ge\u00e4ndert,\n so dass der aktuelle Achsenwert dem angegebenen Wert entspricht. Ausdr\u00fccke k\u00f6nnen nach den\n Regeln f\u00fcr rs274ngc-Programme eingegeben werden, mit der Ausnahme, dass auf Variablen nicht\n Bezug genommen werden darf. Der resultierende Wert wird als Zahl angezeigt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 599 / 1331\n \n Abbildung 10.4: Touch Off Fenster\n Siehe auch die Optionen im Men\u00fc Maschine: \u201dWerkst\u00fcck ber\u00fchren\u201d und \u201dWerkst\u00fcckhalter ber\u00fchren\u201d.\n Werkzeug Touch Off Durch Dr\u00fccken der Schaltfl\u00e4che Tool Touch Off werden die Werkzeugl\u00e4nge und\n die Offsets des aktuell geladenen Werkzeugs so ver\u00e4ndert, dass die aktuelle Position der Werkzeugspitze mit der eingegebenen Koordinate \u00fcbereinstimmt.\n@@ -28019,15 +28019,15 @@\n spindle.0.reverse sein). Die Schaltfl\u00e4chen in der n\u00e4chsten Zeile erh\u00f6hen oder verringern die Drehgeschwindigkeit. Mit dem Kontrollk\u00e4stchen in der dritten Zeile kann die Spindelbremse aktiviert oder\n deaktiviert werden. Je nach Maschinenkonfiguration werden m\u00f6glicherweise nicht alle Elemente in\n dieser Gruppe angezeigt. Durch Dr\u00fccken der Spindelstarttaste wird die S-Drehzahl auf 1 gesetzt.\n Die K\u00fchlmittelgruppe Mit den beiden Schaltfl\u00e4chen k\u00f6nnen die K\u00fchlmittel Nebel und Flut ein- und\n ausgeschaltet werden. Je nach Konfiguration Ihres Ger\u00e4ts werden m\u00f6glicherweise nicht alle Elemente\n in dieser Gruppe angezeigt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 600 / 1331\n \n 10.1.3.6 MDI\n Mit MDI k\u00f6nnen G-Code-Befehle manuell eingegeben werden. Wenn das Ger\u00e4t nicht eingeschaltet ist\n oder wenn ein Programm l\u00e4uft, sind die MDI-Steuerungen nicht verf\u00fcgbar.\n \n@@ -28042,15 +28042,15 @@\n Durch Verschieben dieses Schiebereglers kann der programmierte Vorschub ge\u00e4ndert werden. Wenn\n z.B. ein Programm \u201dF60\u201d verlangt und der Schieberegler auf 120% eingestellt ist, dann ist der resultierende Vorschub 72.\n 10.1.3.8 Spindeldrehzahl-Anpassung\n Durch Verschieben dieses Schiebereglers kann die programmierte Spindeldrehzahl ge\u00e4ndert werden. Wenn ein Programm beispielsweise S8000 anfordert und der Schieberegler auf 80% eingestellt\n ist, betr\u00e4gt die resultierende Spindeldrehzahl 6400. Dieser Punkt erscheint nur, wenn der HAL-Pin\n spindle.0.speed-out angeschlossen ist.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 601 / 1331\n \n 10.1.3.9 Jog-Geschwindigkeit\n Durch Bewegen dieses Schiebereglers kann die Geschwindigkeit des Joggens ge\u00e4ndert werden. Zum\n Beispiel, wenn der Schieberegler auf 1 Zoll / min eingestellt ist, dann wird ein 0,01-Zoll-Joggen in etwa\n 0,6 Sekunden oder 1/100 einer Minute abgeschlossen. In der N\u00e4he der linken Seite (langsames Joggen) sind die Werte eng beieinander angeordnet, w\u00e4hrend sie in der N\u00e4he der rechten Seite (schnelle\n@@ -28102,15 +28102,15 @@\n Jede (engl. any)\n Variiert\n Handbuch\n Handbuch\n Handbuch\n Handbuch\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 602 / 1331\n \n Tabelle 10.1: (continued)\n Tastenkombination\n I\n C\n@@ -28200,15 +28200,15 @@\n Jede (engl. any)\n Jede (engl. any)\n \n 10.1.5 Show LinuxCNC Status (linuxcnctop)\n AXIS enth\u00e4lt ein Programm namens linuxcnctop, das einige der Details des LinuxCNC-Status anzeigt.\n Sie k\u00f6nnen dieses Programm ausf\u00fchren, indem Sie Maschine > LinuxCNC-Status anzeigen aufrufen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 603 / 1331\n \n Abbildung 10.7: LinuxCNC-Statusfenster\n Der Name jedes Elements wird in der linken Spalte angezeigt. Der aktuelle Wert wird in der rechten\n Spalte angezeigt. Wenn sich der Wert k\u00fcrzlich ge\u00e4ndert hat, wird er rot unterlegt angezeigt.\n \n@@ -28225,15 +28225,15 @@\n MDI>\n (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)\n MDI> G1 F5 X1\n MDI>\n (0.5928500000000374, 0.0, 0.0, 0.0, 0.0, 0.0)\n MDI>\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 604 / 1331\n \n (1.0000000000000639, 0.0, 0.0, 0.0, 0.0, 0.0)\n \n 10.1.7 axis-remote\n AXIS enth\u00e4lt ein Programm namens axis-remote, das bestimmte Befehle an einen laufenden AXIS\n@@ -28262,15 +28262,15 @@\n 10.1.9 Python modules\n AXIS enth\u00e4lt mehrere Python-Module, die f\u00fcr andere n\u00fctzlich sein k\u00f6nnen. F\u00fcr weitere Informationen\n \u00fcber eines dieser Module verwenden Sie pydoc oder lesen Sie den Quellcode. Zu\n diesen Modulen geh\u00f6ren:\n \u2022 emc\u2019 erm\u00f6glicht den Zugriff auf die LinuxCNC Befehls-, Status- und Fehlerkan\u00e4le\n \u2022 gcode bietet Zugriff auf den RS274NGC-Interpreter\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 605 / 1331\n \n \u2022 rs274 bietet zus\u00e4tzliche Tools f\u00fcr die Arbeit mit RS274NGC-Dateien\n \u2022 hal allows the creation of non-realtime HAL components written in Python\n \u2022 _togl stellt ein OpenGL-Widget bereit, das in Tkinter-Anwendungen verwendet werden kann\n \u2022 minigl bietet Zugriff auf die von AXIS verwendete Teilmenge von OpenGL\n@@ -28280,44 +28280,44 @@\n k\u00f6nnen Sie dies mit \u201dscripts/rip-environment\u201d tun.\n \n 10.1.10 Using AXIS in Lathe Mode\n Durch Einf\u00fcgen der Zeile LATHE = 1 in den Abschnitt [DISPLAY] der INI-Datei w\u00e4hlt AXIS den Drehmaschinenmodus. Die Y-Achse wird in den Koordinatenanzeigen nicht angezeigt, die Ansicht wird so\n ge\u00e4ndert, dass die Z-Achse nach rechts und die X-Achse zum unteren Rand des Bildschirms zeigt, und\n mehrere Steuerelemente (z. B. die f\u00fcr voreingestellte Ansichten) werden entfernt. Die Koordinatenanzeigen f\u00fcr X werden durch Durchmesser und Radius ersetzt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 606 / 1331\n \n Abbildung 10.9: AXIS-Drehmaschinenmodus\n Durch Dr\u00fccken von V wird die gesamte Datei angezeigt, sofern eine solche geladen ist.\n Im Drehmaschinenmodus wird die Form des geladenen Werkzeugs (falls vorhanden) angezeigt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 607 / 1331\n \n Abbildung 10.10: Drehwerkzeug-Form\n Um die Anzeige in eine Drehbank mit hinterem Werkzeug zu \u00e4ndern, m\u00fcssen Sie sowohl LATHE =\n 1 als auch BACK_TOOL_LATHE = 1 in der Sektion [DISPLAY] eingeben. Dadurch wird die Ansicht\n umgedreht und das Werkzeug auf die R\u00fcckseite der Z-Achse gelegt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 608 / 1331\n \n Abbildung 10.11: Lathe Back Tool Shape\n \n 10.1.11 Verwendung von AXIS im Modus Schaumstoffschneiden (engl. foam\n cutting mode)\n Durch Einf\u00fcgen der Zeile FOAM = 1 in den [DISPLAY]-Abschnitt der INI-Datei w\u00e4hlt AXIS den Schaumschneidemodus. In der Programmvorschau werden die XY-Bewegungen in einer Ebene und die UVBewegungen in einer anderen Ebene angezeigt. In der Live-Darstellung werden Linien zwischen entsprechenden Punkten auf der XY-Ebene und der UV-Ebene gezeichnet. Die speziellen Kommentare\n (XY_Z_POS) und (UV_Z_POS) legen die Z-Koordinaten dieser Ebenen fest, die standardm\u00e4\u00dfig 0 und\n 1,5 Maschineneinheiten betragen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 609 / 1331\n \n Abbildung 10.12: Modus Schaumstoffschneiden\n \n 10.1.12 Erweiterte Konfiguration\n Wenn AXIS gestartet wird, werden die HAL-Pins f\u00fcr die grafische Benutzeroberfl\u00e4che erstellt und\n@@ -28325,15 +28325,15 @@\n kann aber jeder beliebige Dateiname sein. Diese Befehle werden nach der Erstellung des Bildschirms\n ausgef\u00fchrt und garantieren, dass die HAL-Pins des Widgets verf\u00fcgbar sind. Sie k\u00f6nnen mehrere Zeilen\n mit POSTGUI_HALFILE= in der INI haben. Sie werden nacheinander in der Reihenfolge\n ausgef\u00fchrt, in der sie erscheinen.\n Weitere Informationen zu den Einstellungen in der INI-Datei der Funktionsweise von AXIS, finden Sie\n im Kapitel INI-Konfiguration zur Display Section.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 610 / 1331\n \n 10.1.12.1 Programm-Filter\n AXIS hat die M\u00f6glichkeit, geladene Dateien durch ein \u201dFilterprogramm\u201d zu schicken. Dieser Filter\n kann jede gew\u00fcnschte Aufgabe erf\u00fcllen: Etwas so Einfaches wie sicherzustellen, dass die Datei mit\n \u201dM2\u201d endet, oder etwas so Kompliziertes wie die Erzeugung von G-Code aus einem Bild.\n@@ -28354,15 +28354,15 @@\n \n Auf diese Weise kann jedes Python-Skript ge\u00f6ffnet werden, und seine Ausgabe wird als G-Code behandelt. Ein solches Beispielskript ist unter \u201dnc_files/holecircle.py\u201d verf\u00fcgbar. Dieses Skript erzeugt\n G-Code f\u00fcr das Bohren einer Reihe von L\u00f6chern entlang des Umfangs eines Kreises.\n \n Abbildung 10.13: Kreisf\u00f6rmige L\u00f6cher\n Wenn die Umgebungsvariable AXIS_PROGRESS_BAR gesetzt ist, werden in stderr Zeilen der Form\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 611 / 1331\n \n FILTER_PROGRESS=%d\n \n setzt den AXIS-Fortschrittsbalken auf den angegebenen Prozentsatz. Diese Funktion sollte von jedem\n Filter verwendet werden, der lange l\u00e4uft.\n@@ -28398,15 +28398,15 @@\n Beispiel einer .axisrc-Datei\n root_window.bind(\u201d\u201d, \u201ddestroy .\u201d)\n help2.append((\u201dControl-Q\u201d, \u201dQuit\u201d))\n \n Das folgende Beispiel stoppt den Dialog \u201dWollen Sie wirklich beenden\u201d.\n root_window.tk.call(\u201dwm\u201d,\u201dprotocol\u201d,\u201d.\u201d,\u201dWM_DELETE_WINDOW\u201d,\u201ddestroy .\u201d)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 612 / 1331\n \n 10.1.12.5 USER_COMMAND_FILE\n \n A configuration-specific Python file may be specified with an INI file setting [DISPLAY]USER_COMMAND_FIL\n Like a ~/.axisrc file, this file is sourced just before the AXIS GUI is displayed. This file is specific to\n@@ -28441,15 +28441,15 @@\n wobei (AXIS,hide) an erster Stelle steht. Alles, was nach einem (AXIS,stop) kommt, wird w\u00e4hrend der\n Vorschau nicht gezeichnet.\n Diese Kommentare sind n\u00fctzlich, um die Anzeige der Vorschau zu entschlacken (z. B. kann man bei\n der Fehlersuche in einer gr\u00f6\u00dferen G-Code-Datei die Vorschau f\u00fcr bestimmte Teile, die bereits gut\n funktionieren, deaktivieren).\n \u2022 (AXIS,hide) Stoppt die Vorschau (muss zuerst sein)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 613 / 1331\n \n \u2022 (AXIS,show) Setzt die Vorschau fort (muss auf ein hide folgen)\n \u2022 (AXIS,stop) Stoppt die Vorschau von hier bis zum Ende der Datei.\n \u2022 (AXIS,notify,the_text) Zeigt the_text als Infoanzeige an\n Diese Anzeige kann in der AXIS-Vorschau n\u00fctzlich sein, wenn (Debug-, Nachrichten-) Kommentare\n@@ -28532,15 +28532,15 @@\n \n Dir\n IN\n \n Name\n axisui.resume-inhibit\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 614 / 1331\n \n 10.1.14 Hinweise zur AXIS-Anpassung\n AXIS ist eine ziemlich gro\u00dfe und schwer zu durchdringende Codebasis. Das ist hilfreich, um den Code\n stabil zu halten, macht es aber schwierig, ihn anzupassen.\n Hier werden wir Codeschnipsel zeigen, um das Verhalten oder die Darstellung des Bildschirms zu\n@@ -28576,15 +28576,15 @@\n # G-Code-Schriftart ist unabh\u00e4ngig\n root_window.tk.call(\u2019.pane.bottom.t.text\u2019,\u2019configure\u2019,\u2019-foreground\u2019,\u2019blue\u2019)\n #root_window.tk.call(\u2019.pane.bottom.t.text\u2019,\u2019configure\u2019,\u2019-foreground\u2019,\u2019blue\u2019,\u2019-font\u2019,font)\n #root_window.tk.call(\u2019.pane.bottom.t.text\u2019,\u2019configure\u2019,\u2019-foreground\u2019,\u2019blue\u2019,\u2019-font\u2019,font,\u2019- \u2190height\u2019,\u201912\u2019)\n \n 10.1.14.4 \u00c4ndern der Rapid Rate mit Tastenkombinationen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 615 / 1331\n \n # Verwenden Sie Control + \u2018 oder 1-0 als Tastaturk\u00fcrzel f\u00fcr die rapid rate und behalten Sie \u2190\u2018 oder 1-0 f\u00fcr feedrate\n # f\u00fcgt auch Text zur Kurzreferenz in der Hilfe hinzu\n help1.insert(10,(\u201dStrg+ \u2018,1..9,0\u201d, _(\u201dSet Rapid Override from 0% to 100%\u201d)),)\n root_window.bind(\u2019\u2019,lambda event: set_rapidrate(0))\n@@ -28626,15 +28626,15 @@\n commands.set_view_z()\n \n 10.1.14.8 Erstellen neuer AXISUI HAL-Pins\n def user_hal_pins():\n comp.newpin(\u2019my-new-in-pin\u2019, hal.HAL_BIT, hal.HAL_IN)\n comp.ready()\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 616 / 1331\n \n 10.1.14.9 Neue HAL-Komponente und Pins erstellen\n # Komponente erstellen\n mycomp = hal.component(\u2019meine_Komponente\u2019)\n mycomp.newpin(\u2019idle-led\u2019,hal.HAL_BIT,hal.HAL_IN)\n@@ -28675,15 +28675,15 @@\n elif hal.get_value(\u2019gladevcp.user0-tab\u2019):\n root_window.tk.call(\u2019.pane.top.right\u2019,\u2019raise\u2019,\u2019user_0\u2019)\n except:\n pass\n \n 10.1.14.11 Hinzuf\u00fcgen einer GOTO Referenzpunkt (engl. Home)-Taste\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 617 / 1331\n \n def goto_home(axis):\n if s.interp_state == linuxcnc.INTERP_IDLE:\n home = inifile.find(\u2019JOINT_\u2019 + str(inifile.find(\u2019TRAJ\u2019, \u2019COORDINATES\u2019).upper(). \u2190index(axis)), \u2019HOME\u2019)\n mode = s.task_mode\n@@ -28722,15 +28722,15 @@\n print(\u2019mybutton was released\u2019)\n # jede Funktion, die von Tcl aufgerufen wird, muss zu TclCommands hinzugef\u00fcgt werden\n TclCommands.mybutton_clicked = mybutton_clicked\n TclCommands.mybutton_pressed = mybutton_pressed\n TclCommands.mybutton_released = mybutton_released\n commands = TclCommands(root_window)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 10.1.14.13 Interne Variablen lesen\n # die folgenden Variablen k\u00f6nnen aus der vars-Instanz gelesen werden\n print(vars.machine.get())\n print(vars.emcini.get())\n active_codes\n = StringVar\n@@ -28840,15 +28840,15 @@\n task_state\n = IntVar\n taskfile\n = StringVar\n \n 618 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n teleop_mode\n tool\n touch_off_system\n trajcoordinates\n tto_g11\n view_type\n@@ -28892,15 +28892,15 @@\n root_window.tk.call(\u2019.pane.top.right.fnumbers.text\u2019,\u2019configure\u2019,\u2019-foreground\u2019,\u2019green\u2019,\u2019- \u2190background\u2019,\u2019black\u2019)\n \n 10.1.14.18 \u00c4ndern der Buttons der Werkzeugleiste\n # \u00e4ndern der Werkzeugleisten-Buttons\n buW = \u20193\u2019\n buH = \u20192\u2019\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 620 / 1331\n \n boW = \u20193\u2019\n root_window.tk.call(\u2019.toolbar.machine_estop\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019ESTOP\u2019,\u2019- \u2190width\u2019,buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.machine_power\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019POWER\u2019,\u2019- \u2190width\u2019,buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.file_open\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019OPEN\u2019,\u2019-width\u2019, \u2190buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n@@ -28931,15 +28931,15 @@\n (0,0,255,255),\n (255,255,0,255),\n (255,255,255,255),\n (0,255,255,255))\n except Exception as e:\n print(e)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 621 / 1331\n \n 10.2 GMOCCAPY\n 10.2.1 Einf\u00fchrung\n GMOCCAPY is a GUI for LinuxCNC, designed to be used with a touch screen, but can also be used on\n normal screens with a mouse or hardware buttons and MPG wheels, as it presents HAL Pins for the\n@@ -28955,15 +28955,15 @@\n GMOCCAPY can be localized very easy, because the corresponding files are separated from the linuxcnc.po files, so there is no need to translate unneeded stuff. The files are placed in /src/po/gmoccapy.\n You could just copy the gmoccapy.pot file to something like it.po and translate that file with gtranslator\n or poedit. After rebuilding, you\u2019d get the GUI in your preference language. To facilitate the sharing\n of the translation, GMOCCAPY is available on the Weblate web interface. GMOCCAPY is currently\n available in English, German, Spanish, Polish, Serbian and Hungarian. Feel free to help me to introduce more languages, be it locally or via the web. If you need help, don\u2019t hesitate to contact me on\n nieson@web.de.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 622 / 1331\n \n 10.2.2 Anforderungen\n GMOCCAPY 3 has been tested on Debian Jessie, Debian Stretch and MINT 18 with LinuxCNC master\n and 2.8 release. It fully support joint / axis changes of LinuxCNC, making it suitable as GUI for Scara,\n Robots or any other config with more joints than axes. So it supports also gantry configs. If you use\n@@ -28976,15 +28976,15 @@\n \n 10.2.3 How to Get GMOCCAPY\n GMOCCAPY 3 is included in the standard distribution of LinuxCNC since release 2.7. So the easiest\n way to get GMOCCAPY on your controlling PC is just to download the ISO and install it from the\n CD/DVD/USB-stick. This allows you to receive updates with the regular Debian packages.\n In the release notes aka changelist you can track the latest bugfixes and features.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 623 / 1331\n \n Sie erhalten einen \u00e4hnlichen Bildschirm wie den folgenden (das Design kann je nach Ihrer Konfiguration variieren):\n \n 10.2.4 Basiseinstellung\n GMOCCAPY 3 unterst\u00fctzt die folgenden Befehlszeilenoptionen:\n@@ -28995,15 +28995,15 @@\n Es gibt eigentlich nicht viel zu konfigurieren, um GMOCCAPY auszuf\u00fchren, aber es gibt einige Punkte,\n die Sie beachten sollten, wenn Sie alle Funktionen der GUI nutzen wollen.\n Sie werden eine Reihe von Simulationskonfigurationen (INI-Dateien) finden, die nur die Grundlagen\n zeigen:\n \u2022 gmoccapy.ini\n \u2022 gmoccapy_4_axis.ini\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 624 / 1331\n \n \u2022 lathe_configs/gmoccapy_lathe.ini\n \u2022 lathe_configs/gmoccapy_lathe_imperial.ini\n \u2022 gmoccapy_left_panel.ini\n \u2022 gmoccapy_right_panel.ini\n@@ -29040,15 +29040,15 @@\n themes, DRO units, colors, and keyboard settings, etc., see settings page for more details.\n Anmerkung\n If no path or file is given, GMOCCAPY will use as default .pref, if no machine\n name is given in your INI File it will use gmoccapy.pref. The file will be stored in your config directory,\n so the settings will not be mixed if you use several configs. If you only want to use one file for several\n machines, you need to include PREFERENCE_FILE_PATH in your INI.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 625 / 1331\n \n \u2022 MAX_FEED_OVERRIDE = 1.5 - Sets the maximum feed override, in the example given, you will be\n allowed to override the feed by 150%.\n Anmerkung\n Wenn kein Wert angegeben wird, so wird er auf 1,0 gesetzt.\n@@ -29077,15 +29077,15 @@\n If not set, half of MAX_LINEAR_VELOCITY will be used. If that value is also not given, it will default\n to 180.\n \n \u2022 MAX_LINEAR_VELOCITY = 230.0 - Legt die maximale Geschwindigkeit der Maschine fest.\n Anmerkung\n Der Standardwert ist 600, falls nicht festgelegt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 626 / 1331\n \n 10.2.4.3 Makro-Buttons\n You can add macros to GMOCCAPY, similar to Touchy\u2019s way. A macro is nothing else than a NGC file.\n You are able to execute complete CNC programs in MDI mode by just pushing one button. To do so,\n you first have to specify the search path for macros:\n@@ -29124,15 +29124,15 @@\n GMOCCAPY akzeptiert auch Makros, die nach Parametern wie den folgenden fragen:\n [MACRO]\n MACRO = go_to_position X-pos Y-pos Z-pos\n \n Die Parameter m\u00fcssen durch Leerzeichen getrennt werden. Dieses Beiaspiel ruft eine Datei \u201dgo_to_position.n\n mit dem folgenden Inhalt auf:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 627 / 1331\n \n ; Testdatei \u201dgo to position\u201d (engl. f\u00fcr geh\u2019 zur Position)\n ; f\u00e4hrt die Maschine zu einer bestimmten Position\n O sub\n G17\n@@ -29152,15 +29152,15 @@\n M2\n \n Nach dem Dr\u00fccken der Taste Makro ausf\u00fchren werden Sie aufgefordert, die Werte f\u00fcr X-pos Y-pos\n Z-pos einzugeben, und das Makro wird nur ausgef\u00fchrt, wenn alle Werte angegeben wurden.\n Anmerkung\n Wenn Sie ein Makro ohne Bewegung verwenden m\u00f6chten, beachten Sie auch die Hinweise in bekannte Probleme.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 628 / 1331\n \n Makrobeispiel mit dem \u201dGehe zu Position\u201d-Makro\n 10.2.4.4 Embedded Tabs and Panels\n You can add embedded programs to GMOCCAPY like you can do in AXIS, Touchy and Gscreen. All is\n done by GMOCCAPY automatically if you include a few lines in your INI file in the DISPLAY section.\n@@ -29174,15 +29174,15 @@\n EMBED_TAB_LOCATION = ntb_preview\n EMBED_TAB_COMMAND = gladevcp -x {XID} vcp_box.glade\n \n Alles, was Sie beachten m\u00fcssen, ist, dass Sie f\u00fcr jede Registerkarte oder jedes Seitenfeld die genannten drei Zeilen einf\u00fcgen:\n \u2022 EMBED_TAB_NAME = Stellt den Namen der Registerkarte oder des Seitenfensters dar, es ist Ihnen\n \u00fcberlassen, welchen Namen Sie verwenden, aber er muss vorhanden sein!\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 629 / 1331\n \n \u2022 EMBED_TAB_LOCATION = Der Ort, an dem Ihr Programm in der GUI platziert wird, siehe Abbildung Embedded tab locations. G\u00fcltige Werte sind:\n \u2013 ntb_user_tabs (as main tab, covering the complete screen)\n \u2013 ntb_preview (as tab on the preview side (1))\n \u2013 hbox_jog (will hide the jog buttons and introduce your glade file here (2))\n@@ -29217,29 +29217,29 @@\n gladevcp -c gladevcp -u hitcounter.py -H manual-example.hal manual-example.ui\n \n f\u00fcgt das Panel manual-example.ui hinzu, f\u00fcgt einen benutzerdefinierten Python-Handler, hitcounter.py, ein und stellt alle Verbindungen her, nachdem das Panel gem\u00e4\u00df manual-example.hal realisiert wurde.\n hide (engl. f\u00fcr ausblenden)\n \n blendet das gew\u00e4hlte K\u00e4stchen aus.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 630 / 1331\n \n Abbildung 10.14: Eingebettete Registerkartenpositionen\n Anmerkung\n If you make any HAL connections to your custom glade panel, you need to do that in the HAL file\n specified in the EMBED_TAB_COMMAND line, otherwise you may get an error that the HAL pin does\n not exist \u2014 this is because of race conditions loading the HAL files. Connections to GMOCCAPY HAL\n pins need to be made in the postgui HAL file specified in your INI file, because these pins do not exist\n prior of realizing the GUI.\n \n Hier sind einige Beispiele:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n ntb_preview\n \n 631 / 1331\n \n box_right - and GMOCCAPY in MDI mode\n \n@@ -29260,15 +29260,15 @@\n provide a -response HAL pin.\n For more detailed information of the pins see User Created Message HAL Pins.\n Beispiel f\u00fcr die Konfiguration von Benutzernachrichten\n MESSAGE_TEXT = This is a info-message test\n MESSAGE_TYPE = status\n MESSAGE_PINNAME = statustest\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 632 / 1331\n \n MESSAGE_TEXT = This is a yes no dialog test\n MESSAGE_TYPE = yesnodialog\n MESSAGE_PINNAME = yesnodialog\n MESSAGE_TEXT = Text can be small, big, bolditalic,\n@@ -29309,15 +29309,15 @@\n self.widgets.rbt_auto.set_size_request(*BB_SIZE)\n self.widgets.tbtn_setup.set_size_request(*BB_SIZE)\n self.widgets.tbtn_user_tabs.set_size_request(*BB_SIZE)\n self.widgets.btn_exit.set_size_request(*BB_SIZE)\n \n The widget names can the looked up in the /usr/share/gmoccapy.glade file\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 633 / 1331\n \n 10.2.4.8 User CSS File\n Similar to the User command file it\u2019s possible to influence the appearance by cascading style sheets\n (CSS). If a file ~/.gmoccapy_css exists, its contents are loaded into the stylesheet provider and are\n so being applied to the GUI.\n@@ -29361,15 +29361,15 @@\n \n You can specify where to save the log file:\n [DISPLAY]\n LOG_FILE = gmoccapy.log\n \n If LOG_FILE is not set, logging happens to $HOME/.log.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 634 / 1331\n \n 10.2.5 HAL-Pins\n GMOCCAPY exports several HAL pins to be able to react to hardware devices. The goal is to get a\n GUI that may be operated in a tool shop, completely/mostly without mouse or keyboard.\n Anmerkung\n@@ -29402,15 +29402,15 @@\n For the bottom (horizontal) buttons they are:\n \u2022 gmoccapy.h-button.button-0 (bit IN)\n \u2022 gmoccapy.h-button.button-1 (bit IN)\n \u2022 gmoccapy.h-button.button-2 (bit IN)\n \u2022 gmoccapy.h-button.button-3 (bit IN)\n \u2022 gmoccapy.h-button.button-4 (bit IN)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 635 / 1331\n \n \u2022 gmoccapy.h-button.button-5 (bit IN)\n \u2022 gmoccapy.h-button.button-6 (bit IN)\n \u2022 gmoccapy.h-button.button-7 (bit IN)\n \u2022 gmoccapy.h-button.button-8 (bit IN)\n@@ -29516,15 +29516,15 @@\n \n set selected\n \n back\n \n back\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 636 / 1331\n \n Tabelle 10.5: Funktionelle Zuordnung der horizontalen\n Buttons (3)\n Pin\n Tool Mode\n@@ -29577,15 +29577,15 @@\n back\n \n Wir haben also 67 Reaktionen mit nur 10 HAL-Pins!\n These pins are made available to be able to use the screen without a touch panel, or protect it from\n excessive use by placing hardware buttons around the panel. They are available in a sample configuration like shown in the image below.\n Sample configuration \u201dgmoccapy_sim_hardware_button\u201d showing the side buttons\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 637 / 1331\n \n 10.2.5.2 Velocities and Overrides\n All sliders from GMOCCAPY can be connected to hardware encoders or hardware potentiometers.\n Anmerkung\n For GMOCCAPY 3 some HAL pin names have changed when new controls have been implemented.\n@@ -29597,15 +29597,15 @@\n \u2022 gmoccapy.jog.jog-velocity.count-enable (bit IN) - Must be True, to enable counts\n \u2022 gmoccapy.feed.feed-override.counts (s32 IN) - feed override\n \u2022 gmoccapy.feed.feed-override.count-enable (bit IN) - Must be True, to enable counts\n \u2022 gmoccapy.feed.reset-feed-override (bit IN) - reset the feed override to *0%\n \u2022 gmoccapy.spindle.spindle-override.counts (s32 IN) - spindle override\n \u2022 gmoccapy.spindle.spindle-override.count-enable (bit IN) - Must be True, to enable counts\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 638 / 1331\n \n \u2022 gmoccapy.spindle.reset-spindle-override (bit IN) - reset the spindle override to *0%\n \u2022 gmoccapy.rapid.rapid-override.counts (s32 IN) - Maximal Velocity of the *chine\n \u2022 gmoccapy.rapid.rapid-override.count-enable (bit IN) - Must be True, to enable counts\n To connect potentiometers, use the following pins:\n@@ -29635,15 +29635,15 @@\n \u2022 gmoccapy.spc_spindle.increase (bit IN) - As long as True the value of the slider will increase\n \u2022 gmoccapy.spc_spindle.decrease (bit IN) - As long as True the value of the slider will decrease\n \u2022 gmoccapy.spc_spindle.scale (float IN) - A value to scale the output value (handy to change units/min to units/sec)\n \u2022 gmoccapy.spc_spindle.value (float OUT) - Value of the widget\n \u2022 gmoccapy.spc_spindle.scaled-value (float OUT) - Scaled value of the widget .RAPIDS\n \u2022 gmoccapy.spc_rapid.increase (bit IN) - As long as True the value of the slider will increase\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 639 / 1331\n \n \u2022 gmoccapy.spc_rapid.decrease (bit IN) - As long as True the value of the slider will decrease\n \u2022 gmoccapy.spc_rapid.scale (float IN) - A value to scale the output value (handy to change units/min\n to units/sec)\n \u2022 gmoccapy.spc_rapid.value (float OUT) - Value of the widget\n@@ -29678,15 +29678,15 @@\n For the standard XYZ config following HAL pins will be available:\n \u2022 gmoccapy.jog.axis.jog-x-plus (bit IN)\n \u2022 gmoccapy.jog.axis.jog-x-minus (bit IN)\n \u2022 gmoccapy.jog.axis.jog-y-plus (bit IN)\n \u2022 gmoccapy.jog.axis.jog-y-minus (bit IN)\n \u2022 gmoccapy.jog.axis.jog-z-plus (bit IN)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 640 / 1331\n \n \u2022 gmoccapy.jog.axis.jog-z-minus (bit IN)\n Wenn Sie eine 4-Achsen-Konfiguration verwenden, gibt es zwei zus\u00e4tzliche Pins:\n \u2022 gmoccapy.jog.jog--plus (bit IN)\n \u2022 gmoccapy.jog.jog--minus (bit IN)\n@@ -29717,15 +29717,15 @@\n \u2022 gmoccapy.jog.jog-inc-3 (bit IN)\n \u2022 gmoccapy.jog.jog-inc-4 (bit IN)\n \u2022 gmoccapy.jog.jog-inc-5 (bit IN)\n \u2022 gmoccapy.jog.jog-inc-6 (bit IN)\n GMOCCAPY bietet auch einen HAL-Pin zur Ausgabe der gew\u00e4hlten Jog-Schrittweite:\n \u2022 gmoccapy.jog.jog-increment (float OUT)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 641 / 1331\n \n 10.2.5.6 Hardware-Entsperr-Pin\n Um einen Schl\u00fcsselschalter zum Entsperren der Einstellungsseite verwenden zu k\u00f6nnen, wird der\n folgende Pin exportiert:\n \u2022 gmoccapy.unlock-settings (bit IN) - The settings page is unlocked if the pin is high. To use this\n@@ -29754,15 +29754,15 @@\n Closing the message will reset the this pin.\n \u2022 gmoccapy.messages.yesnodialog-response (bit OUT) - This pin will change to 1 if the user clicks\n OK and in all other cases it will be 0. This pin will remain 1 until the dialog is called again.\n To add a user created message you need to add the message to the INI file in the DISPLAY section.\n See Configuration of User Created Messages.\n Beispiel f\u00fcr eine Benutzermeldung (INI-Datei)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 642 / 1331\n \n MESSAGE_TEXT = LUBE FAULT\n MESSAGE_TYPE = okdialog\n MESSAGE_PINNAME = lube-fault\n MESSAGE_TEXT = X SHEAR PIN BROKEN\n@@ -29790,15 +29790,15 @@\n Also loops will cause different values.\n 10.2.5.11 Tool Related Pins\n Werkzeugwechsel-Pins These pins are provided to use GMOCCAPY\u2019s internal tool change dialog,\n similar to the one known from AXIS, but with several modifications. So you will not only get the\n message to change to tool number 3, but also the description of that tool like 7.5 mm 3 flute cutter.\n The information is taken from the tool table, so it is up to you what to display.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 643 / 1331\n \n Abbildung 10.15: GMOCCAPY tool change dialog\n \u2022 gmoccapy.toolchange-number (s32 IN) - The number of the tool to be changed\n \u2022 gmoccapy.toolchange-change (bit IN) - Indicates that a tool has to be changed\n \u2022 gmoccapy.toolchange-changed (bit OUT) - Indicates tool has been changed\n@@ -29814,15 +29814,15 @@\n \n Werkzeug-Offset Pins These pins allow you to show the active tool offset values for X and Z in the\n tool information frame. You should know that they are only active after G43 has been sent.\n \n Abbildung 10.16: Tool information area\n \u2022 gmoccapy.tooloffset-x (float IN)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 644 / 1331\n \n \u2022 gmoccapy.tooloffset-z (float IN)\n Anmerkung\n Die Zeile \u201dtooloffset-x\u201d wird bei einer Fr\u00e4smaschine nicht ben\u00f6tigt und wird bei einer Fr\u00e4smaschine\n mit trivialer Kinematik nicht angezeigt.\n@@ -29853,15 +29853,15 @@\n 1. Touch off your workpiece in X and Y.\n 2. Messen Sie die H\u00f6he Ihres Blocks von der Basis, an der sich Ihr Werkzeugschalter befindet, bis\n zur Oberseite des Blocks (einschlie\u00dflich Spannfutter usw.).\n 3. Dr\u00fccken Sie die Taste Blockh\u00f6he und geben Sie den Messwert ein.\n 4. Gehen Sie in den Automatikmodus und starten Sie Ihr Programm.\n Hier ist eine kleine Skizze:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 645 / 1331\n \n Abbildung 10.17: Werkzeugmessung Daten\n With the first given tool change the tool will be measured and the offset will be set automatically to\n fit the block height. The advantage of the GMOCCAPY way is, that you do not need a reference tool.\n Anmerkung\n@@ -29877,15 +29877,15 @@\n \u2022 gmoccapy.probeheight (float OUT) - The probe switch height\n \u2022 gmoccapy.searchvel (float OUT) - The velocity to search for the tool probe switch\n \u2022 gmoccapy.probevel (float OUT) - The velocity to probe tool length\n 10.2.6.2 INI File Modifications\n \u00c4ndern Sie Ihre INI-Datei so, dass sie die folgenden Abschnitte enth\u00e4lt.\n Der RS274NGC-Abschnitt\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 646 / 1331\n \n [RS274NGC]\n # Unterfunktion wird aufgerufen, wenn ein Fehler beim Werkzeugwechsel auftritt, wird nicht\n bei jeder Maschinenkonfiguration ben\u00f6tigt\n ON_ABORT_COMMAND=O call\n@@ -29928,15 +29928,15 @@\n /configs/sim/gmoccapy/python die folgenden Dateien in den gerade erstellten Ordner config_dir/python:\n \u2022 toplevel.py\n \u2022 remap.py\n \u2022 stdglue.py\n Von /configs/sim/gmoccapy/macros kopieren\n \u2022 on_abort.ngc\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 647 / 1331\n \n \u2022 change.ngc\n to the directory specified as SUBROUTINE_PATH, see RS274NGC Section.\n Open change.ngc with a editor and uncomment the following lines (49 and 50):\n F #<_hal[gmoccapy.probevel]>\n@@ -29971,15 +29971,15 @@\n \n To enter the page you will have to click on\n and give an unlock code, which is 123 by\n default. If you want to change it at this time you will have to edit the hidden preference file, see the\n display section for details.\n Die Seite ist in drei Hauptregisterkarten unterteilt:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 648 / 1331\n \n 10.2.7.1 Erscheinungsbild\n \n Abbildung 10.18: GMOCCAPY Einstellungsseite Erscheinungsbild\n Auf dieser Registerkarte finden Sie die folgenden Optionen:\n@@ -29991,15 +29991,15 @@\n \u2022 Start als Fenster - Wenn Sie \u201dStart als Fenster\u201d w\u00e4hlen, werden die Spinboxen zum Einstellen der\n Position und Gr\u00f6\u00dfe aktiv. Einmal eingestellt, startet die GUI jedes Mal an der gew\u00e4hlten Stelle\n und mit der gew\u00e4hlten Gr\u00f6\u00dfe. Dennoch kann der Benutzer die Gr\u00f6\u00dfe und Position mit der Maus\n ver\u00e4ndern, was aber keinen Einfluss auf die Einstellungen hat.\n \u2022 Window decorated - Allows the title bar to be hidden. (default: title bar visible)\n \u2022 hide cursor - Does allow to hide the cursor, what is very useful if you use a touch screen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 649 / 1331\n \n \u2022 hide tooltips - Hides the tool tips.\n Tastatur The checkboxes allow the user to select if he wants the on board keyboard to be shown\n immediately, when entering the MDI Mode, when entering the offset page, the tooledit widget or\n when open a program in the EDIT mode. The keyboard button on the bottom button list will not be\n@@ -30025,15 +30025,15 @@\n execute this file before starting LinuxCNC, it can be done also adding a starter to your local folder.\n ./config/autostart\n \n Damit das Layout beim Start automatisch eingestellt wird.\n F\u00fcr matchbox-keyboard m\u00fcssen Sie Ihr eigenes Layout erstellen, f\u00fcr ein deutsches Layout fragen Sie\n im Forum.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 650 / 1331\n \n GMOCCAPY with Onboard keyboard in edit mode\n On Touch Off This gives the option whether to show the preview tab or the offset page tab when you\n enter the touch off mode by clicking the corresponding bottom button.\n \u2022 show preview\n@@ -30044,15 +30044,15 @@\n \u2022 Relativer Modus = schwarz\n \u2022 Absoluter Modus = blau\n \u2022 Verbleibende Entfernung = gelb\n Die Vordergrundfarbe der DRO kann ausgew\u00e4hlt werden mit:\n \u2022 homed color = green\n \u2022 unhomed color = red\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 651 / 1331\n \n Anmerkung\n Sie k\u00f6nnen durch die DRO-Modi (absolut, relativ, Entfernung zu gehen) wechseln, indem Sie auf die\n Zahl auf dem DRO klicken! Wenn Sie auf den linken Seitenbuchstaben des DRO klicken, k\u00f6nnen Sie\n in einem Popup-Fenster den Wert der Achsen festlegen, was das Einstellen des Werts erleichtert, da\n@@ -30090,15 +30090,15 @@\n move or zoom within the preview:\n \u2013 Links drehen, Mitte verschieben, rechts zoomen\n \u2013 Links zoomen, Mitte verschieben, rechts rotieren\n \u2013 links bewegen, mitte drehen, rechts zoomen\n \u2013 Links zoomen, Mitte drehen, rechts bewegen\n \u2013 Links verschieben, Mitte zoomen, rechts rotieren\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 652 / 1331\n \n \u2013 Links drehen, Mitte zoomen, rechts bewegen\n Die Standardeinstellung ist links verschieben, Mitte zoomen, rechts drehen.\n Mit dem Mausrad k\u00f6nnen Sie die Vorschau in jedem Modus vergr\u00f6\u00dfern.\n Tipp\n@@ -30115,15 +30115,15 @@\n Themen und Kl\u00e4nge Hier kann der Benutzer ausw\u00e4hlen, welches Desktop-Thema angewendet werden soll und welche Fehler- und Meldungst\u00f6ne abgespielt werden sollen. Standardm\u00e4\u00dfig ist \u201dSystemthema folgen\u201d eingestellt.\n Es erm\u00f6glicht weiterhin, das Symbolthema zu \u00e4ndern. Derzeit stehen drei Themen zur Verf\u00fcgung:\n \u2022 classic\n \u2022 material\n \u2022 material light\n To create custom icon themes, see section Icon Theme for details.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 653 / 1331\n \n 10.2.7.2 Hardware\n \n Hardware MPG Scale For the different HAL pins to connect MPG wheels to, you may select individual\n scales to be applied. The main reason for this was my own test to solve this through HAL connections,\n@@ -30139,15 +30139,15 @@\n werden dies niemals zulassen. Jeder kann also w\u00e4hlen, ob er sie verwenden m\u00f6chte oder nicht.\n Tastaturk\u00fcrzel sind standardm\u00e4\u00dfig deaktiviert.\n \n Warnung\n Es wird nicht empfohlen, Tastatur-Jogging zu verwenden, da dies ein ernsthaftes Risiko f\u00fcr\n Bediener und Maschine darstellt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 654 / 1331\n \n Please take care if you use a lathe, then the shortcuts will be different, see the Lathe Specific Section.\n Allgemeines\n \u2022 F1 - Trigger Estop (will work even if keyboard shortcuts are disabled)\n \u2022 F2 - Toggle machine on/off\n@@ -30178,15 +30178,15 @@\n Spindel\n \u2022 Starting RPM - Sets the rpm to be used if the spindle is started and no S value has been set.\n Anmerkung\n This value will be presetted according to your settings in [DISPLAY] DEFAULT_SPINDLE_SPEED of\n your INI file. If you change the settings on the settings page, that value will be default from that\n moment, your INI file will not be modified.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 655 / 1331\n \n \u2022 Spindelstange min und Spindelstange max - Legt die Grenzen der Spindelstange fest, die im INFORahmen auf dem Hauptbildschirm angezeigt werden.\n Standardwerte sind\n MIN = 0\n MAX = 6000\n@@ -30200,15 +30200,15 @@\n please take care that the \u201drabbit mode\u201d is activated, otherwise you will not be able to jog faster\n than the turtle jog velocity, which is calculated using the turtle jog factor.\n \u2022 Turtle jog factor - Sets the scale to apply for turtle jog mode (button pressed, showing the turtle). If\n you set a factor of 20, the turtle max. jog velocity will be 1/20 of the max. velocity of the machine.\n Anmerkung\n This button can be controlled using the Turtle-Jog HAL Pin.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 656 / 1331\n \n 10.2.7.3 Erweiterte Einstellungen\n \n Werkzeugmessung Bitte pr\u00fcfen Sie Auto Tool Measurement\n Anmerkung\n@@ -30222,15 +30222,15 @@\n \u2013 X Pos. - Die X-Position des Werkzeugschalters.\n \u2013 Y Pos. - Die Y-Position des Werkzeugschalters.\n \u2013 Z Pos. - Die Z-Position des Werkzeugschalters, wir fahren im Eilgang zu dieser Koordinate.\n \u2013 Max. Probe The distance to search for contact, an error will be launched, if no contact is given\n in this range. The distance has to be given in relative coordinates, beginning the move from\n Z Pos., so you have to give a negative value to go down!\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 657 / 1331\n \n \u2013 Probe Height - The height of your probe switch, you can measure it. Just touch off the base\n where the probe switch is located and set that to zero. Then make a tool change and watch\n the tool_offset_z value, that is the height you must enter here.\n Geschwindigkeiten der Sonde\n@@ -30263,15 +30263,15 @@\n the 11th message will delete the first one, so you will only see the last 10.\n \u2022 Font - The font and size you want to use to display the messages.\n \u2022 Use frames - If you activate the checkbox, each message will be displayed in a frame, so it is much\n easier to distinguish the messages. But you will need a little bit more space.\n \u2022 Launch test message-button - It will show a message, so you can see the changes of your settings\n without the need to generate an error.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 658 / 1331\n \n 10.2.8 Icon Themen\n Icon-Themen werden verwendet, um das Aussehen der Icons von GMOCCAPY anzupassen.\n GMOCCAPY wird mit drei verschiedenen Symbolthemen geliefert:\n \u2022 classic - The classic GMOCCAPY icons.\n@@ -30307,15 +30307,15 @@\n 16x16/actions sollte alle Icons mit der Kategorie \u201dactions\u201d in der Gr\u00f6\u00dfe 16x16 Pixel als Pixelgrafiken (z.B. png-Dateien) enthalten. Ein Sonderfall ist das Verzeichnis \u201dscalable/actions\u201d, dieses\n enth\u00e4lt skalierbare Icons, die nicht an eine bestimmte Gr\u00f6\u00dfe gebunden sind (z.B. svg-Dateien).\n Durch die Bereitstellung unterschiedlich gro\u00dfer Versionen der Icons k\u00f6nnen wir ein sch\u00f6n aussehendes Icon in verschiedenen Gr\u00f6\u00dfen garantieren, und wir haben auch die M\u00f6glichkeit, das\n Icon entsprechend seiner Gr\u00f6\u00dfe zu ver\u00e4ndern, zum Beispiel kann ein 64x64 px gro\u00dfes Icon mehr\n Details enthalten als seine 16x16 px Version.\n \u2022 F\u00fcr jedes Verzeichnis m\u00fcssen wir auch einen Abschnitt in die Datei index.theme schreiben:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 659 / 1331\n \n [16x16/actions]\n Size=16\n Type=Fixed\n Context=Actions\n@@ -30358,28 +30358,28 @@\n green\u2019ish).\n #00ff00\n Warning: this color indicates \u201dwarning\u201d (usually something\n yellow/orange\u2019ish).\n #0000ff\n Error: this color indicates \u201derror\u201d (usually something red\u2019ish).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 660 / 1331\n \n Tipp\n Examples of symbolic icons can be found at linuxcnc/share/gmoccapy/icons/material.\n \n 10.2.9 Drehmaschinen-spezifischer Abschnitt\n If in the INI file LATHE = 1 is given, the GUI will change its appearance to the special needs for a\n lathe. Mainly the Y axis will be hidden and the jog buttons will be arranged in a different order.\n \n Abbildung 10.19: Normale Drehmaschine\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 661 / 1331\n \n Abbildung 10.20: Back Tool Lathe\n As you see the R DRO has a black background and the D DRO is gray. This will change according to\n the active G-code G7 or G8. The active mode is visible by the black background, meaning in the shown\n images G8 is active.\n@@ -30390,15 +30390,15 @@\n Normale Drehmaschine:\n \u2022 Arrow_Left or NumPad_Left - Jog Z minus\n \u2022 Arrow_Right or NumPad_Right - Jog Z plus\n \u2022 Arrow_up or NumPad_Up - Jog X minus\n \u2022 Arrow_Down or NumPad_Down - Jog X plus\n Back Tool Lathe:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 662 / 1331\n \n \u2022 Arrow_Left or NumPad_Left - Jog Z minus\n \u2022 Arrow_Right or NumPad_Right - Jog Z plus\n \u2022 Arrow_up or NumPad_Up - Jog X plus\n \u2022 Arrow_Down or NumPad_Down - Jog X minus\n@@ -30410,15 +30410,15 @@\n There is a very good WIKI, which is actually growing, maintained by Marius, see Plasma wiki page.\n \n 10.2.11 Videos on YouTube\n Below is a series of videos that show GMOCCAPY in action. Unfortunately, these videos don\u2019t show\n the latest version of GMOCCAPY, but the way to use it will still be the same as in the current version.\n I will update the videos as soon as possible.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 663 / 1331\n \n 10.2.11.1 Grundlegende Verwendung\n https://youtu.be/O5B-s3uiI6g\n 10.2.11.2 Simulierte Jog-Wheels\n https://youtu.be/ag34SGxt97o\n@@ -30437,15 +30437,15 @@\n 10.2.12 Bekannte Probleme\n 10.2.12.1 Seltsame Zahlen im Infobereich\n Wenn Sie im Infobereich von GMOCCAPY seltsame Zahlen erhalten wie:\n \n You have made your config file using an older version of StepConfWizard. It has made a wrong entry in the INI file under the [TRAJ] named MAX_LINEAR_VELOCITY = xxx. Change that entry to\n MAX_VELOCITY = xxx.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 664 / 1331\n \n 10.2.12.2 Nicht endendes Makro\n Wenn Sie ein Makro ohne Bewegung verwenden, wie dieses hier:\n o sub\n G92.1\n@@ -30470,15 +30470,15 @@\n 10.3 The Touchy Graphical User Interface\n Touchy ist eine Benutzeroberfl\u00e4che f\u00fcr LinuxCNC, die f\u00fcr die Verwendung auf Maschinenbedienfeldern gedacht ist und daher keine Tastatur oder Maus ben\u00f6tigt.\n Es ist f\u00fcr die Verwendung mit einem Touchscreen gedacht und funktioniert in Kombination mit einem\n Rad/MPG und einigen Tasten und Schaltern.\n Die Registerkarte \u201dHandrad\u201d verf\u00fcgt \u00fcber Optionsfelder zur Auswahl zwischen den Funktionen \u201dVorschubOverride\u201d, \u201dSpindel-Override\u201d, \u201dMaximale Geschwindigkeit\u201d und \u201dTippen\u201d f\u00fcr den Rad/MPG-Eingang.\n Optionsfelder f\u00fcr die Achsenauswahl und die Schrittweite f\u00fcr den Tippbetrieb sind ebenfalls vorhanden.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 665 / 1331\n \n 10.3.1 Panel-Konfiguration\n 10.3.1.1 HAL-Verbindungen\n \n Touchy sucht in der INI-Datei unter der \u00dcberschrift [HAL] nach Eintr\u00e4gen von POSTGUI_HALFILE= G-Code Datei \u00f6ffnen (Die Datei, die Sie nach der Kompensation ausf\u00fchren)\n \u2022 If necessary, make adjustments and press Recalculate.\n \u2022 Press Save G-Code File - Probe Only.\n \u2022 Save the generated file to the nc_files folder.\n@@ -31636,15 +31636,15 @@\n net ypos-cmd\n z_level_compensation.y-pos\n \n => logic-and.in-01\n <= axis.x.pos-cmd\n <= axis.y.pos-cmd\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n net zpos-cmd\n net z_compensation_on\n net eoffset-zlevel-count\n count\n \n z_level_compensation.z-pos\n@@ -31682,15 +31682,15 @@\n 1. how far above the table the probe trigger point is (tool setter height) and\n 2. how far above the table the top of the workpiece is.\n This operation has to be done every time the tool is changed as the tool length is not saved.\n For touching off with a touch probe, whether you use the touchplate operation with thickness set to 0\n or use a probing routine, the height from table to top of workpiece parameter is not taken into account\n and can be ignored. It is only for the tool setter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 698 / 1331\n \n 10.5.12.1 Versa Probe\n \n Abbildung 10.29: QtDragon - Versa-Probe-Option\n Versa probe is used to semi-automatically probe work pieces to find edges, centers and angles.\n@@ -31707,15 +31707,15 @@\n \u2022 SEARCH:: This is the feed rate at which the probe searches for the target workpiece in machine\n units per minute. The search speed should be slow enough to give an acceptable initial accuracy,\n but fast enough to not waste time waiting for movement. Recommendation: 200-500 mm/min.\n \u2022 PROBE:: Once initial contact has been made and the probe is retracted, it will wait for 0.5 seconds\n before performing the search again at a lower speed, the probe velocity. This lower speed ensures\n the machine can stop movement as quickly as possible on contact with the workpiece.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 699 / 1331\n \n \u2022 RAPID:: Axis movements not associated with searching are done at the speed defined by RAPID in\n machine units per minute.\n \u2022 SIDE/EDGE LENGTH:: This is the distance the probe will move at the rapid rate to the position\n where it will begin a search. If measuring a corner, it will move EDGE LENGTH units away from\n@@ -31735,15 +31735,15 @@\n CLEARANCE to 0.\n There are three toggle buttons:\n \u2022 Auto Zero This selects if after probing the relevant axis is set to zero in the current user system.\n \u2022 Auto Skew This selects if after probing, the system will be rotated or just display the calculated\n rotation.\n \u2022 Tool Measure This (if integrated) turns auto tool probing on and off.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 700 / 1331\n \n 10.5.12.2 Basic probe\n \n Abbildung 10.30: QtDragon - Grundlegende Sondenoption\n Basic probe is used to semi-automatically probe work pieces to find edges, centers and angles. The\n@@ -31756,15 +31756,15 @@\n \u2022 Calibration\n You must carefully set the Probing Parameters:\n \u2022 Probe Tool: will only allow probing if this tool number is in the spindle\n \u2022 Probe Diameter: the size of the probe tip\n \u2022 Probe Rapid: the speed of rapid moves in machine units\n \u2022 Probe Search: the speed of the first rough search in machine units\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 701 / 1331\n \n \u2022 Probe Feed: the speed of the second fine search in machine units\n \u2022 Step Off : back off and re-probe distance\n \u2022 Max XY Distance: the maximum distance the probe will search for in X and Y before failing with\n error\n@@ -31795,15 +31795,15 @@\n \u2022 EDGE WIDTH - distance along edge wall (away from corner) to start probing.\n Anmerkung\n These distance are always to be set in machine units (mm for metric machine, inch for imperial\n machine).\n \n Preset:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 702 / 1331\n \n \u2022 manual set probe at the intersection of the edges (ie corner) of material as described by the green\n bullseye on the button. Set it Z CLEARANCE above the top of material. These can be done by eye.\n \u2022 set EXTRA CLEARANCE to a value that you want the probe to go below the top of material. (So the\n probe will move from its start position down Z Clearance + Extra Clearance distance.)\n@@ -31819,15 +31819,15 @@\n 3. probe wall twice (rough and fine),\n 4. move diagonally to the other wall as set by EDGE WIDTH and XY CLEARANCE,\n 5. probe wall twice,\n 6. raise probe up by Z CLEARANCE + EXTRA DEPTH (returns to starting height),\n 7. rapid back to starting corner (now calculated using the probed walls),\n 8. if auto zero button is enabled, set X and Y of the current user system to zero.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 703 / 1331\n \n 10.5.13 Touch-Platte\n \n Abbildung 10.31: QtDragon Touch-Fl\u00e4che (engl. touch plate)\n You can use a conductive touch plate or equivalent to auto touch off (zero the user coordinate) for the\n@@ -31845,15 +31845,15 @@\n will probe down twice and the current user offset (G5X) will be zeroed at the bottom of the plate by\n calculation from the touchplate height setting.\n \n 10.5.14 Automatische Werkzeugmessung\n QtDragon kann so eingestellt werden, dass es eine integrierte automatische Werkzeugmessung mit\n dem Versa Probe Widget und Remap-Code durchf\u00fchrt. Um diese Funktion zu nutzen, m\u00fcssen Sie\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 704 / 1331\n \n einige zus\u00e4tzliche Einstellungen vornehmen und Sie k\u00f6nnen den angebotenen HAL-Pin verwenden,\n um Werte in Ihrer eigenen ngc-Remap-Prozedur zu erhalten.\n \n Wichtig\n@@ -31869,15 +31869,15 @@\n \u2022 Gehen Sie in den Automatikmodus und starten Sie Ihr Programm.\n Anmerkung\n When fist setting up auto tool measurement, please use caution until you confirm tool change and\n probe locations - it is easy to break a tool/probe. Abort will be honoured while the probe is in motion.\n \n Abbildung 10.32: Automatische Werkzeugvermessung\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 705 / 1331\n \n Beim ersten gegebenen Werkzeugwechsel wird das Werkzeug vermessen und der Versatz wird automatisch auf die Blockh\u00f6he eingestellt. Der Vorteil dieser Methode ist, dass Sie kein Referenzwerkzeug\n ben\u00f6tigen.\n Anmerkung\n Ihr Programm muss am Anfang einen Werkzeugwechsel enthalten. Das Werkzeug wird gemessen,\n@@ -31894,15 +31894,15 @@\n \u2022 Probe down in Z to maximum defined in the INI\u2019s [VERSA_TOOLSETTER] MAXPROBE\n \u2022 Return Z to position defined in the INI\u2019s [TOOL_CHANGE] Z\n Anmerkung\n The [TOOL_CHANGE] Z position should be high enough so the tool will not hit the tool probe when\n moving to the [VERSA_TOOLSETTER] X and Y position. MAXPROBE distance needs to be high enough\n for the tool to touch the probe.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 706 / 1331\n \n 10.5.14.1 Werkst\u00fcckh\u00f6he Antasten\n \n Abbildung 10.33: QtDragon_hd - Werkst\u00fcck H\u00f6henabtastung\n Dieses Programm tastet 2 benutzerdefinierte Positionen in der Z-Achse an und berechnet die H\u00f6hendifferenz.\n@@ -31915,15 +31915,15 @@\n sie auf den DROs angezeigt wird, ausf\u00fcllen.\n Automatische F\u00fcllung der Werkst\u00fcckh\u00f6he auf dem Hauptbildschirm\n \u2022 When checked, the calculated height is automatically transferred to the Workpiece Height field in\n the main screen.\n \u2022 Andernfalls ist der Hauptbildschirm nicht betroffen.\n Werkst\u00fccktaster bei\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 707 / 1331\n \n \u2022 die X-, Y- und Z-Koordinaten geben an, wo die erste Sondierungsroutine im aktuellen WCS beginnen\n soll\n Probenahme bei\n \u2022 die X-, Y- und Z-Koordinaten geben an, wo die zweite Sondierungsroutine beginnen soll, und zwar\n@@ -31949,15 +31949,15 @@\n \u2022 Units are irrelevant in this program. The probed values are not saved and only the difference is\n reported.\n \n Achtung\n Setting incorrect values can lead to crashes into fixtures on the machine work surface. Initial\n testing with no tool and safe heights is recommended.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 708 / 1331\n \n 10.5.14.2 Werkzeugmess-Pins\n Versaprobe offers 5 output pins for tool measurement purpose. The pins are used to be read from a\n remap G-code subroutine, so the code can react to different values.\n \u2022 qtversaprobe.enable (HAL_BIT) measurement enabled or not tool. Reflects screen button state.\n@@ -31997,15 +31997,15 @@\n ON_ABORT_COMMAND=O Aufruf\n # Der Remap-Code f\u00fcr die automatische Werkzeugsonde von Z der Versaprobe von QtVCP\n REMAP=M6 modalgroup=6 prolog=change_prolog ngc=qt_auto_probe_tool epilog=change_epilog\n \n The position of the tool sensor and the start position of the probing movement.\n All values are absolute (G53) coordinates, except MAXPROBE, which is expressed in relative movement.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 709 / 1331\n \n All values are in machine native units.\n X,Y,Z set the tool setter probe location.\n auto probe action sequence (this could be changed with a modified ngc remap file):\n \n@@ -32044,15 +32044,15 @@\n situations. Some systems may need to use linuxcnc/nc_files/examples/ instead of linuxcnc/nc_files/.\n Custom entries pointing to modified file are possible.\n # The path start point for all remap searches, i.e. Python\u2019s sys.path.append()\n PATH_APPEND = ~/linuxcnc/nc_files/remap_lib/python-stdglue/python\n # path to the tremap\u2019s \u2019toplevel file\n TOPLEVEL = ~/linuxcnc/nc_files/remap_lib/python-stdglue/python/toplevel.py\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 710 / 1331\n \n 10.5.14.4 Required HAL Connections\n Stellen Sie sicher, dass der Messtastereingang in Ihrer HAL-Datei angeschlossen ist: Bei korrektem\n Anschluss sollten Sie in der Lage sein, die Taster-LED in QtDragon umzuschalten, wenn Sie den Tasterstift dr\u00fccken.\n net probe motion.probe-input <= \n@@ -32086,15 +32086,15 @@\n \u2022 P,X,Y,Z: Set standard views.\n \u2022 D: Toggle display of dimensions.\n \u2022 +, -: Zoom controls.\n \u2022 C: Clear graphics of tool movement lines.\n In qtdragon_hd there are also macro buttons available on the right side. Up to tens buttons can be\n defined in the INI.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 711 / 1331\n \n 10.5.17.2 Registerkarte \u201dDatei\u201d\n You can use this tab to load or transfer programs. Editing of G-code programs can be selected from\n this tab. With qtdragon_hd, this is where you can load the G-code Ripper.\n 10.5.17.3 Registerkarte \u201dOffsets\u201d\n@@ -32126,15 +32126,15 @@\n Camview xscale = 100\n Camview yscale = 100\n Camview cam number = 0\n \n These are in percent, usually the range will be 100 - 200 in one axis.\n The preference file can only be edited when QtDragon is not running.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 712 / 1331\n \n 10.5.17.8 G-Codes Registrierkarte\n This tab will display a list of LinuxCNC\u2019s G-code. if you click on a line, a description of the code will\n be displayed.\n 10.5.17.9 Registerkarte \u201dEinstellungen\u201d\n@@ -32152,15 +32152,15 @@\n \u2022 The left arrow moves backward one HTML page.\n \u2022 The right arrow moves forward one HTML page.\n If you wish to include a custom default HTML page, name it default_setup.html and place it in your\n configuration folder.\n Custom QtVCP panels can be displayed in this tab by setting the EMBED_TAB_LOCATION option to\n tabWidget_setup.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 713 / 1331\n \n Abbildung 10.34: QtDragon - Beispiel f\u00fcr die Registerkarte Setup\n \n 10.5.17.10 Registerkarte \u201dEinstellungen\u201d\n Die Registerkarte \u201dEinstellungen\u201d dient zum Einstellen der Betriebsoptionen, der Offsets f\u00fcr Messtaster/Tastplatte/Laser/Kamera und zum Laden externer Debugging-Programme.\n@@ -32174,15 +32174,15 @@\n Custom QtVCP panels can be displayed here by setting the EMBED_TAB_LOCATION option to tabWidget_uti\n 10.5.17.12 User Tab\n \n This tab will only be displayed if an embedded panel has been designated for the location stackedWidget_mai\n If more then one embedded tab has been designated, then pressing the user tab will cycle through\n them.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 714 / 1331\n \n 10.5.18 Stile\n Nearly all aspects of the GUI appearance are configurable via the QtDragon.qss stylesheet file. The\n file can be edited manually or through the stylesheet dialog widget in the GUI. To call up the dialog,\n press F12 on the main window. New styles can be applied temporarily and then saved to a new qss\n@@ -32215,15 +32215,15 @@\n \n So \u00e4ndern Sie den Text der Schaltfl\u00e4che \u201dNebel\u201d in \u201dLuft\u201d (f\u00fcgen Sie diese Zeilen ein)\n #action_mist{\n qproperty-true_state_string: \u201dAir\\\\nOn\u201d;\n qproperty-false_state_string: \u201dAir\\\\nOff\u201d;\n }\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 715 / 1331\n \n To change the Offsets display font and format:\n ToolOffsetView {\n font: 20pt \u201dLato Heavy\u201d;\n qproperty-imperial_template: \u2019%9.1f\u2019;\n@@ -32273,15 +32273,15 @@\n qproperty-spindle_down_action: true;\n }\n \n 10.5.19.2 Qt Designer und Python-Code\n All aspects of the GUI are fully customization through Qt Designer and/or Python code. This capability\n is included with the QtVCP development environment. The extensive use of QtVCP widgets keeps the\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 716 / 1331\n \n amount of required Python code to a minimum, allowing relatively easy modifications. The LinuxCNC\n website has extensive documentation on the installation and use of QtVCP libraries. See QtVCP for\n more information about QtVCP in general.\n QtDragon can also utilize QtVCP\u2019s rc file to do minor python code modifications without using a custom\n@@ -32289,30 +32289,30 @@\n [DISPLAY]\n USER_COMMAND_FILE = CONFIGFOLDER/qtdragonrc.py\n \n See Modifying Screens for more information about customization.\n \n Abbildung 10.36: QtDragon - Angepasster QtDragon\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 717 / 1331\n \n 10.6 NGCGUI\n \n Abbildung 10.37: NGCGUI eingebettet in AXIS\n \n 10.6.1 \u00dcbersicht\n \u2022 NGCGUI ist eine Tcl-Anwendung zur Arbeit mit Unterroutinen. Es erm\u00f6glicht Ihnen, eine Konversationsschnittstelle mit LinuxCNC zu haben. Sie k\u00f6nnen die Unterroutinen in der Reihenfolge organisieren, in der Sie sie ausf\u00fchren und die Unterroutinen in einer Datei f\u00fcr ein vollst\u00e4ndiges Teileprogramm verketten m\u00fcssen.\n \u2022 NGCGUI kann als eigenst\u00e4ndige Anwendung ausgef\u00fchrt oder in mehrere Registerkarten in der AXIS\n GUI eingebettet werden.\n \u2022 PyNGCGUI is an alternate, Python implementation of NGCGUI.\n \u2022 PyNGCGUI kann als eigenst\u00e4ndige Anwendung laufen oder als Registerkarte (mit einem eigenen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 718 / 1331\n \n Satz von mehreren Unterprogramm-Registerkarten) in jede GUI eingebettet werden, die eine Einbettung der GladeVCP-Anwendungen AXIS, Touchy, Gscreen und GMOCCAPY unterst\u00fctzt.\n NGCGUI oder PyNGCGUI verwenden:\n \u2022 F\u00fcr jedes in der INI-Datei angegebene Unterprogramm gibt es Registerkarten (engl. tabs).\n \u2022 Neue Subroutinen-Registerkarten k\u00f6nnen mit dem custom tab spontan hinzugef\u00fcgt werden.\n@@ -32343,15 +32343,15 @@\n Sample Configurations/sim/axis/ngcgui/ngcgui_gcmc\n Ein umfassendes Beispiel, das als GladeVCP-App eingebettet ist und gcmc verwendet, finden Sie unter:\n Sample Configurations/sim/gscreen/ngcgui/pyngcgui_gcmc\n \n Die Beispielsimulationskonfigurationen verwenden Bibliotheksdateien, die Beispiel-G-Code-Unterprogramm\n (.ngc) und G-Code-Meta-Compilerdateien (.gcmc) enthalten:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 719 / 1331\n \n \u2022 nc_files/ngcgui_lib\n \u2013 ngcgui.ngc - Ein leicht verst\u00e4ndliches Beispiel mit Unterroutinen\n \u2013 arc1.ngc - Kreisbogen mit Fr\u00e4serradiuskompensation\n \u2013 arc2.ngc - Bogen angegeben durch Zentrum, Offset, Breite, Winkel (ruft arc1 auf)\n@@ -32391,15 +32391,15 @@\n Wenn Sie die AXIS GUI verwenden, dr\u00fccken Sie auf \u201dNotaus\u201d (engl. E-Stop)\n chine Power\u201d\n \n und dann auf \u201dMa-\n \n und dann auf \u201dRefefernzierfahrt aller Achsen\u201d (engl. Home All). W\u00e4hlen Sie eine\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 720 / 1331\n \n NGCGUI-Registerkarte, f\u00fcllen Sie alle leeren Felder mit sinnvollen Werten aus und dr\u00fccken Sie auf\n \u201dFeature anlegen\u201d (engl. create feature) und dann auf \u201dFinalize\u201d. Dr\u00fccken Sie abschlie\u00dfend auf die\n Schaltfl\u00e4che \u201dAusf\u00fchren\u201d\n , um die Ausf\u00fchrung zu beobachten. Experimentieren Sie, indem Sie\n@@ -32432,15 +32432,15 @@\n = ../../nc_files/ngcgui_lib/mfiles\n \n Anmerkung\n Dabei handelt es sich um lange Zeilen (die nicht \u00fcber mehrere Zeilen fortgesetzt werden), in denen\n die in einem Suchfeld verwendeten Verzeichnisse angegeben werden. Die Verzeichnisnamen werden\n durch Doppelpunkte (:) getrennt. Zwischen den Verzeichnisnamen sollten keine Leerzeichen stehen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 721 / 1331\n \n Ein Benutzer kann neue Verzeichnisse f\u00fcr seine eigenen Unterprogramme und M-Dateien erstellen\n und sie zu den Suchpfaden hinzuf\u00fcgen.\n So k\u00f6nnte ein Benutzer beispielsweise Verzeichnisse vom Terminal aus mit den folgenden Befehlen\n erstellen:\n@@ -32488,15 +32488,15 @@\n [--font [big|small|fontspec]] (Voreinstellung: \u201dHelvetica -10 normal\u201d)\n [--horiz|--vert] (Voreinstellung: --horiz)\n [--cwidth comment_width] (Breite des Kommentarfeldes)\n [--vwidth varname_width] (Breite des Feldes varname)\n [--quiet] (weniger Kommentare in der Ausgabedatei)\n [--noiframe] (Voreinstellung: Rahmen zeigt Bild an)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 722 / 1331\n \n Anmerkung\n Als eigenst\u00e4ndige Anwendung bearbeitet NGCGUI eine einzelne Unterprogrammdatei, die mehrfach\n aufgerufen werden kann. Mehrere eigenst\u00e4ndige NGCGUI-Anwendungen k\u00f6nnen unabh\u00e4ngig voneinander gestartet werden.\n \n@@ -32547,15 +32547,15 @@\n 10.6.5 NGCGUI einbetten\n 10.6.5.1 NGCGUI in AXIS einbetten\n Die folgenden INI-Datei-Elemente geh\u00f6ren in den Abschnitt [DISPLAY]. (Siehe weitere Abschnitte\n unten f\u00fcr zus\u00e4tzlich ben\u00f6tigte Elemente)\n \u2022 TKPKG = Ngcgui 1.0 - das NGCGUI-Paket\n \u2022 TKPKG = Ngcguittt 1.0 - das True Type Tracer-Paket zum Generieren von Text f\u00fcr die Gravur (optional, muss TKPKG = Ngcgui folgen).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 723 / 1331\n \n \u2022 NGCGUI_FONT = Helvetica -12 normal - Legt die verwendete Schriftart fest\n \u2022 NGCGUI_PREAMBLE = in_std.ngc\u2019 - Die Pr\u00e4ambel-Datei, die am Anfang des Unterprogramms hinzugef\u00fcgt wird. Bei der Verkettung mehrerer Unterprogramme wird sie nur einmal hinzugef\u00fcgt.\n \u2022 NGCGUI_SUBFILE = simp.ngc - Erstellt eine Registerkarte aus der benannten Unterroutine.\n \u2022 NGCGUI_SUBFILE = \u201d\u201d - Erzeugt eine benutzerdefinierte Registerkarte\n@@ -32581,15 +32581,15 @@\n in AXIS eingebettet werden kann, ist die Integration vollst\u00e4ndiger, wenn NGCGUI verwendet wird (mit\n TKPKG = Ngcgui 1.0). Um die EMBED_TAB_LOCATION f\u00fcr andere GUIs festzulegen, vgl. den Abschnitt\n zu DISPLAY des INI-Konfigurationskapitels.\n \n Anmerkung\n Das Truetype Tracer GUI-Frontend ist derzeit nicht f\u00fcr GladeVCP-Anwendungen verf\u00fcgbar.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 724 / 1331\n \n 10.6.5.3 Zus\u00e4tzliche INI-Datei-Elemente, die f\u00fcr NGCGUI oder PyNGCGUI erforderlich sind\n Die folgenden INI-Datei-Elemente geh\u00f6ren in den Abschnitt [DISPLAY] f\u00fcr jede GUI, die entweder\n NGCGUI oder PyNGCGUI einbindet.\n \u2022 NGCGUI_FONT = Helvetica -12 normal\u2019 - gibt den Namen und die Gr\u00f6\u00dfe der Schriftart an, normal|fett (engl. bold)\n@@ -32626,15 +32626,15 @@\n SUBROUTINE_PATH\n USER_M_PATH\n [DISPLAY]\n \n = ../../nc_files/ngcgui_lib:../../ngcgui_lib/utilitysubs\n = ../../nc_files/ngcgui_lib/mfiles\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 725 / 1331\n \n TKPKG = Ngcgui 1.0\n TKPKG = Ngcguittt 1.0\n # Ngcgui muss vor Ngcguittt stehen\n NGCGUI_FONT\n@@ -32710,15 +32710,15 @@\n [DISPLAY]TTT = path_to_truetype-tracer\n Example: [DISPLAY]TTT = truetype-tracer\n Note:\n Optional, if not specified, attempt to use /usr/local/bin/truetype-tracer.\n Specify with absolute pathname or as a simple executable name,\n in which case the user PATH environment will used to find the program.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 726 / 1331\n \n Item:\n [DISPLAY]TTT_PREAMBLE = preamble_filename\n Example: [DISPLAY]TTT_PREAMBLE = in_std.ngc\n Note:\n@@ -32753,15 +32753,15 @@\n Dies ist eine lange Zeile, fahren Sie nicht in mehreren Zeilen fort. Wenn LinuxCNC und/oder NGCGUI\n nach Dateien suchen, wird die erste Datei, die bei der Suche gefunden wird, verwendet.\n LinuxCNC (und NGCGUI) muss in der Lage sein, alle Unterprogramme einschlie\u00dflich der Hilfsroutinen zu finden, die aus den NGCGUI Unterdateien aufgerufen werden. Es ist zweckm\u00e4\u00dfig, Utility-Subs\n in einem separaten Verzeichnis zu platzieren, wie im obigen Beispiel angegeben.\n Die Distribution enth\u00e4lt das Verzeichnis ngcgui_lib und Demodateien f\u00fcr Pr\u00e4ambeln, Subdateien,\n Postambeln und Hilfsdateien. Um das Verhalten der Dateien zu \u00e4ndern, k\u00f6nnen Sie eine beliebige\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 727 / 1331\n \n Datei kopieren und sie an einer fr\u00fcheren Stelle des Suchpfads platzieren. Das erste Verzeichnis, das\n durchsucht wird, ist [DISPLAY]PROGRAM_PREFIX. Sie k\u00f6nnen dieses Verzeichnis verwenden, aber es\n ist besser, eigene Verzeichnisse zu erstellen und sie an den Anfang des [RS274NGC]SUBROUTINE_PATH\n zu stellen.\n@@ -32803,15 +32803,15 @@\n Note: Required only for AXIS GUI embedding.\n Specifies loading of NGCGUI AXIS tab pages.\n [DISPLAY]NGCGUI_FONT = Schriftart_deskriptor\n Example: [DISPLAY]NGCGUI_FONT = Helvetica -12 normal\n Note: Optional, font_descriptor is a tcl-compatible font specifier with items for fonttype -fontsize\n fontweight.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 728 / 1331\n \n Default is: Helvetica -10 normal.\n Smaller font sizes may be useful for small screens.\n Larger font sizes may be helpful for touch screen applications .\n [ANZEIGE] NGCGUI_SUBFILE = subfile_filename\n@@ -32857,15 +32857,15 @@\n tab pages.\n \n [DISPLAY]GCMC_INCLUDE_PATH = dirname1:dirname2:\u2026\n Example: [DISPLAY]GCMC_INCLUDE_PATH = /home/myname/gcmc_includes:/home/myname/gcmc_incl\n Note: Optional, each directory will be included when gcmc is invoked using the option: --include\n dirname.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 729 / 1331\n \n 10.6.6 Dateianforderungen f\u00fcr NGCGUI-Kompatibilit\u00e4t\n 10.6.6.1 Anforderungen an eine G-code-Unterroutine (.ngc) in einer Datei\n An NGCGUI-compatible subfile contains a single subroutine definition. The name of the subroutine\n must be the same as the filename (not including the .ngc suffix). LinuxCNC supports named or numbered subroutines, but only named subroutines are compatible with NGCGUI. For more information\n@@ -32910,15 +32910,15 @@\n # = #3 (=0.0 Z Start Einstellung)\n \n If a default_value is provided, it will be entered in the entry box for the parameter on startup. If\n comment_text is included, it will be used to identify the input instead of the parameter name.\n Globale benannte Parameter Hinweise zu globalen benannten Parametern und NGCGUI:\n (globale benannte Parameter haben einen f\u00fchrenden Unterstrich im Namen, wie #<_irgendeinglobalername>)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 730 / 1331\n \n As in many programming languages, use of globals is powerful but can often lead to unexpected\n consequences. In LinuxCNC, existing global named parameters will be valid at subroutine execution\n and subroutines can modify or create global named parameters.\n Passing information to subroutines using global named parameters is discouraged since such usage\n@@ -32964,15 +32964,15 @@\n Kommentar enthalten, so dass NGCGUI sie automatisch mit einer entsprechenden Meldung zur\u00fcckweist.\n (not_a_subfile)\n \n An optional image file (.png,.gif,.jpg,.pgm) can accompany a subfile. The image file can help clarify the\n parameters used by the subfile. The image file should be in the same directory as the subfile and have\n the same name with an appropriate image suffix, e.g. the subfile example.ngc could be accompanied\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 731 / 1331\n \n by an image file examp.png. NGCGUI attempts to resize large images by subsampling to a size with\n maximum width of 320 and maximum height of 240 pixels.\n Keine der Konventionen, die f\u00fcr die Herstellung einer NGCGUI-kompatiblen Subdatei erforderlich\n sind, schlie\u00dfen ihre Verwendung als allgemeine Subroutinendatei f\u00fcr LinuxCNC aus.\n@@ -33011,15 +33011,15 @@\n //ngcgui: xl = 0; //, x limit\n \n Eine Info-Zeile, die oben auf einer Registerkarte erscheint, kann optional mit einer Zeile mit der\n Kennzeichnung als:\n Info-Tag\n //ngcgui: info: text_to_appear_at_top_of_tab_page\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 732 / 1331\n \n Falls erforderlich, k\u00f6nnen Optionen mit einem Zeilen-Tag an den gcmc-Compiler \u00fcbergeben werden:\n Option line tag format\n //ngcgui: -option_name [ [=] option_value]\n \n@@ -33045,28 +33045,28 @@\n [DISPLAY]\n GCMC_INCLUDE_PATH = ../../nc_files/gcmc_lib\n \n 10.6.7 DB25 Beispiel\n The following shows the DB25 subroutine. In the first photo you see where you fill in the blanks for\n each variable.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Dieses Foto zeigt den Backplot der DB25-Subroutine.\n \n 733 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 734 / 1331\n \n Dieses Foto zeigt die Verwendung der neuen Schaltfl\u00e4che und der benutzerdefinierten Registerkarte\n zur Erstellung von drei DB25-Ausschnitten in einem Programm.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 735 / 1331\n \n 10.6.8 Erstellen eines Unterprogramms\n \u2022 Um ein Unterprogramm f\u00fcr die Verwendung mit NGCGUI zu erstellen, m\u00fcssen der Dateiname und\n der Name des Unterprogramms identisch sein.\n \u2022 Die Datei muss sich in dem Unterverzeichnis befinden, auf das in der INI-Datei verwiesen wird.\n@@ -33081,15 +33081,15 @@\n # = #2 (=0.4) ;Beispiel f\u00fcr einen Parameter ohne Kommentar\n # = #3 (Feedrate) ;Beispiel f\u00fcr einen Parameter ohne Voreinstellung\n g0x0y0z1\n g3 i# f#\n g3 i[0-#]\n o endsub\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 736 / 1331\n \n 10.7 TkLinuxCNC GUI\n 10.7.1 Einf\u00fchrung\n TkLinuxCNC ist eines der ersten grafischen Front-Ends f\u00fcr LinuxCNC. Es ist in Tcl geschrieben und\n verwendet das Tk-Toolkit f\u00fcr die Anzeige. Es ist in Tcl geschrieben und daher sehr portabel (es l\u00e4uft\n@@ -33103,15 +33103,15 @@\n DISPLAY = tklinuxcnc\n \n Dann starten Sie LinuxCNC und w\u00e4hlen Sie diese INI-Datei. Die Beispielkonfiguration sim/tklinuxcnc/tklinuxcnc.ini ist bereits konfiguriert, um TkLinuxCNC als Front-End zu verwenden.\n Nach dem Start von LinuxCNC wird das Fenster TKLinuxCNC ge\u00f6ffnet.\n 10.7.2.1 Eine typische Sitzung mit TkLinuxCNC\n 1. Starten Sie LinuxCNC und w\u00e4hlen Sie eine Konfigurationsdatei.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 737 / 1331\n \n 2. Beheben Sie den Notaus (engl. E-STOP)-Zustand und schalten Sie die Maschine ein (indem Sie\n F1 und dann F2 dr\u00fccken).\n 3. Referenzfahrt jeder Achse.\n 4. Laden Sie die zu fr\u00e4sende Datei.\n@@ -33144,15 +33144,15 @@\n \u2022 Spindeldrehzahl erh\u00f6hen\n \u2022 Abbrechen\n dann in der zweiten Zeile:\n \u2022 Betriebsart: MANUAL > MDI > AUTO\n \u2022 Flutk\u00fchlmittel ein-/ausschalten\n \u2022 Spindelbremse ein-/ausschalten\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 738 / 1331\n \n 10.7.3.2 Statusleiste der Offset-Anzeige\n Die Statusleiste der Versatzanzeige zeigt das aktuell ausgew\u00e4hlte Werkzeug (ausgew\u00e4hlt mit Txx M6),\n den Werkzeugl\u00e4ngenversatz (falls aktiv) und die Arbeitsvers\u00e4tze (eingestellt durch Rechtsklick auf die\n Koordinaten) an.\n@@ -33182,15 +33182,15 @@\n zu \u00fcberpr\u00fcfen, * Ausf\u00fchren (engl. run), um den eigentlichen Schneidevorgang zu starten, * Pause,\n um es w\u00e4hrend des Laufens anzuhalten, * Fortsetzen (engl. resume), um ein bereits angehaltenes\n Programm wieder aufzunehmen, * Schritt (engl. step), um eine Zeile im Programm voranzubringen\n und * Optional Stop zum Umschalten des optionalen Stop-Schalters (wenn die Schaltfl\u00e4che gr\u00fcn ist,\n wird die Programmausf\u00fchrung bei jedem M1-Ereignis angehalten).\n Anzeigebereich des Textprogramms Wenn das Programm l\u00e4uft, wird die Zeile, die gerade ausgef\u00fchrt wird, wei\u00df hervorgehoben. Die Textanzeige scrollt automatisch, um die aktuelle Zeile anzuzeigen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 739 / 1331\n \n 10.7.3.5 Manuelle Steuerung\n Steuerung mit der Tastatur TkLinuxCNC erm\u00f6glicht es Ihnen, die Maschine manuell zu bewegen.\n Diese Aktion wird als \u201dJogging\u201d bekannt. W\u00e4hlen Sie zun\u00e4chst die zu bewegende Achse aus, indem\n Sie sie anklicken. Klicken Sie dann auf die Schaltfl\u00e4che \u201d+\u201d oder \u201d-\u201d und halten Sie sie gedr\u00fcckt, je\n@@ -33215,15 +33215,15 @@\n der Benutzer die Drehgeschwindigkeit erh\u00f6hen oder verringern. Mit der Taste in der zweiten Reihe\n kann die Spindelbremse aktiviert oder deaktiviert werden. Je nach Maschinenkonfiguration haben\n m\u00f6glicherweise nicht alle Elemente in dieser Gruppe eine Wirkung.\n Die K\u00fchlmittelgruppe K\u00fchlmittel Mit den beiden Schaltfl\u00e4chen k\u00f6nnen die K\u00fchlmittel \u201dNebel\u201d\n und \u201dFlut\u201d ein- und ausgeschaltet werden. Je nach Konfiguration Ihres Ger\u00e4ts werden m\u00f6glicherweise\n nicht alle Elemente in dieser Gruppe angezeigt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 740 / 1331\n \n 10.7.3.6 Code-Eingabe\n \n Die manuelle Dateneingabe (auch MDI genannt) erm\u00f6glicht die manuelle Eingabe von G-Code-Programmen,\n eine Zeile nach der anderen. Wenn das Ger\u00e4t nicht eingeschaltet und nicht auf den MDI-Modus eingestellt ist, sind die Steuerelemente f\u00fcr die Codeeingabe nicht verf\u00fcgbar.\n@@ -33257,15 +33257,15 @@\n F1\n Notaus ein-/ausschalten\n F2\n Maschine ein-/ausschalten\n \u0300, 1 .. 9, 0\n Vorschub-Override von 0% bis 100% einstellen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 741 / 1331\n \n Tabelle 10.7: (continued)\n Tastenkombination\n Ergriffene Ma\u00dfnahmen\n X, \u0300\n@@ -33310,42 +33310,42 @@\n The QtPlasmaC GUI will run on any hardware that is supported by LinuxCNC v2.9 or later provided\n there are enough hardware I/O pins to fulfill the requirements of a plasma configuration.\n There are three available formats:\n \u2022 16:9 with a minimum resolution of 1366 x 768\n \u2022 9:16 with a minimum resolution of 768 x 1366\n \u2022 4:3 with a minimum resolution of 1024 x 768\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 742 / 1331\n \n Screenshot examples of QtPlasmaC are below:\n \n Abbildung 10.40: 16:9\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 743 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 744 / 1331\n \n Abbildung 10.42: 4:3\n \n 10.8.4 LinuxCNC installieren\n Die bevorzugte Methode zur Installation von LinuxCNC ist \u00fcber ein ISO-Image, wie unten beschrieben.\n Anmerkung\n Es ist m\u00f6glich, LinuxCNC auf einer Vielzahl von Linux-Distributionen zu installieren und auszuf\u00fchren,\n was jedoch den Rahmen dieses Benutzerhandbuchs sprengen w\u00fcrde. Wenn der Benutzer m\u00f6chte eine\n Linux-Distribution andere als die empfohlenen zu installieren, m\u00fcssen sie zun\u00e4chst ihre bevorzugte\n Linux-Distribution zu installieren und dann installieren LinuxCNC v2.9 oder h\u00f6her zusammen mit allen\n erforderlichen Abh\u00e4ngigkeiten.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 745 / 1331\n \n 10.8.4.1 Wenn der Benutzer kein Linux installiert hat\n Installation instructions are available from here.\n Following these instructions will yield a machine with the current stable branch of LinuxCNC (v2.9)\n on Debian 12 (Bookworm).\n@@ -33387,15 +33387,15 @@\n \n Wichtig\n If the plasma power source has an Arc OK (Transfer) output then it is recommended to use that\n for Arc OK rather than the soft (calculated) Arc OK provided by mode 0. It may also be possible\n to use a reed relay as an alternative method to establish an Arc OK signal when the power\n source does not provide one.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 746 / 1331\n \n Anmerkung\n F\u00fcr die Feinabstimmung von Mode 0 Ark OK siehe Tuning Mode 0 Arc OK im Abschnitt Erweiterte\n Themen des Handbuchs.\n \n@@ -33470,15 +33470,15 @@\n the ohmic probe\u2019s power.\n Digital input; optional, see info below table:\n HAL pin name plasmac.breakaway\n Connected from a breakout board input to a torch breakaway\n detection switch.\n This signal senses if the torch has broken away from its cradle.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Name\n Brenner ein (engl.\n torch on)\n \n Modi\n 0, 1, 2\n@@ -33552,15 +33552,15 @@\n \u2022 [AXIS_Z] MIN_LIMIT should be just below top of the slats with allowances for float_switch_travel\n and over travel tolerance. For example, if the user\u2019s float switch takes 4 mm (0.157\u201d) to activate\n then set the Z minimum to 5 mm (0.2\u201d) plus an allowance for overrun (either calculated using the\n equation below or allow 5 mm (0.2\u201d) below the lowest slat).\n \u2022 [AXIS_Z] MAX_LIMIT should be the highest the user wants the Z axis to travel (it must not be\n lower than Z HOME_OFFSET).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 748 / 1331\n \n \u2022 [AXIS_Z] HOME should be set to be approximately 5 mm-10 mm (0.2\u201d-0.4\u201d) below the maximum\n limit.\n \u2022 Floating Head - it is recommended that a floating head be used and that it has enough movement\n to allow for overrun during probing. Overrun can be calculated using the following formula:\n@@ -33595,47 +33595,47 @@\n Platine aus.\n QtPlasmaC adds two pages to the LinuxCNC configuration wizards for QtPlasmaC specific parameters,\n the two pages are QtPlasmaC options and User Buttons. Complete each of the wizards QtPlasmaC page\n to suit the machine that is being configured and the user button requirements.\n Note that PnCconf options allow user selection of Feed Override, Linear Velocity, and Jog Increments,\n whereas in StepConf these are automatically calculated and set.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 10.43: PnCConf QtPlasmaC Options\n \n 749 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 10.44: StepConf QtPlasmaC Options\n \n 750 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Abbildung 10.45: QtPlasmaC User Buttons\n \n 751 / 1331\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 752 / 1331\n \n Abbildung 10.46: QtPlasmaC THCAD\n The THCAD screen will only appear if a Plasma Encoder is selected in the card screen. The the dedicated section on Mesa THCAD for more information.\n When the configuration is complete, the wizard will save a copy of the configuration that may be\n loaded and edited at a later time, a working QtPlasmaC configuration will be created in the following\n directory: ~/linuxcnc/configs/.\n The way the newly created QtPlasmaC configuration can be run from the terminal command line\n slightly differs depending the way LinuxCNC was installed:\n F\u00fcr eine Paketinstallation (Buildbot):\n linuxcnc ~/linuxcnc/configs/__/__.ini\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 753 / 1331\n \n For a run in place installation:\n ~/linuxcnc-dev/scripts/linuxcnc ~/linuxcnc/configs/__/__.ini\n \n Nach dem Ausf\u00fchren des obigen Befehls sollte LinuxCNC mit der QtPlasmaC GUI sichtbar sein.\n@@ -33658,25 +33658,25 @@\n \n Geben Sie f\u00fcr eine \u201drun in place\u201d-Installation den folgenden Befehl in ein Terminalfenster ein:\n ~/linuxcnc-dev/lib/python/qtvcp/designer/install_script\n \n 10.8.5.6 Erstmalige Einrichtung\n Das folgende H\u00f6hendiagramm soll dem Benutzer helfen, die verschiedenen H\u00f6hen beim Plasmaschneiden und deren Messung zu veranschaulichen:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 754 / 1331\n \n Click on the Parameters Tab to view the CONFIGURATION section which shows the user settable\n parameters. It is necessary to ensure every one of these settings is tailored to the machine.\n To set the Z axis DRO relative to the Z axis MINIMUM_LIMIT, the user should perform the following\n steps. It is important to understand that in QtPlasmaC, touching off the Z axis DRO has no effect on\n the Z axis position while running a G-code program. These steps simply allow the user to more easily\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 755 / 1331\n \n set the probe height as after performing the steps, the displayed Z axis DRO value will be relative to\n Z axis MINIMUM_LIMIT.\n Anmerkung\n The user should be familiar with the recommended Z Axis Settings.\n@@ -33711,15 +33711,15 @@\n and the measured value.\n 8. After the adjustments to the \u201dFloat Travel\u201d have been made, repeat the process from #4 above\n until the measured distance between the material and the torch tip matches the Pierce Height\n of the currently selected material.\n 9. If the table has a laser or camera for sheet alignment, a scribe, or uses offset probing then the\n required offsets need to be applied by following the procedure described in Peripheral Offsets.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 756 / 1331\n \n 10. CONGRATULATIONS! The user should now have a working QtPlasmaC Configuration.\n Anmerkung\n If the amount of time between the torch contacting the material and when the torch moves up and\n comes to rest at the Pierce Height seems excessive, see the probing section for a possible solution.\n@@ -33751,15 +33751,15 @@\n \n For a run in place installation enter the following lines in terminal window:\n source ~/linuxcnc-dev/scripts/rip-environment\n qtplasmac-plasmac2qt\n \n The following screen will be displayed:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 757 / 1331\n \n Tabelle 10.10: Mandatory Settings\n Field\n Beschreibung\n INI-DATEI IN\n@@ -33783,15 +33783,15 @@\n 16:9\n ESTOP:1\n \n Optional Setting - This setting is not required unless the machine has a laser for sheet\n alignment. Leave this blank if it is not used/required. Lassen Sie dieses Feld leer, wenn es nicht\n verwendet/erforderlich ist.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Field\n Laser On\n HAL-Pins\n \n Beschreibung\n Schalten Sie ein Laserfadenkreuz f\u00fcr die\n@@ -33834,15 +33834,15 @@\n For a package installation (Buildbot) enter the following line in a terminal window:\n qtplasmac-cfg2prefs\n \n For a run in place installation enter the following lines in terminal window:\n source ~/linuxcnc-dev/scripts/rip-environment\n qtplasmac-cfg2prefs\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 759 / 1331\n \n Abbildung 10.47: qtplasmac-cfg2prefs\n Select the INI file of the old PlasmaC configuration, select the INI file of the new QtPlasmaC configuration, then press CONVERT.\n \n 10.8.7 Other QtPlasmaC Setup Considerations\n@@ -33856,15 +33856,15 @@\n file in the machine\u2019s configuration directory to add the appropriate cutoff frequency as measured in\n Hertz (Hz).\n Zum Beispiel:\n setp plasmac.lowpass-frequency 100\n \n The above example would give a cutoff frequency of 100Hz.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 760 / 1331\n \n 10.8.7.2 Contact Bounce\n Contact bounce from mechanical relays, switches, or external interference may cause some inconsistent behavior of the following switches:\n \u2022 Float Switch\n \u2022 Ohmic Probe\n@@ -33900,15 +33900,15 @@\n Depending on the specified minimum contact current and the current drawn by the input device there\n may be a need to provide a method to increase the current through the contacts.\n Most relays using gold contacts will not require any additional current for reliable operation.\n There are two different methods available to provide this minimum current if it is required:\n 1. A 0.1 \u03bcF film capacitor placed across the contacts.\n 2. A 1200 \u03a9 1 W resistor across the load (see calculations below).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 761 / 1331\n \n Schematics are shown at contact load schematics.\n More information on contact switching load can be seen on page VI of the finder General Technical\n Information document.\n Calculations:\n@@ -33946,15 +33946,15 @@\n Terminal=false\n Name=LinuxCNC\n Exec=sh -c \u201dlinuxcnc $HOME/linuxcnc/configs//.ini\u201d\n Type=Application\n Icon=/usr/share/pixmaps/linuxcncicon.png\n 1 In the US, the letter V is commonly used as a symbol (Voltage) and as a unit (Volt).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 762 / 1331\n \n Wenn der Benutzer ein Terminalfenster hinter dem GUI-Fenster \u00f6ffnen m\u00f6chte, \u00e4ndern Sie die TerminalZeile in:\n Terminal=true\n \n Die Anzeige eines Terminals kann f\u00fcr Fehler- und Informationsmeldungen n\u00fctzlich sein.\n@@ -34010,15 +34010,15 @@\n Anmerkung\n The configuration files (.ini and .hal) that are created by configuration wizard are notated to explain the requirements to aid in manual manipulation of these\n configurations. They may be edited with any text editor.\n \n Anmerkung\n The .prefs file is plain text and may be edited with any text editor.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 763 / 1331\n \n 10.8.7.6 INI File\n QtPlasmaC has some specific .ini file variables as follows:\n [FILTER] Section These variables are mandatory.\n PROGRAM_EXTENSION = .ngc,.nc,.tap G-code File (*.ngc, *.nc, *.tap)\n@@ -34067,15 +34067,15 @@\n [DISPLAY] Section\n This variable is mandatory.\n DISPLAY = qtvcp qtplasmac\n (use 16:9 resolution)\n = qtvcp qtplasmac_9x16 (use 9:16 resolution)\n = qtvcp qtplasmac_4x3 (use 4:3 resolution)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 764 / 1331\n \n There are multiple QtVCP options that are described here: QtVCP INI Settings\n For example the following would start a 16:9 resolution QtPlasmaC screen in full screen mode:\n DISPLAY = qtvcp -f qtplasmac\n \n@@ -34114,15 +34114,15 @@\n 10.8.8.1 Beenden von QtPlasmaC\n Das Beenden oder Herunterfahren von QtPlasmaC erfolgt entweder durch:\n 1. Klicken Sie auf die Schaltfl\u00e4che zum Herunterfahren des Fensters in der Titelleiste des Fensters\n 2. Dr\u00fccken Sie lange auf die Taste POWER auf der Haupt-Registerkarte (engl. main).\n A shutdown warning can be displayed on every shutdown by checking the Exit Warning checkbox on\n the SETTINGS Tab.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 765 / 1331\n \n 10.8.8.2 HAUPT (engl. main)-Registerkarte (engl. tab)\n Screenshot example of the QtPlasmaC MAIN Tab in 16:9 aspect ratio:\n \n Einige Funktionen/Merkmale werden nur f\u00fcr bestimmte Modi verwendet und werden nicht angezeigt,\n@@ -34138,15 +34138,15 @@\n Dropdown-Men\u00fc zu \u00f6ffnen. Es wird verwendet, um die aktuellen\n Materialschnittparameter manuell auszuw\u00e4hlen. Wenn in der\n Materialdatei keine Materialien vorhanden sind, wird nur das\n Standardmaterial angezeigt.\n Hier wird der tats\u00e4chliche Schnittvorschub angezeigt, mit dem sich der\n Tisch bewegt.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 766 / 1331\n \n Tabelle 10.14: (continued)\n Name\n FR:\n PH:\n@@ -34216,15 +34216,15 @@\n Wenn ein Zyklus pausiert wird, zeigt dieser Button \u201dZYKLUS\n FORTSETZEN (engl. CYCLE RESUME) an und blinkt.\n Durch Dr\u00fccken von ZYKLUS FORTSETZEN wird der Zyklus fortgesetzt.\n \n ZYKLUSSTART\n ZYKLUSPAUSE\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 767 / 1331\n \n Tabelle 10.15: (continued)\n Name\n ZYKLUS STOP\n (engl. cycle stop)\n@@ -34300,15 +34300,15 @@\n Beschreibung\n Displays the actual arc voltage.\n Indicates the status of the Arc OK signal.\n Each press of this button will raise the target voltage by\n the THC Threshold voltage (The distance changed will be\n Height Per Volt * THC Threshold voltage).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 768 / 1331\n \n Tabelle 10.17: (continued)\n Name\n -\n \n@@ -34401,15 +34401,15 @@\n - Will not require an Arc OK signal be received before\n starting machine motion after the \u201dTorch On\u201d signal is\n given.\n - Will disable the THC.\n - Will not stop machine motion if the Arc OK signal is lost.\n For more information see Ignore Arc Ok.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 769 / 1331\n \n Tabelle 10.18: (continued)\n Name\n OHMIC PROBE\n \n@@ -34481,15 +34481,15 @@\n Beschreibung\n This drop down button will change the jog increment. Options are\n determined by the values in the [DISPLAY] section of the\n .ini file and begin with the label \u201dINCREMENTS =\u201d.\n This button will toggle between FAST which is the default linear velocity in\n the .ini file or SLOW which is 10% of the default value.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Name\n Y+\n YX+\n XZ+\n Z-\n \n@@ -34560,15 +34560,15 @@\n If a file is open, the default material will be selected.\n If no file is open, the preview will be reset to a top down full table view.\n The torch (T0) will be selected if it was not the active tool.\n Diese Schaltfl\u00e4che \u00f6ffnet ein DATEI-\u00d6FFNEN-Panel \u00fcber dem\n VORSCHAU-FENSTER.\n Diese Schaltfl\u00e4che l\u00e4dt die aktuell geladene G-Code-Datei neu.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 771 / 1331\n \n Tabelle 10.24: DRO\n Name\n HOME ALL\n WCS G54\n@@ -34610,30 +34610,30 @@\n orientation, then pressing either Z or P will change the display to the newly selected view. If the user\n then wishes to display the full table while maintaining the currently selected view as the default view\n for a loaded G-code file, then pressing CLEAR will achieve this and allow the selected view orientation\n to prevail the next time a G-code file is loaded.\n 10.8.8.4 CONVERSATIONAL Tab\n Screenshot example of the QtPlasmaC CONVERSATIONAL Tab in 16:9 aspect ratio:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 772 / 1331\n \n The CONVERSATIONAL Tab enables the user to quickly program various simple shapes for quick\n cutting without the need for CAM software.\n See Conversational Shape Library for detailed information on the Conversational feature.\n It is possible to hide this tab so the conversational feature cannot be used by an operator. This may\n be achieved either by wiring the pin to a physical key-switch or similar or it may also be set in a HAL\n file using the following command:\n setp qtplasmac.conv_disable 1\n \n 10.8.8.5 PARAMETERS Tab\n Screenshot example of the QtPlasmaC PARAMETERS Tab in 16:9 aspect ratio:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 773 / 1331\n \n Einige Funktionen/Merkmale werden nur f\u00fcr bestimmte Modi verwendet und werden nicht angezeigt,\n wenn sie f\u00fcr den gew\u00e4hlten QtPlasmaC-Modus nicht erforderlich sind.\n This tab is used to display configuration parameters that are modified infrequently.\n It is possible to hide this tab so machine settings cannot be modified by unauthorized personnel. This\n@@ -34655,15 +34655,15 @@\n Beschreibung\n This sets the amount of time (in seconds) QtPlasmaC will wait\n between commanding a \u201dTorch On\u201d and receiving an Arc OK\n signal before timing out and displaying an error message.\n This sets the number of times QtPlasmaC will attempt to start\n the arc.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 774 / 1331\n \n Tabelle 10.25: (continued)\n Name\n Retry Delay\n \n@@ -34740,15 +34740,15 @@\n This sets the distance threshold used to determine if an Initial Height\n Sense (probe) can be skipped for the current cut, see IHS Skip.\n \n Anmerkung\n If the amount of time between the torch contacting the material and when the torch moves up and\n comes to rest at the Pierce Height seems excessive, see the probing section for a possible solution.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 775 / 1331\n \n Tabelle 10.27: CONFIGURATION - SAFETY\n Name\n Safe Height\n \n@@ -34800,15 +34800,15 @@\n \n CONFIGURATION - THC Two methods of THC activation are available and are selected with the\n Auto Activation checkbutton. Both methods begin their calculations when the current velocity of the\n torch matches the cut feed rate specified for the selected material:\n 1. Delay Activation (the default) is selected when Auto Activation is unchecked. This method uses\n a time delay set with the Delay parameter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 776 / 1331\n \n 2. Auto Activation is selected when Auto Activation is checked. This method determines that the\n arc voltage is stable by using the Sample Counts and Sample Threshold parameters.\n Name\n Delay\n@@ -34896,15 +34896,15 @@\n Beschreibung\n The top drop down menu is used to manually select the current material\n cut parameters. If there are no materials in the material file then only the\n default material will be displayed.\n This sets the kerf width for the currently selected material. Refer to the\n Heights Diagram diagram for a visual representation.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 777 / 1331\n \n Tabelle 10.32: (continued)\n Name\n Pierce Height\n Pierce Delay\n@@ -34966,15 +34966,15 @@\n The Cut Parameters for the new material will then need to be adjusted and saved.\n The DELETE this button is used to delete a material. After pressing it, the user will be prompted for\n a material number to be deleted, and prompted again to ensure the user is sure. After deletion, the\n material file will be reloaded and the drop down list will display the default material.\n 10.8.8.6 SETTINGS Tab\n Screenshot example of the QtPlasmaC SETTINGS Tab in 16:9 aspect ratio:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 778 / 1331\n \n Diese Registerkarte wird verwendet, um GUI-Konfigurationsparameter, Schaltfl\u00e4chentext und Herunterfahrtext anzuzeigen, die selten ge\u00e4ndert werden, sowie einige Dienstprogrammschaltfl\u00e4chen.\n It is possible to hide this tab so machine settings cannot be modified by unauthorized personnel. This\n may be achieved either by wiring the pin to a physical key-switch or similar or it may also be set in a\n HAL file using the following command:\n@@ -34989,15 +34989,15 @@\n Foreground\n Highlight\n \n Beschreibung\n This button allows the user to change the color of the GUI Foreground.\n This button allows the user to change the color of the GUI Highlight.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 779 / 1331\n \n Tabelle 10.33: (continued)\n Name\n LED\n Background\n@@ -35075,15 +35075,15 @@\n current tool) in the Preview Window on the MAIN Tab.\n This allows a user to change the default zoom level for the top down full\n table view in the Preview Window on the MAIN Tab.\n \n USER BUTTON ENTRIES USERBUTTON\n This section shows the text that appears on the Custom User Buttons as well as the code associated\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 780 / 1331\n \n with the user button. User buttons may be changed and the new settings used without restarting\n LinuxCNC.\n The text and/or code may be edited at any time and will be loaded ready for use if the SAVE button is\n clicked.\n@@ -35123,15 +35123,15 @@\n where is the machine name entered in the configuration wizard, is the\n current QtPlasmaC version the user is on, is the current date (YY-MM-DD), and

.pin- \u0300\n ____-out \u0300 (bit) Drives a physical output pin.\n \u2022 parport.

.pin- \u0300\n@@ -17165,15 +17165,15 @@\n in the same thread as write. If -reset is TRUE, then the reset function will set the pin to the value\n of -out-invert. This can be used in conjunction with stepgen\u2019s doublefreq to produce one step per\n period. The stepgen stepspace for that pin must be set to 0 to enable doublefreq.\n The individual functions are provided for situations where one port needs to be updated in a very fast\n thread, but other ports can be updated in a slower thread to save CPU time. It is probably not a good\n idea to use both an -all function and an individual function at the same time.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 327 / 1291\n \n 6.1.6 Common problems\n If loading the module reports\n insmod: error inserting \u2019/home/jepler/emc2/rtlib/hal_parport.ko\u2019:\n -1 Device or resource busy\n@@ -17215,15 +17215,15 @@\n \n Then use of this module will probably be necessary.\n Finally, HAL parport components should be loaded:\n loadrt probe_parport\n loadrt hal_parport ...\n 1 In the LinuxCNC packages for Ubuntu, the file /etc/modprobe.d/emc2 generally prevents parport_pc from being automatically loaded.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 328 / 1291\n \n 6.2 AX5214H Driver\n The Axiom Measurement & Control AX5214H is a 48 channel digital I/O board. It plugs into an ISA\n bus, and resembles a pair of 8255 chips. In fact it may be a pair of 8255 chips, but I\u2019m not sure.\n If/when someone starts a driver for an 8255 they should look at the ax5214 code, much of the work is\n@@ -17262,15 +17262,15 @@\n module, and FALSE drives it high, turning OFF the OPTO-22 module. If -invert is TRUE, then setting\n the HAL out- pin TRUE will drive the physical pin high and turn the module OFF.\n \n 6.2.4 Functions\n \u2022 (funct) ax5214..read \u2014 Reads all digital inputs on one board.\n \u2022 (funct) ax5214..write \u2014 Writes all digital outputs on one board.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 329 / 1291\n \n 6.3 General Mechatronics Driver\n General Mechatronics GM6-PCI card based motion control system\n For detailed description, please refer to the System integration manual.\n The GM6-PCI motion control card is based on an FPGA and a PCI bridge interface ASIC. A small\n@@ -17289,15 +17289,15 @@\n loadrt hal_gm\n \n During loading (or attempted loading) the driver prints some useful debugging messages to the kernel\n log, which can be viewed with dmesg.\n Up to 3 boards may be used in one system.\n The following connectors can be found on the GM6-PCI card:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 330 / 1291\n \n Figure 6.2: GM6-PCI card connectors and LEDs\n \n 6.3.1 I/O connectors\n \n@@ -17333,15 +17333,15 @@\n 2\n IOx/0\n \n Each pin can be configured as digital input or output. GM6-PCI motion control card has 4 general\n purpose I/O (GPIO) connectors, with eight configurable I/O on each. Every GPIO pin and parameter\n name begins as follows:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 331 / 1291\n \n gm..gpio.\n \n where is from 0 to 3.\n State of the first pin of the first GPIO connector on the GM6-PCI card.\n@@ -17389,15 +17389,15 @@\n When True, pin value will be inverted.\n Used when pin is configured as output.\n \n 6.3.2 Axis connectors\n \n Figure 6.4: Pin numbering of axis connectors\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 332 / 1291\n \n Table 6.6: Pinout of axis connectors\n 1\n 2\n 3\n@@ -17425,15 +17425,15 @@\n modules to the axis connectors. Seven different system configurations are presented in the System integration manual for evaluating typical applications. Also the detailed description of the Axis modules\n can be found in the System integration manual.\n For evaluating the appropriate servo-drive structure the modules have to be connected as the following\n block diagram shows:\n \n Figure 6.5: Servo axis interfaces\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 333 / 1291\n \n 6.3.2.2 Encoder\n The GM6-PCI motion control card has six encoder modules. Each encoder module has three channels:\n \u2022 Channel-A\n \u2022 Channel-B\n@@ -17497,15 +17497,15 @@\n calculate velocity. It greatly reduces\n quantization noise as compared to\n simply differentiating the position\n output. When the measured velocity is\n below min-speed-estimate, the\n velocity output is 0.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 334 / 1291\n \n Table 6.8: Encoder parameters\n Parameters\n .counter-mode\n \n@@ -17580,15 +17580,15 @@\n example, if position-scale is 2000, then\n 1000 counts of the encoder will\n produce a position of 0.5 units.\n \n Setting encoder module of axis 0 to receive 500 CPR quadrature encoder signal and use\n reset to round position.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 335 / 1291\n \n setp gm.0.encoder.0.counter-mode 0\n # 0: quad, 1: stepDir\n setp gm.0.encoder.0.index-mode 1\n # 0: reset pos at index, 1:round pos at index\n@@ -17659,15 +17659,15 @@\n \n Parameter description\n When 0, module produces Step/Dir signal.\n When 1, it produces Up/Down step signals.\n And when it is 2, it produces quadrature\n output signals.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 336 / 1291\n \n Table 6.10: (continued)\n Parameters\n .control-type\n \n@@ -17724,15 +17724,15 @@\n Minimum time between two step pulses in\n nano-seconds.\n Minimum time between step pulse and\n direction change in nanoseconds.\n \n For evaluating the appropriate values see the timing diagrams below:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 337 / 1291\n \n Figure 6.6: Reference signal timing diagrams\n Setting StepGen module of axis 0 to generate 1000 step pulse per position unit\n setp gm.0.stepgen.0.step-type 0\n setp gm.0.stepgen.0.control-type 0\n@@ -17750,15 +17750,15 @@\n # step generator, let interpolator control it.\n setp gm.0.stepgen.0.position-scale 1000 # 1000 step/position unit\n setp gm.0.stepgen.0.steplen 1000\n # 1000 ns = 1 \u00b5s\n setp gm.0.stepgen.0.stepspace1000\n # 1000 ns = 1 \u00b5s\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 338 / 1291\n \n setp gm.0.stepgen.0.dirdelay 2000\n \n # 2000 ns = 2 \u00b5s\n \n@@ -17811,15 +17811,15 @@\n direction\n (bit, In)\n \n Pin description\n Enable DAC output. When enable is\n false, DAC output is 0.0 V.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 339 / 1291\n \n Table 6.12: (continued)\n Pins\n \n Type and\n@@ -17882,15 +17882,15 @@\n gm..can-gm.\n \n where is from 0 to 5. For example, gm.0.can-gm.0.position refers to the output position\n of axis 0 in position units.\n HAL pins are updated by function:\n gm..write\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 340 / 1291\n \n 6.3.3.1 Pins\n Table 6.14: CAN module pins\n Pins\n \n@@ -17936,15 +17936,15 @@\n \n Pin description\n Indicates that watchdog timer is expired.\n \n Watchdog timer overrun causes the set of power-enable to low in hardware.\n 6.3.4.2 Parameters\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 341 / 1291\n \n Table 6.17: Watchdog parameters\n Parameters\n \n Type and\n@@ -18049,15 +18049,15 @@\n 2\n V+\n (Ext.)\n \n The GM6-PCI motion control card has two limit- and one homing switch input for each joint. All the\n names of these pins begin as follows:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 342 / 1291\n \n gm..joint.\n \n where is from 0 to 5. For example, gm.0.joint.0.home-sw-in indicates the state of the\n axis 0 home switch.\n@@ -18113,15 +18113,15 @@\n 6.3.6 Status LEDs\n 6.3.6.1 CAN\n Color: Orange\n \u2022 Blink, during data communication.\n \u2022 On, when any of the buffers are full - communication error.\n \u2022 Off, when no data communication.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 343 / 1291\n \n 6.3.6.2 RS485\n Color: Orange\n \u2022 Blink, during initialization of modules on the bus\n \u2022 On, when the data communication is up between all initialized modules.\n@@ -18146,15 +18146,15 @@\n Available module types:\n \u2022 8-channel relay output module - gives eight NO-NC relay output on a three pole terminal connector\n for each channel.\n \u2022 8-channel digital input module - gives eight optical isolated digital input pins.\n \u2022 8 channel ADC and 4-channel DAC module - gives four digital-to-analogue converter outputs and\n eight analogue-to-digital inputs. This module is also optically isolated from the GM6-PCI card.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 344 / 1291\n \n Automatic node recognizing Each node connected to the bus was recognized by the GM6-PCI card\n automatically. During starting LinuxCNC, the driver export pins and parameters of all available modules automatically.\n Fault handling If a module does not answer regularly the GM6-PCI card drops down the module. If\n a module with output do not gets data with correct CRC regularly, the module switch to error state\n@@ -18184,15 +18184,15 @@\n Type and\n direction\n (bit, Out)\n \n Pin description\n Output pin for relay\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 345 / 1291\n \n Table 6.23: Relay output module parameters\n Parameters\n \n Type and\n@@ -18255,15 +18255,15 @@\n # First input of the node.\n # Identifies the first GM6-PCI motion control card (PCI card address\n # Selects node with address 0 on the RS485 bus\n # Selects the first digital input module\n \n \u2190-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 346 / 1291\n \n 6.3.7.3 DAC & ADC module\n For pinout, connection and electrical charasteristics of the module, please refer to the System integration manual.\n All the pins and parameters are updated by the following function:\n gm..rs485\n@@ -18335,15 +18335,15 @@\n #\n .adc-0\n \n # First analogue channel of the node.\n # Identifies the first GM6-PCI motion control card (PCI card address \u2190# Selects node with address 0 on the RS485 bus\n # Selects the first analogue input of the module\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 347 / 1291\n \n 6.3.7.4 Teach Pendant module\n For pinout, connection and electrical charasteristics of the module, please refer to the System integration manual.\n All the pins and parameters are updated by the following function:\n gm..rs485\n@@ -18425,15 +18425,15 @@\n # First analogue channel of the node.\n # Identifies the first GM6-PCI motion control card (PCI card address\n # Selects node with address 0 on the RS485 bus\n # Selects the first analogue input of the module\n \n \u2190-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 348 / 1291\n \n 6.3.8 Errata\n 6.3.8.1 GM6-PCI card Errata\n The revision number in this section refers to the revision of the GM6-PCI card device.\n Rev. 1.2\n@@ -18466,15 +18466,15 @@\n number you set on the GS2.\n \u2022 -v or --verbose Turn on debug messages.\n \u2022 -A or --accel-seconds (default: 10.0) Seconds to accelerate the spindle from 0 to max. RPM.\n \u2022 -D or --decel-seconds (default: 0.0) Seconds to decelerate the spindle from max. RPM to 0. If\n set to 0.0 the spindle will be allowed to coast to a stop without controlled deceleration.\n 2 In Europe the equivalent can be found under the brand name Omron.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 349 / 1291\n \n \u2022 -R or --braking-resistor This argument should be used when a braking resistor is installed on the\n GS2 VFD (see Appendix A of the GS2 manual). It disables deceleration over-voltage stall prevention\n (see GS2 modbus Parameter 6.05), allowing the VFD to keep braking even in situations where the\n motor is regenerating high voltage. The regenerated voltage gets safely dumped into the braking\n@@ -18504,15 +18504,15 @@\n \u2022 .spindle-on (bit, in) 1 for ON and 0 for OFF sent to VFD\n \u2022 .status-1 (s32, out) Drive Status of the VFD (see the GS2 manual)\n \u2022 .status-2 (s32, out) Drive Status of the VFD (see the GS2 manual)\n Note\n The status value is a sum of all the bits that are on. So a 163 which means the drive is in the run\n mode is the sum of 3 (run) + 32 (freq set by serial) + 128 (operation set by serial).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 350 / 1291\n \n 6.4.3 Parameters\n With being gs2_vfd or the name given during loading with the -n option:\n \u2022 .error-count (s32, RW)\n \u2022 .loop-time (float, RW) how often the modbus is polled (default: 0.1)\n@@ -18560,15 +18560,15 @@\n 0x00000004\n \n Pin Num\n 3\n 5\n 7\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 351 / 1291\n \n Table 6.29: (continued)\n GPIO Num\n 5\n 6\n@@ -18682,15 +18682,15 @@\n \n 6.5.4 Parameters\n Only the standard timing parameters which are created for all components exist.\n *hal_pi_gpio.read.tmax *hal_pi_gpio.read.tmax-increased *hal_pi_gpio.write.tmax *hal_pi_gpio.write.tmaxincreased\n For unknown reasons the driver also creates HAL pins to indicate timing\n *hal_pi_gpio.read.time *hal_pi_gpio.write.time\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 352 / 1291\n \n 6.5.5 Functions\n \u2022 hal_pi_gpio.read - Add this to the base thread to update the HAL pin values to match the physical\n input values.\n \u2022 hal_pi_gpio.write - Add this to the base thread to update the physical pins to match the HAL values.\n@@ -18728,15 +18728,15 @@\n reset=GPIO21,GPIO22\n \n This driver relies on the libgpiod-dev library and the gpiod package, which contains a number of\n utilities for configuring and querying GPIO. The GPIO pin names in the \u201dloadrt\u201d line of the HAL given\n above should be the names given by the gpioinfo command.\n Sample output (truncated):\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n $ gpioinfo\n gpiochip0 - 54 lines:\n line\n 0:\n \u201dID_SDA\u201d\n line\n@@ -18877,15 +18877,15 @@\n opendrain\n opensource\n biasdisable\n pulldown\n pullup\n The version of libgpiod-dev installed can be determined by the command gpioinfo -v\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 354 / 1291\n \n 6.6.3 Pins\n \u2022 hal_gpio.NAME-in - HAL_OUT The value of an input pin presented in to HAL\n \u2022 hal_gpio.NAME-in-not - HAL_OUT An inverted version of the above, for convenience\n \u2022 hal_gpio.NAME-out - HAL_IN use this pin to transfer a HAL bit value to a physical output\n@@ -18922,15 +18922,15 @@\n SUBSYSTEM==\u201dbcm2835-gpiomem\u201d, GROUP=\u201dgpio\u201d, MODE=\u201d0660\u201d\n SUBSYSTEM==\u201dgpio\u201d, GROUP=\u201dgpio\u201d, MODE=\u201d0660\u201d\n SUBSYSTEM==\u201dgpio*\u201d, PROGRAM=\u201d/bin/sh -c \u2019\\\n chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio;\\\n chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/ \u2190virtual/gpio;\\\n chown -R root:gpio /sys$devpath && chmod -R 770 /sys$devpath\\\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 355 / 1291\n \n \u2019\u201d\n SUBSYSTEM==\u201dpwm*\u201d, PROGRAM=\u201d/bin/sh -c \u2019\\\n chown -R root:gpio /sys/class/pwm && chmod -R 770 /sys/class/pwm;\\\n chown -R root:gpio /sys/devices/platform/soc/*.pwm/pwm/pwmchip* && chmod -R 770 \u2190/sys/devices/platform/soc/*.pwm/pwm/pwmchip*\\\n@@ -18963,15 +18963,15 @@\n \u2022 5I22 (96 I/O pins): using hm2_pci module\n \u2013 16-channel servo\n \u2013 8-channel servo plus 24 step/dir generators\n \u2022 5I20, 5I23, 4I65, 4I68 (72 I/O pins): using hm2_pci module\n \u2013 12-channel servo\n \u2013 8-channel servo plus 4 step/dir generators\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 356 / 1291\n \n \u2013 4-channel servo plus 8 step/dir generators\n \u2022 7I43 (48 I/O pins): using hm2_7i43 module\n \u2013 8-channel servo (8 PWM generators & 8 encoders)\n \u2013 4-channel servo plus 4 step/dir generators\n@@ -19010,15 +19010,15 @@\n because the I/O Pins have become inputs).\n Resetting the watchdog resets the I/O pins to the configuration chosen at load-time.\n If the firmware includes a watchdog, the following HAL objects will be exported:\n 6.7.5.1 Pins\n \u2022 has_bit - (bit i/o) True if the watchdog has bit, False if the watchdog has not bit. If the watchdog\n has bit and the has_bit bit is True, the user can reset it to False to resume operation.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 357 / 1291\n \n 6.7.5.2 Parameters\n \u2022 timeout_ns - (u32 read/write) Watchdog timeout, in nanoseconds. This is initialized to 5,000,000\n (5 milliseconds) at module load time. If more than this amount of time passes between calls to the\n hm2 write function, the watchdog will bite.\n@@ -19058,15 +19058,15 @@\n connections to your card based on your configuration.\n An example of a 5I20 configuration:\n [HOSTMOT2]\n DRIVER=hm2_pci\n BOARD=5i20\n CONFIG=\u201dfirmware=hm2/5i20/SVST8_4.BIT num_encoders=1 num_pwmgens=1 num_stepgens=3\u201d\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 358 / 1291\n \n The above configuration produced this printout.\n [ 1141.053386] hm2/hm2_5i20.0: 72 I/O Pins used:\n [ 1141.053394] hm2/hm2_5i20.0: IO Pin 000 (P2-01): IOPort\n [ 1141.053397] hm2/hm2_5i20.0: IO Pin 001 (P2-03): IOPort\n@@ -19110,15 +19110,15 @@\n mothercard on LinuxCNC startup. If you are using Run In Place, you must still install a hostmot2firmware- package. There is more information about firmware and configuration in the Configurations section.\n \n 6.7.10 HAL Pins\n The HAL pins for each configuration can be seen by opening up Show HAL Configuration from the\n Machine menu. All the HAL pins and parameters can be found there. The following figure is of the\n 5I20 configuration used above.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 359 / 1291\n \n Figure 6.9: 5i20 HAL Pins\n \n 6.7.11 Configurations\n The Hostmot2 firmware is available in several versions, depending on what you are trying to accomplish. You can get a reminder of what a particular firmware is for by looking at the name. Let\u2019s look\n@@ -19134,15 +19134,15 @@\n (and save a 7I47). So in this way we can save two ports (48 bits) for GPIO.\n Here are tables of the firmwares available in the official packages. There may be additional firmwares\n available at the Mesanet.com website that have not yet made it into the LinuxCNC official firmware\n packages, so check there too.\n 3x20 (6-port various) Default Configurations (The 3x20 comes in 1M, 1.5M, and 2M gate versions. So\n far, all firmware is available in all gate sizes.)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Firmware\n SV24\n SVST16_24\n \n Encoder\n 24\n@@ -19355,15 +19355,15 @@\n 0\n 4\n \n GPIO\n 0\n 0\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Firmware\n SVST8_4IM2\n \n Encoder\n 8 (+IM)\n \n@@ -19468,15 +19468,15 @@\n \u2022 in - (Bit, Out) Normal state of the hardware input pin. Both full GPIO pins and I/O pins used as\n inputs by active module instances have this pin.\n \u2022 in_not - (Bit, Out) Inverted state of the hardware input pin. Both full GPIO pins and I/O pins used\n as inputs by active module instances have this pin.\n \u2022 out - (Bit, In) Value to be written (possibly inverted) to the hardware output pin. Only full GPIO pins\n have this pin.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 362 / 1291\n \n 6.7.12.2 Parameters\n \u2022 invert_output - (Bit, RW) This parameter only has an effect if the is_output parameter is true. If this\n parameter is true, the output value of the GPIO will be the inverse of the value on the out HAL pin.\n Only full GPIO pins and I/O pins used as outputs by active module instances have this parameter.\n@@ -19513,15 +19513,15 @@\n \u2022 position-cmd - (Float, In) Target position of stepper motion, in user-defined position units.\n \u2022 position-fb - (Float, Out) Feedback position in user-defined position units (counts / position_scale).\n \u2022 velocity-cmd - (Float, In) Target velocity of stepper motion, in user-defined position units per second.\n This pin is only used when the stepgen is in velocity control mode (control-type=1).\n \u2022 velocity-fb - (Float, Out) Feedback velocity in user-defined position units per second.\n 3 At present, the firmware supports multi-phase stepper outputs, but the driver doesn\u2019t. Interested volunteers are solicited.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 363 / 1291\n \n 6.7.13.2 Parameters\n \u2022 dirhold - (u32, RW) Minimum duration of stable Direction signal after a step ends, in nanoseconds.\n \u2022 dirsetup - (u32, RW) Minimum duration of stable Direction signal before a step begins, in nanoseconds.\n \u2022 maxaccel - (Float, RW) Maximum acceleration, in position units per second per second. If set to 0,\n@@ -19556,15 +19556,15 @@\n The function of the Out0 and Out1 I/O pins varies with output-type parameter (see below).\n The hm2 pwmgen representation is similar to the software pwmgen component. Each pwmgen instance has the following pins and parameters:\n 6.7.14.1 Pins\n \u2022 enable - (Bit, In) If true, the pwmgen will set its Not-Enable pin false and output its pulses. If enable\n is false, pwmgen will set its Not-Enable pin true and not output any signals.\n \u2022 value - (Float, In) The current pwmgen command value, in arbitrary units.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 364 / 1291\n \n 6.7.14.2 Parameters\n \u2022 output-type - (s32, RW) This emulates the output_type load-time argument to the software pwmgen\n component. This parameter may be changed at runtime, but most of the time you probably want\n to set it at startup and then leave it alone. Accepted values are 1 (PWM on Out0 and Direction on\n@@ -19606,15 +19606,15 @@\n the resulting value on the I/O pin is available on the in and in_not pins. Only full GPIO pins and\n I/O pins used as outputs by active module instances have this parameter.\n \n 6.7.15 Encoder\n Encoders have names like hm2_..encoder... Instance is a twodigit number that corresponds to the HostMot2 encoder instance number. There are num_encoders\n instances, starting with 00.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 365 / 1291\n \n Each encoder uses three or four input I/O pins, depending on how the firmware was compiled. Threepin encoders use A, B, and Index (sometimes also known as Z). Four-pin encoders use A, B, Index, and\n Index-mask.\n The hm2 encoder representation is similar to the one described by the Canonical Device Interface\n (in the HAL General Reference document), and to the software encoder component. Each encoder\n@@ -19651,15 +19651,15 @@\n direction is B.\n \u2022 vel-timeout - (Float, RW) When the encoder is moving slower than one pulse for each time that the\n driver reads the count from the FPGA (in the hm2_read() function), the velocity is harder to estimate.\n The driver can wait several iterations for the next pulse to arrive, all the while reporting the upper\n bound of the encoder velocity, which can be accurately guessed. This parameter specifies how long\n to wait for the next pulse, before reporting the encoder stopped. This parameter is in seconds.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 366 / 1291\n \n 6.7.16 5I25 Configuration\n 6.7.16.1 Firmware\n The 5I25 firmware comes preloaded for the daughter card it is purchased with. So the firmware=xxx.BIT\n is not part of the hm2_pci configuration string when using a 5I25.\n@@ -19693,15 +19693,15 @@\n maxlimit: +10\n maxfullscale: 10\n If you wanted to say scale the analog out of a channel to IPS for a velocity mode servo (say 24 IPS\n max) you could set the limits like this:\n minlimit: -24\n maxlimit: +24\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 367 / 1291\n \n maxfullscale: 24\n If you wanted to scale the analog out of a channel to RPM for a 0 to 6000 RPM spindle with 0-10 V\n control you could set the limits like this:\n minlimit: 0\n@@ -19733,15 +19733,15 @@\n to facilitate the low level protocol debug.\n \u2022 You have more than one device to connect. MB2HAL is very efficiently managing multiple devices,\n transactions and links. Currently I am monitoring two axis drivers using a Rs232 port, a VFD driver\n using another Rs232 port, and a remote I/O using TCP/IP.\n \u2022 You want a protocol to connect your Arduino to HAL. Look the included sample configuration file,\n sketch and library for Arduino Modbus.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 368 / 1291\n \n 6.8.2 Usage\n a. Create a config file from the example below\n 1. Set component name (optional)\n Set HAL_MODULE_NAME=mymodule (default HAL_MODULE_NAME=mb2hal)\n@@ -19821,15 +19821,15 @@\n The serial port. For example \u201d/dev/ttyS0\u201d. Ignored if\n LINK_TYPE=serial\n LINK_TYPE=tcp.\n SERIAL_BAUD Integer If\n The baud rate. Ignored if LINK_TYPE=tcp.\n LINK_TYPE=serial\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 369 / 1291\n \n Value\n Type\n Required\n Description\n@@ -19922,15 +19922,15 @@\n parameter above.\n \n 6.8.3.3 Error codes\n While debugging transactions, note the returned \u201dret[]\u201d value correspond to:\n Modbus protocol exceptions:\n \u2022 0x01 - ILLEGAL_FUNCTION - the FUNCTION code received in the query is not allowed or invalid.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 370 / 1291\n \n \u2022 0x02 - ILLEGAL_DATA_ADDRESS - the DATA ADDRESS received in the query is not an allowable\n address for the slave or is invalid.\n \u2022 0x03 - ILLEGAL_DATA_VALUE - a VALUE contained in the data query field is not an allowable value\n or is invalid.\n@@ -19966,15 +19966,15 @@\n # ++++++++++++++++++++++++\n [MB2HAL_INIT]\n #OPTIONAL: Debug level of init and INI file parsing.\n # 0 = silent.\n # 1 = error messages (default).\n # 2 = OK confirmation messages.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 371 / 1291\n \n # 3 = debugging messages.\n # 4 = maximum debugging messages (only in transactions).\n INIT_DEBUG=3\n #OPTIONAL: Set to 1.1 to enable the new functions:\n@@ -20019,15 +20019,15 @@\n SERIAL_BAUD=115200\n #if LINK_TYPE=serial then REQUIRED (only 1st time).\n #if LINK_TYPE=tcp then IGNORED\n #Data bits. One of 5,6,7,8.\n SERIAL_BITS=8\n #if LINK_TYPE=serial then REQUIRED (only 1st time).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 372 / 1291\n \n #if LINK_TYPE=tcp then IGNORED\n #Data parity. One of: even, odd, none.\n SERIAL_PARITY=none\n #if LINK_TYPE=serial then REQUIRED (only 1st time).\n@@ -20111,15 +20111,15 @@\n #\n Both pin values are added and limited to 65535 (UINT16_MAX). Normally use one and let \u2190the other open (read as 0).\n # fnct_15_write_multiple_coils:\n #\n mb2hal.m.n.bit\n (input)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 373 / 1291\n \n # fnct_16_write_multiple_registers:\n #\n mb2hal.m.n.float\n (input)\n@@ -20182,15 +20182,15 @@\n -0x07 Unsuccessful programming request using function code 13 or \u219014.\n #MEMORY_PARITY_ERROR\n -0x08 SLAVE parity error in MEMORY.\n #GATEWAY_PROBLEM_PATH\n -0x0A (-10) Gateway path(s) not available.\n #GATEWAY_PROBLEM_TARGET -0x0B (-11) The target device failed to repond (generated by \u2190master, not slave).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n #/* Program or connection */\n #COMM_TIME_OUT\n -0x0C (-12)\n #PORT_SOCKET_FAILURE\n -0x0D (-13)\n #SELECT_FAILURE\n@@ -20247,15 +20247,15 @@\n HAL_TX_NAME=XDrive02\n MAX_UPDATE_RATE=10.0\n DEBUG=1\n [TRANSACTION_07]\n \n 374 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 375 / 1291\n \n MB_TX_CODE=fnct_06_write_single_register\n FIRST_ELEMENT=20\n NELEMENTS=1\n HAL_TX_NAME=XDrive03\n@@ -20288,15 +20288,15 @@\n 6.8.5.3 fnct_03_read_holding_registers\n \u2022 mb2hal.m.n.float float out\n \u2022 mb2hal.m.n.int s32 out\n 6.8.5.4 fnct_04_read_input_registers\n \u2022 mb2hal.m.n.float float out\n \u2022 mb2hal.m.n.int s32 out\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 376 / 1291\n \n 6.8.5.5 fnct_05_write_single_coil\n \u2022 mb2hal.m.n.bit bit in\n NELEMENTS needs to be 1 or PIN_NAMES must contain just one name.\n 6.8.5.6 fnct_06_write_single_register\n@@ -20327,15 +20327,15 @@\n This component is loaded using the halcmd \u201dloadusr\u201d command:\n loadusr -Wn coolant mitsub_vfd spindle=02 coolant=01\n \n The above command says:\n loadusr, wait for coolant pins to be ready, component mitsub_vfd, with 2 slaves named spindle (slave\n #2) and coolant (slave #1)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 377 / 1291\n \n 6.9.1 Command Line Options\n The command line options are:\n \u2022 -b or --baud : set the baud rate - all networked VFDs must be the same\n \u2022 -p or --port : sets the port to use such as /dev/ttyUSB0\n@@ -20361,15 +20361,15 @@\n \u2022 .scale-fb (float, in) Scales the motor-fb pin to arbitrary units. default 1 = Hertz.\n \u2022 .scale-amps (float, in) Scales the motor-amps pin to arbitrary units. default 1 = amps.\n \u2022 .scale-power (float, in) Scales the motor-power pin to arbitrary units. default 1 = .\n \u2022 .estop (bit, in) puts the VFD into emergency-stopped status.\n \u2022 .status-bit-N (bit, out) N = 0 to 7, status bits are user configurable on the VFD. Bit 3 should be\n set to at speed and bit 7 should be set to alarm. Others are free to be set as required.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 378 / 1291\n \n 6.9.3 HAL example\n #\n # example usage of the Mitsubishi VFD driver\n #\n@@ -20428,15 +20428,15 @@\n Fr-A700 F700 E700 D700 technical manual for the 700 series\n The VFD must have PR settings adjusted manually for serial communication.\n One must power cycle the VFD for some of these to register eg PR 79\n \u2022 PR 77 set to 1 -to unlock other PR modification.\n \u2022 PR 79 set to 1 or 0 -for communication thru serial.\n \u2022 PR 117 set to 0-31 -slave number, driver must reference same number.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 379 / 1291\n \n \u2022 PR 118 tested with 96 -baud rate (can be set to 48,96,192) if driver is also set.\n \u2022 PR 119 set to 0 -stop bit/data length (8 bits, two stop)\n \u2022 PR 120 set to 0 -no parity\n \u2022 PR 121 set to 1-10 -if 10 (maximum) COM errors then VFD faults.\n@@ -20472,15 +20472,15 @@\n \u2022 (bit) motenc..enc--reset-count - If this pin is true, the counter will immediately\n be reset to zero, and the pin will be cleared.\n \u2022 (float) motenc..dac--value - Analog output value for DAC (in user units, see -gain\n and -offset)\n \u2022 (float) motenc..adc--value - Analog input value read by ADC (in user units, see\n -gain and -offset)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 380 / 1291\n \n \u2022 (bit) motenc..in- - State of digital input pin, see canonical digital input.\n \u2022 (bit) motenc..in--not - Inverted state of digital input pin, see canonical digital\n input.\n \u2022 (bit) motenc..out- - Value to be written to digital output, seen canonical digital\n@@ -20526,15 +20526,15 @@\n \u2022 (funct) motenc..encoder-read - Reads all encoder counters.\n \u2022 (funct) motenc..adc-read - Reads the analog-to-digital converters.\n \u2022 (funct) motenc..digital-in-read - Reads digital inputs.\n \u2022 (funct) motenc..dac-write - Writes the voltages to the DACs.\n \u2022 (funct) motenc..digital-out-write - Writes digital outputs.\n \u2022 (funct) motenc..misc-update - Updates misc stuff.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 381 / 1291\n \n 6.11 Opto22 Driver\n PCI AC5 ADAPTER CARD / HAL DRIVER\n \n 6.11.1 The Adapter Card\n@@ -20570,15 +20570,15 @@\n signal to this pin to write to an I/O point of the card. The PINNUMBER represents the position in\n the relay rack.Eg. PINNUMBER 23 is position 23 in a Opto22 relay rack and would be pin 1 on the\n 50 pin header connector.\n \u2022 opto_ac5.[BOARDNUMBER].led[NUMBER] OUT bit - Turns one of the 4 onboard LEDs on/off. LEDs\n are numbered 0 to 3.\n BOARDNUMBER can be 0-3 PORTNUMBER can be 0 or 1. Port 0 is closest to the card bracket.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 382 / 1291\n \n 6.11.4 Parameters\n \u2022 opto_ac5.[BOARDNUMBER].port[PORTNUMBER].out-[PINNUMBER]-invert W bit - When TRUE,\n invert the meaning of the corresponding -out pin so that TRUE gives LOW and FALSE gives HIGH.\n \n@@ -20615,15 +20615,15 @@\n 24 bits represented in a BINARY number. Bit 1 is the rightmost number:\n 16 zeros for the 16 inputs and 8 ones for the 8 outputs\n 000000000000000011111111\n \n This converts to FF on the calculator, so 0xff is the number to use for portconfig0 and/or portconfig1\n when loading the driver.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 383 / 1291\n \n 6.11.7 Pin Numbering\n HAL pin 00 corresponds to bit 1 (the rightmost) which represents position 0 on an Opto22 relay rack.\n HAL pin 01 corresponds to bit 2 (one spot to the left of the rightmost) which represents position 1 on\n an Opto22 relay rack. HAL pin 23 corresponds to bit 24 (the leftmost) which represents position 23\n@@ -20666,15 +20666,15 @@\n addresses, so if one is at 00, the next would have to be 02.)\n Alternatively, the 8 digital output pins can be used as additional digital outputs, it works the same\n way as above with the syntax : extradout=0xnn\u2019. The extradac and extradout options are mutually\n exclusive on each board, you can only specify one.\n The UPC and PPMC encoder boards can timestamp the arrival of encoder counts to refine the derivation of axis velocity. This derived velocity can be fed to the PID hal component to produce smoother D\n term response. The syntax is : timestamp=0xnn[,0xmm], this works the same way as above to select\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 384 / 1291\n \n which board is being configured. Default is to not enable the timestamp option. If you put this option\n on the command line, it enables the option. The first n selects the EPP bus, the second one matches\n the address of the board having the option enabled. The driver checks the revision level of the board\n to make sure it has firmware supporting the feature, and produces an error message if the board does\n@@ -20717,15 +20717,15 @@\n function has to be enabled in the HAL command line that starts the PPMC driver, with the timestamp=0x00 option.\n \u2022 (All float output) ppmc..encoder..position - Encoder position, in user units.\n \u2022 (All bit bidir) ppmc..encoder..index-enable - Connect to joint.#.index-enable for\n home-to-index. This is a bidirectional HAL signal. Setting it to true causes the encoder hardware\n to reset the count to zero on the next encoder index pulse. The driver will detect this and set the\n signal back to false.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 385 / 1291\n \n \u2022 (PPMC float output) ppmc..DAC..value - sends a signed value to the 16-bit Digital\n to Analog Converter on the PPMC DAC16 board commanding the analog output voltage of that DAC\n channel.\n \u2022 (UPC bit input) ppmc..pwm..enable - Enables a PWM generator.\n@@ -20764,15 +20764,15 @@\n an output value equal to the 1/scale value will produce an output of + or - value Volts. So, if the\n scale parameter is 0.1 and you send a value of 0.5, the output will be 5.0 Volts.\n \u2022 (UPC float) ppmc..pwm..scale - Scaling for PWM generator. If scale is X, then the\n duty cycle will be 100% when the value pin is X (or -X).\n \u2022 (UPC float) ppmc..pwm..max-dc - Maximum duty cycle, from 0.0 to 1.0.\n \u2022 (UPC float) ppmc..pwm..min-dc - Minimum duty cycle, from 0.0 to 1.0.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 386 / 1291\n \n \u2022 (UPC float) ppmc..pwm..duty-cycle - Actual duty cycle (used mostly for troubleshooting.)\n \u2022 (UPC bit) ppmc..pwm..bootstrap - If true, the PWM generator will generate a\n short sequence of pulses of both polarities when E-stop goes false, to reset the shutdown latches\n on some PWM servo drives.\n@@ -20807,15 +20807,15 @@\n These writes are organized into blocks of contiguous registers to be written in a block to minimize\n CPU overhead.\n \n 6.13 Pluto P Driver\n 6.13.1 General Info\n The Pluto-P is a FPGA board featuring the ACEX1K chip from Altera.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 387 / 1291\n \n 6.13.1.1 Requirements\n 1. A Pluto-P board\n 2. An EPP-compatible parallel port, configured for EPP mode in the system BIOS or a PCI EPP\n compatible parallel port card.\n@@ -20852,15 +20852,15 @@\n isolation and protection. Traditional parallel port optoisolator boards do not work with pluto_servo\n due to the bidirectional nature of the EPP protocol.\n 6.13.1.4 LED\n \u2022 When the device is unprogrammed, the LED glows faintly. When the device is programmed, the\n LED glows according to the duty cycle of PWM0 (LED = UP0 xor DOWN0) or STEPGEN0 (LED =\n STEP0 xor DIR0).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 388 / 1291\n \n 6.13.1.5 Power\n \u2022 A small amount of current may be drawn from VCC. The available current depends on the unregulated DC input to the board. Alternately, regulated +3.3VDC may be supplied to the FPGA through\n these VCC pins. The required current is not yet known, but is probably around 50mA plus I/O\n current.\n@@ -20891,15 +20891,15 @@\n The PWM period is approximately 19.5 kHz (40 MHz / 2047). A PDM-like mode is also available.\n \u2022 18 digital outputs: 10 dedicated, 8 shared with PWM functions. (Example: A lathe with unidirectional PWM spindle control may use 13 total digital outputs)\n \u2022 20 digital inputs: 8 dedicated, 12 shared with Quadrature functions. (Example: A lathe with index\n pulse only on the spindle may use 13 total digital inputs.)\n \u2022 EPP communication with the PC. The EPP communication typically takes around 100 \u00b5s on machines\n tested so far, enabling servo rates above 1 kHz.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 389 / 1291\n \n 6.13.2.1 Pinout\n \u2022 UPx - The up (up/down mode) or pwm (pwm+direction mode) signal from PWM generator X. May be\n used as a digital output if the corresponding PWM channel is unused, or the output on the channel\n is always negative. The corresponding digital output invert may be set to TRUE to make UPx active\n@@ -20929,15 +20929,15 @@\n \n Behavior if both\n functions used\n When pwm-0-pwmdir is\n TRUE, this pin is the PWM\n output\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 390 / 1291\n \n Table 6.41: (continued)\n Primary function\n \n Alternate Function\n@@ -21050,15 +21050,15 @@\n \n 6.13.2.2 Input latching and output updating\n \u2022 PWM duty cycles for each channel are updated at different times.\n \u2022 Digital outputs OUT0 through OUT9 are all updated at the same time. Digital outputs OUT10\n through OUT17 are updated at the same time as the pwm function they are shared with.\n \u2022 Digital inputs IN0 through IN19 are all latched at the same time.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 391 / 1291\n \n \u2022 Quadrature positions for each channel are latched at different times.\n 6.13.2.3 HAL Functions, Pins and Parameters\n A list of all loadrt arguments, HAL function names, pin names and parameter names is in the manual\n page, pluto_servo.9.\n@@ -21085,15 +21085,15 @@\n \u2022 OUTx - Dedicated digital output #x\n \u2022 GND - Ground\n \u2022 VCC - +3.3V regulated DC\n While the extended main connector has a superset of signals usually found on a Step & Direction DB25\n connector\u20144 step generators, 9 inputs, and 6 general-purpose outputs\u2014the layout on this header is\n different than the layout of a standard 26-pin ribbon cable to DB25 connector.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 392 / 1291\n \n Figure 6.11: Pluto-Step Pinout\n \n 6.13.3.2 Input latching and output updating\n \u2022 Step frequencies for each channel are updated at different times.\n@@ -21102,15 +21102,15 @@\n \u2022 Feedback positions for each channel are latched at different times.\n 6.13.3.3 Step Waveform Timings\n The firmware and driver enforce step length, space, and direction change times. Timings are rounded\n up to the next multiple of 1.6\u03bcs, with a maximum of 49.6\u03bcs. The timings are the same as for the software stepgen component, except that dirhold and dirsetup have been merged into a single parameter\n dirtime which should be the maximum of the two, and that the same step timings are always applied\n to all channels.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 393 / 1291\n \n Figure 6.12: Pluto-Step Timings\n \n 6.13.3.4 HAL Functions, Pins and Parameters\n A list of all loadrt arguments, HAL function names, pin names and parameter names is in the manual\n@@ -21125,15 +21125,15 @@\n \n This component is loaded using the halcmd \u201dloadusr\u201d command:\n loadusr -Wn pmx485 pmx485 /dev/ttyUSB0\n \n This will load the pmx485 component using the /dev/ttyUSB0 port and wait for it to become ready.\n It is necessary to name the port to use for communications.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 394 / 1291\n \n 6.14.1 Pins\n \u2022 pmx485.mode-set (bit, in) # set cutting mode\n \u2022 pmx485.current-set (bit, in) # set cutting current\n \u2022 pmx485.pressure-set (bit, in) # set gas pressure\n@@ -21164,15 +21164,15 @@\n \u2022 Disconnect the Powermax power supply from its power source for approximately 30 seconds. When\n you power the system back ON, it will no longer be in remote mode.\n \n 6.14.3 Reference:\n \u2022 Hypertherm Application Note #807220\n \u201dPowermax45 XP/65/85/105/125\u00ae Serial Communication Protocol\u201d\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 395 / 1291\n \n 6.15 Servo To Go Driver\n The Servo-To-Go (STG) is one of the first PC motion control cards supported by LinuxCNC. It is an\n ISA card and it exists in different flavors (all supported by this driver). The board includes up to 8\n channels of quadrature encoder input, 8 channels of analog input and output, 32 bits digital I/O, an\n@@ -21212,15 +21212,15 @@\n 6.15.2 Pins\n \u2022 stg..counts - (s32) Tracks the counted encoder ticks.\n \u2022 stg..position - (float) Outputs a converted position.\n \u2022 stg..dac-value - (float) Drives the voltage for the corresponding DAC.\n \u2022 stg..adc-value - (float) Tracks the measured voltage from the corresponding ADC.\n \u2022 stg.in- - (bit) Tracks a physical input pin.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 396 / 1291\n \n \u2022 stg.in--not - (bit) Tracks a physical input pin, but inverted.\n \u2022 stg.out- - (bit) Drives a physical output pin\n For each pin, is the axis number, and is the logic pin number of the STG if\n IIOO is defined, there are 16 input pins (in-00 .. in-15) and 16 output pins (out-00 .. out-15), and they\n@@ -21254,15 +21254,15 @@\n and ShuttlePRO2 devices with LinuxCNC\u2019s HAL.\n If the driver is started without command-line arguments, it will probe all /dev/hidraw* device files for\n Shuttle devices, and use all devices found. If it is started with command-line arguments, it will only\n probe the devices specified.\n The ShuttleXpress has five momentary buttons, a 10 counts/revolution jog wheel with detents, and a\n 15-position spring-loaded outer wheel that returns to center when released.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 397 / 1291\n \n The ShuttlePRO has 13 momentary buttons, a 10 counts/revolution jog wheel with detents, and a\n 15-position spring-loaded outer wheel that returns to center when released.\n The ShuttlePRO2 has 15 momentary buttons, a 10 counts/revolution jog wheel with detents, and a\n 15-position spring-loaded outer wheel that returns to center when released.\n@@ -21300,15 +21300,15 @@\n .spring-wheel-s32 (s32 out)\n The current deflection of the spring-wheel (the outer wheel). It\u2019s 0 at rest, and ranges from -7 at\n the counter-clockwise extreme to +7 at the clockwise extreme.\n .spring-wheel-f (float out)\n The current deflection of the spring-wheel (the outer wheel). It\u2019s 0.0 at rest, -1.0 at the counterclockwise extreme, and +1.0 at the clockwise extreme. The Shuttle devices report the springwheel position as an integer from -7 to +7, so this pin reports only 15 discrete values in it\u2019s\n range.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 398 / 1291\n \n 6.17 VFS11 VFD Driver\n This is a non-realtime HAL program to control the S11 series of VFDs from Toshiba.\n vfs11_vfd supports serial and TCP connections. Serial connections may be RS232 or RS485. RS485 is\n supported in full- and half-duplex mode. TCP connections may be passive (wait for incoming connection), or active outgoing connections, which may be useful to connect to TCP-based devices or through\n@@ -21341,15 +21341,15 @@\n \u2022 .acceleration-pattern (bit, in) when true, set acceleration and deceleration times as defined in\n registers F500 and F501 respectively. Used in PID loops to choose shorter ramp times to avoid\n oscillation.\n \u2022 .alarm-code (s32, out) non-zero if drive is in alarmed state. Bitmap describing alarm information (see register FC91 description). Use err-reset (see below) to clear the alarm.\n \u2022 .at-speed (bit, out) when drive is at commanded speed (see speed-tolerance below)\n \u2022 .current-load-percentage (float, out) reported from the VFD\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 399 / 1291\n \n \u2022 .dc-brake (bit, in) engage the DC brake. Also turns off spindle-on.\n \u2022 .enable (bit, in) enable the VFD. If false, all operating parameters are still read but control is\n released and panel control is enabled (subject to VFD setup).\n \u2022 .err-reset (bit, in) reset errors (alarms a.k.a Trip and e-stop status). Resetting the VFD may\n@@ -21386,15 +21386,15 @@\n \u2022 .status (s32, out) Drive Status of the VFD (see the TOSVERT VF-S11 Communications Function\n Instruction Manual, register FD01). A bitmap.\n \u2022 .trip-code (s32, out) trip code if VF-S11 is in tripped state.\n \u2022 .error-count (s32, out) number of Modbus transactions which returned an error\n \u2022 .max-speed (bit, in) ignore the loop-time parameter and run Modbus at maximum speed, at the\n expense of higher CPU usage. Suggested use during spindle positioning.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 400 / 1291\n \n 6.17.3 Parameters\n Where is vfs11_vfd or the name given during loading with the -n option.\n \u2022 .frequency-limit (float, RO) upper limit read from VFD setup.\n \u2022 .loop-time (float, RW) how often the Modbus is polled (default interval 0.1 seconds)\n@@ -21430,15 +21430,15 @@\n # 1 2\n STOPBITS=1\n #rs232 rs485\n SERIAL_MODE=rs485\n # up down none\n # this feature might not work with a stock Ubuntu\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n # libmodbus5/libmodbus-dev package, and generate a warning\n # execution will continue as if RTS_MODE=up were given.\n RTS_MODE=up\n #--------------------# modbus timers in seconds\n # inter-character timer\n BYTE_TIMEOUT=0.5\n@@ -21477,15 +21477,15 @@\n # see orient.9 and motion.9\n net spindle-orient spindle.0.orient spindle-vfd.max-speed spindle-vfd.jog-mode\n # take precedence over control panel\n setp spindle-vfd.enable 1\n \n 401 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 402 / 1291\n \n 6.17.6 Panel operation\n The vfs11_vfd driver takes precedence over panel control while it is enabled (see enable pin), effectively disabling the panel. Clearing the enable pin re-enables the panel. Pins and parameters can still\n be set, but will not be written to the VFD untile the enable pin is set. Operating parameters are still\n read while bus control is disabled. Exiting the vfs11_vfd driver in a controlled way will release the\n@@ -21519,15 +21519,15 @@\n protocol. So the last parameter which you\u2019d want to change is the protocol - set from Toshiba Inverter\n Protocol to Modbus; thereafter, the Windows app is useless.\n To increase the upper frequency limit, the UL and FH parameters must be changed on the panel. I\n increased them from 50 to 80.\n See dump-params.mio for a description of non-standard VF-S11 parameters of my setup. This file is\n for the modio Modbus interactive utility.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 403 / 1291\n \n 6.17.9 Programming Note\n The vfs11_vfd driver uses the libmodbus version 3 library which is more recent than the version 2\n code used in gs2_vfd.\n The Ubuntu libmodbus5 and libmodbus-dev packages are only available starting from Ubuntu 12\n@@ -21535,15 +21535,15 @@\n Therefore, building vfs11_vfd using this library might generate a warning if RTS_MODE= is specified\n in the INI file.\n To use the full functionality on lucid and precise:\n \u2022 remove the libmodbus packages: sudo apt-get remove libmodbus5 libmodbus-dev\n \u2022 build and install libmodbus version 3 from source as outlined here.\n Libmodbus does not build on Ubuntu Hardy, hence vfs11_vfd is not available on Hardy.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 404 / 1291\n \n Chapter 7\n \n Hardware Examples\n 7.1 PCI Parallel Port\n@@ -21574,15 +21574,15 @@\n and then added the following lines so the parport will be read and written:\n addf parport.1.read base-thread\n addf parport.1.write base-thread\n \n After doing the above then run your config and verify that the parallel port got loaded in Machine/Show\n HAL Configuration window.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 405 / 1291\n \n 7.2 Spindle Control\n LinuxCNC can control up to 8 spindles. The number is set in the INI file. The examples below all\n refer to a single-spindle config with spindle control pins with names like spindle.0... In the case of a\n multiple spindle machine all that changes is that additional pins exist with names such as spindle.6...\n@@ -21618,15 +21618,15 @@\n \n 7.2.3 Spindle Enable\n If you need a spindle enable signal, link your output pin to spindle.0.on. To link these pins to a\n parallel port pin put something like the following in your .hal file, making sure you pick the pin that\n is connected to your control device.\n net spindle-enable spindle.0.on => parport.0.pin-14-out\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 406 / 1291\n \n 7.2.4 Spindle Direction\n If you have direction control of your spindle, then the HAL pins spindle.N.forward and spindle.N.reverse\n are controlled by the G-codes M3 and M4. Spindle speed Sn must be set to a positive non-zero value\n for M3/M4 to turn on spindle motion.\n@@ -21668,15 +21668,15 @@\n # the output of spindle ramp is sent to the scale in\n net spindle-ramped <= spindle-ramp.out => scale.0.in\n # to know when to start the motion we send the near component\n # (named spindle-at-speed) to the spindle commanded speed from\n \n \u2190-\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 407 / 1291\n \n # the signal spindle-cmd and the actual spindle speed\n # provided your spindle can accelerate at the maxv setting.\n net spindle-cmd => spindle-at-speed.in1\n net spindle-ramped => spindle-at-speed.in2\n@@ -21716,15 +21716,15 @@\n 1 In this example, we will assume that some encoders have already been issued to axes/joints 0, 1, and 2. So the next encoder\n available for us to attach to the spindle would be number 3. Your situation may differ.\n 2 The HAL encoder index-enable is an exception to the rule in that it behaves as both an input and an output, see the Encoder\n Section for details\n 3 It is because we selected non-quadrature simple counting\u2026 above that we can get away with quadrature counting without\n having any B quadrature input.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 408 / 1291\n \n 7.2.6.2 Spindle At Speed\n To enable LinuxCNC to wait for the spindle to be at speed before executing a series of moves, the\n spindle.N.at-speed needs to turn true at the moment the spindle is at the commanded speed. To\n achieve this you need spindle feedback from an encoder. Since the feedback and the commanded\n@@ -21764,15 +21764,15 @@\n loadrt encoder num_chan=1\n loadrt mux4 count=1\n addf encoder.capture-position servo-thread\n addf encoder.update-counters base-thread\n addf mux4.0 servo-thread\n # If your MPG outputs a quadrature signal per click set x4 to 1\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 409 / 1291\n \n # If your MPG puts out 1 pulse per click set x4 to 0\n setp encoder.0.x4-mode 0\n # For velocity mode, set to 1\n # In velocity mode the axis stops when the dial is stopped\n@@ -21819,15 +21819,15 @@\n loadrt ilowpass\n addf ilowpass.0 servo-thread\n setp ilowpass.0.scale 1000\n setp ilowpass.0.gain 0.01\n # If your MPG outputs a quadrature signal per click set x4 to 1\n # If your MPG puts out 1 pulse per click set x4 to 0\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 410 / 1291\n \n setp encoder.0.x4-mode 0\n # For velocity mode, set to 1\n # In velocity mode the axis stops when the dial is stopped\n # even if that means the commanded motion is not completed,\n@@ -21870,15 +21870,15 @@\n 7.4.1 Example\n This example shows the connections needed to use an Automation Direct GS2 VFD to drive a spindle.\n The spindle speed and direction is controlled by LinuxCNC.\n Using the GS2 component involves very little to set up. We start with a StepConf Wizard generated\n config. Make sure the pins with \u201dSpindle CW\u201d and \u201dSpindle PWM\u201d are set to unused in the parallel\n port setup screen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 411 / 1291\n \n In the custom.hal file we place the following to connect LinuxCNC to the GS2 and have LinuxCNC\n control the drive.\n GS2 Example\n # load the non-realtime component for the Automation Direct GS2 VFDs\n@@ -21907,15 +21907,15 @@\n \u2022 P4.00 (Source of Frequency Command) must be set to Frequency determined by RS232C/RS485\n communication interface, 05.\n \u2022 P9.01 (Transmission Speed) must be set to 9600 baud, 01.\n \u2022 P9.02 (Communication Protocol) must be set to \u201dModbus RTU mode, 8 data bits, no parity, 2 stop\n bits\u201d, 03.\n A PyVCP panel based on this example is here.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 412 / 1291\n \n Chapter 8\n \n ClassicLadder\n 8.1 ClassicLadder Introduction\n@@ -21945,15 +21945,15 @@\n along the top and bottom of the page while the rungs are drawn vertically from left to right.\n A program in ladder logic, also called a ladder diagram, is similar to a schematic for a set of relay\n circuits. Ladder logic is useful because a wide variety of engineers and technicians can understand\n and use it without much additional training because of the resemblance.\n Ladder logic is widely used to program PLCs, where sequential control of a process or manufacturing\n operation is required. Ladder logic is useful for simple but critical control systems, or for reworking\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 413 / 1291\n \n old hardwired relay circuits. As programmable logic controllers became more sophisticated it has\n also been used in very complex automation systems.\n Ladder logic can be thought of as a rule-based language, rather than a procedural language. A rung in\n the ladder represents a rule. When implemented with relays and other electromechanical devices, the\n@@ -21983,15 +21983,15 @@\n \n The input on the left, B0, a normally open contact, is connected to the coil (output) on the right, Q0.\n Now imagine a voltage gets applied to the leftmost end, because the input B0 turns true (e.g. the\n input is activated, or the user pushed the NO contact). The voltage has a direct path to reach the coil\n (output) on the right, Q0. As a consequence, the Q0 coil (output) will turn from 0/off/false to 1/on/true.\n If the user releases B0, the Q0 output quickly returns to 0/off/false.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 414 / 1291\n \n 8.1.4 Basic Latching On-Off Circuit\n Building on the above example, suppose we add a switch that closes whenever the coil Q0 is active.\n This would be the case in a relay, where the coil can activate the switch contacts; or in a contactor,\n where there are often several small auxiliary contacts in addition to the large 3-phase contacts that\n@@ -22023,15 +22023,15 @@\n back on.\n This circuit has been used for decades on virtually every machine that has a three-phase motor controlled by a contactor, so it was inevitable that it would be adopted by ladder/PLC programmers. It is\n also a very safe circuit, in that if start and stop are both pressed at the same time, the stop function\n always wins.\n This is the basic building block of much of ladder programming, so if you are new to it, you would do\n well to make sure that you understand how this circuit operates.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 415 / 1291\n \n 8.2 ClassicLadder Programming\n 8.2.1 Ladder Concepts\n ClassicLadder is a type of programming language originally implemented on industrial PLCs (it\u2019s\n called Ladder Programming). It is based on the concept of relay contacts and coils, and can be used\n@@ -22060,15 +22060,15 @@\n 8.2.3.1 Files\n Typically ClassicLadder components are placed in the custom.hal file if your working from a StepConf\n generated configuration. These must not be placed in the custom_postgui.hal file or the Ladder Editor\n menu will be grayed out.\n Note\n Ladder files (.clp) must not contain any blank spaces in the name.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 416 / 1291\n \n 8.2.3.2 Realtime Module\n Loading the ClassicLadder real time module (classicladder_rt) is possible from a HAL file, or directly\n using a halcmd instruction. The first line loads real time the ClassicLadder module. The second line\n adds the function classicladder.0.refresh to the servo thread. This line makes ClassicLadder update\n@@ -22147,15 +22147,15 @@\n \n Objects of most interest are numPhysInputs, numPhysOutputs, numS32in, and numS32out.\n Changing these numbers will change the number of HAL bit pins available. numPhysInputs and\n numPhysOutputs control how many HAL bit (on/off) pins are available. numS32in and numS32out\n control how many HAL signed integers (+- integer range) pins are available.\n For example (you don\u2019t need all of these to change just a few):\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 417 / 1291\n \n loadrt classicladder_rt numRungs=12 numBits=100 numWords=10\n numTimers=10 numMonostables=10 numCounters=10 numPhysInputs=10\n numPhysOutputs=10 numArithmExpr=100 numSections=4 numSymbols=200\n numS32in=5 numS32out=5\n@@ -22189,29 +22189,29 @@\n If you first load ladder program with the --nogui option then load ClassicLadder again with no options\n the GUI will display the last loaded ladder program.\n In AXIS you can load the GUI from File/Ladder Editor\u2026\n \n 8.2.5 ClassicLadder GUI\n If you load ClassicLadder with the GUI it will display two windows: Section display, and section manager.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 418 / 1291\n \n 8.2.5.1 Sections Manager\n When you first start up ClassicLadder you get an empty Sections Manager window.\n \n Figure 8.1: Sections Manager Default Window\n This window allows you to name, create or delete sections and choose what language that section\n uses. This is also how you name a subroutine for call coils.\n 8.2.5.2 Section Display\n When you first start up ClassicLadder you get an empty Section Display window. Displayed is one\n empty rung.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 419 / 1291\n \n Figure 8.2: Section Display Default Window\n Most of the buttons are self explanatory:\n The Vars button is for looking at variables, toggle it to display one, the other, both, then none of the\n windows.\n@@ -22229,15 +22229,15 @@\n %Q and the first %W (in an equation). You might see some funny labels, such as (103) in the rungs.\n This is displayed (on purpose) because of an old bug- when erasing elements older versions sometimes\n didn\u2019t erase the object with the right code. You might have noticed that the long horizontal connection\n button sometimes did not work in the older versions. This was because it looked for the free code but\n found something else. The number in the brackets is the unrecognized code. The ladder program will\n still work properly, to fix it erase the codes with the editor and save the program.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 420 / 1291\n \n 8.2.5.3 The Variable Windows\n This are two variable windows: the Bit Status Window (boolean) and the Watch Window (signed integer). The Vars button is in the Section Display Window, toggle the Vars button to display one, the\n other, both, then none of the variable windows.\n \n@@ -22248,28 +22248,28 @@\n areas at the top allow you to select what 15 variables will be displayed in each column. For instance,\n if the %B Variable column were 15 entries high, and you entered 5 at the top of the column, variables\n %B5 to %B19 would be displayed. The check boxes allow you to set and unset %B variables manually\n as long as the ladder program isn\u2019t setting them as outputs. Any Bits that are set as outputs by the\n program when ClassicLadder is running can not be changed and will be displayed as checked if on\n and unchecked if off.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 421 / 1291\n \n Figure 8.4: Watch Window\n The Watch Window displays variable status. The edit box beside it is the number stored in the variable\n and the drop-down box beside that allow you to choose whether the number to be displayed in hex,\n decimal or binary. If there are symbol names defined in the symbols window for the word variables\n showing and the display symbols checkbox is checked in the section display window, symbol names\n will be displayed. To change the variable displayed, type the variable number, e.g. %W2 (if the\n display symbols check box is not checked) or type the symbol name (if the display symbols checkbox\n is checked) over an existing variable number/name and press the Enter Key.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 422 / 1291\n \n 8.2.5.4 Symbol Window\n \n Figure 8.5: Symbol Names window\n This is a list of symbol names to use instead of variable names to be displayed in the section window\n@@ -22277,30 +22277,30 @@\n and capital letters), symbol name. If the variable can have a HAL signal connected to it (%I, %Q, and\n %W-if you have loaded s32 pin with the real time module) then the comment section will show the\n current HAL signal name or lack thereof. Symbol names should be kept short to display better. Keep\n in mind that you can display the longer HAL signal names of %I, %Q and %W variable by clicking on\n them in the section window. Between the two, one should be able to keep track of what the ladder\n program is connected to!\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 423 / 1291\n \n 8.2.5.5 The Editor window\n \n Figure 8.6: Editor Window\n \u2022 Add - adds a rung after the selected rung\n \u2022 Insert - inserts a rung before the selected rung\n \u2022 Delete - deletes the selected rung\n \u2022 Modify - opens the selected rung for editing\n Starting from the top left image:\n \u2022 Object Selector, Eraser\n \u2022 N.O. Input, N.C. Input, Rising Edge Input, Falling Edge Input\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 424 / 1291\n \n \u2022 Horizontal Connection, Vertical Connection, Long Horizontal Connection\n \u2022 Timer IEC Block, Counter Block, Compare Variable\n \u2022 Old Timer Block, Old Monostable Block (These have been replaced by the IEC Timer)\n \u2022 COILS - N.O. Output, N.C. Output, Set Output, Reset Output\n@@ -22329,21 +22329,21 @@\n \u2022 Compare - creates a compare block to compare variable to values or other variables, e.g. %W1<=5\n or %W1=%W2. Compare cannot be placed in the right most side of the section display.\n \u2022 Variable Assignment - creates an assignment block so you to assign values to variables, e.g. %W2=7\n or %W1=%W2. ASSIGNMENT functions can only be placed at the right most side of the section display.\n 8.2.5.6 Config Window\n The config window shows the current project status and has the Modbus setup tabs.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 425 / 1291\n \n Figure 8.7: Config Window\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 426 / 1291\n \n 8.2.6 Ladder objects\n 8.2.6.1 CONTACTS\n Represent switches or relay contacts. They are controlled by the variable letter and number assigned\n to them.\n@@ -22380,15 +22380,15 @@\n The time intervals can be set in multiples of 100&8239;ms, seconds, or minutes.\n There are also Variables for IEC timers that can be read and/or written to in compare or operate\n blocks.\n \u2022 %TMxxx.Q - timer done (Boolean, read write)\n \u2022 %TMxxx.P - timer preset (read write)\n \u2022 %TMxxx.V - timer value (read write)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 427 / 1291\n \n 8.2.6.3 TIMERS\n Represent count down timers. This is deprecated and replaced by IEC Timers.\n Timers have 4 contacts.\n \u2022 E - enable (input) starts timer when true, resets when goes false\n@@ -22418,15 +22418,15 @@\n 8.2.6.5 COUNTERS\n Represent up/down counters.\n There are 7 contacts:\n \u2022 R - reset (input) will reset the count to 0.\n \u2022 P - preset (input) will set the count to the preset number assigned from the edit menu.\n \u2022 U - up count (input) will add one to the count.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 428 / 1291\n \n \u2022 D - down count (input) will subtract one from the count.\n \u2022 E - under flow (output) will be true when the count rolls over from 0 to 9999.\n \u2022 D - done (output) will be true when the count equals the preset.\n \u2022 F - overflow (output) will be true when the count rolls over from 9999 to 0.\n@@ -22459,15 +22459,15 @@\n %W1<2*%C0.V\n \n To find out if S32in bit 2 is equal to 10 the syntax would be:\n %IW2=10\n \n Note: Compare uses the arithmetic equals not the double equals that programmers are used to.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 429 / 1291\n \n 8.2.6.7 VARIABLE ASSIGNMENT\n For variable assignment, e.g. assign this number (or evaluated number) to this variable %xxx, there\n are two math functions MINI and MAXI that check a variable for maximum (0x80000000) and minimum values (0x07FFFFFFF) (think signed values) and keeps them from going beyond.\n When a new variable assignment block is opened be sure to delete the # symbol when you enter an\n@@ -22484,23 +22484,23 @@\n when LinuxCNC is started.\n \n The following figure shows an Assignment and a Comparison Example. %QW0 is a S32out bit and\n %IW0 is a S32in bit. In this case the HAL pin classicladder.0.s32out-00 will be set to a value of\n 5 and when the HAL pin classicladder.0.s32in-00 is 0 the HAL pin classicladder.0.out-00 will\n be set to True.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Figure 8.8: Assign/Compare Ladder Example\n \n Figure 8.9: Assignment Expression Example\n \n 430 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 431 / 1291\n \n Figure 8.10: Comparison Expression Example\n \n 8.2.6.8 COILS\n Coils represent relay coils. They are controlled by the variable letter and number assigned to them.\n@@ -22526,15 +22526,15 @@\n If you use a N.C. contact with a N.C. coil the logic will work (when the coil is energized the\n contact will be closed) but that is really hard to follow!\n \n A JUMP COIL is used to JUMP to another section, like a goto in BASIC programming language.\n If you look at the top left of the sections display window you will see a small label box and a longer\n comment box beside it. Now go to Editor\u2192Modify then go back to the little box, type in a name.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 432 / 1291\n \n Go ahead and add a comment in the comment section. This label name is the name of this rung only\n and is used by the JUMP COIL to identify where to go.\n When placing a JUMP COIL, add it in the rightmost position and change the label to the rung you want\n to JUMP to.\n@@ -22581,15 +22581,15 @@\n \u2022 %M \u0300\n __xx__.P \u0300 - Monostable xx preset (integer)\n \u2022 %C \u0300\n __xx__.D \u0300 - Counter xx done (Boolean, user read only)\n \u2022 %C \u0300\n __xx__.E \u0300 - Counter xx empty overflow (Boolean, user read only)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 433 / 1291\n \n \u2022 %C \u0300\n __xx__.F \u0300 - Counter xx full overflow (Boolean, user read only)\n \u2022 %C \u0300\n __xx__.V \u0300 - Counter xx current value (integer)\n@@ -22628,15 +22628,15 @@\n Selector arrow, Eraser\n Ordinary step, Initial (Starting) step\n Transition, Step and Transition\n Transition Link-Downside, Transition Link-Upside\n Pass-through Link-Downside, Pass-through Link-Upside Jump\n Link, Comment Box\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 434 / 1291\n \n Figure 8.11: Sequence Editor Window\n \u2022 ORDINARY STEP - has a unique number for each one\n \u2022 STARTING STEP - a sequential program must have one. This is where the program will start.\n \u2022 TRANSITION - shows the variable that must be true for control to pass through to the next step.\n@@ -22647,15 +22647,15 @@\n \u2022 PASS-THROUGH LINK-DOWNSIDE - splits the logic flow to two lines that BOTH must be true to\n continue (Think AND logic)\n \u2022 PASS-THROUGH LINK-UPSIDE - combines two concurrent (AND logic) logic lines back together\n \u2022 JUMP LINK - connects steps that are not underneath each other such as connecting the last step to\n the first\n \u2022 COMMENT BOX - used to add comments\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 435 / 1291\n \n To use links, you must have steps already placed. Select the type of link, then select the two steps or\n transactions one at a time. It takes practice!\n With sequential programming: The variable %X \u0300\n __xxx__ (e.g., \u0300\n@@ -22689,21 +22689,21 @@\n \u2022 6 - write single register\n \u2022 8 - echo test\n \u2022 15 - write multiple coils\n \u2022 16 - write multiple registers\n If you do not specify a --modmaster when loading the ClassicLadder non-realtime program this page\n will not be displayed.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 436 / 1291\n \n Figure 8.12: Modbus I/O Config\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 437 / 1291\n \n Figure 8.13: Modbus Communication Config\n \u2022 SERIAL PORT - For IP blank. For serial the location/name of serial driver, e.g., /dev/ttyS0 ( or\n /dev/ttyUSB0 for a USB-to-serial converter).\n \u2022 SERIAL SPEED - Should be set to speed the slave is set for - 300, 600, 1200, 2400, 4800, 9600,\n@@ -22718,15 +22718,15 @@\n \u2022 DEBUG LEVEL - Set this to 0-3 (0 to stop printing debug info besides no-response errors).\n \u2022 READ COILS/INPUTS MAP TO - Select what variables that read coils/inputs will update. (B or Q).\n \u2022 WRITE COILS MAP TO - Select what variables that write coils will updated from (B,Q,or I).\n \u2022 READ REGISTERS/HOLDING - Select what variables that read registers will update (W or QW).\n \u2022 WRITE REGISTERS MAP TO - Select what variables that read registers will updated from (W, QW,\n or IW).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 438 / 1291\n \n \u2022 SLAVE ADDRESS - For serial the slaves ID number usually settable on the slave device (usually\n 1-256). For IP the slave IP address plus optionally the port number.\n \u2022 TYPE ACCESS - This selects the MODBUS function code to send to the slave (eg what type of\n request).\n@@ -22765,15 +22765,15 @@\n \u2022 ClassicLadder uses RTU protocol (not ASCII).\n \u2022 8 data bits, No parity is used, and 1 stop bit is also known as 8-N-1.\n \u2022 Baud rate must be the same for slave and master. ClassicLadder can only have one baud rate so all\n the slaves must be set to the same rate.\n \u2022 Pause inter frame is the time to pause after receiving an answer.\n \u2022 MODBUS_TIME_AFTER_TRANSMIT is the length of pause after sending a request and before receiving an answer (this apparently helps with USB converters which are slow).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 439 / 1291\n \n 8.2.10.1 MODBUS Info\n \u2022 ClassicLadder can use distributed inputs/outputs on modules using the Modbus protocol (\u201dmaster\u201d:\n polling slaves).\n \u2022 The slaves and theirs I/O can be configured in the config window.\n@@ -22803,24 +22803,24 @@\n 8.2.11 Debugging modbus problems\n A good reference for the protocol: https://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b.pdf.\n If you run linuxcnc/classicladder from a terminal, it will print the Modbus commands and slave responses.\n Here we set ClassicLadder to request slave 1, to read holding registers (function code 3) starting\n at address 8448 (0x2100). We ask for 1 (2 byte wide) data element to be returned. We map it to a\n ClassicLadder variable starting at 2.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 440 / 1291\n \n Figure 8.14: Modbus I/O Register Setup\n Note in this image we have set the debug level to 1 so modbus messages are printed to the terminal. We\n have mapped our read and written holding registers to ClassicLadder\u2019s %W variables so our returned\n data will be in %W2 as in the other image we mapped the data starting at the 2nd element.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 441 / 1291\n \n Figure 8.15: Modbus Communication Setup\n \n 8.2.11.1 Request\n Lets look at an example of reading one hold register at 8448 Decimal (0x2100 Hex).\n@@ -22848,15 +22848,15 @@\n (2\n 1 to 125 (0x7D)\n Bytes)\n (2\n Calculated\n bytes) automatically\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 442 / 1291\n \n Here is an example sent command as printed in the terminal (all Hex):\n INFO CLASSICLADDERModbus I/O module to send: Lgt=8 \n code-83 ) 2 C0 F1\n \n (Slave address-1\n@@ -22967,15 +22967,15 @@\n \u2022 Slave number = 1 (0x1) = Slave address 1\n \u2022 Requested function code = 3 (0x3) = read holding register requested\n \u2022 count of byte registers = 2 (0x1) = return 2 bytes (each register value is 2 bytes wide)\n \u2022 value of highbyte = 0 (0x0) = high byte value of address 8448 (0x2100)\n \u2022 value of lowbyte = 0 (0x0) = high byte value of address 8448 (0x2100)\n \u2022 Checksum = (0xB844)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 444 / 1291\n \n (high and low bytes are combined to create a 16 bit value and then transferred to ClassicLadder\u2019s\n variable.) Read Registers can be mapped to %W or %QW (internal memory or HAL out pins). Write\n registers can be mapped from %W, %QW or %IW (internal memory, HAL out pins or HAL in pins). The\n variable number will start at the number entered in the modbus I/O registry setup page\u2019s column:\n@@ -22994,15 +22994,15 @@\n \n 8.2.12 Setting up ClassicLadder\n In this section we will cover the steps needed to add ClassicLadder to a StepConf Wizard generated\n config. On the advanced Configuration Options page of StepConf Wizard check off \u201dInclude ClassicLadder PLC\u201d.\n \n Figure 8.16: StepConf ClassicLadder\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 445 / 1291\n \n 8.2.12.1 Add the Modules\n If you used the StepConf Wizard to add ClassicLadder you can skip this step.\n To manually add ClassicLadder you must first add the modules. This is done by adding a couple of\n lines to the custom.hal file.\n@@ -23018,48 +23018,48 @@\n window open the Editor. In the Editor window select Modify. Now a Properties window pops up and\n the Section Display shows a grid. The grid is one rung of ladder. The rung can contain branches.\n A simple rung has one input, a connector line and one output. A rung can have up to six horizontal\n branches. While it is possible to have more than one circuit in a run the results are not predictable.\n \n Figure 8.17: Section Display with Grid\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 446 / 1291\n \n Now click on the N.O. input in the Editor Window.\n \n Figure 8.18: Editor Window\n Now click in the upper left grid to place the N.O. Input into the ladder.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 447 / 1291\n \n Figure 8.19: Section Display with Input\n Repeat the above steps to add a N.O. output to the upper right grid and use the Horizontal Connection\n to connect the two. It should look like the following. If not, use the Eraser to remove unwanted\n sections.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 448 / 1291\n \n Figure 8.20: Section Display with Rung\n Now click on the OK button in the Editor window. Now your Section Display should look like this:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 449 / 1291\n \n Figure 8.21: Section Display Finished\n To save the new file select Save As and give it a name. The .clp extension will be added automatically.\n It should default to the running config directory as the place to save it.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 450 / 1291\n \n Figure 8.22: Save As Dialog\n Again if you used the StepConf Wizard to add ClassicLadder you can skip this step.\n To manually add a ladder you need to add add a line to your custom.hal file that will load your ladder\n file. Close your LinuxCNC session and add this line to your custom.hal file.\n@@ -23070,15 +23070,15 @@\n \n 8.3 ClassicLadder Examples\n 8.3.1 Wrapping Counter\n To have a counter that wraps around you have to use the preset pin and the reset pin. When you\n create the counter set the preset at the number you wish to reach before wrapping around to 0. The\n logic is if the counter value is over the preset then reset the counter and if the underflow is on then\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 451 / 1291\n \n set the counter value to the preset value. As you can see in the example when the counter value is\n greater than the counter preset the counter reset is triggered and the value is now 0. The underflow\n output %Q2 will set the counter value at the preset when counting backwards.\n \n@@ -23088,15 +23088,15 @@\n This example shows you how to reject extra pulses from an input. Suppose the input pulse %I0 has\n an annoying habit of giving an extra pulse that spoils our logic. The TOF (Timer Off Delay) prevents\n the extra pulse from reaching our cleaned up output %Q0. How this works is when the timer gets\n an input the output of the timer is on for the duration of the time setting. Using a normally closed\n contact %TM0.Q the output of the timer blocks any further inputs from reaching our output until it\n times out.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 452 / 1291\n \n Figure 8.24: Reject Extra Pulse\n \n 8.3.3 External E-Stop\n The External E-Stop example is in the /config/classicladder/cl-estop folder. It uses a PyVCP panel to\n@@ -23110,15 +23110,15 @@\n \n Next we add ClassicLadder to our custom.hal file by adding these two lines:\n loadrt classicladder_rt\n addf classicladder.0.refresh servo-thread\n \n Next we run our config and build the ladder as shown here.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 453 / 1291\n \n Figure 8.25: E-Stop Section Display\n After building the ladder select Save As and save the ladder as estop.clp\n Now add the following line to your custom.hal file.\n # Load the ladder\n@@ -23129,15 +23129,15 @@\n \u2022 %I1 = Input from LinuxCNC\u2019s E-Stop\n \u2022 %I2 = Input from LinuxCNC\u2019s E-Stop Reset Pulse\n \u2022 %I3 = Input from the PyVCP panel reset button\n \u2022 %Q0 = Output to LinuxCNC to enable\n \u2022 %Q1 = Output to external driver board enable pin (use a N/C output if your board had a disable pin)\n Next we add the following lines to the custom_postgui.hal file\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 454 / 1291\n \n # E-Stop example using PyVCP buttons to simulate external components\n # The PyVCP checkbutton simulates a normally closed external E-Stop\n net ext-estop classicladder.0.in-00 <= pyvcp.py-estop\n # Request E-Stop Enable from LinuxCNC\n@@ -23171,36 +23171,36 @@\n \u201dpy-reset\u201d\n \u201dReset\u201d\n \n \n \n Now start up your config and it should look like this.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 455 / 1291\n \n Figure 8.26: AXIS E-Stop\n Note that in this example like in real life you must clear the remote E-Stop (simulated by the checkbox)\n before the AXIS E-Stop or the external Reset will put you in OFF mode. If the E-Stop in the AXIS screen\n was pressed, you must press it again to clear it. You cannot reset from the external after you do an\n E-Stop in AXIS.\n \n 8.3.4 Timer/Operate Example\n In this example we are using the Operate block to assign a value to the timer preset based on if an\n input is on or off.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 456 / 1291\n \n Figure 8.27: Timer/Operate Example\n In this case %I0 is true so the timer preset value is 10. If %I0 was false the timer preset would be 5.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 457 / 1291\n \n Chapter 9\n \n Advanced Topics\n 9.1 Kinematics\n@@ -23228,15 +23228,15 @@\n Cartesian coordinates. The A B C axes refer to rotational coordinates about the X Y Z axes respectively.\n The U V W axes refer to additional coordinates that are commonly made colinear to the X Y Z axes\n respectively.\n 1 The word \u201daxes\u201d is also commonly (and wrongly) used when talking about CNC machines, and referring to the moving\n directions of the machine.\n 2 Kinematics: a two way function to transform from Cartesian space to joint space.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 458 / 1291\n \n 9.1.2 Trivial Kinematics\n The simplest machines are those in which which each joint is placed along one of the Cartesian axes.\n On these machines the mapping from Cartesian space (the G-code program) to the joint space (the\n actual actuators of the machine) is trivial. It is a simple 1:1 mapping:\n@@ -23290,15 +23290,15 @@\n 3 If the machine (for example a lathe) is mounted with only the X, Z and A axes and the INI file of LinuxCNC contains only\n \n the definition of these 3 joints, then the previous assertion is false. Because we currently have (joint0=X, joint1=Z, joint2=A)\n which assumes that joint1=Y. To make this work in LinuxCNC just define all the axes (XYZA), LinuxCNC will then use a simple\n loop in HAL for unused Y axis.\n 4 Another way to make it work is to change the corresponding code and recompile the software.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 459 / 1291\n \n Use of the coordinates= parameter is recommended for configurations that omit axis letters. 5\n The trivkins kinematics module also allows the same coordinate to be specified for more than one\n joint. This feature can be useful on machines like a gantry having two independent motors for the y\n coordinate. Such a machine could use coordinates=xyyz resulting in joint assignments:\n@@ -23319,15 +23319,15 @@\n \n Figure 9.1: Bipod setup\n 5 Historically, the trivkins module did not support the coordinates= parameter so lathe configs were often configured as XYZ\n machines. The unused Y axis was configured to 1) home immediately, 2) use a simple loopback to connect its position command\n HAL pin to its position feedback HAL pin, and 3) hidden in gui displays. Numerous sim configs use these methods in order to\n share common HAL files.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 460 / 1291\n \n The Bipod we are talking about is a device that consists of 2 motors placed on a wall, from which a\n device is hung using some wire. The joints in this case are the distances from the motors to the device\n (named AD and BD in the figure).\n The position of the motors is fixed by convention. Motor A is in (0,0), which means that its X coordinate\n@@ -23359,15 +23359,15 @@\n double x = (AD2 - BD2 + Bx * Bx) / (2 * Bx);\n double y2 = AD2 - x * x;\n if(y2 < 0) return -1;\n pos->tran.x = x;\n pos->tran.y = sqrt(y2);\n return 0;\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 461 / 1291\n \n 9.1.3.2 Inverse transformation\n The inverse kinematics is much easier in our example, as we can write it directly:\n \n or translated to actual code:\n@@ -23402,15 +23402,15 @@\n \n int kinematicsSwitchable(void)\n int kinematicsSwitch(int switchkins_type)\n KINS_NOT_SWITCHABLE\n \n The function kinematicsSwitchable() returns 1 if multiple kinematics types are supported. The function kinematicsSwitch() selects the kinematics type. See Switchable Kinematitcs.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 462 / 1291\n \n Note\n The majority of provided kinematics modules support a single kinematics type and use the directive\n \u201dKINS_NOT_SWITCHABLE\u201d to supply defaults for the required kinematicsSwitchable() and kinematicsSwitch() functions.\n \n@@ -23445,15 +23445,15 @@\n Note\n This document does not cover the creation of a vismach model which, while certainly very useful,\n requires just as much careful modeling if it is to match the genserkins model derived in this document.\n \n Note\n There may be errors and/or shortcomings \u2014 use at your own risk!\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 463 / 1291\n \n 9.2.2 General\n With the proliferation of industrial robots comes an increased interest to control used robots with\n LinuxCNC. A common type of robot used in industry and manufacturing is the \u201dserial manipulator\u201d\n designed as a series of motorized joints connected by rigid links. Serial robots often have six joints\n@@ -23496,15 +23496,15 @@\n \n 9.2.4 Modified DH-Parameters as used in genserkins\n Note that genserkins does not handle offsets to theta-values \u2014 theta is the joint variable that is controlled by LinuxCNC. With the CS aligned with the joint, a rotation around its Z-Axis is identical to\n the rotation commanded to that joint by LinuxCNC. This makes it impossible to define the 0\u00b0 position\n of our robots joints arbitrarily.\n The three configurable parameters are:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 464 / 1291\n \n 1. alpha : positive or negative rotation (in radians) around the X-axis of the \u201dcurrent coordinate\n system\u201d\n 2. a : positive distance, along X, between two joint axes specified in machine units (mm or inch)\n defined in the system\u2019s INI file.\n@@ -23536,87 +23536,87 @@\n but there is no point in setting it other than 0.\n \n 9.2.8 Detailed Example (RV-6SL)\n Described below is a method to derive the required \u201dmodified DH-parameters\u201d for a Mitsubishi RV6SDL and how to set the parameters in the HAL file to be used with the genserkins kinematics in\n LinuxCNC. The necessary dimensions are best taken from a dimensional drawing provided by the\n manufacturer of the robot.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 465 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 466 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 467 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 468 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 469 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 470 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 471 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 472 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 473 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 474 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 475 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 476 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 477 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 478 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 479 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 480 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 481 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 482 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 483 / 1291\n \n 9.2.9 Credits\n Thanks to user Aciera for all text and the graphics for the RV-6SL robot!\n \n 9.3 5-Axis Kinematics\n@@ -23645,27 +23645,27 @@\n the cutter tip position and the cutter orientation relative to the workpiece coordinate system. Two\n vectors, as generated by most CAM systems and shown in Fig. 1, contain this information:\n \n The K vector is equivalent to the 3rd vector from the pose matrix E6 that was used in the 6-axis robot\n kinematics [3] and the Q vector is equivalent to the 4th vector of E6 . In MASTERCAM for example\n this information is contained in the intermediate output \u201d.nci\u201d file.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 484 / 1291\n \n Figure 9.2: Cutter location data\n \n 9.3.4 Translation and Rotation Matrices\n Homogeneous transformations provide a simple way to describe the mathematics of multi-axis machine kinematics. A transformation of the space H is a 4x4 matrix and can represent translation and\n rotation transformations. Given a point x,y,x described by a vector u = {x,y,z,1}T , then its transformation v is represented by the matrix product\n \n There are four fundamental transformation matrices on which 5-axis kinematics can be based:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 485 / 1291\n \n The matrix T(a,b,c) implies a translation in the X, Y, Z coordinate directions by the amounts a, b, c\n respectively. The R matrices imply rotations of the angle theta about the X, Y and Z coordinate axes\n respectively. The C and S symbols refer to cosine and sine functions respectively.\n \n@@ -23675,15 +23675,15 @@\n \u2022 A rotary table which rotates about the vertical Z-axes (C-rotation, secondary) mounted on a tilting\n table which rotates about the X- or Y-axis (A- or B-rotation, primary). The workpiece is mounted on\n the rotary table.\n \u2022 A tilting table which rotates about the X- or Y-axis (A- or B-rotation, secondary) is mounted on a\n rotary table which rotates about the Z-axis (C-rotation, primary), with the workpiece on the tilting\n table.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 486 / 1291\n \n Figure 9.3: General configuration and coordinate systems\n A multi-axis machine can be considered to consist of a series of links connected by joints. By embedding a coordinate frame in each link of the machine and using homogeneous transformations, we can\n describe the relative position and orientation between these coordinate frames\n We need to describe a relationship between the workpiece coordinate system and the tool coordinate system. This can be defined by a transformation matrix w At , which can be found by subsequent\n@@ -23691,43 +23691,43 @@\n defined coordinate system. In general such a transformation may look as follows:\n \n where each matrix i-1 Aj is a translation matrix T or a rotation matrix R of the form (2,3).\n Matrix multiplication is a simple process in which the elements of each row of the lefthand matrix\n A is multiplied by the elements of each column of the righthand matrix B and summed to obtain an\n element in the result matrix C, ie.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 487 / 1291\n \n In Fig. 2 a generic configuration with coordinate systems is shown [4]. It includes table rotary/tilting\n axes as well as spindle rotary/tilting axes. Only two of the rotary axes are actually used in a machine\n tool.\n First we will develop the transformations for the first type of configuration mentioned above, ie. a table\n tilting/rotary (trt) type with no rotating axis offsets. We may give it the name xyzac-trt configuration.\n We also develop the transformations for the same type (xyzac-trt), but with rotating axis offsets.\n Then we develop the transformations for a xyzbc-trt configuration with rotating axis offsets.\n 9.3.5.1 Transformations for a xyzac-trt machine tool with work offsets\n \n Figure 9.4: vismach model of xyzac-trt with coincident rotation axes\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 488 / 1291\n \n We deal here with a simplified configuration in which the tilting axis and rotary axis intersects at a\n point called the pivot point as shown in Fig. 4. therefore the two coordinate systems Ows and Owp of\n Fig. 2 are coincident.\n \n Figure 9.5: Table tilting/rotary configuration\n The transformation can be defined by the sequential multiplication of the matrices:\n \n with the matrices built up as follows:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 489 / 1291\n \n In these equations Lx , Ly , Lz defines the offsets of the pivot point of the two rotary axes A and C\n relative to the workpiece coordinate system origin. Furthermore, Px , Py , Pz are the relative distances\n of the pivot point to the cutter tip position, which can also be called the \u201djoint coordinates\u201d of the pivot\n point. The pivot point is at the intersection of the two rotary axes. The signs of the SA and SC terms\n@@ -23746,56 +23746,56 @@\n Equating the last column of (8) with the tool position vector Q, we can write:\n \n The vector on the right hand side can also be written as the product of a matrix and a vector resulting\n in:\n \n This can be expanded to give\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 490 / 1291\n \n which is the forward transformation of the kinematics.\n We can solve for P from equation (13) as P = (Q AP )-1 * Q. Noting that the square matrix is a homogeneous 4x4 matrix containing a rotation matrix R and translation vector q, for which the inverse can\n be written as:\n \n where R^T is the transpose of R (rows and columns swappped). We therefore obtain:\n \n The desired equations for the inverse transformation of the kinematics thus can be written as:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 491 / 1291\n \n 9.3.5.2 Transformations for a xyzac-trt machine with rotary axis offsets\n \n Figure 9.6: vismach model of xyzac-trt with rotational axis offsets (positive)\n We deal here with a extended configuration in which the tilting axis and rotary axis do not intersect\n at a point but have an offset Dy . Furthermore, there is also an z-offset between the two coordinate\n systems Ows and Owp of Fig. 2, called Dz . A vismach model is shown in Fig. 5 and the offsets are\n shown in Fig. 6 (positive offsets in this example). To simplify the configuration, the offsets Lx , Ly , Lz\n of the previous case are not included. They are probably not necessary if one uses the G54 offsets in\n LinuxCNC by means of the \u201dtouch of\u201d facility.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 492 / 1291\n \n Figure 9.7: Table tilting/rotary xyzac-trt configuration, with axis offsets\n The transformation can be defined by the sequential multiplication of the matrices:\n \n with the matrices built up as follows:\n \n In these equations Dy , Dz defines the offsets of the pivot point of the rotary axes A relative to the\n workpiece coordinate system origin. Furthermore, Px , Py , Pz are the relative distances of the pivot\n point to the cutter tip position, which can also be called the \u201djoint coordinates\u201d of the pivot point. The\n pivot point is on the A rotary axis.\n When multiplied in accordance with (18), we obtain:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 493 / 1291\n \n We can now equate the third column of this matrix with our given tool orientation vector K, ie.:\n \n From these equations we can solve for the rotation angles thetaA , thetaC . From the third row we find:\n \n@@ -23809,42 +23809,42 @@\n in:\n \n which is the forward transformation of the kinematics.\n We can solve for P from equation (25) as P = (Q AP )-1 * Q using (15) as before. We thereby obtain:\n \n The desired equations for the inverse transformation of the kinematics thus can be written as:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 494 / 1291\n \n 9.3.5.3 Transformations for a xyzbc-trt machine with rotary axis offsets\n \n Figure 9.8: vismach model of xyzbc-trt with rotational axis offsets (negative)\n We deal here again with a extended configuration in which the tilting axis (about the y-axis) and rotary\n axis do not intersect at a point but have an offset Dx . Furthermore, there is also an z-offset between\n the two coordinate systems Ows and Owp of Fig. 2, called Dz . A vismach model is shown in Fig. 7\n (negative offsets in this example) and the positive offsets are shown in Fig. 8.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 495 / 1291\n \n Figure 9.9: Table tilting/rotary xyzbc-trt configuration, with axis offsets\n The transformation can be defined by the sequential multiplication of the matrices:\n \n with the matrices built up as follows:\n \n In these equations Dx , Dz defines the offsets of the pivot point of the rotary axes B relative to the\n workpiece coordinate system origin. Furthermore, Px , Py , Pz are the relative distances of the pivot\n point to the cutter tip position, which can also be called the \u201djoint coordinates\u201d of the pivot point. The\n pivot point is on the B rotary axis.\n When multiplied in accordance with (29), we obtain:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 496 / 1291\n \n We can now equate the third column of this matrix with our given tool orientation vector K, i.e.:\n \n From these equations we can solve for the rotation angles thetaB , thetaC . From the third row we find:\n \n@@ -23859,15 +23859,15 @@\n \n which is the forward transformation of the kinematics.\n We can solve for P from equation (37) as P = (Q AP )-1 * Q.\n With the same approach as before, we obtain:\n \n The desired equations for the inverse transformation of the kinematics thus can be written as:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 497 / 1291\n \n 9.3.6 Table Rotary/Tilting Examples\n LinuxCNC includes kinematics modules for the xyzac-trt and xyzbc-trt topologies described in the\n mathematics detailed above. For interested users, the source code is available in the git tree in the\n src/emc/kinematics/ directory.\n@@ -23911,15 +23911,15 @@\n \n 9.3.7 Custom Kinematics Components\n LinuxCNC implements kinematics using a HAL component that is loaded at startup of LinuxCNC. The\n most common kinematics module, trivkins, implements identity (trivial) kinematics where there is a\n one-to-one correspondence between an axis coordinate letter and a motor joint. Additional kinematics\n modules for more complex systems (including xyzac-trt and xyzbc-trt described above) are available.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 498 / 1291\n \n See the kins manpage (\\$ man kins) for brief descriptions of the available kinematics modules.\n The kinematics modules provided by LinuxCNC are typically written in the C-language. Since a standard structure is used, creation of a custom kinematics module is facilitated by copying an existing\n source file to a user file with a new name, modifying it, and then installing.\n Installation is done using halcompile:\n@@ -23941,29 +23941,29 @@\n module. These pins can be connected to a signal for dynamic control or set once with HAL connections\n like:\n # set offset parameters\n net :tool-offset motion.tooloffset.z xyzac-trt-kins.tool-offset\n setp xyzac-trt-kins.y-offset 0\n setp xyzac-trt-kins.z-offset 20\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 9.3.8 Figures\n \n Figure 9.10: Table tilting/rotating configuration\n \n 499 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Figure 9.11: Spindle/table tilting configuration\n \n 500 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 501 / 1291\n \n Figure 9.12: Spindle tilting/rotary configuration\n \n 9.3.9 REFERENCES\n 1. AXIS MACHINE TOOLS: Kinematics and Vismach Implementation in LinuxCNC, RJ du Preez,\n@@ -23978,15 +23978,15 @@\n \n 9.4 Switchable Kinematics (switchkins)\n 9.4.1 Introduction\n A number of kinematics modules support the switching of kinematics calculations. These modules\n support a default kinematics method (type0), a second built-in method (type1), and (optionally) a userprovided kinematics method (type2). Identity kinematics are typically used for the type1 method.\n The switchkins functionality can be used for machines where post-homing joint control is needed during setup or to avoid movement near singularities from G-code. Such machines use specific kinematics\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 502 / 1291\n \n calculations for most operations but can be switched to identity kinematics for control of individual\n joints after homing.\n The kinematics type is selected by a motion module HAL pin that can be updated from a G-code\n program or by interactive MDI commands. The halui provisions for activating MDI commands can be\n@@ -24022,15 +24022,15 @@\n # custom identity ordering: joint0==c, joint1==b, ...\n # KINEMATICS = genhexkins coordinates=cbazyx\n \n Note\n If the coordinates= parameter is omitted, the default joint-letter identity assignments are\n joint0==x,joint1=y,\u2026\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 503 / 1291\n \n The joint assignments provided for identity kinematics when using the coordinates parameter are\n identical to those provided for the trivkins module. However, duplication of axis letters to assign\n multiple joints for a coordinate letter is not generally applicable for serial or parallel kinematics (like\n genserkins, pumakins, genhexkins, etc.) where there is no simple relationship between joints and\n@@ -24062,15 +24062,15 @@\n 9.4.4 Usage\n 9.4.4.1 HAL Connections\n Switchkins functionality is enabled by the pin motion.switchkins-type. Typically, this pin is sourced\n by an analog output pin like motion.analog-out-03 so that it can be set by M68 commands. Example:\n net :kinstype-select <= motion.analog-out-03\n net :kinstype-select => motion.switchkins-type\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 504 / 1291\n \n 9.4.4.2 G-/M-code commands\n Kinstype selection is managed using G-code sequences like:\n ...\n M68 E3 Q1 ;update analog-out-03 to select kinstype 1\n@@ -24109,15 +24109,15 @@\n XYZABCUVW):\n [AXIS_L]\n MIN_LIMIT =\n MAX_LIMIT =\n MAX_VELOCITY =\n MIN_ACCELERATION =\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 505 / 1291\n \n The INI file limits specified apply to the type 0 default kinematics type that is activated at startup.\n These limits may not be applicable when switching to alternative kinematics. However, since an\n interpreter-motion synchronization is required when switching kinematics, INI-HAL pins can be used\n to setup limits for a pending kinematics type.\n@@ -24161,15 +24161,15 @@\n the set XYZABCUVW. The INI file settings ([AXIS_L]) are not applicable when operating with identity\n (type1) kinematics. To address this use case, the user M-code scripts can be designed as follows:\n M129 (Switch to identity type1)\n 1. read and parse INI file\n 2. HAL: setp the INI-HAL limit pins for each axis letter ([AXIS_L]) according to the identity-referenced\n joint number INI file setting ([JOINT_N])\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 506 / 1291\n \n 3. HAL: setp motion.switchkins-type 1\n 4. MDI: execute a syncing G-code (M66E0L0)\n M128 (restore robot default kinematics type 0)\n 1. read and parse INI file\n@@ -24214,15 +24214,15 @@\n directory and edited to supply custom kinematics with kinstype==2.\n The user custom kinematics file can be compiled from out-of-tree source locations for rt-preempt\n implementations or by replacing the in-tree template file (src/emc/kinematics/userkfuncs.c) for rtai\n systems.\n Preempt-rt make example:\n $ userkfuncs=/home/myname/kins/mykins.c make && sudo make setuid\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 507 / 1291\n \n 9.4.7 Warnings\n Unexpected behavior can result if a G-code program is inadvertently started with an incompatible\n kinematics type. Unwanted behavior can be circumvented in G-code programs by:\n 1. Connecting appropriate kinstype.is.N HAL pins to digital input pins (like motion.digital-in-0m).\n@@ -24255,15 +24255,15 @@\n manipulable input to the process that brings the process measured value back to its desired set point.\n Unlike simpler control algorithms, the PID controller can adjust process outputs based on the history\n and rate of change of the error signal, which gives more accurate and stable control. (It can be\n shown mathematically that a PID loop will produce accurate, stable control in cases where a simple\n proportional control would either have a steady-state error or would cause the process to oscillate).\n 6 This Subsection is taken from an much more extensive article found at https://en.wikipedia.org/wiki/PID_controller\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 508 / 1291\n \n 9.5.1.1 Control loop basics\n Intuitively, the PID loop tries to automate what an intelligent operator with a gauge and a control\n knob would do. The operator would read a gauge showing the output measurement of a process, and\n use the knob to adjust the input of the process (the action) until the process\u2019s output measurement\n@@ -24302,15 +24302,15 @@\n set point. A simple proportional system either oscillates, moving back and forth around the set point\n because there\u2019s nothing to remove the error when it overshoots, or oscillates and/or stabilizes at a\n too low or too high value. By adding a negative proportion of (i.e. subtracting part of) the average\n error from the process input, the average difference between the process output and the set point is\n always being reduced. Therefore, eventually, a well-tuned PID loop\u2019s process output will settle down\n at the set point.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 509 / 1291\n \n Derivative To handle the future, the first derivative (the slope of the error) over time is calculated,\n and multiplied by another (negative) constant D, and also added to (subtracting error from) the controlled quantity. The derivative term controls the response to a change in the system. The larger the\n derivative term, the more rapidly the controller responds to changes in the process\u2019s output.\n More technically, a PID loop can be characterized as a filter applied to a complex frequency-domain\n@@ -24388,15 +24388,15 @@\n D\n \n Pc /1.2\n \n 7 Introduced in the 1942 paper Optimum Settings for Automatic Controllers, DOI 10.1115/1.2899060 also available from\n The Internet Archive.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Control type\n PID\n \n 510 / 1291\n \n P\n@@ -24440,15 +24440,15 @@\n deficient code by a an O-word procedure call.\n In its simplest form, a remapped code isn\u2019t much more than a spontaneous call to an O-word procedure. This happens behind the scenes - the procedure is visible at the configuration level, but not at\n the NGC program level.\n Generally, the behavior of a remapped code may be defined in the following ways:\n \u2022 You define a O-word subroutine which implements the desired behavior\n \u2022 Alternatively, you may employ a Python function which extends the interpreter\u2019s behavior.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 511 / 1291\n \n How to glue things together M- and G-codes, and O-words subroutine calls have some fairly different syntax.\n O-word procedures, for example, take positional parameters with a specific syntax like so:\n o call [1.234] [4.65]\n \n@@ -24484,15 +24484,15 @@\n 9.6.2 Getting started\n Defining a code involves the following steps:\n \u2022 Pick a code - either use an unallocated code, or redefine an existing code.\n \u2022 Decide how parameters are handled.\n \u2022 Decide if and how results are handled.\n \u2022 Decide about the execution sequence.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 512 / 1291\n \n 9.6.2.1 Builtin Remaps\n Please note that currently only some existing codes can be redefined, while there are many free codes\n that may be available for remapping. When developing redefined existing code, it is a good idea to\n start with an unassigned G- or M- code, so that you can use both an existing behavior as well as a new\n@@ -24530,15 +24530,15 @@\n which might be made available by remapping. When developing a redefined existing code, it might\n be a good idea to start with an unallocated G- or M-code, so both the existing and new behavior can\n be exercised. When done, redefine the existing code to use your remapping setup.\n \u2022 The current set of unused M-codes open to user definition can be found here.\n \u2022 Unallocated G-codes are listed here.\n \u2022 Existing codes which may be remapped are listed here.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 513 / 1291\n \n 9.6.2.3 Parameter handling\n Let\u2019s assume the new code will be defined by an NGC procedure, and needs some parameters, some\n of which might be required, others might be optional. We have the following options to feed values to\n the procedure:\n@@ -24575,15 +24575,15 @@\n [RS274NGC]\n REMAP=M400\n \n modalgroup=10 argspec=Pq ngc=myprocedure\n \n In a nutshell, this means:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 514 / 1291\n \n \u2022 The M400 code takes a required parameter P and an optional parameter Q. Other words in the current\n block are ignored with respect to the M400 code. If the P word is not present, fail execution with an\n error.\n \u2022 When an M400 code is encountered, execute myprocedure.ngc along the other modal group 10 Mcodes as per order of execution.\n@@ -24621,15 +24621,15 @@\n for in the directories specified in the directory specified in [DISPLAY]PROGRAM_PREFIX, then in\n [RS274NGC]SUBROUTINE_PATH. Mutually exclusive with python=. It is an error to omit both ngc=\n and python=.\n python=\n Instead of calling an ngc O-word procedure call a Python function. The function is expected to\n be defined in the module_basename.oword module. Mutually exclusive with ngc=.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 515 / 1291\n \n prolog=\n Before executing an ngc procedure, call this Python function. The function is expected to be\n defined in the module_basename.remap module. Optional.\n epilog=\n@@ -24668,15 +24668,15 @@\n An empty argspec, or no argspec argument at all implies the remapped code does not receive any\n parameters from the block. It will ignore any extra parameters present.\n Note that RS274NGC rules still apply - for instance you may use axis words (e.g., X, Y, Z) only in the\n context of a G-code.\n Axis words may also only be used if the axis is enabled. If only XYZ are enabled, ABCUVW will not be\n available to be used in argspec.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 516 / 1291\n \n Words F, S and T (short FST) will have the normal functions but will be available as variables in the\n remapped function. F will set feedrate, S will set spindle RPM, T will trigger the tool prepare function.\n Words FST should not be used if this behavior is not desired.\n Words DEIJKPQR have no predefined function and are recommended for use as argspec parameters.\n@@ -24718,15 +24718,15 @@\n (the q argspec is optional since its lowercase in the argspec. Use as follows:)\n o100 if [EXISTS[#]]\n (debug, Q word set: #)\n o100 endif\n o endsub\n M2\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 517 / 1291\n \n \u2022 Executing M400 will fail with the message user-defined M400: missing: P.\n \u2022 Executing M400 P123 will display P word=123.000000.\n \u2022 Executing M400 P123 Q456 will display P word=123.000000 and Q word set: 456.000000.\n Example for positional parameter passing to NGC procedures Assume the code is defined as\n@@ -24767,15 +24767,15 @@\n Advanced example: Remapped codes in pure Python The interpreter and emccanon modules\n expose most of the Interpreter and some Canon internals, so many things which so far required coding\n in C/C+\\+ can be now be done in Python.\n The following example is based on the nc_files/involute.py script - but canned as a G-code with\n some parameter extraction and checking. It also demonstrates calling the interpreter recursively (see\n self.execute()).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 518 / 1291\n \n Assuming a definition like so (NB: this does not use argspec):\n REMAP=G88.1 modalgroup=1 py=involute\n The involute function in python/remap.py listed below does all word extraction from the current\n block directly. Note that interpreter errors can be translated to Python exceptions. Remember this is\n@@ -24819,15 +24819,15 @@\n y = y0 + a * (sin(t) - t * cos(t))\n self.execute(\u201dG1 X%f Y%f\u201d % (x,y),lineno())\n if c.z_flag: # retract to starting height\n self.execute(\u201dG0 Z%f\u201d % (old_z),lineno())\n except InterpreterException,e:\n msg = \u201d%d: \u2019%s\u2019 - %s\u201d % (e.line_number,e.line_text, e.error_message)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 519 / 1291\n \n return msg\n return INTERP_OK\n \n The examples described so far can be found in configs/sim/axis/remap/getting-started with complete\n@@ -24871,15 +24871,15 @@\n (dire but necessary).\n Note than when remapping an existing code, we completely disable this codes\u2019 built-in functionality\n of the interpreter.\n So our remapped code will need to do a bit more than just generating some commands to move the\n machine as we like - it will also need to replicate those steps from this sequence which are needed to\n keep the interpreter and task happy.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 520 / 1291\n \n However, this does not affect the processing of tool change-related commands in task and iocontrol.\n This means when we execute step 6b this will still cause iocontrol to do its thing.\n Decisions, decisions:\n \u2022 Do we want to use an O-word procedure or do it all in Python code?\n@@ -24914,15 +24914,15 @@\n the \u201draise tool-change and wait for tool-changed to become high\u201d HAL sequence in iocontrol,\n besides setting the XXXX pins\n What you need to decide is whether the existing iocontrol HAL sequences are sufficient to drive your\n changer. Maybe you need a different interaction sequence - for instance more HAL pins, or maybe a\n more complex interaction. Depending on the answer, we might continue to use the existing iocontrol\n HAL sequences, or define our own ones.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 521 / 1291\n \n For the sake of documentation, we\u2019ll disable these iocontrol sequences, and roll our own - the result\n will look and feel like the existing interaction, but now we have complete control over them because\n they are executed in our own O-word procedure.\n So what we\u2019ll do is use some motion.digital-* and motion.analog-* pins, and the associated M62\n@@ -24973,15 +24973,15 @@\n follows:\n REMAP=M6\n \n modalgroup=6\n \n prolog=change_prolog ngc=change epilog=change_epilog\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 522 / 1291\n \n So the prolog covering steps 1 and 2 would look like so - we decide to pass a few variables to the\n remap procedure which can be inspected and changed there, or used in a message. Those are:\n tool_in_spindle, selected_tool (tool numbers) and their respective tooldata indices current_pocket\n and selected_pocket:\n@@ -25027,15 +25027,15 @@\n if self.return_value > 0.0:\n # commit change\n self.selected_pocket = int(self.params[\u201dselected_pocket\u201d])\n emccanon.CHANGE_TOOL(self.selected_pocket)\n # cause a sync()\n self.tool_change_flag = True\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 523 / 1291\n \n self.set_tool_parameters()\n return INTERP_OK\n else:\n return \u201dM6 aborted (return code %.1f)\u201d % (self.return_value)\n@@ -25072,15 +25072,15 @@\n \u2022 M6 (change_prolog): #, #, #, #\n \u2022 M61 (settool_prolog): # , #\n \u2022 S (setspeed_prolog): #\n \u2022 F (setfeed_prolog): #\n If you have specific needs for extra parameters to be made visible, that can simply be added to the\n prolog - practically all of the interpreter internals are visible to Python.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 524 / 1291\n \n 9.6.5.6 Making minimal changes to the built in codes, including M6\n Remember that normally remapping a code completely disables all internal processing for that code.\n However, in some situations it might be sufficient to add a few codes around the existing M6 built in\n implementation, like a tool length probe, but other than that retain the behavior of the built in M6.\n@@ -25130,15 +25130,15 @@\n cblock = self.blocks[self.remap_level]\n if not cblock.t_flag:\n return \u201dT requires a tool number\u201d\n tool\n \n = cblock.t_number\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 525 / 1291\n \n if tool:\n (status, pocket) = self.find_tool_pocket(tool)\n if status != INTERP_OK:\n return \u201dT%d: pocket not found\u201d % (tool)\n@@ -25186,15 +25186,15 @@\n remap is aborted.\n The way to do this is by using the [RS274NGC]ON_ABORT_COMMAND feature. This INI option specifies a\n O-word procedure call which is executed if task for some reason aborts program execution. on_abort\n receives a single parameter indicating the cause for calling the abort procedure, which might be used\n for conditional cleanup.\n The reasons are defined in nml_intf/emc.hh\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 526 / 1291\n \n EMC_ABORT_TASK_EXEC_ERROR = 1,\n EMC_ABORT_AUX_ESTOP = 2,\n EMC_ABORT_MOTION_OR_IO_RCS_ERROR = 3,\n EMC_ABORT_TASK_STATE_OFF = 4,\n@@ -25243,15 +25243,15 @@\n Make sure on_abort.ngc is along the interpreter search path (recommended location: SUBROUTINE_PATH\n so as not to clutter your NC_FILES directory with internal procedures).\n Statements in that procedure typically would assure that post-abort any state has been cleaned up,\n like HAL pins properly reset. For an example, see configs/sim/axis/remap/rack-toolchange.\n Note that terminating a remapped code by returning INTERP_ERROR from the epilog (see previous\n section) will also cause the on_abort procedure to be called.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 527 / 1291\n \n 9.6.5.9 Error handling: failing a remapped code NGC procedure\n If you determine in your handler procedure that some error condition occurred, do not use M2 to end\n your handler - see above:\n If displaying an operator error message and stopping the current program is good enough, use the\n@@ -25285,15 +25285,15 @@\n change gears appropriately if not.\n 9.6.6.2 Adjusting the behavior of M0, M1, M60\n A use case for remapping M0/M1 would be to customize the behavior of the existing code. For instance, it could be desirable to turn off the spindle, mist and flood during an M0 or M1 program\n pause, and turn these settings back on when the program is resumed.\n For a complete example doing just that, see configs/sim/axis/remap/extend-builtins/, which\n adapts M1 as laid out above.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 528 / 1291\n \n 9.6.7 Creating new G-code cycles\n A G-code cycle as used here is meant to behave as follows:\n \u2022 On first invocation, the associated words are collected and the G-code cycle is executed.\n \u2022 If subsequent lines just continue parameter words applicable to this code, but no new G-code, the\n@@ -25337,15 +25337,15 @@\n [PYTHON]\n TOPLEVEL = \n Filename of the initial Python script to execute on startup. This script is responsible for\n setting up the package name structure, see below.\n PATH_PREPEND = \n Prepend this directory to PYTHON_PATH. A repeating group.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 529 / 1291\n \n PATH_APPEND = \n Append this directory to PYTHON_PATH. A repeating group.\n LOG_LEVEL = \n Log level of plugin-related actions. Increase this if you suspect problems. Can be very\n@@ -25385,15 +25385,15 @@\n 9.6.9.2 The Interpreter as seen from Python\n \n The interpreter is an existing C++ class (Interp) defined in src/emc/rs274ngc. Conceptually all oword. Python calls are methods of this Interp class, although there is no explicit\n Python definition of this class (it is a Boost.Python wrapper instance) and hence receive the as the\n first parameter self which can be used to access internals.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 530 / 1291\n \n 9.6.9.3 The Interpreter __init__ and __delete__ functions\n If the TOPLEVEL module defines a function __init__, it will be called once the interpreter is fully\n configured (INI file read, and state synchronized with the world model).\n If the TOPLEVEL module defines a function __delete__, it will be called once before the interpreter is\n@@ -25433,15 +25433,15 @@\n \u2013 when a comment like ;py, is executed - during execution of a remapped\n code: any prolog=, python= and epilog= handlers.\n Calling O-word Python subroutines\n Arguments:\n self\n The interpreter instance.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 531 / 1291\n \n *args\n The list of actual positional parameters. Since the number of actual parameters may vary, it is\n best to use this style of declaration:\n # this would be defined in the oword module\n@@ -25479,15 +25479,15 @@\n print(\u201d%s: %s\u201d % (w, words[w]))\n if words[\u2019p\u2019] < 78: # NB: could raise an exception if p were optional\n return \u201dfailing miserably\u201d\n return INTERP_OK\n \n Return values:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 532 / 1291\n \n INTERP_OK\n Return this on success. You need to import this from interpreter.\n a message text\n Returning a string from a handler means this is an error message, abort the program. Works like\n@@ -25524,15 +25524,15 @@\n emccanon.WAIT(0,1,2,5.0)\n # cede control after executing the queue buster:\n yield INTERP_EXECUTE_FINISH\n # post-sync() execution resumes here:\n pin_status = emccanon.GET_EXTERNAL_DIGITAL_INPUT(0,0);\n print(\u201dpin status=\u201d,pin_status)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Warning\n The yield feature is fragile.\n TERP_EXECUTE_FINISH:\n \n 533 / 1291\n \n@@ -25576,15 +25576,15 @@\n print(\u201d#2=\u201d, self.params[2])\n try:\n print(\u201dresult=\u201d, self.params[\u201dresult\u201d])\n except Exception,e:\n return \u201dtestparam forgot to assign #\u201d\n return INTERP_OK\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 534 / 1291\n \n o sub\n (debug, call_level=#<_call_level> myname=#)\n ; try commenting out the next line and run again\n # = [# * 3]\n@@ -25628,15 +25628,15 @@\n \n raise InterpreterException\n \n except InterpreterException,e:\n msg = \u201d%d: \u2019%s\u2019 - %s\u201d % (e.line_number,e.line_text, e.error_message)\n return msg # replace builtin error message\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 535 / 1291\n \n Canon The canon layer is practically all free functions. Example:\n import emccanon\n def example(self,*args):\n ....\n@@ -25675,15 +25675,15 @@\n \u2022 Import that module from the TOPLEVEL script.\n # namedparams.py\n # trivial example\n def _pi(self):\n return 3.1415926535\n # = [2 * # * #<_pi>]\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 536 / 1291\n \n Functions in namedparams.py are expected to return a float or int value. If a string is returned, this\n sets the interpreter error message and aborts execution.\n \u00d2nly functions with a leading underscore are added as parameters, since this is the RS274NGC convention for globals.\n It is possible to redefine an existing predefined parameter by adding a Python function of the same\n@@ -25714,15 +25714,15 @@\n no further action is taken. This can be used for instance to minimally adjust the built in behavior\n be preceding or following it with some other statements.\n \u2022 Otherwise, the # and # parameters are extracted from the subroutine\u2019s parameter\n space. This means that the NGC procedure could change these values, and the epilog takes the\n changed values in account.\n \u2022 Then, the Canon command SELECT_TOOL(#) is executed.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 537 / 1291\n \n 9.6.11.2 M6: change_prolog and change_epilog\n These wrap a NGC procedure for M6 Tool Change.\n Actions of change_prolog\n \u2022 The following three steps are applicable only if the iocontrol-v2 component is used:\n@@ -25752,15 +25752,15 @@\n behavior be preceding or following it with some other statements.\n \u2022 Otherwise, the # parameter is extracted from the subroutine\u2019s parameter space,\n and used to set the interpreter\u2019s current_pocket variable. Again, the procedure could change this\n value, and the epilog takes the changed value in account.\n \u2022 Then, the Canon command CHANGE_TOOL(#) is executed.\n \u2022 The new tool parameters (offsets, diameter etc) are set.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 538 / 1291\n \n 9.6.11.3 G-code Cycles: cycle_prolog and cycle_epilog\n These wrap a NGC procedure so it can act as a cycle, meaning the motion code is retained after\n finishing execution. If the next line just contains parameter words (e.g. new X,Y values), the code is\n executed again with the new parameter words merged into the set of the parameters given in the first\n@@ -25793,15 +25793,15 @@\n \u2013 retain the current motion mode so a continuation line without a motion code will execute the same\n motion code.\n 9.6.11.4 S (Set Speed) : setspeed_prolog and setspeed_epilog\n TBD\n 9.6.11.5 F (Set Feed) : setfeed_prolog and setfeed_epilog\n TBD\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 539 / 1291\n \n 9.6.11.6 M61 Set tool number : settool_prolog and settool_epilog\n TBD\n \n 9.6.12 Remapped code execution\n@@ -25856,15 +25856,15 @@\n user-defined - not interpreted\n by LinuxCNC\n user-defined - not interpreted\n by LinuxCNC\n \n or these flags into the [EMC]DEBUG variable as needed. For a current list of debug flags see src/emc/nml_intf/debugflags.h.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 540 / 1291\n \n 9.6.12.5 Debugging Embedded Python code\n Debugging of embedded Python code is harder than debugging normal Python scripts, and only a\n limited supply of debuggers exists. A working open-source based solution is to use the Eclipse IDE,\n and the PydDev Eclipse plug in and its remote debugging feature.\n@@ -25884,15 +25884,15 @@\n pydevd.settrace() will block execution if Eclipse and the Pydev debug server have not been\n started.\n \n To cover the last two steps: the o procedure helps to get into the debugger from MDI mode.\n See also the call_pydevd function in util.py and its usage in remap.involute to set a breakpoint.\n Here\u2019s a screen-shot of Eclipse/PyDevd debugging the involute procedure from above:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 541 / 1291\n \n See the Python code in configs/sim/axis/remap/getting-started/python for details.\n \n 9.6.13 Axis Preview and Remapped code execution\n For complete preview of a remapped code\u2019s tool path some precautions need to be taken. To understand what is going on, let\u2019s review the preview and execution process (this covers the AXIS case, but\n@@ -25908,15 +25908,15 @@\n Now, what about preview of this procedure? At preview time, of course it is not known whether the\n probe succeeds or fails - but you would likely want to see what the maximum depth of the probe is, and\n assume it succeeds and continues execution to preview further movements. Also, there is no point in\n displaying a probe failed message and aborting during preview.\n The way to address this issue is to test in your procedure whether it executes in preview or execution\n mode. This can be checked for by testing the #<_task> predefined named parameter - it will be 1\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 542 / 1291\n \n during actual execution and 0 during preview. See configs/sim/axis/remap/manual-toolchange-withtool-length-switch/nc_subroutines/manual_change.ngc for a complete usage example.\n Within Embedded Python, the task instance can be checked for by testing self.task - this will be 1 in\n the milltask instance, and 0 in the preview instance(s).\n \n@@ -25960,15 +25960,15 @@\n G07\n G08\n \n Gxx.1 Gxx.2 Gxx.3 Gxx.4 Gxx.5 Gxx.6 Gxx.7 Gxx.8 Gxx.9\n \n G05.1 G05.2 G05.3\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 543 / 1291\n \n Table 9.6: Table of Allocated G-codes 10-19\n #\n 10\n 11\n@@ -26051,15 +26051,15 @@\n G41\n G42\n \n Gxx.1 Gxx.2 Gxx.3 Gxx.4 Gxx.5 Gxx.6 Gxx.7 Gxx.8 Gxx.9\n G41.1\n G42.1\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 544 / 1291\n \n Table 9.9: (continued)\n #\n 43\n 44\n@@ -26140,15 +26140,15 @@\n G71\n G72\n \n Gxx.1 Gxx.2 Gxx.3 Gxx.4 Gxx.5 Gxx.6 Gxx.7 Gxx.8 Gxx.9\n G71.1 G71.2\n G72.1 G72.2\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 545 / 1291\n \n Table 9.12: (continued)\n #\n 76\n 77\n@@ -26241,15 +26241,15 @@\n \n Mx7\n \n Mx8\n \n Mx9\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 546 / 1291\n \n Table 9.15: (continued)\n #\n 10-19\n 20-29\n@@ -26379,15 +26379,15 @@\n FIXME Write missing information\n \n 9.6.16 Models of Task execution\n FIXME Write missing information\n 9.6.16.1 Traditional iocontrol/iocontrolv2 execution\n FIXME Write missing information\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 547 / 1291\n \n 9.6.16.2 Redefining IO procedures\n FIXME Write missing information\n 9.6.16.3 Execution-time Python procedures\n FIXME Write missing information\n@@ -26421,15 +26421,15 @@\n 9.6.17.3 Predicting the machine position\n To compute canonical machine operations in advance during read ahead, the interpreter must be able\n to predict the machine position after each line of G-code, and that is not always possible.\n Let\u2019s look at a simple example program which does relative moves (G91), and assume the machine\n starts at x=0,y=0,z=0. Relative moves imply that the outcome of the next move relies on the position\n of the previous one:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 548 / 1291\n \n N10 G91\n N20 G0 X10 Y-5 Z20\n N30 G1 Y20 Z-5\n N40 G0 Z30\n@@ -26470,15 +26470,15 @@\n \u2022 This return code signals to task to stop read ahead for now, execute all queued canonical commands built up so far (including the last one, which is the queue buster), and then synchronize\n the interpreter state with the world model. Technically, this means updating internal variables to\n reflect HAL pin values, reload tool geometries after an M6, and convey results of a probe.\n \u2022 The interpreter\u2019s synch() method is called by task and does just that - read all the world model\n actual values which are relevant for further execution.\n \u2022 At this point, task goes ahead and calls the interpreter for more read ahead - until either the program ends or another queue-buster is encountered.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 549 / 1291\n \n 9.6.17.6 Word order and execution order\n One or several words may be present on an NGC block if they are compatible (some are mutually\n exclusive and must be on different lines). The execution model however prescribes a strict ordering\n of execution of codes, regardless of their appearance on the source line (G-code Order of Execution).\n@@ -26514,15 +26514,15 @@\n Tool information is held in the emcStatus structure, which is shared by all parties. One of its fields\n is the toolTable array, which holds the description as loaded from the tool table file (tool number,\n diameter, frontangle, backangle and orientation for lathe, tool offset information).\n The authoritative source and only process actually setting tool information in this structure is the\n iocontrol process. All others processes just consult this structure. The interpreter holds actually a\n local copy of the tool table.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 550 / 1291\n \n For the curious, the current emcStatus structure can be accessed by Python statements. The interpreter\u2019s perception of the tool currently loaded for instance is accessed by:\n ;py,from interpreter import *\n ;py,print(this.tool_table[0])\n \n@@ -26559,15 +26559,15 @@\n When the interpreter sees an M6, it:\n 1. checks whether a T command has already been executed (test settings->selected_pocket to be\n >= 0) and fail with Need tool prepared -Txx- for toolchange message if not.\n 2. check for cutter compensation being active, and fail with Cannot change tools with cutter radius\n compensation on if so.\n 3. stop the spindle except if the \u201dTOOL_CHANGE_WITH_SPINDLE_ON\u201d INI option is set.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 551 / 1291\n \n 4. generate a rapid Z up move if if the \u201dTOOL_CHANGE_QUILL_UP\u201d INI option is set.\n 5. if TOOL_CHANGE_AT_G30 was set:\n a. move the A, B and C indexers if applicable\n b. generate rapid move to the G30 position\n@@ -26602,15 +26602,15 @@\n in configs/sim/axis/remap/toolchange/python/toolchange.py.\n 9.6.17.13 How M61 (Change tool number) works\n M61 requires a non-negative \u0300Q \u0300parameter (tool number). If zero, this means unload tool, else set\n current tool number to Q.\n Building the replacement for M61 An example Python redefinition for M61 can be found in the\n set_tool_number function in configs/sim/axis/remap/toolchange/python/toolchange.py.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 552 / 1291\n \n 9.6.18 Status\n 1. The RELOAD_ON_CHANGE feature is fairly broken. Restart after changing a Python file.\n 2. M61 (remapped or not) is broken in iocontrol and requires iocontrol-v2 to actually work.\n \n@@ -26653,15 +26653,15 @@\n internally. A warning pin is set and a message issued if the apply-offsets pin is deasserted while\n offsets are applied. The warning pin remains TRUE until the offsets are removed or the apply-offsets\n pin is set.\n Typically, the move-enable pin is connected to external controls and the apply-offsets pin is connected\n to halui.program.is-paused (for offsets only while paused) or set to TRUE (for continuously applied\n offsets).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 553 / 1291\n \n Applied offsets are automatically returned to zero (respecting limits) when either of the enabling\n inputs is deactivated. The zero value tolerance is specified by the epsilon input pin value.\n Waypoints are recorded when the moveoff component is enabled. Waypoints are managed with the\n waypoint-sample-secs and waypoint-threshold pins. When the backtrack-enable pin is TRUE, the autoreturn path follows the recorded waypoints. When the memory available for waypoints is exhausted,\n@@ -26704,15 +26704,15 @@\n \u2022 configs/sim/touchy/ngcgui (touchy-ui)\n \n 9.7.1 Modifying an existing configuration\n A system-provided HAL file (LIB:hookup_moveoff.tcl) can be used to adapt an existing configuration to\n use the moveoff component. Additional INI file settings support the use of a simple GUI (moveoff_gui)\n for controlling offsets.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 554 / 1291\n \n When the system HAL file (LIB:hookup_moveoff.tcl) is properly specified in a configuration INI file, it\n will:\n 1. Disconnect the original joint.N.motor-pos-cmd and joint.N.motor-pos-fb pin connections\n 2. Load (loadrt) the moveoff component (using the name mv) with a personality set to accommodate\n@@ -26753,15 +26753,15 @@\n EPSILON =\n WAYPOINT_SAMPLE_SECS =\n WAYPOINT_THRESHOLD =\n \n The moveoff_gui is used to make additional required connections and provide a popup GUI to:\n 1. Provide a control togglebutton to Enable/Disable offsets\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 555 / 1291\n \n 2. Provide a control togglebutton to Enable/Disable backtracking\n 3. Provide control pushbuttons to Increment/Decrement/Zero each axis offset\n 4. Display each axis offset current value\n 5. Display current offset status (disabled, active, removing, etc)\n@@ -26804,15 +26804,15 @@\n net external_offset_1 mv.offset-in-1\n net external_offset_2 mv.offset-in-2\n net external_backtrack_en mv.backtrack-enable\n \n These signals (external_enable, external_offset_M, external_backtrack_en) may be managed by subsequent HALFILES (including POSTGUI_HALFILEs) to provide customized control of the component\n while using the moveoff_gui display for current offset values and offset status.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 556 / 1291\n \n The moveoff_gui is configured with command line options. For details on the operation of moveoff_gui,\n see the man page:\n $ man moveoff_gui\n \n@@ -26877,15 +26877,15 @@\n Note: If the moveoff move-enable pin (mv.move-enable) is connected when\n moveoff_gui is started, external controls are required and only\n displays are provided.\n \n 9.8 Stand Alone Interpreter\n The rs274 stand alone interpreter is available for use via the command line.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 557 / 1291\n \n 9.8.1 Usage\n Usage: rs274 [-p interp.so] [-t tool.tbl] [-v var-file.var] [-n 0|1|2]\n [-b] [-s] [-g] [input file [output file]]\n -p: Specify the pluggable interpreter to use\n@@ -26923,15 +26923,15 @@\n \n 9.9 External Axis Offsets\n External axis offsets are supported during teleop (world) jogs and coordinated (G-code) motion. External axis offsets are enabled on a per-axis basis by INI file settings and controlled dynamically by\n INI input pins. The INI interface is similar to that used for wheel jogging. This type of interface is\n typically implemented with a manual-pulse-generator (mpg) connected to an encoder INI component\n that counts pulses.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 558 / 1291\n \n 9.9.1 INI File Settings\n For each axis letter (L in xyzabcuvw):\n [AXIS_L]OFFSET_AV_RATIO = value (controls accel/vel for external offsets)\n \n@@ -26962,15 +26962,15 @@\n 9.9.2.2 Other Motion HAL Pins\n 1. motion.eoffset-active Output(bit): non-zero external offsets applied\n 2. motion.eoffset-limited Output(bit): motion inhibited due to soft limit\n \n 9.9.3 Usage\n The axis input HAL pins (enable,scale,counts) are similar to the pins used for wheel jogging.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 559 / 1291\n \n 9.9.3.1 Offset Computation\n At each servo period, the axis.L.eoffset-counts pin is compared to its value in the prior period. The\n increase or decrease (positive or negative delta) of the axis.L.eoffset-counts pin is multiplied by the\n current axis.L.eoffset-scale pin value. This product is accumulated in an internal register and exported\n@@ -27008,15 +27008,15 @@\n limit will stop motion in the offending axis without a deacceleration interval. Similarly, during\n coordinated motion with external offsets enabled, reaching a soft limit will stop motion with no deacceleration phase. For this case, it does not matter if the offsets are zero.\n When motion is stopped with no deacceleration phase, system acceleration limits may be violated\n and lead to: 1) a following error (and/or a thump) for a servo motor system, 2) a loss of steps for a\n stepper motor system. In general, it is recommended that external offsets are applied in a manner to\n avoid approaching soft limits.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 560 / 1291\n \n 9.9.3.4 Notes\n External offsets apply to axis coordinate letters (xyzabcuvw). All joints must be homed before external\n axis offsets are honored.\n If an axis.L.eoffset-enable HAL pin is reset when its offset is non-zero, the offset is maintained. The\n@@ -27051,15 +27051,15 @@\n a terminal:\n $ sim_pin axis.z.eoffset-enable axis.z.eoffset-scale axis.z.eoffset-counts\n \n The use of external offsets is aided by displaying information related to the current offsets: the current eoffset value and the requested eoffset value, the axis pos-cmd, and (for an identity kinematics\n machine) the corresponding joint motor pos-cmd and motor-offset. The provided sim configuration\n (see below) demonstrates an example PyVCP panel for the AXIS GUI.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 561 / 1291\n \n In the absence of a custom display, halshow can be started as an auxiliary application with a custom\n watch list.\n Example INI file settings to simulate the HAL pin eoffset connections and display eoffset information\n for the z axis (for identity kinematics with z==joint2):\n@@ -27097,15 +27097,15 @@\n 9.9.6.2 jwp_z.ini\n The sim config sim/configs/axis/external_offsets/jwp_z.ini demonstrates a jog-while-pause capability\n for a single (Z) coordinate:\n Panel LEDs are provided to show important status items.\n Controls are provided to set the eoffset scale factor and to increment/decrement/clear the eoffset\n counts.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 562 / 1291\n \n 9.9.6.3 dynamic_offsets.ini\n This sim config sim/configs/axis/external_offsets/dynamic_offsets.ini demonstrates dynamically applied\n offsets by connecting a sinusoidal waveform to the z coordinate external offset inputs.\n Panel LEDs are provided to show important status items.\n@@ -27140,15 +27140,15 @@\n INI file settings enable the (optional) operation of a user-provided tool database program:\n [EMCIO]\n DB_PROGRAM = db_program [args]\n \n When included, db_program specifies the path to a user-provided executable program that provides\n tooldata. Up to 10 space-separated args may be included and passed to the db_program at startup.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 563 / 1291\n \n Note\n INI file settings for [EMCIO]TOOL_TABLE are ignored when a db_program is specified.\n \n Note\n@@ -27182,15 +27182,15 @@\n \u2022 \u201dl\u201d spindle_load (TnM6). The tool data line includes only the T and P items identifying the relevant\n tool number and pocket number.\n \u2022 \u201du\u201d spindle_unload (T0M6). The tool data line includes only the T and P items identifying the relevant tool number and pocket number.\n Note\n When a NON_RANDOM tool changer is specified using [EMCIO]RANDOM_TOOL_CHANGER=0 (the default), the spindle_load command issued for TnM6 (or M61Qn) is: l Tn P0 (pocket 0 is the spindle).\n The spindle_unload command issued for T0M6 is u T0 P0.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 564 / 1291\n \n Note\n When a RANDOM tool changer is specified using [EMCIO]RANDOM_TOOL_CHANGER=1, a pair of spindle_unload/spindle_load commands are issued at each tool exchange. The pair of commands issued\n for TnM6 (or M61Qn) are u Tu Pm followed by l Tn P0, where u is the current tool to be sent to pocket\n m and n is the new tool to load in the spindle (pocket 0). By convention, a tool number of 0 is used\n@@ -27233,15 +27233,15 @@\n Removal of a tool number should only be done if the tool number is not currently loaded in spindle.\n \n Exporting the environmental variable DB_SHOW enables LinuxCNC prints (to stdout) that show tool\n data retrieved from the db_program at startup and at subsequent reloading of tool data.\n Exporting the environmental variable DB_DEBUG enables LinuxCNC prints (to stdout) for additional\n debugging information about interface activity.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 565 / 1291\n \n 9.10.1.4 Example program\n An example db_program (implemented as a Python script) is provided with the simulation examples.\n The program demonsrates the required operations to:\n 1. acknowledge startup version\n@@ -27286,15 +27286,15 @@\n )\n tooldb_loop()\n \n Note\n Use of tooldb is not required \u2014 it is provided as a demonstration of the required interface and as a\n convenience for implementing Python-based applications that interface with an external database.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 566 / 1291\n \n 9.10.2 Simulation configs\n Simulation configs using the AXIS gui:\n 1. configs/sim/axis/db_demo/db_ran.ini (random_toolchanger)\n 2. configs/sim/axis/db_demo/db_nonran.ini (nonrandom_toolchanger)\n@@ -27314,50 +27314,50 @@\n LinuxCNC tooldata updates and the database application updates.\n 9.10.2.1 Notes\n \n When a db_program is used in conjunction with a random tool changer ([EMCIO]RANDOM_TOOLCHANGER\n LinuxCNC maintains a file (db_spindle.tbl in the configuration directory) that consists of a single tool\n table line identifying the current tool in the spindle.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 567 / 1291\n \n Part II\n \n Usage\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 568 / 1291\n \n Chapter 10\n \n User Interfaces\n 10.1 AXIS GUI\n 10.1.1 Introduction\n AXIS is a graphical front-end for LinuxCNC which features a live preview and backplot. It is written\n in Python and uses Tk and OpenGL to display its user interface.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 569 / 1291\n \n Figure 10.1: The AXIS Window\n \n 10.1.2 Getting Started\n If your configuration is not currently set up to use AXIS, you can change it by editing the .ini file (INI\n file). In the section [DISPLAY] change the [DISPLAY] line to read DISPLAY = axis.\n The sample configuration sim/axis.ini is already configured to use AXIS as its front-end.\n When AXIS starts, a window like the one in the figure Figure 10.1 above opens.\n 10.1.2.1 INI settings\n For more information on INI file settings that can change how AXIS works see the Display Section\n and the Axis Section of the INI Configuration Chapter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 570 / 1291\n \n \u2022 CYCLE_TIME - Adjust the response rate of the GUI in milliseconds. Typical 100, useable range 50\n - 200\n (will accept time in seconds (.05 -.2) for legacy reasons - milliseconds preferred to match other\n screens).\n@@ -27391,15 +27391,15 @@\n The AXIS window contains the following elements:\n \u2022 A display area that shows one of the following:\n \u2013 A preview of the loaded file (in this case, axis.ngc), as well as the current location of the CNC\n machine\u2019s controlled point. Later, this area will display the path the CNC machine has moved\n through, called the backplot.\n \u2013 A large readout showing the current position and all offsets.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 571 / 1291\n \n \u2022 A menu bar and toolbar that allow you to perform various actions\n \u2022 Manual Control Tab - which allows you to make the machine move, turn the spindle on or off, and\n turn the coolant on or off if included in the INI file.\n \u2022 MDI Tab - where G-code programs can be entered manually, one line at a time. This also shows the\n@@ -27435,15 +27435,15 @@\n \u2022 Reload tool table - After editing the tool table you must reload it.\n \u2022 Ladder editor - If you have loaded ClassicLadder you can edit it from here. See the ClassicLadder\n chapter for more information.\n \u2022 Quit - Terminates the current LinuxCNC session.\n \u2022 Toggle Emergency Stop F1 - Change the state of the Emergency Stop.\n \u2022 Toggle Machine Power F2 - Change the state of the Machine Power if the Emergency Stop is not on.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 572 / 1291\n \n \u2022 Run Program - Run the currently loaded program from the beginning.\n \u2022 Run From Selected Line - Select the line you want to start from first. Use with caution as this will\n move the tool to the expected position before the line first then it will execute the rest of the code.\n \n@@ -27479,15 +27479,15 @@\n G10 L10 in the G-code chapter.\n \u2013 Tool touch off to fixture - When performing Touch Off, the value entered is relative to the ninth\n (G59.3) coordinate system, with the axis offset (G92) ignored. This is useful when there is a tool\n touch-off fixture at a fixed location on the machine, with the ninth (G59.3) coordinate system set\n such that the tip of a zero-length tool is at the fixture\u2019s origin when the Relative coordinates are\n 0. See G10 L11 in the G-code chapter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 573 / 1291\n \n \u2022 Top View - The Top View (or Z view) displays the G-code looking along the Z axis from positive to\n negative. This view is best for looking at X & Y.\n \u2022 Rotated Top View - The Rotated Top View (or rotated Z view) also displays the G-code looking along\n the Z axis from positive to negative. But sometimes it\u2019s convenient to display the X & Y axes rotated\n@@ -27527,15 +27527,15 @@\n \u2022 Show Tool - The display of the tool cone/cylinder can be disabled if desired.\n \u2022 Show Extents - The display of the extents (maximum travel in each axis direction) of the loaded\n G-code program can be disabled if desired.\n \u2022 Show Offsets - The selected fixture offset (G54-G59.3) origin location can be shown as a set of three\n orthogonal lines, one each of red, blue, and green. This offset origin (or fixture zero) display can be\n disabled if desired.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 574 / 1291\n \n \u2022 Show Machine Limits - The machine\u2019s maximum travel limits for each axis, as set in the INI file,\n are shown as a rectangular box drawn in red dashed lines. This is useful when loading a new Gcode program, or when checking for how much fixture offset would be needed to bring the G-code\n program within the travel limits of your machine. It can be shut off if not needed.\n \u2022 Show Velocity - A display of velocity is sometimes useful to see how close your machine is running\n@@ -27585,15 +27585,15 @@\n \n Execute next line [T]\n \n \u2022\n \n Pause Execution [P] Resume Execution [S]\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n \u2022\n \n Stop Program Execution [ESC]\n \n \u2022\n \n@@ -27660,15 +27660,15 @@\n from commanded position due to following error, dead band, encoder resolution, or step size. For\n instance, if you command a movement to X 0.0033 on your mill, but one step of your stepper motor or\n one encoder count is 0.00125, then the Commanded position might be 0.0033, but the Actual position\n will be 0.0025 (2 steps) or 0.00375 (3 steps).\n Preview Plot When a file is loaded, a preview of it is shown in the display area. Fast moves (such as\n those produced by the G0 command) are shown as cyan lines. Moves at a feed rate (such as those\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 576 / 1291\n \n produced by the G1 command) are shown as solid white lines. Dwells (such as those produced by the\n G4 command) are shown as small pink X marks.\n G0 (Rapid) moves prior to a feed move will not show on the preview plot. Rapid moves after a T\n (Tool Change) will not show on the preview until after the first feed move. To turn either of these\n@@ -27702,15 +27702,15 @@\n By dragging with shift and the left mouse button pressed, or by dragging with the mouse wheel\n pressed, the preview plot will be rotated. When a line is highlighted, the center of rotation is the\n center of the line. Otherwise, the center of rotation is the center of the entire program.\n By rotating the mouse wheel, or by dragging with the right mouse button pressed, or by dragging\n with control and the left mouse button pressed, the preview plot will be zoomed in or out.\n By clicking one of the Preset View icons, or by pressing V, several preset views may be selected.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 577 / 1291\n \n 10.1.3.4 Text Display Area\n By left-clicking a line of the program, the line will be highlighted in both the graphical and text displays.\n When the program is running, the line currently being executed is highlighted in red. If no line has\n been selected by the user, the text display will automatically scroll to show the current line.\n@@ -27731,15 +27731,15 @@\n the desired direction of motion. The first four axes can also be moved by the arrow keys (X and Y),\n PAGE UP and PAGE DOWN keys (Z), and the [ and ] keys (A).\n If Continuous is selected, the motion will continue as long as the button or key is pressed. If another\n value is selected, the machine will move exactly the displayed distance each time the button is clicked\n or the key is pressed. By default, the available values are 0.1000, 0.0100, 0.0010, 0.0001.\n See the DISPLAY Section for more information on setting the increments.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 578 / 1291\n \n Homing (Identity Kinematics) The INI file setting [KINS]JOINTS defines the total number of joints\n for the system. A joint may be configured with a home switch or for immediate homing. Joints may\n specify a home sequence that organizes the order for homing groups of joints.\n If all joints are configured for homing and have valid home sequences, the homing button will show\n@@ -27765,15 +27765,15 @@\n programs, except that variables may not be referred to. The resulting value is shown as a number.\n \n Figure 10.4: Touch Off Window\n See also the Machine menu options: Touch part and Touch part holder.\n Tool Touch Off By pressing the Tool Touch Off button the tool length and offsets of the currently\n loaded tool will be changed so that the current tool tip position matches the entered coordinate.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 579 / 1291\n \n Figure 10.5: Tool Touch Off Window\n See also the Tool touch off to workpiece and Tool touch off to fixture options in the Machine menu.\n Override Limits By pressing Override Limits, the machine will temporarily be allowed to jog off of\n a physical limit switch. This check box is only available when a limit switch is tripped. The override\n@@ -27787,15 +27787,15 @@\n Pressing the spindle start button sets the S speed to 1.\n The Coolant group The two buttons allow the Mist and Flood coolants to be turned on and off.\n Depending on your machine configuration, not all the items in this group may appear.\n 10.1.3.6 MDI\n MDI allows G-code commands to be entered manually. When the machine is not turned on, or when\n a program is running, the MDI controls are unavailable.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 580 / 1291\n \n Figure 10.6: The MDI tab\n \u2022 History - This shows MDI commands that have been typed earlier in this session.\n \u2022 MDI Command - This allows you to enter a G-code command to be executed. Execute the command\n by pressing Enter or by clicking Go.\n@@ -27809,15 +27809,15 @@\n By moving this slider, the programmed spindle speed can be modified. For instance, if a program\n requests S8000 and the slider is set to 80%, then the resulting spindle speed will be 6400. This item\n only appears when the HAL pin spindle.0.speed-out is connected.\n 10.1.3.9 Jog Speed\n By moving this slider, the speed of jogs can be modified. For instance, if the slider is set to 1 in/min,\n then a .01 inch jog will complete in about .6 seconds, or 1/100 of a minute. Near the left side (slow\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 581 / 1291\n \n jogs) the values are spaced closely together, while near the right side (fast jogs) they are spaced much\n further apart, allowing a wide range of jog speeds with fine control when it is most important.\n On machines with a rotary axis, a second jog speed slider is shown. This slider sets the jog rate for\n the rotary axes (A, B and C).\n@@ -27894,15 +27894,15 @@\n Manual\n Manual\n Manual\n Manual\n Manual\n Manual\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 582 / 1291\n \n Table 10.1: (continued)\n Keystroke\n R\n P\n@@ -27945,15 +27945,15 @@\n Any\n Any\n \n 10.1.5 Show LinuxCNC Status (linuxcnctop)\n AXIS includes a program called linuxcnctop which shows some of the details of LinuxCNC\u2019s state. You\n can run this program by invoking Machine > Show LinuxCNC Status\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 583 / 1291\n \n Figure 10.7: LinuxCNC Status Window\n The name of each item is shown in the left column. The current value is shown in the right column. If\n the value has recently changed, it is shown on a red background.\n \n@@ -27970,15 +27970,15 @@\n (0.0, 0.0, 0.0, 0.0, 0.0, 0.0)\n MDI> G1 F5 X1\n MDI>\n (0.5928500000000374, 0.0, 0.0, 0.0, 0.0, 0.0)\n MDI>\n (1.0000000000000639, 0.0, 0.0, 0.0, 0.0, 0.0)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 584 / 1291\n \n 10.1.7 axis-remote\n AXIS includes a program called axis-remote which can send certain commands to a running AXIS.\n The available commands are shown by running axis-remote --help and include checking whether AXIS\n is running (--ping), loading a file by name, reloading the currently loaded file (--reload), and making\n@@ -28009,50 +28009,50 @@\n \u2022 hal allows the creation of non-realtime HAL components written in Python\n \u2022 _togl provides an OpenGL widget that can be used in Tkinter applications\n \u2022 minigl provides access to the subset of OpenGL used by AXIS\n To use these modules in your own scripts, you must ensure that the directory where they reside\n is on Python\u2019s module path. When running an installed version of LinuxCNC, this should happen\n automatically. When running in-place, this can be done by using scripts/rip-environment.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 585 / 1291\n \n 10.1.10 Using AXIS in Lathe Mode\n By including the line LATHE = 1 in the [DISPLAY] section of the INI file, AXIS selects lathe mode. The\n Y axis is not shown in coordinate readouts, the view is changed to show the Z axis extending to the\n right and the X axis extending towards the bottom of the screen, and several controls (such as those\n for preset views) are removed. The coordinate readouts for X are replaced with diameter and radius.\n \n Figure 10.9: AXIS Lathe Mode\n Pressing V zooms out to show the entire file, if one is loaded.\n When in lathe mode, the shape of the loaded tool (if any) is shown.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 586 / 1291\n \n Figure 10.10: Lathe Tool Shape\n To change the display to a back tool lathe you need to have both LATHE = 1 and BACK_TOOL_LATHE\n = 1 in the [DISPLAY] section. This will invert the view and put the tool on the back side of the Z axis.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 587 / 1291\n \n Figure 10.11: Lathe Back Tool Shape\n \n 10.1.11 Using AXIS in Foam Cutting mode\n By including the line FOAM = 1 in the [DISPLAY] section of the INI file, AXIS selects foam-cutting\n mode. In the program preview, XY motions are displayed in one plane, and UV motions in another. In\n the live plot, lines are drawn between corresponding points on the XY plane and the UV plane. The\n special comments (XY_Z_POS) and (UV_Z_POS) set the Z coordinates of these planes, which default\n to 0 and 1.5 machine units.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 588 / 1291\n \n Figure 10.12: Foam Cutting Mode\n \n 10.1.12 Advanced Configuration\n When AXIS is started it creates the HAL pins for the GUI then it executes the HAL file named in the INI\n@@ -28060,15 +28060,15 @@\n + _postgui + .hal eg. lathe_postgui.hal, but can be any legal filename. These commands are executed\n after the screen is built, guaranteeing the widget\u2019s HAL pins are available. You can have multiple line\n of POSTGUI_HALFILE= in the INI. Each will be run one after the other in the order they\n appear.\n For more information on the INI file settings that can change the way AXIS works, see the Display\n Section of the INI configuration chapter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 589 / 1291\n \n 10.1.12.1 Program Filters\n AXIS has the ability to send loaded files through a filter program. This filter can do any desired task:\n Something as simple as making sure the file ends with M2, or something as complicated as generating\n G-code from an image.\n@@ -28090,15 +28090,15 @@\n In this way, any Python script can be opened, and its output is treated as G-code. One such example\n script is available at nc_files/holecircle.py. This script creates G-code for drilling a series of holes\n along the circumference of a circle.\n \n Figure 10.13: Circular Holes\n If the environment variable AXIS_PROGRESS_BAR is set, then lines written to stderr of the form\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 590 / 1291\n \n FILTER_PROGRESS=%d\n \n will set the AXIS progress bar to the given percentage. This feature should be used by any filter that\n runs for a long time.\n@@ -28134,15 +28134,15 @@\n Example of .axisrc file\n root_window.bind(\u201d\u201d, \u201ddestroy .\u201d)\n help2.append((\u201dControl-Q\u201d, \u201dQuit\u201d))\n \n The following stops the \u201dDo you really want to quit\u201d dialog.\n root_window.tk.call(\u201dwm\u201d,\u201dprotocol\u201d,\u201d.\u201d,\u201dWM_DELETE_WINDOW\u201d,\u201ddestroy .\u201d)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 591 / 1291\n \n 10.1.12.5 USER_COMMAND_FILE\n \n A configuration-specific Python file may be specified with an INI file setting [DISPLAY]USER_COMMAND_FIL\n Like a ~/.axisrc file, this file is sourced just before the AXIS GUI is displayed. This file is specific to\n@@ -28179,15 +28179,15 @@\n G-code file, one can disable the preview on certain parts that are already working OK).\n \u2022 (AXIS,hide) Stops the preview (must be first)\n \u2022 (AXIS,show) Resumes the preview (must follow a hide)\n \u2022 (AXIS,stop) Stops the preview from here to the end of the file.\n \u2022 (AXIS,notify,the_text) Displays the_text as an info display\n This display can be useful in the AXIS preview when (debug,message) comments are not displayed.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 592 / 1291\n \n 10.1.13 Axisui\n To improve the interaction of AXIS with physical jog wheels, the axis currently selected in the GUI is\n also reported on a pin with a name like axisui.jog.x. One of these pins is TRUE at one time, and the\n rest are FALSE. These are meant to control motion\u2019s jog-enable pins.\n@@ -28270,15 +28270,15 @@\n 10.1.14 AXIS Customization Hints\n AXIS is a fairly large and difficult-to-penetrate code base, this is helpful To keep the code stable but\n makes it difficult to customize.\n Here we will show code snippets to modify behaviours or visuals of the screen. Keep in mind the\n internal code of AXIS can change from time to time.\n these snippets are not guaranteed to continue to work - they may need adjustment.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 593 / 1291\n \n 10.1.14.1 The update function\n There is a function in AXIS named user_live_update that is called every time AXIS updates itself. You\n can use this to update your own functions.\n # continuous update function\n@@ -28317,15 +28317,15 @@\n root_window.bind(\u2019\u2019,lambda event: set_rapidrate(50))\n root_window.bind(\u2019\u2019,lambda event: set_rapidrate(60))\n root_window.bind(\u2019\u2019,lambda event: set_rapidrate(70))\n root_window.bind(\u2019\u2019,lambda event: set_rapidrate(80))\n root_window.bind(\u2019\u2019,lambda event: set_rapidrate(90))\n root_window.bind(\u2019\u2019,lambda event: set_rapidrate(100))\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n root_window.bind(\u2019\u2019,lambda event: set_feedrate(0))\n root_window.bind(\u2019\u2019,lambda event: set_feedrate(10))\n root_window.bind(\u2019\u2019,lambda event: set_feedrate(20))\n root_window.bind(\u2019\u2019,lambda event: set_feedrate(30))\n root_window.bind(\u2019\u2019,lambda event: set_feedrate(40))\n root_window.bind(\u2019\u2019,lambda event: set_feedrate(50))\n@@ -28364,15 +28364,15 @@\n # connect pins\n hal.new_sig(\u2019idle-led\u2019,hal.HAL_BIT)\n hal.connect(\u2019halui.program.is-idle\u2019,\u2019idle-led\u2019)\n hal.connect(\u2019my_component.idle-led\u2019,\u2019idle-led\u2019)\n \n 594 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 595 / 1291\n \n # set a pin\n hal.set_p(\u2019my_component.pause-led\u2019,\u20191\u2019)\n # get a pin 2,8+ branch\n value = hal.get_value(\u2019halui.program.is-idle\u2019)\n@@ -28413,15 +28413,15 @@\n root_window.tk.call(\u2019button\u2019,\u2019.pane.top.tabs.fmanual.homey\u2019,\u2019-text\u2019,\u2019Home Y\u2019,\u2019-command\u2019,\u2019 \u2190goto_home Y\u2019,\u2019-height\u2019,\u20192\u2019)\n # place the button\n root_window.tk.call(\u2019grid\u2019,\u2019.pane.top.tabs.fmanual.homey\u2019,\u2019-column\u2019,\u20191\u2019,\u2019-row\u2019,\u20197\u2019,\u2019- \u2190columnspan\u2019,\u20192\u2019,\u2019-padx\u2019,\u20194\u2019,\u2019-sticky\u2019,\u2019w\u2019)\n # any function called from Tcl needs to be added to TclCommands\n TclCommands.goto_home = goto_home\n commands = TclCommands(root_window)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 596 / 1291\n \n 10.1.14.12 Add Button to manual frame\n # make a new button and put it in the manual frame\n root_window.tk.call(\u2019button\u2019,\u2019.pane.top.tabs.fmanual.mybutton\u2019,\u2019-text\u2019,\u2019My Button\u2019,\u2019- \u2190command\u2019,\u2019mybutton_clicked\u2019,\u2019-height\u2019,\u20192\u2019)\n root_window.tk.call(\u2019grid\u2019,\u2019.pane.top.tabs.fmanual.mybutton\u2019,\u2019-column\u2019,\u20191\u2019,\u2019-row\u2019,\u20196\u2019,\u2019- \u2190columnspan\u2019,\u20192\u2019,\u2019-padx\u2019,\u20194\u2019,\u2019-sticky\u2019,\u2019w\u2019)\n@@ -28477,15 +28477,15 @@\n = BooleanVar\n = DoubleVar\n = IntVar\n = IntVar\n = IntVar\n = IntVar\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 597 / 1291\n \n interp_state\n = IntVar\n ja_rbutton\n = StringVar\n@@ -28582,15 +28582,15 @@\n # use \u2019grid\u2019 or \u2019pack\u2019 depending on how it was originally placed\n root_window.tk.call(\u2019grid\u2019,\u2019forget\u2019,\u2019.pane.top.tabs.fmanual.jogf.zerohome.tooltouch\u2019)\n \n 10.1.14.15 Change a label\n # change label of a widget\n root_window.tk.call(\u2019setup_widget_accel\u2019,\u2019.pane.top.tabs.fmanual.mist\u2019,\u2019Downdraft\u2019)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 598 / 1291\n \n # make sure it appears (only needed in this case if the mist button was hidden)\n root_window.tk.call(\u2019grid\u2019,\u2019.pane.top.tabs.fmanual.mist\u2019,\u2019-column\u2019,\u20191\u2019,\u2019-row\u2019,\u20195\u2019,\u2019- \u2190columnspan\u2019,\u20192\u2019,\u2019-padx\u2019,\u20194\u2019,\u2019-sticky\u2019,\u2019w\u2019)\n \n 10.1.14.16 Redirect an existing command\n@@ -28620,15 +28620,15 @@\n root_window.tk.call(\u2019.toolbar.program_run\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019RUN\u2019,\u2019-width\u2019, \u2190buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.program_step\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019STEP\u2019,\u2019-width\u2019 \u2190,buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.program_pause\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019PAUSE\u2019,\u2019- \u2190width\u2019,buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.program_stop\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019STOP\u2019,\u2019-width\u2019 \u2190,buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.program_blockdelete\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019Skip /\u2019 \u2190,\u2019-width\u2019,buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.program_optpause\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019M1\u2019,\u2019- \u2190width\u2019,buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 599 / 1291\n \n root_window.tk.call(\u2019.toolbar.view_zoomin\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019Zoom+\u2019,\u2019-width\u2019 \u2190,buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.view_zoomout\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019Zoom-\u2019,\u2019-width \u2190\u2019,buW,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.view_z\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019Top X\u2019,\u2019-width\u2019,buW, \u2190\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n root_window.tk.call(\u2019.toolbar.view_z2\u2019,\u2019configure\u2019,\u2019-image\u2019,\u2019\u2019,\u2019-text\u2019,\u2019Top Y\u2019,\u2019-width\u2019,buW \u2190,\u2019-height\u2019,buH,\u2019-borderwidth\u2019,boW)\n@@ -28663,15 +28663,15 @@\n support the joint / axis changes in LinuxCNC it does not work on 2.7 or 2.6 branch!\n It has support for integrated virtual keyboard (onboard or matchbox-keyboard), so there is no need\n for a hardware keyboard or mouse, but it can also be used with that hardware. GMOCCAPY offers a\n separate settings page to configure most settings of the GUI without editing files.\n GMOCCAPY can be localized very easy, because the corresponding files are separated from the linuxcnc.po files, so there is no need to translate unneeded stuff. The files are placed in /src/po/gmoccapy.\n You could just copy the gmoccapy.pot file to something like it.po and translate that file with gtranslator or poedit. After rebuilding, you\u2019d get the GUI in your preference language. To facilitate the\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 600 / 1291\n \n sharing of the translation, GMOCCAPY is available on the Weblate web interface. GMOCCAPY is currently available in English, German, Spanish, Polish, Serbian and Hungarian. Feel free to help me to\n introduce more languages, be it locally or via the web. If you need help, don\u2019t hesitate to contact me\n on nieson@web.de.\n \n@@ -28682,15 +28682,15 @@\n other versions, please inform about problems and / or solutions on the LinuxCNC forum or the German\n CNC Ecke Forum or LinuxCNC users mailing list.\n The minimum screen resolution for GMOCCAPY for the normal layout (without side panels) is 980 x\n 750 Pixel, so it should fit to every standard screen. It is recommended to use screens with minimum\n resolution of 1024x768. There is also a configuration which fits for 800x600 screens (introduced in\n GMOCCAPY 3.4.8).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 601 / 1291\n \n 10.2.3 How to Get GMOCCAPY\n GMOCCAPY 3 is included in the standard distribution of LinuxCNC since release 2.7. So the easiest\n way to get GMOCCAPY on your controlling PC is just to download the ISO and install it from the\n CD/DVD/USB-stick. This allows you to receive updates with the regular Debian packages.\n@@ -28703,15 +28703,15 @@\n edit the settings of the machine.\n \u2022 -logo : If given, the logo will hide the jog button tab in manual mode, this is only\n useful for machines with hardware buttons for jogging and increment selection.\n There is really not to much to configure just to run GMOCCAPY, but there are some points you should\n take care off if you want to use all the features of the GUI.\n You will find a lot of simulation configurations (INI files) included, just to show the basics:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 602 / 1291\n \n \u2022 gmoccapy.ini\n \u2022 gmoccapy_4_axis.ini\n \u2022 lathe_configs/gmoccapy_lathe.ini\n \u2022 lathe_configs/gmoccapy_lathe_imperial.ini\n@@ -28745,15 +28745,15 @@\n PROGRAM_PREFIX = ../../nc_files/\n \n \u2022 DISPLAY = gmoccapy - This tells LinuxCNC to use GMOCCAPY.\n \u2022 PREFERENCE_FILE_PATH - Gives the location and name of the preferences file to be used. In most\n cases this line will not be needed, it is used by GMOCCAPY to store your settings of the GUI, like\n themes, DRO units, colors, and keyboard settings, etc., see settings page for more details.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 603 / 1291\n \n Note\n If no path or file is given, GMOCCAPY will use as default .pref, if no machine\n name is given in your INI File it will use gmoccapy.pref. The file will be stored in your config directory,\n so the settings will not be mixed if you use several configs. If you only want to use one file for\n@@ -28788,15 +28788,15 @@\n If not set, half of MAX_LINEAR_VELOCITY will be used. If that value is also not given, it will default\n to 180.\n \n \u2022 MAX_LINEAR_VELOCITY = 230.0 - Sets the maximal velocity of the machine.\n Note\n Defaults to 600 if not set.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 604 / 1291\n \n 10.2.4.3 Macro Buttons\n You can add macros to GMOCCAPY, similar to Touchy\u2019s way. A macro is nothing else than a NGC file.\n You are able to execute complete CNC programs in MDI mode by just pushing one button. To do so,\n you first have to specify the search path for macros:\n@@ -28837,15 +28837,15 @@\n GMOCCAPY will also accept macros asking for parameters like:\n [MACRO]\n MACRO = go_to_position X-pos Y-pos Z-pos\n \n The parameters must be separated by spaces. This example calls a file go_to_position.ngc with the\n following content:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 605 / 1291\n \n ; Test file \u201dgo to position\u201d\n ; will jog the machine to a given position\n O sub\n G17\n@@ -28865,15 +28865,15 @@\n M2\n \n After pushing the execute macro button, you will be asked to enter the values for X-pos Y-pos Z-pos\n and the macro will only run if all values have been given.\n Note\n If you would like to use a macro without any movement, see also the notes in known problems.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 606 / 1291\n \n Macro example using the \u201dgo to position\u201d-macro\n 10.2.4.4 Embedded Tabs and Panels\n You can add embedded programs to GMOCCAPY like you can do in AXIS, Touchy and Gscreen. All is\n done by GMOCCAPY automatically if you include a few lines in your INI file in the DISPLAY section.\n@@ -28887,15 +28887,15 @@\n EMBED_TAB_LOCATION = ntb_preview\n EMBED_TAB_COMMAND = gladevcp -x {XID} vcp_box.glade\n \n All you have to take care of, is that you include for every tab or side panel the mentioned three lines:\n \u2022 EMBED_TAB_NAME = Represents the name of the tab or side panel, it is up to you what name you\n use, but it must be present!\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 607 / 1291\n \n \u2022 EMBED_TAB_LOCATION = The place where your program will be placed in the GUI, see figure\n Embedded tab locations. Valid values are:\n \u2013 ntb_user_tabs (as main tab, covering the complete screen)\n \u2013 ntb_preview (as tab on the preview side (1))\n@@ -28932,29 +28932,29 @@\n \n will add a the panel manual-example.ui, include a custom Python handler, hitcounter.py and make\n all connections after realizing the panel according to manual-example.hal.\n hide\n \n will hide the chosen box.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 608 / 1291\n \n Figure 10.14: Embedded tab locations\n Note\n If you make any HAL connections to your custom glade panel, you need to do that in the HAL file\n specified in the EMBED_TAB_COMMAND line, otherwise you may get an error that the HAL pin does\n not exist \u2014 this is because of race conditions loading the HAL files. Connections to GMOCCAPY HAL\n pins need to be made in the postgui HAL file specified in your INI file, because these pins do not exist\n prior of realizing the GUI.\n \n Here are some examples:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n ntb_preview\n \n 609 / 1291\n \n box_right - and GMOCCAPY in MDI mode\n \n@@ -28977,15 +28977,15 @@\n provide a -response HAL pin.\n For more detailed information of the pins see User Created Message HAL Pins.\n Example of User Message Configuration\n MESSAGE_TEXT = This is a info-message test\n MESSAGE_TYPE = status\n MESSAGE_PINNAME = statustest\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 610 / 1291\n \n MESSAGE_TEXT = This is a yes no dialog test\n MESSAGE_TYPE = yesnodialog\n MESSAGE_PINNAME = yesnodialog\n MESSAGE_TEXT = Text can be small, big, bolditalic,\n@@ -29026,15 +29026,15 @@\n self.widgets.rbt_auto.set_size_request(*BB_SIZE)\n self.widgets.tbtn_setup.set_size_request(*BB_SIZE)\n self.widgets.tbtn_user_tabs.set_size_request(*BB_SIZE)\n self.widgets.btn_exit.set_size_request(*BB_SIZE)\n \n The widget names can the looked up in the /usr/share/gmoccapy.glade file\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 611 / 1291\n \n 10.2.4.8 User CSS File\n Similar to the User command file it\u2019s possible to influence the appearance by cascading style sheets\n (CSS). If a file ~/.gmoccapy_css exists, its contents are loaded into the stylesheet provider and are\n so being applied to the GUI.\n@@ -29078,15 +29078,15 @@\n \n You can specify where to save the log file:\n [DISPLAY]\n LOG_FILE = gmoccapy.log\n \n If LOG_FILE is not set, logging happens to $HOME/.log.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 612 / 1291\n \n 10.2.5 HAL Pins\n GMOCCAPY exports several HAL pins to be able to react to hardware devices. The goal is to get a\n GUI that may be operated in a tool shop, completely/mostly without mouse or keyboard.\n Note\n@@ -29121,15 +29121,15 @@\n For the bottom (horizontal) buttons they are:\n \u2022 gmoccapy.h-button.button-0 (bit IN)\n \u2022 gmoccapy.h-button.button-1 (bit IN)\n \u2022 gmoccapy.h-button.button-2 (bit IN)\n \u2022 gmoccapy.h-button.button-3 (bit IN)\n \u2022 gmoccapy.h-button.button-4 (bit IN)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 613 / 1291\n \n \u2022 gmoccapy.h-button.button-5 (bit IN)\n \u2022 gmoccapy.h-button.button-6 (bit IN)\n \u2022 gmoccapy.h-button.button-7 (bit IN)\n \u2022 gmoccapy.h-button.button-8 (bit IN)\n@@ -29230,15 +29230,15 @@\n zero G92\n unhome all\n back\n \n set selected\n back\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 614 / 1291\n \n Table 10.5: Functional assignment of horizontal buttons\n (3)\n Pin\n Tool Mode\n@@ -29287,15 +29287,15 @@\n back\n \n So we have 67 reactions with only 10 HAL pins!\n These pins are made available to be able to use the screen without a touch panel, or protect it from\n excessive use by placing hardware buttons around the panel. They are available in a sample configuration like shown in the image below.\n Sample configuration \u201dgmoccapy_sim_hardware_button\u201d showing the side buttons\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 615 / 1291\n \n 10.2.5.2 Velocities and Overrides\n All sliders from GMOCCAPY can be connected to hardware encoders or hardware potentiometers.\n Note\n For GMOCCAPY 3 some HAL pin names have changed when new controls have been implemented.\n@@ -29307,15 +29307,15 @@\n \u2022 gmoccapy.jog.jog-velocity.count-enable (bit IN) - Must be True, to enable counts\n \u2022 gmoccapy.feed.feed-override.counts (s32 IN) - feed override\n \u2022 gmoccapy.feed.feed-override.count-enable (bit IN) - Must be True, to enable counts\n \u2022 gmoccapy.feed.reset-feed-override (bit IN) - reset the feed override to *0%\n \u2022 gmoccapy.spindle.spindle-override.counts (s32 IN) - spindle override\n \u2022 gmoccapy.spindle.spindle-override.count-enable (bit IN) - Must be True, to enable counts\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 616 / 1291\n \n \u2022 gmoccapy.spindle.reset-spindle-override (bit IN) - reset the spindle override to *0%\n \u2022 gmoccapy.rapid.rapid-override.counts (s32 IN) - Maximal Velocity of the *chine\n \u2022 gmoccapy.rapid.rapid-override.count-enable (bit IN) - Must be True, to enable counts\n To connect potentiometers, use the following pins:\n@@ -29345,15 +29345,15 @@\n \u2022 gmoccapy.spc_spindle.increase (bit IN) - As long as True the value of the slider will increase\n \u2022 gmoccapy.spc_spindle.decrease (bit IN) - As long as True the value of the slider will decrease\n \u2022 gmoccapy.spc_spindle.scale (float IN) - A value to scale the output value (handy to change units/min to units/sec)\n \u2022 gmoccapy.spc_spindle.value (float OUT) - Value of the widget\n \u2022 gmoccapy.spc_spindle.scaled-value (float OUT) - Scaled value of the widget .RAPIDS\n \u2022 gmoccapy.spc_rapid.increase (bit IN) - As long as True the value of the slider will increase\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 617 / 1291\n \n \u2022 gmoccapy.spc_rapid.decrease (bit IN) - As long as True the value of the slider will decrease\n \u2022 gmoccapy.spc_rapid.scale (float IN) - A value to scale the output value (handy to change units/min\n to units/sec)\n \u2022 gmoccapy.spc_rapid.value (float OUT) - Value of the widget\n@@ -29388,15 +29388,15 @@\n For the standard XYZ config following HAL pins will be available:\n \u2022 gmoccapy.jog.axis.jog-x-plus (bit IN)\n \u2022 gmoccapy.jog.axis.jog-x-minus (bit IN)\n \u2022 gmoccapy.jog.axis.jog-y-plus (bit IN)\n \u2022 gmoccapy.jog.axis.jog-y-minus (bit IN)\n \u2022 gmoccapy.jog.axis.jog-z-plus (bit IN)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 618 / 1291\n \n \u2022 gmoccapy.jog.axis.jog-z-minus (bit IN)\n If you use a 4 axes configuration, there will be two additional pins:\n \u2022 gmoccapy.jog.jog--plus (bit IN)\n \u2022 gmoccapy.jog.jog--minus (bit IN)\n@@ -29427,15 +29427,15 @@\n \u2022 gmoccapy.jog.jog-inc-3 (bit IN)\n \u2022 gmoccapy.jog.jog-inc-4 (bit IN)\n \u2022 gmoccapy.jog.jog-inc-5 (bit IN)\n \u2022 gmoccapy.jog.jog-inc-6 (bit IN)\n GMOCCAPY offers also a HAL pin to output the selected jog increment:\n \u2022 gmoccapy.jog.jog-increment (float OUT)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 619 / 1291\n \n 10.2.5.6 Hardware Unlock Pin\n To be able to use a key switch to unlock the settings page, the following pin is exported:\n \u2022 gmoccapy.unlock-settings (bit IN) - The settings page is unlocked if the pin is high. To use this\n pin, you need to activate it on the settings page.\n@@ -29469,15 +29469,15 @@\n MESSAGE_TEXT = LUBE FAULT\n MESSAGE_TYPE = okdialog\n MESSAGE_PINNAME = lube-fault\n MESSAGE_TEXT = X SHEAR PIN BROKEN\n MESSAGE_TYPE = status\n MESSAGE_PINNAME = pin\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 620 / 1291\n \n To connect these new pins you need to do this in the postgui HAL file. Here are some example connections which connect the message signals to some place else in the HAL file.\n Example Connection of User Messages (HAL file)\n net gmoccapy-lube-fault gmoccapy.messages.lube-fault\n net gmoccapy-lube-fault-waiting gmoccapy.messages.lube-fault-waiting\n@@ -29497,15 +29497,15 @@\n Also loops will cause different values.\n 10.2.5.11 Tool Related Pins\n Tool Change Pins These pins are provided to use GMOCCAPY\u2019s internal tool change dialog, similar\n to the one known from AXIS, but with several modifications. So you will not only get the message\n to change to tool number 3, but also the description of that tool like 7.5 mm 3 flute cutter. The\n information is taken from the tool table, so it is up to you what to display.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 621 / 1291\n \n Figure 10.15: GMOCCAPY tool change dialog\n \u2022 gmoccapy.toolchange-number (s32 IN) - The number of the tool to be changed\n \u2022 gmoccapy.toolchange-change (bit IN) - Indicates that a tool has to be changed\n \u2022 gmoccapy.toolchange-changed (bit OUT) - Indicates tool has been changed\n@@ -29521,15 +29521,15 @@\n \n Tool Offset Pins These pins allow you to show the active tool offset values for X and Z in the tool\n information frame. You should know that they are only active after G43 has been sent.\n \n Figure 10.16: Tool information area\n \u2022 gmoccapy.tooloffset-x (float IN)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 622 / 1291\n \n \u2022 gmoccapy.tooloffset-z (float IN)\n Note\n The tooloffset-x line is not needed on a mill, and will not be displayed on a mill with trivial kinematics.\n \n@@ -29558,15 +29558,15 @@\n 1. Touch off your workpiece in X and Y.\n 2. Measure the height of your block from the base where your tool switch is located, to the upper\n face of the block (including chuck etc.).\n 3. Push the button block height and enter the measured value.\n 4. Go to auto mode and start your program.\n Here is a small sketch:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 623 / 1291\n \n Figure 10.17: Tool measurement data\n With the first given tool change the tool will be measured and the offset will be set automatically to\n fit the block height. The advantage of the GMOCCAPY way is, that you do not need a reference tool.\n Note\n@@ -29582,15 +29582,15 @@\n \u2022 gmoccapy.probeheight (float OUT) - The probe switch height\n \u2022 gmoccapy.searchvel (float OUT) - The velocity to search for the tool probe switch\n \u2022 gmoccapy.probevel (float OUT) - The velocity to probe tool length\n 10.2.6.2 INI File Modifications\n Modify your INI file to include the following sections.\n The RS274NGC Section\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 624 / 1291\n \n [RS274NGC]\n # is the sub, with is called when a error during tool change happens, not needed on every\n machine configuration\n ON_ABORT_COMMAND=O call\n@@ -29632,15 +29632,15 @@\n \u2022 toplevel.py\n \u2022 remap.py\n \u2022 stdglue.py\n From /configs/sim/gmoccapy/macros copy\n \u2022 on_abort.ngc\n \u2022 change.ngc\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 625 / 1291\n \n to the directory specified as SUBROUTINE_PATH, see RS274NGC Section.\n Open change.ngc with a editor and uncomment the following lines (49 and 50):\n F #<_hal[gmoccapy.probevel]>\n G38.2 Z-4\n@@ -29676,15 +29676,15 @@\n \n To enter the page you will have to click on\n and give an unlock code, which is 123 by\n default. If you want to change it at this time you will have to edit the hidden preference file, see the\n display section for details.\n The page is separated in three main tabs:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 626 / 1291\n \n 10.2.7.1 Appearance\n \n Figure 10.18: GMOCCAPY settings page Appearance\n On this tab you will find the following options:\n@@ -29695,15 +29695,15 @@\n \u2022 Start maximized\n \u2022 Start as window - If you select start as window the spinboxes to set the position and size will get\n active. One time set, the GUI will start every time on the place and with the size selected. Nevertheless the user can change the size and position using the mouse, but that will not have any influence\n on the settings.\n \u2022 Window decorated - Allows the title bar to be hidden. (default: title bar visible)\n \u2022 hide cursor - Does allow to hide the cursor, what is very useful if you use a touch screen.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 627 / 1291\n \n \u2022 hide tooltips - Hides the tool tips.\n Keyboard The checkboxes allow the user to select if he wants the on board keyboard to be shown\n immediately, when entering the MDI Mode, when entering the offset page, the tooledit widget or when\n open a program in the EDIT mode. The keyboard button on the bottom button list will not be affected\n@@ -29728,15 +29728,15 @@\n The letters \u201dde\u201d are for German, you will have to set them according to your locale settings. Just\n execute this file before starting LinuxCNC, it can be done also adding a starter to your local folder.\n ./config/autostart\n \n So that the layout is set automatically on starting.\n For matchbox-keyboard you will have to make your own layout, for a German layout ask in the forum.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 628 / 1291\n \n GMOCCAPY with Onboard keyboard in edit mode\n On Touch Off This gives the option whether to show the preview tab or the offset page tab when you\n enter the touch off mode by clicking the corresponding bottom button.\n \u2022 show preview\n@@ -29747,15 +29747,15 @@\n \u2022 Relative mode = black\n \u2022 Absolute mode = blue\n \u2022 Distance to go = yellow\n The foreground color of the DRO can be selected with:\n \u2022 homed color = green\n \u2022 unhomed color = red\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 629 / 1291\n \n Note\n You can change through the DRO modes (absolute, relative, distance to go) by clicking the number\n on the DRO! If you click on the left side letter of the DRO a popup window will allow you to set the\n value of the axes, making it easier to set the value, as you will not need to go over the touch off\n@@ -29793,15 +29793,15 @@\n \u2013 left zoom, middle move, right rotate\n \u2013 left move, middle rotate, right zoom\n \u2013 left zoom, middle rotate, right move\n \u2013 left move, middle zoom, right rotate\n \u2013 left rotate, middle zoom, right move\n Default is left move, middle zoom, right rotate.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 630 / 1291\n \n The mouse wheel will still zoom the preview in every mode.\n Tip\n If you select an element in the preview, the selected element will be taken as rotation center point\n and in auto mode the corresponding code line will be highlighted.\n@@ -29818,15 +29818,15 @@\n messages sounds should be played. By default \u201dFollow System Theme\u201d is set.\n It further allows to change the icon theme. Currently there are three themes available:\n \u2022 classic\n \u2022 material\n \u2022 material light\n To create custom icon themes, see section Icon Theme for details.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 631 / 1291\n \n 10.2.7.2 Hardware\n \n Hardware MPG Scale For the different HAL pins to connect MPG wheels to, you may select individual\n scales to be applied. The main reason for this was my own test to solve this through HAL connections,\n@@ -29842,15 +29842,15 @@\n are others that will never allow this. So everybody can select whether to use them or not.\n Keyboard shortcuts are disabled by default.\n \n Warning\n It is not recommended to use keyboard jogging, as it represents a serious risk for operator and\n machine.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 632 / 1291\n \n Please take care if you use a lathe, then the shortcuts will be different, see the Lathe Specific Section.\n General\n \u2022 F1 - Trigger Estop (will work even if keyboard shortcuts are disabled)\n \u2022 F2 - Toggle machine on/off\n@@ -29881,15 +29881,15 @@\n Spindle\n \u2022 Starting RPM - Sets the rpm to be used if the spindle is started and no S value has been set.\n Note\n This value will be presetted according to your settings in [DISPLAY] DEFAULT_SPINDLE_SPEED of\n your INI file. If you change the settings on the settings page, that value will be default from that\n moment, your INI file will not be modified.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 633 / 1291\n \n \u2022 Spindle bar min and Spindle bar max - Sets the limits of the spindle bar shown in the INFO frame\n on the main screen.\n Default values are:\n MIN = 0\n@@ -29904,15 +29904,15 @@\n please take care that the \u201drabbit mode\u201d is activated, otherwise you will not be able to jog faster\n than the turtle jog velocity, which is calculated using the turtle jog factor.\n \u2022 Turtle jog factor - Sets the scale to apply for turtle jog mode (button pressed, showing the turtle). If\n you set a factor of 20, the turtle max. jog velocity will be 1/20 of the max. velocity of the machine.\n Note\n This button can be controlled using the Turtle-Jog HAL Pin.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 634 / 1291\n \n 10.2.7.3 Advanced Settings\n \n Tool Measurement Please check Auto Tool Measurement\n Note\n@@ -29925,15 +29925,15 @@\n \u2013 X Pos. - The X position of the tool switch.\n \u2013 Y Pos. - The Y position of the tool switch.\n \u2013 Z Pos. - The Z position of the tool switch, we will go as rapid move to this coordinate.\n \u2013 Max. Probe The distance to search for contact, an error will be launched, if no contact is\n given in this range. The distance has to be given in relative coordinates, beginning the move\n from Z Pos., so you have to give a negative value to go down!\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 635 / 1291\n \n \u2013 Probe Height - The height of your probe switch, you can measure it. Just touch off the base\n where the probe switch is located and set that to zero. Then make a tool change and watch\n the tool_offset_z value, that is the height you must enter here.\n Probe velocities\n@@ -29968,15 +29968,15 @@\n the 11th message will delete the first one, so you will only see the last 10.\n \u2022 Font - The font and size you want to use to display the messages.\n \u2022 Use frames - If you activate the checkbox, each message will be displayed in a frame, so it is much\n easier to distinguish the messages. But you will need a little bit more space.\n \u2022 Launch test message-button - It will show a message, so you can see the changes of your settings\n without the need to generate an error.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 636 / 1291\n \n 10.2.8 Icon Theme\n Icon themes are used to customize the look and feel of GMOCCAPY\u2019s icons.\n GMOCCAPY ships with three different icon themes:\n \u2022 classic - The classic GMOCCAPY icons.\n@@ -30013,15 +30013,15 @@\n png files). A special case is the directory called \u201dscalable/actions\u201d, this contains scalable icons\n not tied to a specific size (e.g. svg files).\n By supplying different sized versions of the icons, we can guarantee a nice looking icon if different\n sizes and we also have the ability to change the icon according to its size, for example a 64x64 px\n sized icon may contain more details than its 16x16 px version.\n \u2022 For each directory we also have to write a section in the index.theme file:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 637 / 1291\n \n [16x16/actions]\n Size=16\n Type=Fixed\n Context=Actions\n@@ -30071,25 +30071,25 @@\n yellow/orange\u2019ish).\n Error: this color indicates \u201derror\u201d (usually something\n red\u2019ish).\n \n Tip\n Examples of symbolic icons can be found at linuxcnc/share/gmoccapy/icons/material.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 638 / 1291\n \n 10.2.9 Lathe Specific Section\n If in the INI file LATHE = 1 is given, the GUI will change its appearance to the special needs for a\n lathe. Mainly the Y axis will be hidden and the jog buttons will be arranged in a different order.\n \n Figure 10.19: Normal Lathe\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 639 / 1291\n \n Figure 10.20: Back Tool Lathe\n As you see the R DRO has a black background and the D DRO is gray. This will change according\n to the active G-code G7 or G8. The active mode is visible by the black background, meaning in the\n shown images G8 is active.\n@@ -30100,15 +30100,15 @@\n Normal Lathe:\n \u2022 Arrow_Left or NumPad_Left - Jog Z minus\n \u2022 Arrow_Right or NumPad_Right - Jog Z plus\n \u2022 Arrow_up or NumPad_Up - Jog X minus\n \u2022 Arrow_Down or NumPad_Down - Jog X plus\n Back Tool Lathe:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 640 / 1291\n \n \u2022 Arrow_Left or NumPad_Left - Jog Z minus\n \u2022 Arrow_Right or NumPad_Right - Jog Z plus\n \u2022 Arrow_up or NumPad_Up - Jog X plus\n \u2022 Arrow_Down or NumPad_Down - Jog X minus\n@@ -30120,15 +30120,15 @@\n There is a very good WIKI, which is actually growing, maintained by Marius, see Plasma wiki page.\n \n 10.2.11 Videos on YouTube\n Below is a series of videos that show GMOCCAPY in action. Unfortunately, these videos don\u2019t show\n the latest version of GMOCCAPY, but the way to use it will still be the same as in the current version.\n I will update the videos as soon as possible.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 641 / 1291\n \n 10.2.11.1 Basic Usage\n https://youtu.be/O5B-s3uiI6g\n 10.2.11.2 Simulated Jog Wheels\n https://youtu.be/ag34SGxt97o\n@@ -30147,15 +30147,15 @@\n 10.2.12 Known problems\n 10.2.12.1 Strange numbers in the info area\n If you get strange numbers in the info area of GMOCCAPY like:\n \n You have made your config file using an older version of StepConfWizard. It has made a wrong entry in the INI file under the [TRAJ] named MAX_LINEAR_VELOCITY = xxx. Change that entry to\n MAX_VELOCITY = xxx.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 642 / 1291\n \n 10.2.12.2 Not ending macro\n If you use a macro without movement, like this one:\n o sub\n G92.1\n@@ -30181,15 +30181,15 @@\n Touchy is a user interface for LinuxCNC meant for use on machine control panels, and therefore does\n not require keyboard or mouse.\n It is meant to be used with a touch screen, and works in combination with a wheel/MPG and a few\n buttons and switches.\n The Handwheel tab has radio buttons to select between Feed Override, Spindle Override, Maximum\n Velocity and Jogging functions for the wheel/MPG input. Radio buttons for axis selection and increment for jogging are also provided.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 643 / 1291\n \n 10.3.1 Panel Configuration\n 10.3.1.1 HAL connections\n Touchy looks in the INI file, under the heading [HAL] for entries of POSTGUI_HALFILE=.\n Typically would be touchy_postgui.hal, but can be any legal filename. These commands\n@@ -30202,15 +30202,15 @@\n are preferred.\n \n For more information on HAL files and the net command see the HAL Basics.\n Touchy has several output pins that are meant to be connected to the motion controller to control\n wheel jogging:\n \u2022 touchy.jog.wheel.increment, which is to be connected to the axis.N.jog-scale pin of each axis N.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 644 / 1291\n \n \u2022 touchy.jog.wheel.N, which is to be connected to axis.N.jog-enable for each axis N.\n Note\n N represents the axis number 0-8.\n \n@@ -30242,15 +30242,15 @@\n When you start Touchy the first time, check the Preferences tab. If using a touchscreen, choose the\n option to hide the pointer for best results.\n The Status Window is a fixed height, set by the size of a fixed font. This can be affected by the Gnome\n DPI, configured in System / Preferences / Appearance / Fonts / Details. If the bottom of the screen is\n cut off, reduce the DPI setting.\n All other font sizes can be changed on the Preferences tab.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 645 / 1291\n \n 10.3.2.3 Macros\n Touchy can invoke O-word macros using the MDI interface. To configure this, in the [TOUCHY] section\n of the INI file, add one or more MACRO lines. Each should be of the following format:\n MACRO=increment xinc yinc\n@@ -30281,39 +30281,39 @@\n from GladeVCP. GladeVCP uses the GTK widget editor GLADE to build virtual control panels (VCP) by\n point and click. Gscreen combines this with Python programming to create a GUI screen for running\n a CNC machine.\n Gscreen is customizable if you want different buttons and status LEDs. Gscreen supports GladeVCP\n which is used to add controls and indicators. To customize Gscreen you use the Glade editor. Gscreen\n is not restricted to adding a custom panel on the right or a custom tab it is fully editable.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 646 / 1291\n \n Figure 10.21: Gscreen Default Screen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Figure 10.22: Gscreen Silverdragon Screen\n \n 647 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 648 / 1291\n \n Figure 10.23: Gscreen Spartan Screen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 649 / 1291\n \n Figure 10.24: Gscreen Gaxis Screen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 650 / 1291\n \n Figure 10.25: Gscreen Industrial Screen\n Gscreen is based on Glade (the editor), PyGTK (the widget toolkit), and GladeVCP (LinuxCNC\u2019s connection to Glade and PyGTK). GladeVCP has some special widgets and actions added just for LinuxCNC\n A widget is just the generic name used for the buttons, sliders, labels etc of the PyGTK toolkit.\n 10.4.1.1 Glade File\n@@ -30321,15 +30321,15 @@\n of the screen. PyGTK uses this file to actually display and react to those widgets. The Glade editor\n makes it relatively easy to build and edit this file You must use the Glade 3.38.2 editor that uses the\n GTK3 widgets.\n 10.4.1.2 PyGTK\n PyGTK is the Python binding to GTK. GTK is the toolkit of visual widgets, it is programmed in C. PyGTK\n uses Python to bind with GTK.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 651 / 1291\n \n 10.4.2 GladeVCP\n GladeVCP binds LinuxCNC, HAL, PyGTK and Glade all together. LinuxCNC requires some special widgets so GladeVCP supplies them. Many are just HAL extensions to existing PyGTK widgets. GladeVCP\n creates the HAL pins for the special widgets described in the Glade file. GladeVCP also allows one\n to add Python commands to interact with the widgets, to make them do things not available in their\n@@ -30374,15 +30374,15 @@\n named widgets. This ties the theme file to the Glade file more tightly. Some of the sample screen skins\n allow the user to select any of the themes on the system. The sample gscreen is an example. Some\n will load the theme that is the same name in the config file. The sample gscreen-gaxis is an example.\n This is done by putting the theme folder in the config folder that has the INI and HAL files and naming\n it: SCREENNAME_theme (SCREENNAME being the base name of the files eg. gaxis_theme). Inside\n this folder is another folder call gtk-2.0, inside that is the theme files. If you add this file, Gscreen\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 652 / 1291\n \n will default to this theme on start up. gscreen-gaxis has a sample custom theme that looks for certain\n named widgets and changes the visual behavior of those specific widgets. The Estop and machine-on\n buttons use different colors then the rest of the buttons so that they stand out. This is done in the\n handler file by giving them specific names an by adding specific commands in the theme\u2019s gtkrc file.\n@@ -30413,15 +30413,15 @@\n about GladeVCP widgets is a prerequisite. If the existing widgets give you the function you want or\n need then no Python code needs be added, just save the Glade file in your configuration folder. If you\n need something more custom then you must do some Python programming. The name of the parent\n window needs to be window1. Gscreen assumes this name.\n Remember, if you use a custom screen option YOU are responsible for fixing it (if required) when\n updating LinuxCNC.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 653 / 1291\n \n 10.4.3 Building a simple clean-sheet custom screen\n \n Lets build a simple usable screen. Build this in the Glade editor (if using a RIP package run it from a\n terminal after using . scripts/rip-environment ).\n@@ -30434,15 +30434,15 @@\n \u2022 The sourceview widget will try to use the whole window so adding it to a scrolled window will cover\n this. (This is already done in the example.)\n \u2022 The buttons will expand as the window is made larger which is ugly so we will set the box they are\n in, to not expand (see below).\n \u2022 The button types to use depend on the VCP_action used -eg vcp_toggle_action usually require toggle\n buttons (Follow the example for now).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 654 / 1291\n \n \u2022 The buttons in this example are regular buttons not HAL buttons. We don\u2019t need the HAL pins.\n \n In this screen we are using VCP_actions to communicate to LinuxCNC the actions we want. This\n allows us standard functions without adding Python code in the handler file. Let\u2019s link the estop\n@@ -30450,15 +30450,15 @@\n Related Action and click the button beside it. Now select the toggle estop action. Now the button will\n toggle estop on and off when clicked. Under the general tab you can change the text of the button\u2019s\n label to describe its function. Do this for all the buttons.\n Select the gremlin widget click the common tab and set the requested height to 100 and click the\n checkbox beside it.\n Click the horizontal box that holds the buttons. Click the packing tab and click expand to No.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 655 / 1291\n \n Save it as tester.glade and save it in sim/gscreen/gscreen_custom/ folder. Now launch LinuxCNC and\n click to sim/gscreen/gscreen_custom/tester and start it. If all goes well our screen will pop up and the\n buttons will do their job. This works because the tester.ini tells gscreen to look for and load tester.glade\n and tester_handler.py. The tester_handler.py file is included in that folder and is coded just show the\n@@ -30498,15 +30498,15 @@\n manual tool change dialog. Called when the dialog is closed.\n \u2022 periodic(self): This is called every (default 100) milliseconds. Use it to update your widgets/HAL\n pins. You can call Gscreen regular periodic afterwards too, self.gscreen.update_position() or just\n add pass to not update anything. Gscreen\u2019s update_position() actually calls many separate functions. If you wish to incorporate some of those widgets then just call those functions directly.\n You can also add you own functions to be called in this file. Usually you would add a signal to a widget\n to call your function.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 656 / 1291\n \n 10.4.4.1 Adding Keybindings Functions\n Our tester example would be more useful if it responded to keyboard commands. There is a function\n called keybindings() that tries to set this up. While you can override it completely, we didn\u2019t - but it\n assumes some things:\n@@ -30553,15 +30553,15 @@\n pressed. Then we add the function to the handle file to call a Gscreen builtin function to start halmeter.\n 10.4.4.2 Linuxcnc State Status\n The module Gstat polls LinuxCNC\u2019s state every 100ms and sends callback messages to user functions\n when state changes. You can register messages to act on specific state changes. As an example we\n will register to get file-loaded messages when LinuxCNC loads a new file. First we must import the\n module and instantiate it: In the import section of the handler file add:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 657 / 1291\n \n from hal_glib import GStat\n GSTAT = GStat()\n \n In the handler file under def __init__(self): add:\n@@ -30604,15 +30604,15 @@\n 2. Gscreen sets the debug mode and set the optional skin name.\n 3. Gscreen checks to see if there are local XML, handler and/or locale files in the configuration\n folder. It will use them instead of the default ones (in share/gscreen/skins/) (There can be two\n separate screens displayed).\n 4. The main screen is loaded and translations set up. If present the second screen will be loaded\n and translations set up.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 658 / 1291\n \n 5. Optional Audio is initialized if available.\n 6. It reads some of the INI file to initialize the units, and the number/type of axes.\n 7. Initializes Python\u2019s binding to HAL to build a non-realtime component with the Gscreen name.\n 8. GladeVCP\u2019s makepins is called to parse the XML file to build HAL pins for the HAL widgets and\n@@ -30649,15 +30649,15 @@\n 29. Gscreen set up messages specified in the INI file.\n 30. Gscreen tells HAL the Gscreen HAL component is finished making pins and is ready. If there is\n a terminal widget in the screen it will print all the Gscreen pins to it.\n 31. Gscreen sets the display cycle time based on the INI file.\n 32. Gscreen checks the handler file for timer_interupt(self) function call otherwise use Gscreen\u2019s\n default function call.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 659 / 1291\n \n 10.4.6 INI Settings\n Under the [DISPLAY] heading:\n DISPLAY = gscreen -c tester\n options:\n@@ -30698,15 +30698,15 @@\n # This just shows in the status bar and desktop notify popup.\n MESSAGE_BOLDTEXT = NONE\n MESSAGE_TEXT = This is a statusbar test\n MESSAGE_DETAILS = STATUS DETAILS\n MESSAGE_TYPE = status\n MESSAGE_PINNAME = statustest\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 660 / 1291\n \n # This will pop up a dialog that asks a yes no question\n MESSAGE_BOLDTEXT = NONE\n MESSAGE_TEXT = This is a yes no dialog test\n MESSAGE_DETAILS = Y/N DETAILS\n@@ -30750,15 +30750,15 @@\n \n The line:\n **** GSCREEN INFO: handler file path: [\u2019/home/chris/emc-dev/share/gscreen/skins/industrial/ \u2190industrial_handler.py\u2019]\n \n shows where the stock file lives. Copy this file to your config folder. This works the same for the Glade\n file.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 661 / 1291\n \n 10.5 QtDragon GUI\n 10.5.1 Introduction\n QtDragon and QtDragon_hd are built with the QtVCP framework. It is the creative vision of forum\n personality Persei8. Much of it is based on the excellent work of others in the LinuxCNC community.\n@@ -30773,15 +30773,15 @@\n \n 10.5.1.1 QtDragon\n \n Figure 10.26: QtDragon - 3 or 4 axis sample (1440x860) in silver theme\n QtDragon is resizable from a resolution of 1280x768 to 1680x1200. It will work in window mode on\n any monitor with higher resolution but not on monitors with lower resolution.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 662 / 1291\n \n 10.5.1.2 QtDragon_hd\n \n Figure 10.27: QtDragon_hd - 3 or 4 axis sample for larger monitors (1920x1056) in dark theme\n QtDragon_hd is a similar design as QtDragon but modified to utilize the extra space of modern larger\n@@ -30796,15 +30796,15 @@\n You can only have one of each section (e.g., [HAL]) in the INI file. If you see in these docs multiple\n section options, place them all under the one appropriate section name.\n \n 10.5.2.1 Display\n In the section [DISPLAY] change the DISPLAY = assignment to read:\n \u2022 qtdragon for a small version\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 663 / 1291\n \n \u2022 qtdradon_hd for the large version.\n You can add -v, -d, -i, or -q for (respectably) verbose, debug, info or quiet output to the terminal.\n [DISPLAY]\n DISPLAY = qtvcp qtdragon\n@@ -30841,15 +30841,15 @@\n [DISPLAY]\n DEFAULT_SPINDLE_0_SPEED = 500\n SPINDLE_INCREMENT = 200\n MIN_SPINDLE_0_SPEED = 100\n MAX_SPINDLE_0_SPEED = 2500\n MAX_SPINDLE_POWER = 1500\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 664 / 1291\n \n 10.5.2.6 Jogging increments\n Set selectable jogging increments.\n These increments can be user changed.\n [DISPLAY]\n@@ -30896,15 +30896,15 @@\n panel.\n If using stackedWidget_mainTab, a button labelled User will appear.\n Pressing this button will cycle through displaying all available panels (specified for this location) on\n the main tab area.\n Sample adding a builtin panel to the utilities tab, i.e., a graphical animated machine using\n the vismach library.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 665 / 1291\n \n [DISPLAY]\n EMBED_TAB_NAME = Vismach demo\n EMBED_TAB_COMMAND = qtvcp vismach_mill_xyz\n EMBED_TAB_LOCATION = tabWidget_utilities\n@@ -30928,15 +30928,15 @@\n ~/linuxcnc/nc_files/examples/probe/basic_probe/macros:~/linuxcnc/nc_files/examples/remap- \u2190subroutines: \\\n ~/linuxcnc/nc_files/examples/ngcgui_lib/remap_lib\n \n QtVCP\u2019s NGCGUI program also need to know where to open for subroutine selection and pre-selection.\n NGCGUI_SUBFILE_PATH must point to an actual path on your system and also a path described in\n SUBROUTINE_PATHS.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 666 / 1291\n \n [DISPLAY]\n # NGCGUI subroutine path.\n # Thr path must also be in [RS274NGC] SUBROUTINE_PATH\n NGCGUI_SUBFILE_PATH = ~/linuxcnc/nc_files/examples/ngcgui_lib\n@@ -30978,15 +30978,15 @@\n jpg = image-to-gcode\n py = python\n \n 10.5.2.13 Probe/Touchplate/Laser Settings\n QtDragon has INI entries for two optional probing tab screens available. Comment/uncomment which\n ever you prefer.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 667 / 1291\n \n \u2022 Versa probe is a QtVCP ported version of a popular GladeVCP probing panel.\n \u2022 Basic Probe is a QtVCP ported version based on the third party basic probe screen.\n Both perform similar probing routines, though Versa probe optionally handles auto tool measurement.\n [PROBE]\n@@ -31027,15 +31027,15 @@\n RS274NGC_STARTUP_CODE = G17 G20 G40 G43H0 G54 G64P0.0005 G80 G90 G94 G97 M5 M9\n \n 10.5.2.16 Macro Buttons\n QtDragon has up to ten convenience buttons for calling macro actions.\n These could also call OWord routines if desired.\n In the sample configurations they are labelled for moving between current user system origin (zero\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 668 / 1291\n \n point) and Machine system origin.\n User origin is the first MDI command in the INI list, machine origin is the second.\n This example shows how to move Z axis up first. The commands are separated by the ;.\n The label is set after the comma. The symbols \\n adds a line break.\n@@ -31075,15 +31075,15 @@\n F1 - Estop on/off\n F2 - Machine on/off\n F12 - Style Editor\n Home - Home All Joint of the Machine\n Escape - Abort Movement\n Pause - Pause Machine Movement\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 669 / 1291\n \n 10.5.4 Buttons\n Buttons that are checkable will change their text colour when checked. This is controlled by the\n stylesheet/theme\n \n@@ -31132,15 +31132,15 @@\n qtdragon.spindle-fault\n qtdragon.spindle-volts\n \n This bit pin is an output to the spindle control to pause it.\n You would connect it to spindle.0.inhibit.\n qtdragon.spindle-inhibit\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 670 / 1291\n \n QtDragon spindle speed display and spindle-at-speed LED require that spindle.0.speed-in be connected to spindle speed feedback.\n Encoder or VFD feedback could be used, as long as the feedback is in revolutions per second (RPS).\n If no feedback is available you can have the display show the requested speed by connecting pins like\n so:\n@@ -31196,15 +31196,15 @@\n <=\n <=\n \n iocontrol.0.tool-change\n iocontrol.0.tool-changed\n iocontrol.0.tool-prep-number\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 671 / 1291\n \n 10.5.9 Spindle\n The screen is intended to interface to a VFD, but will still work without it.\n There are a number of VFD drivers included in the LinuxCNC distribution.\n It is up to the end user to supply the appropriate driver and HAL file connections according to his own\n@@ -31251,15 +31251,15 @@\n QtDragon_hd can be set up to probe and compensate for Z level height changes by utilizing the external program G-code Ripper.\n Note\n This is only available in the QtDragon_hd version.\n \n Z level compensation is a bed levelling/distortion correction function typically used in 3D printing\n or engraving. It uses a HAL non-realtime component which utilizes the external offsets feature of\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 672 / 1291\n \n LinuxCNC. The component has a HAL pin that specifies an interpolation type, which must be one of\n cubic, linear or nearest (0, 1, 2 respectively). If none is specified or if an invalid number is specified,\n the default is assumed to be cubic.\n When Z LEVEL COMP is enabled, the compensation component reads a probe data file, which must\n@@ -31276,15 +31276,15 @@\n G-code Ripper offers many functions that we will not go in to here. This is only available in the\n QtDragon_hd version.\n \n \u2022 In qtdragon_hd, switch to the file tab and press the load G-code Ripper button.\n \u2022 Set origin to match the origin of the G-code file to be probed.\n \u2022 Under G-Code Operations, check Auto Probe.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 673 / 1291\n \n \u2022 File -> Open G-Code File (The file you will run after compensation)\n \u2022 If necessary, make adjustments and press Recalculate.\n \u2022 Press Save G-Code File - Probe Only.\n \u2022 Save the generated file to the nc_files folder.\n@@ -31341,15 +31341,15 @@\n z_level_compensation.z-pos\n \n => logic-and.in-01\n <= axis.x.pos-cmd\n <= axis.y.pos-cmd\n <= axis.z.pos-cmd\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n net z_compensation_on\n net eoffset-zlevel-count\n count\n \n z_level_compensation.enable-in\n z_level_compensation.counts\n@@ -31383,15 +31383,15 @@\n 1. how far above the table the probe trigger point is (tool setter height) and\n 2. how far above the table the top of the workpiece is.\n This operation has to be done every time the tool is changed as the tool length is not saved.\n For touching off with a touch probe, whether you use the touchplate operation with thickness set to 0\n or use a probing routine, the height from table to top of workpiece parameter is not taken into account\n and can be ignored. It is only for the tool setter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 675 / 1291\n \n 10.5.12.1 Versa Probe\n \n Figure 10.29: QtDragon - Versa Probe Option\n Versa probe is used to semi-automatically probe work pieces to find edges, centers and angles.\n@@ -31409,15 +31409,15 @@\n \u2022 SEARCH:: This is the feed rate at which the probe searches for the target workpiece in machine\n units per minute. The search speed should be slow enough to give an acceptable initial accuracy,\n but fast enough to not waste time waiting for movement. Recommendation: 200-500 mm/min.\n \u2022 PROBE:: Once initial contact has been made and the probe is retracted, it will wait for 0.5 seconds\n before performing the search again at a lower speed, the probe velocity. This lower speed ensures\n the machine can stop movement as quickly as possible on contact with the workpiece.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 676 / 1291\n \n \u2022 RAPID:: Axis movements not associated with searching are done at the speed defined by RAPID in\n machine units per minute.\n \u2022 SIDE/EDGE LENGTH:: This is the distance the probe will move at the rapid rate to the position\n where it will begin a search. If measuring a corner, it will move EDGE LENGTH units away from\n@@ -31437,15 +31437,15 @@\n CLEARANCE to 0.\n There are three toggle buttons:\n \u2022 Auto Zero This selects if after probing the relevant axis is set to zero in the current user system.\n \u2022 Auto Skew This selects if after probing, the system will be rotated or just display the calculated\n rotation.\n \u2022 Tool Measure This (if integrated) turns auto tool probing on and off.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 677 / 1291\n \n 10.5.12.2 Basic probe\n \n Figure 10.30: QtDragon - Basic Probe Option\n Basic probe is used to semi-automatically probe work pieces to find edges, centers and angles. The\n@@ -31458,15 +31458,15 @@\n \u2022 Calibration\n You must carefully set the Probing Parameters:\n \u2022 Probe Tool: will only allow probing if this tool number is in the spindle\n \u2022 Probe Diameter: the size of the probe tip\n \u2022 Probe Rapid: the speed of rapid moves in machine units\n \u2022 Probe Search: the speed of the first rough search in machine units\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 678 / 1291\n \n \u2022 Probe Feed: the speed of the second fine search in machine units\n \u2022 Step Off : back off and re-probe distance\n \u2022 Max XY Distance: the maximum distance the probe will search for in X and Y before failing with\n error\n@@ -31497,15 +31497,15 @@\n \u2022 EDGE WIDTH - distance along edge wall (away from corner) to start probing.\n Note\n These distance are always to be set in machine units (mm for metric machine, inch for imperial\n machine).\n \n Preset:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 679 / 1291\n \n \u2022 manual set probe at the intersection of the edges (ie corner) of material as described by the green\n bullseye on the button. Set it Z CLEARANCE above the top of material. These can be done by eye.\n \u2022 set EXTRA CLEARANCE to a value that you want the probe to go below the top of material. (So the\n probe will move from its start position down Z Clearance + Extra Clearance distance.)\n@@ -31521,15 +31521,15 @@\n 3. probe wall twice (rough and fine),\n 4. move diagonally to the other wall as set by EDGE WIDTH and XY CLEARANCE,\n 5. probe wall twice,\n 6. raise probe up by Z CLEARANCE + EXTRA DEPTH (returns to starting height),\n 7. rapid back to starting corner (now calculated using the probed walls),\n 8. if auto zero button is enabled, set X and Y of the current user system to zero.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 680 / 1291\n \n 10.5.13 Touch plate\n \n Figure 10.31: QtDragon - Touch Plate\n You can use a conductive touch plate or equivalent to auto touch off (zero the user coordinate) for the\n@@ -31548,15 +31548,15 @@\n calculation from the touchplate height setting.\n \n 10.5.14 Auto Tool Measurement\n QtDragon can be setup to do integrated auto tool measurement using the Versa Probe widget and\n remap code. To use this feature, you will need to do some additional settings and you may want to\n use the offered HAL pin to get values in your own ngc remap procedure.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 681 / 1291\n \n Important\n Before starting the first test, do not forget to enter the probe height and probe velocities on\n the versa probe settings page.\n \n@@ -31571,15 +31571,15 @@\n When fist setting up auto tool measurement, please use caution until you confirm tool change and\n probe locations - it is easy to break a tool/probe. Abort will be honoured while the probe is in motion.\n \n Figure 10.32: Auto tool measurement\n With the first given tool change the tool will be measured and the offset will be set automatically to\n fit the block height. The advantage of this way is, that you do not need a reference tool.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 682 / 1291\n \n Note\n Your program must contain a tool change at the beginning. The tool will be measured, even it has\n been used before, so there is no danger if the block height has changed. There are several videos\n on you tube that demonstrate the technique using GMOCCAPY. The GMOCCAPY screen pioneered the\n@@ -31594,15 +31594,15 @@\n \u2022 Probe down in Z to maximum defined in the INI\u2019s [VERSA_TOOLSETTER] MAXPROBE\n \u2022 Return Z to position defined in the INI\u2019s [TOOL_CHANGE] Z\n Note\n The [TOOL_CHANGE] Z position should be high enough so the tool will not hit the tool probe when\n moving to the [VERSA_TOOLSETTER] X and Y position. MAXPROBE distance needs to be high enough\n for the tool to touch the probe.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 683 / 1291\n \n 10.5.14.1 Work Piece Height Probing\n \n Figure 10.33: QtDragon_hd - Work piece Height probing\n This program probes 2 user specified locations in the Z axis and calculates the difference in heights.\n@@ -31615,15 +31615,15 @@\n displayed on the DROs.\n Autofill Workpiece Height on Main Screen\n \u2022 When checked, the calculated height is automatically transferred to the Workpiece Height field in\n the main screen.\n \u2022 Otherwise, the main screen is not affected.\n Workpiece Probe At\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 684 / 1291\n \n \u2022 the X, Y and Z coordinates specify where the first probing routine should start, in current WCS\n Machine Probe At\n \u2022 the X, Y and Z coordinates specify where the second probing routine should start, in current WCS\n Z Safe Travel Height\n@@ -31657,15 +31657,15 @@\n Reflects screen entry.\n \u2022 qtversaprobe.probeheight (HAL_FLOAT) the toolsetter probe switch height. Reflects screen entry.\n \u2022 qtversaprobe.searchvel (HAL_FLOAT) the velocity to search for the tool probe switch\n \u2022 qtversaprobe.probevel (HAL_FLOAT) the velocity to probe tool length. Reflects screen entry.\n \u2022 qtversaprobe.backoffdist (HAL_FLOAT) the distance the probe backs off after triggering. Reflects\n screen entry.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 685 / 1291\n \n 10.5.14.3 Tool Measurement INI File Modifications\n Modify your INI file to include the following:\n QtDragon allows you to select one of two styles of touch probe routines. Versa probe works with a M6\n remap to add auto tool probing.\n@@ -31705,15 +31705,15 @@\n \u2022 wait for manual tool change acknowledgement\n \u2022 go to VERSA_TOOLSETTER XY position\n \u2022 go to VERSA_TOOLSETTER Z position\n \u2022 fast probe\n \u2022 slow probe\n \u2022 go to TOOLCHANGE Z position\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 686 / 1291\n \n Z_MAX_CLEAR is the Z position to go to before moving to the tool setter when using the Travel to\n Toolsetter button.\n Travel to Toolsetter Action sequence:\n \n@@ -31757,15 +31757,15 @@\n mode. A dialog will be shown allowing the spindle direction and speed to be preset. The start line is\n indicated in the box labelled LINE, next to the CYCLE START button. The run from line feature can\n be disabled in the settings page.\n Note\n LinuxCNC\u2019s run-from-line is not very user friendly. E.g., it does not start the spindle or confirm the\n proper tool. Also, it does not handle subroutines well. If used it is best to start on a rapid move.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 687 / 1291\n \n 10.5.16 Laser buttons\n The LASER ON/OFF button in intended to turn an output on or off which is connected to a small laser\n crosshair projector. When the crosshair is positioned over a desired reference point on the workpiece,\n the REF LASER button can be pushed, which then sets the X and Y offsets to the values indicated by\n@@ -31797,15 +31797,15 @@\n You can monitor/modify tool offsets from this tab. Adding and deleting tools from the tool file can also\n be done from this tab. When this tab is selected the individual home buttons in the DRO area will\n change to tool offset setting buttons. They will return to home buttons when you select another tab.\n Pressing this tool button will drop down a when menu of options:\n \u2022 Set Current Tool Position\n \u2022 Adjust Current Tool Position\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 688 / 1291\n \n \u2022 Zero Current Tool Position\n \u2022 Set Tool Offset Directly\n \u2022 Reset To Last\n 10.5.17.5 Status Tab\n@@ -31837,15 +31837,15 @@\n Some program, such as Fusion 360 and Aspire will create these files for you. You can also write your\n own HTML docs with the included SetUp Writer button.\n There are three sub tabs:\n \u2022 HTML - any loaded HTML pages are displayed here. The navigation buttons work on this page.\n \u2022 PDF - any loaded PDF setup pages are displayed here.\n \u2022 PROPERTIES - when a program is loaded its G-code properties are displayed here.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 689 / 1291\n \n There are navigation buttons for HTML page:\n \u2022 The up arrow returns you to the default HTML page.\n \u2022 The left arrow moves backward one HTML page.\n \u2022 The right arrow moves forward one HTML page.\n@@ -31860,15 +31860,15 @@\n The settings tab is used to set running options, probing/touchplate/laser/camera offsets and load debugging external programs.\n 10.5.17.11 Utilities Tab\n This tabs will display another stab election of G-code utility programs:\n \u2022 Facing: allows quick face milling of a definable area at angles of 0,45 and 90 degrees.\n \u2022 Hole Circle: allows quick setting of a program to drill a bolt circle of definable diameter and number\n of holes.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 690 / 1291\n \n \u2022 NGCGUI: is a QtVCP version of the popular G-code subroutine builder/selector, see Widgets-NGCGUI.\n \n Custom QtVCP panels can be displayed here by setting the EMBED_TAB_LOCATION option to tabWidget_uti\n 10.5.17.12 User Tab\n@@ -31896,15 +31896,15 @@\n DROLabel,\n StatusLabel#status_rpm {\n border: 1px solid black;\n border-radius: 4px;\n font: 20pt \u201dNoto Mono\u201d;\n }\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n To change the DRO display font and display format:\n DROLabel {\n font: 25pt \u201dLato Heavy\u201d;\n qproperty-imperial_template: \u2019%9.5f\u2019;\n qproperty-metric_template: \u2019%10.4f\u2019;\n qproperty-angular_template: \u2019%11.2f\u2019;\n@@ -31956,15 +31956,15 @@\n qproperty-styleFont5: \u201dTimes,15,-1,5,90,0,0,1,1,0\u201d;\n qproperty-styleFont6: \u201dTimes,15,-1,5,90,0,0,1,1,0\u201d;\n qproperty-styleFont7: \u201dTimes,15,-1,5,90,0,0,1,1,0\u201d;\n }\n \n 691 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 692 / 1291\n \n To have the manual spindle buttons also incrementally increase/decrease speed:\n #action_spindle_fwd{\n qproperty-spindle_up_action: true;\n }\n@@ -31983,15 +31983,15 @@\n [DISPLAY]\n USER_COMMAND_FILE = CONFIGFOLDER/qtdragonrc.py\n \n See Modifying Screens for more information about customization.\n \n Figure 10.36: QtDragon - Customized QtDragon\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 693 / 1291\n \n 10.6 NGCGUI\n \n Figure 10.37: NGCGUI embedded into AXIS\n \n@@ -32001,15 +32001,15 @@\n \u2022 NGCGUI can run as a standalone application or can be embedded in multiple tab pages in the AXIS\n GUI.\n \u2022 PyNGCGUI is an alternate, Python implementation of NGCGUI.\n \u2022 PyNGCGUI can run as a standalone application or can be embedded as a tab page (with its own set\n of multiple subroutine tabs) in any GUI that supports embedding of GladeVCP applications AXIS,\n Touchy, Gscreen and GMOCCAPY.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 694 / 1291\n \n Using NGCGUI or PyNGCGUI:\n \u2022 Tab pages are provided for each subroutine specified in the INI file.\n \u2022 New subroutines tab pages can be added on the fly using the custom tab.\n \u2022 Each subroutine tab page provides entry boxes for all subroutine parameters.\n@@ -32041,15 +32041,15 @@\n (.ngc) files and G-code-meta-compiler (.gcmc) files:\n \u2022 nc_files/ngcgui_lib\n \u2013 ngcgui.ngc - An easy to understand example using subroutines\n \u2013 arc1.ngc - basic arc using cutter radius compensation\n \u2013 arc2.ngc - arc speced by center, offset, width, angle (calls arc1)\n \u2013 backlash.ngc - routine to measure an axis backlash with dial indicator\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 695 / 1291\n \n \u2013 db25.ngc - creates a DB25 plug cutout\n \u2013 gosper.ngc - a recursion demo (flowsnake)\n \u2013 helix.ngc - helix or D-hole cutting\n \u2013 helix_rtheta.ngc - helix or D-hole positioned by radius and angle\n@@ -32089,15 +32089,15 @@\n the Run\n different tab pages.\n To create several subroutines concatenated into a single file, go to each tab fill in the blanks, press\n Create Feature then using the arrow keys move any tabs needed to put them in order. Now press\n Finalize and answer the prompt to create\n Other GUIs will have similar functionality but the buttons and names may be different.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 696 / 1291\n \n Note\n The demonstration configs create tab pages for just a few of the provided examples. Any GUI with a\n custom tab can open any of the library example subroutines or any user file if it is in the LinuxCNC\n subroutine path.\n@@ -32134,15 +32134,15 @@\n And then create or copy system-provided files to these user-writable directories. For instance, a user\n might create a NGCGUI-compatible subfile named:\n /home/myusername/mysubs/example.ngc\n \n To use files in new directories, the INI file must be edited to include the new subfiles and to augment\n the search path(s). For this example:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 697 / 1291\n \n [RS274NGC]\n ...\n SUBROUTINE_PATH = /home/myusername/mysubs:../../nc_files/ngcgui_lib:../../nc_files/gcmc_lib \u2190:../../nc_files/ngcgui_lib/utilitysubs\n USER_M_PATH\n@@ -32195,15 +32195,15 @@\n \n 10.6.4.2 Standalone PyNGCGUI\n For usage, type in a terminal:\n pyngcgui --help\n Usage:\n pyngcgui [Options] []\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 698 / 1291\n \n Options requiring values:\n [-d | --demo] [0|1|2] (0: DEMO standalone toplevel)\n (1: DEMO embed new notebook)\n (2: DEMO embed within existing notebook)\n@@ -32255,15 +32255,15 @@\n \u2022 NGCGUI_SUBFILE = simp.ngc - Creates a tab from the named subroutine.\n \u2022 NGCGUI_SUBFILE = \u201d\u201d - Creates a custom tab\n \u2022 #NGCGUI_OPTIONS = opt1 opt2 \u2026 - NGCGUI options:\n \u2013 nonew \u2014 Prohibits creation of new custom tab\n \u2013 noremove \u2014 Prohibits deleting a tab page\n \u2013 noauto \u2014 Do not run automatically (makeFile, then manual run)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 699 / 1291\n \n \u2013 noiframe \u2014 No internal image, image on separate top level\n \u2022 TTT = truetype-tracer - name of the truetype tracer program (it must be in user PATH)\n \u2022 TTT_PREAMBLE = in_std.ngc - Optional, specifies filename for preamble used for ttt created subfiles. (alternate: mm_std.ngc)\n Note\n@@ -32294,15 +32294,15 @@\n concatenating several common subroutine invocations, this preamble is only added once. For mmbased machines, use mm_std.ngc\n \u2022 NGCGUI_SUBFILE = filename1.ngc - creates a tab from the filename1 subroutine\n \u2022 NGCGUI_SUBFILE = filename2.ngc - creates a tab from the filename2 subroutine\n \u2022 \u2026 etc.\n \u2022 NGCGUI_SUBFILE = gcmcname1.gcmc - creates a tab from the gcmcname1 file\n \u2022 NGCGUI_SUBFILE = gcmcname2.gcmc - creates a tab from the gcmcname2 file\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 700 / 1291\n \n \u2022 \u2026 etc.\n \u2022 NGCGUI_SUBFILE = \u201d\u201d - creates a custom tab that can open any subroutine in the search path\n \u2022 NGCGUI_OPTIONS = opt1 opt2 \u2026 - NGCGUI options\n \u2013 nonew - disallow making a new custom tab\n@@ -32376,15 +32376,15 @@\n #\n noauto\n -- no auto send (makeFile, then manually send)\n #\n noiframe\n -- no internal image, image on separate top level\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 701 / 1291\n \n GCMC_INCLUDE_PATH = /home/myname/gcmc_includes\n TTT\n TTT_PREAMBLE\n \n@@ -32431,15 +32431,15 @@\n [RS274NGC]SUBROUTINE_PATH = directory1_name:directory1_name:directory3_name ...\n \n Directories Directories may be specified as absolute paths or relative paths.\n \u2022 Example: [DISPLAY]PROGRAM_PREFIX = /home/myname/linuxcnc/nc_files\n \u2022 Example: [DISPLAY]PROGRAM_PREFIX = ~/linuxcnc/nc_files\n \u2022 Example: [DISPLAY]PROGRAM_PREFIX = ../../nc_files\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 702 / 1291\n \n Absolute Paths An absolute path beginning with a \u201d/\u201d specifies a complete filesystem location. A\n path beginning with a \u201d~/\u201d specifies a path starting from the user\u2019s home directory. A path beginning\n with \u201d~username/\u201d specifies a path starting in username\u2019s home directory.\n Relative Paths Relative paths are based on the startup directory which is the directory containing\n@@ -32478,15 +32478,15 @@\n message.\n 10.6.5.6 Summary of INI File item details for NGCGUI usage\n \n [RS274NGC]SUBROUTINE_PATH = dirname1:dirname2:dirname3 \u2026\n Example: [RS274NGC]SUBROUTINE_PATH = ../../nc_files/ngcgui_lib:../../nc_files/ngcgui_li\n Note: Optional, but very useful to organize subfiles and utility files.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 703 / 1291\n \n [RS274NGC]USER_M_PATH = dirname1:dirname2:dirname3 \u2026\n Example: [RS274NGC]USER_M_PATH = ../../nc_files/ngcgui_lib/mfiles\n Note: Optional, needed to locate custom user M-files.\n [DISPLAY]EMBED_TAB_NAME = name to display on embedded tab page\n@@ -32532,15 +32532,15 @@\n Note: Optional, when specified, the file is appended to a subfiles.\n Files created with \u201dCustom\u201d tab pages use the postamble specified with the page.\n [DISPLAY]NGCGUI_OPTIONS = opt1 opt2 \u2026\n Example: [DISPLAY]NGCGUI_OPTIONS = nonew noremove\n Note: Multiple options are separated by blanks.\n By default, NGCGUI configures tab pages so that:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 704 / 1291\n \n 1) a user can make new tabs;\n 2) a user can remove tabs (except for the last remaining one);\n 3) finalized files are automatically sent to LinuxCNC;\n 4) an image frame (iframe) is made available to display an image for the subfile (if an image is\n@@ -32584,15 +32584,15 @@\n \n The body of the subroutine should begin with a set of statements that define local named parameters\n for each positional parameter expected for the subroutine call. These definitions must be consecutive\n beginning with #1 and ending with the last used parameter number. Definitions must be provided for\n each of these parameters (no omissions).\n Parameter Numbering\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 705 / 1291\n \n # = #1\n # = #2\n # = #3\n \n@@ -32641,15 +32641,15 @@\n o call [#] [#] (call a subroutine)\n # = #<_helper:answer> (immediately localize the helper global result)\n #<_helper:answer> = 0.0\n (nullify global named parameter used by subroutine)\n ...\n o endsub\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 706 / 1291\n \n In the above example, the utility subroutine will be found in a separate file named helper.ngc. The\n helper routine returns a result in a global named parameter named #<_helper:answer.\n For good practice, the calling subfile immediately localizes the result for use elsewhere in the subfile\n and the global named parameter used for returning the result is nullified in an attempt to mitigate its\n@@ -32691,15 +32691,15 @@\n //ngcgui: varname3 = value3, label3;\n \n Variable Tags Examples\n //ngcgui: zsafe =\n //ngcgui: feedrate = 10\n //ngcgui: xl = 0, x limit\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 707 / 1291\n \n For these examples, the entry box for varname1 will have no default, the entry box for varname2 will\n have a default of value2, and the entry box for varname 3 will have a default of value 3 and a label\n label3 (instead of varname3). The default values must be numbers.\n To make it easier to modify valid lines in a gcmc file, alternate tag line formats accepted. The alternate\n@@ -32741,28 +32741,28 @@\n [DISPLAY]\n GCMC_INCLUDE_PATH = ../../nc_files/gcmc_lib\n \n 10.6.7 DB25 Example\n The following shows the DB25 subroutine. In the first photo you see where you fill in the blanks for\n each variable.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n This photo shows the backplot of the DB25 subroutine.\n \n 708 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 709 / 1291\n \n This photo shows the use of the new button and the custom tab to create three DB25 cutouts in one\n program.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 710 / 1291\n \n 10.6.8 Creating a subroutine\n \u2022 For creating a subroutine for use with NGCGUI, the filename and the subroutine name must be the\n same.\n \u2022 The file must be placed in the subdirectory pointed to in the INI file.\n@@ -32780,15 +32780,15 @@\n # = #3 (Feedrate)\n ;Example de param\u00e8tre sans preset\n g0x0y0z1\n g3 i# f#\n g3 i[0-#]\n o endsub\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 711 / 1291\n \n 10.7 TkLinuxCNC GUI\n 10.7.1 Introduction\n TkLinuxCNC is one of the first graphical front-ends for LinuxCNC. It is written in Tcl and uses the Tk\n toolkit for the display. Being written in Tcl makes it very portable (it runs on a multitude of platforms).\n@@ -32804,15 +32804,15 @@\n Then, start LinuxCNC and select that INI file. The sample configuration sim/tklinuxcnc/tklinuxcnc.ini\n is already configured to use TkLinuxCNC as its front-end.\n When LinuxCNC is launched the TKLinuxCNC window is opened.\n 10.7.2.1 A typical session with TkLinuxCNC\n 1. Start LinuxCNC and select a configuration file.\n 2. Clear the E-STOP condition and turn the machine on (by pressing F1 then F2).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 712 / 1291\n \n 3. Home each axis.\n 4. Load the file to be milled.\n 5. Put the stock to be milled on the table.\n 6. Set the proper offsets for each axis by jogging and either homing again or right-clicking an axis\n@@ -32844,15 +32844,15 @@\n \u2022 Abort\n then on the second line:\n \u2022 Operation mode: MANUAL > MDI > AUTO\n \u2022 Toggle flood coolant\n \u2022 Toggle spindle brake control\n 1 For some of these actions it might be necessary to change the mode LinuxCNC is currently running in.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 713 / 1291\n \n 10.7.3.2 Offset display status bar\n The Offset display status bar displays the currently selected tool (selected with Txx M6), the tool\n length offset (if active), and the work offsets (set by right-clicking the coordinates).\n 10.7.3.3 Coordinate Display Area\n@@ -32884,15 +32884,15 @@\n execution will be stopped on any M1 encountered).\n Text Program Display Area When the program is running, the line currently being executed is\n highlighted in white. The text display will automatically scroll to show the current line.\n 10.7.3.5 Manual Control\n Implicit keys TkLinuxCNC allows you to manually move the machine. This action is known as jogging.\n First, select the axis to be moved by clicking it. Then, click and hold the + or - button depending on\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 714 / 1291\n \n the desired direction of motion. The first four axes can also be moved by the keyboard arrow keys (X\n and Y), the PAGE UP and PAGE DOWN keys (Z) and the [ and ] keys (A/4th).\n + If Continuous is selected, the motion will continue as long as the button or key is pressed. If another\n value is selected, the machine will move exactly the displayed distance each time the button is clicked\n@@ -32915,15 +32915,15 @@\n The Coolant groupCoolant The two buttons allow the Mist and Flood coolants to be turned on and\n off. Depending on your machine configuration, not all the items in this group may appear.\n 10.7.3.6 Code Entry\n Manual Data Input (also called MDI), allows G-code programs to be entered manually, one line at\n a time. When the machine is not turned on, and not set to MDI mode, the code entry controls are\n unavailable.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 715 / 1291\n \n This allows you to enter a G-code command to be executed. Execute the command by pressing Enter.\n Active G-Codes This shows the modal codes that are active in the interpreter. For instance, G54\n indicates that the G54 offset is applied to all coordinates that are entered.\n 10.7.3.7 Jog Speed\n@@ -32972,15 +32972,15 @@\n Send active axis Home\n Jog first axis\n Jog second axis\n Jog third axis\n Jog fourth axis\n Stop execution\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 716 / 1291\n \n 10.8 QtPlasmaC\n 10.8.1 Preamble\n Except where noted, this guide assumes the user is using the latest version of QtPlasmaC. Version\n history can be seen by visiting this link which will show the latest available version. The installed\n@@ -33000,25 +33000,25 @@\n there are enough hardware I/O pins to fulfill the requirements of a plasma configuration.\n There are three available formats:\n \u2022 16:9 with a minimum resolution of 1366 x 768\n \u2022 9:16 with a minimum resolution of 768 x 1366\n \u2022 4:3 with a minimum resolution of 1024 x 768\n Screenshot examples of QtPlasmaC are below:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 717 / 1291\n \n Figure 10.40: 16:9\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 718 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 719 / 1291\n \n Figure 10.42: 4:3\n \n 10.8.4 Installing LinuxCNC\n The preferred method for installing LinuxCNC is via an ISO image as described below.\n@@ -33026,15 +33026,15 @@\n It is possible to install and run LinuxCNC on a variety of Linux distributions however that is beyond\n the scope of this User Guide. If the user wishes to install a Linux distribution other than those recommended, they will first need to install their preferred Linux distribution and then install LinuxCNC\n v2.9 or later along with any required dependencies.\n \n 10.8.4.1 If The User Does Not Have Linux Installed\n Installation instructions are available from here.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 720 / 1291\n \n Following these instructions will yield a machine with the current stable branch of LinuxCNC (v2.9)\n on Debian 12 (Bookworm).\n 10.8.4.2 Package Installation (Buildbot) If The User Has Linux on Debian 12 (Bookworm)\n Follow the instructions from the Updating LinuxCNC on Debian Bookworm section from here.\n@@ -33075,15 +33075,15 @@\n to use a reed relay as an alternative method to establish an Arc OK signal when the power\n source does not provide one.\n \n Note\n For fine tuning of Mode 0 Ark OK see Tuning Mode 0 Arc OK in the Advanced Topics section of the\n manual.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 721 / 1291\n \n 10.8.5.2 Available I/Os\n Note\n This section only touches on the hardware I/O\u2019s required for QtPlasmaC. Base machine requirements\n such as limit switches, home switches, etc. are in addition to these.\n@@ -33164,15 +33164,15 @@\n This signal senses if the torch has broken away from its cradle.\n Digital output; required.\n HAL pin name plasmac.torch-on\n Connected from a breakout board output to the torch-on input\n of the plasma power supply. This signal is used to control the\n plasma power supply and start the arc.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Name\n Move Up\n \n Modes\n 2\n \n@@ -33238,15 +33238,15 @@\n then set the Z minimum to 5 mm (0.2\u201d) plus an allowance for overrun (either calculated using the\n equation below or allow 5 mm (0.2\u201d) below the lowest slat).\n \u2022 [AXIS_Z] MAX_LIMIT should be the highest the user wants the Z axis to travel (it must not be\n lower than Z HOME_OFFSET).\n \u2022 [AXIS_Z] HOME should be set to be approximately 5 mm-10 mm (0.2\u201d-0.4\u201d) below the maximum\n limit.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 723 / 1291\n \n \u2022 Floating Head - it is recommended that a floating head be used and that it has enough movement\n to allow for overrun during probing. Overrun can be calculated using the following formula:\n o = 0.5 * a * (v / a)^2\n \n@@ -33278,48 +33278,48 @@\n Fill in the required entries to suit the machine wiring/breakout board configuration.\n QtPlasmaC adds two pages to the LinuxCNC configuration wizards for QtPlasmaC specific parameters,\n the two pages are QtPlasmaC options and User Buttons. Complete each of the wizards QtPlasmaC\n page to suit the machine that is being configured and the user button requirements.\n Note that PnCconf options allow user selection of Feed Override, Linear Velocity, and Jog Increments,\n whereas in StepConf these are automatically calculated and set.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Figure 10.43: PnCConf QtPlasmaC Options\n \n 724 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Figure 10.44: StepConf QtPlasmaC Options\n \n 725 / 1291\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 726 / 1291\n \n Figure 10.45: QtPlasmaC User Buttons\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 727 / 1291\n \n Figure 10.46: QtPlasmaC THCAD\n The THCAD screen will only appear if a Plasma Encoder is selected in the card screen. The the\n dedicated section on Mesa THCAD for more information.\n When the configuration is complete, the wizard will save a copy of the configuration that may be\n loaded and edited at a later time, a working QtPlasmaC configuration will be created in the following\n directory: ~/linuxcnc/configs/.\n The way the newly created QtPlasmaC configuration can be run from the terminal command line\n slightly differs depending the way LinuxCNC was installed:\n For a package installation (Buildbot):\n linuxcnc ~/linuxcnc/configs/__/__.ini\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 728 / 1291\n \n For a run in place installation:\n ~/linuxcnc-dev/scripts/linuxcnc ~/linuxcnc/configs/__/__.ini\n \n After running the above command LinuxCNC should be running with the QtPlasmaC GUI visible.\n@@ -33341,25 +33341,25 @@\n For a run in place installation enter the following command in a terminal window:\n ~/linuxcnc-dev/lib/python/qtvcp/designer/install_script\n \n 10.8.5.6 Initial Setup\n The following heights diagram will help the user visualize the different heights involved in plasma\n cutting and how they are measured:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 729 / 1291\n \n Click on the Parameters Tab to view the CONFIGURATION section which shows the user settable\n parameters. It is necessary to ensure every one of these settings is tailored to the machine.\n To set the Z axis DRO relative to the Z axis MINIMUM_LIMIT, the user should perform the following\n steps. It is important to understand that in QtPlasmaC, touching off the Z axis DRO has no effect on\n the Z axis position while running a G-code program. These steps simply allow the user to more easily\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 730 / 1291\n \n set the probe height as after performing the steps, the displayed Z axis DRO value will be relative to\n Z axis MINIMUM_LIMIT.\n Note\n The user should be familiar with the recommended Z Axis Settings.\n@@ -33395,15 +33395,15 @@\n 9. If the table has a laser or camera for sheet alignment, a scribe, or uses offset probing then the\n required offsets need to be applied by following the procedure described in Peripheral Offsets.\n 10. CONGRATULATIONS! The user should now have a working QtPlasmaC Configuration.\n Note\n If the amount of time between the torch contacting the material and when the torch moves up and\n comes to rest at the Pierce Height seems excessive, see the probing section for a possible solution.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 731 / 1291\n \n Important\n IF USING A Mesa Electronics THCAD THEN THE Voltage Scale VALUE WAS OBTAINED MATHEMATICALLY. IF THE USER INTENDS TO USE CUT VOLTAGES FROM A MANUFACTURE\u2019S CUT\n CHART THEN IT WOULD BE ADVISABLE TO DO MEASUREMENTS OF ACTUAL VOLTAGES AND\n FINE TUNE THE Voltage Scale AND Voltage Offset.\n@@ -33430,15 +33430,15 @@\n \n For a run in place installation enter the following lines in terminal window:\n source ~/linuxcnc-dev/scripts/rip-environment\n qtplasmac-plasmac2qt\n \n The following screen will be displayed:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 732 / 1291\n \n Table 10.10: Mandatory Settings\n Field\n INI FILE IN\n EXISTING\n@@ -33466,15 +33466,15 @@\n 2 - Estop is a button.\n \n ESTOP:1\n \n Optional Setting - This setting is not required unless the machine has a laser for sheet\n alignment. Leave this blank if it is not used/required. Leave this blank if it is not used/required.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Field\n Laser On HAL Pin\n \n Description\n Power on a laser crosshair for sheet\n alignment.\n@@ -33517,15 +33517,15 @@\n For a package installation (Buildbot) enter the following line in a terminal window:\n qtplasmac-cfg2prefs\n \n For a run in place installation enter the following lines in terminal window:\n source ~/linuxcnc-dev/scripts/rip-environment\n qtplasmac-cfg2prefs\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 734 / 1291\n \n Figure 10.47: qtplasmac-cfg2prefs\n Select the INI file of the old PlasmaC configuration, select the INI file of the new QtPlasmaC configuration, then press CONVERT.\n \n 10.8.7 Other QtPlasmaC Setup Considerations\n@@ -33539,15 +33539,15 @@\n file in the machine\u2019s configuration directory to add the appropriate cutoff frequency as measured in\n Hertz (Hz).\n For example:\n setp plasmac.lowpass-frequency 100\n \n The above example would give a cutoff frequency of 100Hz.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 735 / 1291\n \n 10.8.7.2 Contact Bounce\n Contact bounce from mechanical relays, switches, or external interference may cause some inconsistent behavior of the following switches:\n \u2022 Float Switch\n \u2022 Ohmic Probe\n@@ -33584,15 +33584,15 @@\n Depending on the specified minimum contact current and the current drawn by the input device there\n may be a need to provide a method to increase the current through the contacts.\n Most relays using gold contacts will not require any additional current for reliable operation.\n There are two different methods available to provide this minimum current if it is required:\n 1. A 0.1 \u03bcF film capacitor placed across the contacts.\n 2. A 1200 \u03a9 1 W resistor across the load (see calculations below).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 736 / 1291\n \n Schematics are shown at contact load schematics.\n More information on contact switching load can be seen on page VI of the finder General Technical\n Information document.\n Calculations:\n@@ -33629,15 +33629,15 @@\n Terminal=false\n Name=LinuxCNC\n Exec=sh -c \u201dlinuxcnc $HOME/linuxcnc/configs//.ini\u201d\n Type=Application\n Icon=/usr/share/pixmaps/linuxcncicon.png\n 2 In the US, the letter V is commonly used as a symbol (Voltage) and as a unit (Volt).\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 737 / 1291\n \n If the user would like a terminal window to open behind the GUI window then change the Terminal\n line to:\n Terminal=true\n \n@@ -33694,15 +33694,15 @@\n Note\n The configuration files (.ini and .hal) that are created by configuration wizard are notated to explain the requirements to aid in manual manipulation of these\n configurations. They may be edited with any text editor.\n \n Note\n The .prefs file is plain text and may be edited with any text editor.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 738 / 1291\n \n 10.8.7.6 INI File\n QtPlasmaC has some specific .ini file variables as follows:\n [FILTER] Section These variables are mandatory.\n PROGRAM_EXTENSION = .ngc,.nc,.tap G-code File (*.ngc, *.nc, *.tap)\n@@ -33751,15 +33751,15 @@\n [DISPLAY] Section\n This variable is mandatory.\n DISPLAY = qtvcp qtplasmac\n (use 16:9 resolution)\n = qtvcp qtplasmac_9x16 (use 9:16 resolution)\n = qtvcp qtplasmac_4x3 (use 4:3 resolution)\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 739 / 1291\n \n There are multiple QtVCP options that are described here: QtVCP INI Settings\n For example the following would start a 16:9 resolution QtPlasmaC screen in full screen mode:\n DISPLAY = qtvcp -f qtplasmac\n \n@@ -33800,15 +33800,15 @@\n 10.8.8.1 Exiting QtPlasmaC\n Exiting or shutting down QtPlasmaC is done by either:\n 1. Click the window shutdown button on the window title bar\n 2. Long press the POWER button on the MAIN Tab.\n A shutdown warning can be displayed on every shutdown by checking the Exit Warning checkbox on\n the SETTINGS Tab.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 740 / 1291\n \n 10.8.8.2 MAIN Tab\n Screenshot example of the QtPlasmaC MAIN Tab in 16:9 aspect ratio:\n \n Some functions/features are only used for particular modes and are not displayed if they are not\n@@ -33825,15 +33825,15 @@\n used to manually select the current material cut parameters. If there are\n no materials in the material file then only the default material will be\n displayed.\n This displays the actual cut feed rate the table is moving at.\n If \u201dView Material\u201d is selected on the SETTINGS Tab, this displays the\n currently selected material\u2019s Feed Rate.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 741 / 1291\n \n Table 10.14: (continued)\n Name\n PH:\n PD:\n@@ -33909,15 +33909,15 @@\n CYCLE START\n CYCLE PAUSE\n \n CYCLE STOP\n \n FEED\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 742 / 1291\n \n Table 10.15: (continued)\n Name\n RAPID\n \n@@ -33989,15 +33989,15 @@\n the THC Threshold voltage (The distance changed will be\n Height Per Volt * THC Threshold voltage).\n Each press of this button will lower the target voltage by\n the THC Threshold voltage (The distance changed will be\n Height Per Volt * THC Threshold voltage).\n Clicking this label will return any voltage override to 0.00.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 743 / 1291\n \n Table 10.18: CONTROL\n Name\n TORCH ON\n TORCH ON ENABLE\n@@ -34089,15 +34089,15 @@\n LED will still show the status of the probe input, but the\n Ohmic Probe results will be ignored.\n This box will enable or disable the communications to a\n PowerMax. This button is only visible if a PM_PORT\n option is configured in the [POWERMAX] section of the\n .prefs file.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 744 / 1291\n \n Table 10.18: (continued)\n Name\n Status\n \n@@ -34165,15 +34165,15 @@\n This button moves the Z axis in the negative direction.\n \n Note\n During Paused Motion, this section will be shown on top of the JOGGING panel. The following section\n will cover each button encountered in this panel. Please see CUT RECOVERY for a detailed description\n of the cut recovery functionality.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n Name\n PAUSED MOTION\n FEED SLIDER\n \n FEED\n REV\n@@ -34253,15 +34253,15 @@\n This drop down button will display the following options:\n Zero - zeros the axis.\n Set - launches a dialog box to manually input the axis\u2019 coordinate.\n Divide By 2 - divides the currently displayed coordinate in the DRO by\n two.\n Set To Last - sets the axis to the previously set coordinate.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 746 / 1291\n \n 10.8.8.3 Preview Views\n The QtPlasmaC preview screen has the ability to be switched between different views and displays,\n as well as zooming in and out, and panning horizontally and vertically.\n When QtPlasmaC is first started, the Z (top down) view will be selected as the default view for a loaded\n@@ -34274,30 +34274,30 @@\n orientation, then pressing either Z or P will change the display to the newly selected view. If the user\n then wishes to display the full table while maintaining the currently selected view as the default view\n for a loaded G-code file, then pressing CLEAR will achieve this and allow the selected view orientation\n to prevail the next time a G-code file is loaded.\n 10.8.8.4 CONVERSATIONAL Tab\n Screenshot example of the QtPlasmaC CONVERSATIONAL Tab in 16:9 aspect ratio:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 747 / 1291\n \n The CONVERSATIONAL Tab enables the user to quickly program various simple shapes for quick\n cutting without the need for CAM software.\n See Conversational Shape Library for detailed information on the Conversational feature.\n It is possible to hide this tab so the conversational feature cannot be used by an operator. This may\n be achieved either by wiring the pin to a physical key-switch or similar or it may also be set in a HAL\n file using the following command:\n setp qtplasmac.conv_disable 1\n \n 10.8.8.5 PARAMETERS Tab\n Screenshot example of the QtPlasmaC PARAMETERS Tab in 16:9 aspect ratio:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 748 / 1291\n \n Some functions/features are only used for particular modes and are not displayed if they are not\n required by the chosen QtPlasmaC mode.\n This tab is used to display configuration parameters that are modified infrequently.\n It is possible to hide this tab so machine settings cannot be modified by unauthorized personnel. This\n@@ -34319,15 +34319,15 @@\n Description\n This sets the amount of time (in seconds) QtPlasmaC will wait\n between commanding a \u201dTorch On\u201d and receiving an Arc OK\n signal before timing out and displaying an error message.\n This sets the number of times QtPlasmaC will attempt to start\n the arc.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 749 / 1291\n \n Table 10.25: (continued)\n Name\n Retry Delay\n \n@@ -34404,15 +34404,15 @@\n This sets the distance threshold used to determine if an Initial Height\n Sense (probe) can be skipped for the current cut, see IHS Skip.\n \n Note\n If the amount of time between the torch contacting the material and when the torch moves up and\n comes to rest at the Pierce Height seems excessive, see the probing section for a possible solution.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 750 / 1291\n \n Table 10.27: CONFIGURATION - SAFETY\n Name\n Safe Height\n \n@@ -34463,15 +34463,15 @@\n \n CONFIGURATION - THC Two methods of THC activation are available and are selected with the\n Auto Activation checkbutton. Both methods begin their calculations when the current velocity of\n the torch matches the cut feed rate specified for the selected material:\n 1. Delay Activation (the default) is selected when Auto Activation is unchecked. This method uses\n a time delay set with the Delay parameter.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 751 / 1291\n \n 2. Auto Activation is selected when Auto Activation is checked. This method determines that the\n arc voltage is stable by using the Sample Counts and Sample Threshold parameters.\n Name\n Delay\n@@ -34558,15 +34558,15 @@\n Description\n The top drop down menu is used to manually select the current material\n cut parameters. If there are no materials in the material file then only the\n default material will be displayed.\n This sets the kerf width for the currently selected material. Refer to the\n Heights Diagram diagram for a visual representation.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 752 / 1291\n \n Table 10.32: (continued)\n Name\n Pierce Height\n Pierce Delay\n@@ -34628,15 +34628,15 @@\n The Cut Parameters for the new material will then need to be adjusted and saved.\n The DELETE this button is used to delete a material. After pressing it, the user will be prompted for\n a material number to be deleted, and prompted again to ensure the user is sure. After deletion, the\n material file will be reloaded and the drop down list will display the default material.\n 10.8.8.6 SETTINGS Tab\n Screenshot example of the QtPlasmaC SETTINGS Tab in 16:9 aspect ratio:\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 753 / 1291\n \n This tab is used to display GUI configuration parameters, button text, and shutdown text that are\n modified infrequently as well as some utility buttons.\n It is possible to hide this tab so machine settings cannot be modified by unauthorized personnel. This\n may be achieved either by wiring the pin to a physical key-switch or similar or it may also be set in a\n@@ -34652,15 +34652,15 @@\n Foreground\n Highlight\n \n Description\n This button allows the user to change the color of the GUI Foreground.\n This button allows the user to change the color of the GUI Highlight.\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 754 / 1291\n \n Table 10.33: (continued)\n Name\n LED\n Background\n@@ -34738,15 +34738,15 @@\n current tool) in the Preview Window on the MAIN Tab.\n This allows a user to change the default zoom level for the top down full\n table view in the Preview Window on the MAIN Tab.\n \n USER BUTTON ENTRIES USERBUTTON\n This section shows the text that appears on the Custom User Buttons as well as the code associated\n \n-\fLinuxCNC V2.9.3, 07 Jul 2024\n+\fLinuxCNC V2.9.3, 08 Jul 2024\n \n 755 / 1291\n \n with the user button. User buttons may be changed and the new settings used without restarting\n LinuxCNC.\n The text and/or code may be edited at any time and will be loaded ready for use if the SAVE button is\n clicked.\n@@ -34784,15 +34784,15 @@\n is the machine name entered in the configuration wizard, is the current\n QtPlasmaC version the user is on, is the current date (YY-MM-DD), and