Search Results (Searched for: )
- unknown
21 Nov 2025 12:29
Replied by unknown on topic [SOLVED] Backlash issues on Y-AXIS
When the tech bros talk about realtime they aren't referring to the PREEMPT RT kernel that Linuxcnc requires. That requires setting a couple of extra options in the kernel config. I understand that it can appear confusing.
Whilst I haven't built a 3b distro, I only have access to a 4 and 5 there just might be a chance that the experimental image I've been working may work. When I say work I mean it may boot, as for latency, you may need to add isolcpus 2,3 to command line text. Even then I can't guarantee that latency will be suitable.
The thread I started regarding the experimental image has a link to the image.
Whilst I haven't built a 3b distro, I only have access to a 4 and 5 there just might be a chance that the experimental image I've been working may work. When I say work I mean it may boot, as for latency, you may need to add isolcpus 2,3 to command line text. Even then I can't guarantee that latency will be suitable.
The thread I started regarding the experimental image has a link to the image.
- Tinker
21 Nov 2025 12:27
Replied by Tinker on topic Probe basic launch issue
I installed the sugested files and now I am getting the following error report.
Traceback (most recent call last):
File "/usr/bin/probe_basic", line 8, in <module>
sys.exit(main())
~~~~^^
File "/usr/lib/python3/dist-packages/probe_basic/__init__.py", line 20, in main
qtpyvcp.run_vcp(opts, VCP_CONFIG_FILE)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/__init__.py", line 26, in run_vcp
run(*args, **kwargs)
~~~^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/app/__init__.py", line 129, in run
launch_application(opts, config)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 78, in launch_application
loadWindows(config)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 230, in loadWindows
window = _initialize_object_from_dict(window_dict)
File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 210, in _initialize_object_from_dict
return obj(*args, **kwargs)
File "/usr/lib/python3/dist-packages/probe_basic/probe_basic.py", line 35, in __init__
super(ProbeBasic, self).__init__(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 56, in __init__
self.loadUi(ui_file)
~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 115, in loadUi
uic.loadUi(ui_file, self)
~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/__init__.py", line 241, in loadUi
return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py", line 66, in loadUi
return self.parse(filename, resource_suffix)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 1037, in parse
actor(elem)
~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 828, in createUserInterface
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 264, in createWidget
self.stack.push(self.setupObject(widget_class, parent, elem))
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 228, in setupObject
obj = self.factory.createQObject(clsname, name, args, is_attribute)
File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 100, in createQObject
factory = self.findQObjectType(classname)
File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 125, in findQObjectType
w = module.search(classname)
File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py", line 113, in search
module = __import__(mname, {}, {}, (cls,))
File "/usr/lib/python3/dist-packages/widgets/__init__.py", line 3, in <module>
from widgets.lathe_tool_touch_off.lathe_tool_touch_off import LatheToolTouchOff
File "/usr/lib/python3/dist-packages/widgets/lathe_tool_touch_off/lathe_tool_touch_off.py", line 19, in <module>
from qtpy.QtQuickWidgets import QQuickWidget
File "/usr/lib/python3/dist-packages/qtpy/QtQuickWidgets.py", line 13, in <module>
from PyQt5.QtQuickWidgets import *
ModuleNotFoundError: No module named 'PyQt5.QtQuickWidgets'
Traceback (most recent call last):
File "/usr/bin/probe_basic", line 8, in <module>
sys.exit(main())
~~~~^^
File "/usr/lib/python3/dist-packages/probe_basic/__init__.py", line 20, in main
qtpyvcp.run_vcp(opts, VCP_CONFIG_FILE)
~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/__init__.py", line 26, in run_vcp
run(*args, **kwargs)
~~~^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/app/__init__.py", line 129, in run
launch_application(opts, config)
~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 78, in launch_application
loadWindows(config)
~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 230, in loadWindows
window = _initialize_object_from_dict(window_dict)
File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 210, in _initialize_object_from_dict
return obj(*args, **kwargs)
File "/usr/lib/python3/dist-packages/probe_basic/probe_basic.py", line 35, in __init__
super(ProbeBasic, self).__init__(*args, **kwargs)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 56, in __init__
self.loadUi(ui_file)
~~~~~~~~~~~^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 115, in loadUi
uic.loadUi(ui_file, self)
~~~~~~~~~~^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/__init__.py", line 241, in loadUi
return DynamicUILoader(package).loadUi(uifile, baseinstance, resource_suffix)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/loader.py", line 66, in loadUi
return self.parse(filename, resource_suffix)
~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 1037, in parse
actor(elem)
~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 828, in createUserInterface
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 273, in createWidget
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 503, in createLayout
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 546, in handleItem
self.traverseWidgetTree(elem)
~~~~~~~~~~~~~~~~~~~~~~~^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 806, in traverseWidgetTree
handler(self, child)
~~~~~~~^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 264, in createWidget
self.stack.push(self.setupObject(widget_class, parent, elem))
~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/PyQt5/uic/uiparser.py", line 228, in setupObject
obj = self.factory.createQObject(clsname, name, args, is_attribute)
File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 100, in createQObject
factory = self.findQObjectType(classname)
File "/usr/lib/python3/dist-packages/PyQt5/uic/objcreator.py", line 125, in findQObjectType
w = module.search(classname)
File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py", line 113, in search
module = __import__(mname, {}, {}, (cls,))
File "/usr/lib/python3/dist-packages/widgets/__init__.py", line 3, in <module>
from widgets.lathe_tool_touch_off.lathe_tool_touch_off import LatheToolTouchOff
File "/usr/lib/python3/dist-packages/widgets/lathe_tool_touch_off/lathe_tool_touch_off.py", line 19, in <module>
from qtpy.QtQuickWidgets import QQuickWidget
File "/usr/lib/python3/dist-packages/qtpy/QtQuickWidgets.py", line 13, in <module>
from PyQt5.QtQuickWidgets import *
ModuleNotFoundError: No module named 'PyQt5.QtQuickWidgets'
- unknown
21 Nov 2025 12:19
Replied by unknown on topic How do you vote in the hardware survey?
I get it the rest of us are on double secret probation.
- Aciera
21 Nov 2025 12:17
Replied by Aciera on topic v2.9 and not the perpendicularity of X and Y
'matrixkins.comp' would need to be modified to map your tandem joints to the approriate axes.
Please attach your current ini file so I can have a look.
Please attach your current ini file so I can have a look.
- TimP
21 Nov 2025 12:12
Replied by TimP on topic Need your opinion on Axes placement.
i guess in my case what i have drown that it will be mix of twos, since x axis(table) will move with + to the left (as usual cnc does) and others two as you said. Wondering can it cause any problems with configuration or smt else
- Mr. Mass
21 Nov 2025 12:09
Replied by Mr. Mass on topic qtdragon mod
I came back to this topic again, and I had a new idea. I want to make a semaphore thingy using RGB LEDs. I used 3 OUT FLOAT, which I connected to PWM LEDs. The hardware works fine, the colors change, but I'm stuck on how to write the function correctly. Here's what I came up with:
It seems to work, but only once at startup. How can I make this function run continuously?
Code:
def init_pins(self):# status LED pins
pin = QHAL.newpin("led-red", QHAL.HAL_FLOAT, QHAL.HAL_OUT)
pin.value_changed.connect(lambda: self.status_led_changed())
pin = QHAL.newpin("led-green", QHAL.HAL_FLOAT, QHAL.HAL_OUT)
pin.value_changed.connect(lambda: self.status_led_changed())
pin = QHAL.newpin("led-blue", QHAL.HAL_FLOAT, QHAL.HAL_OUT)
pin.value_changed.connect(lambda: self.status_led_changed())
def status_led_changed(self):
if STATUS.is_man_mode():
print("status is manual mode", STATUS.is_man_mode())
self.h["led-red"] = 255
self.h["led-green"] = 0
self.h["led-blue"] = 0
elif STATUS.is_auto_mode():
print("status is auto mode", STATUS.is_auto_mode())
self.h["led-red"] = 0
self.h["led-green"] = 255
self.h["led-blue"] = 0
It seems to work, but only once at startup. How can I make this function run continuously?
- snowgoer540
21 Nov 2025 12:06
Replied by snowgoer540 on topic How do you vote in the hardware survey?
The third was me, so seems like only mods?
- abs32
21 Nov 2025 11:43 - 23 Nov 2025 16:16
Replied by abs32 on topic v2.9 and not the perpendicularity of X and Y
We figured out the setting of the parameters, thank you. The program starts normally. Home search is normal.
But running any g-code program fails. Moreover, an attempt to move manually (with arrows on the keyboard) leads to the fact that only each motor moves separately - i.e. not two X X motors, but one X motor, which immediately leads to an accident.
#2025-11-20 для 2.9.4
#KINEMATICS = trivkins coordinates=XXYYZ
KINEMATICS=matrixkins
Where exactly and how exactly can we now indicate that we have 5 engines and an XXYYZ circuit?
ini-file:
[KINS]
JOINTS = 5
#2025-11-20 для 2.9.4
#KINEMATICS = trivkins coordinates=XXYYZ
KINEMATICS=matrixkins
[HAL]
HALFILE = 4.hal
HALCMD = setp matrixkinx.C_xy 0 # Skew Y axis towards X axis
POSTGUI_HALFILE = postgui_call_list.hal
[TRAJ]
COORDINATES = XXYYZ
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 25.00
MAX_LINEAR_VELOCITY = 250.00
But running any g-code program fails. Moreover, an attempt to move manually (with arrows on the keyboard) leads to the fact that only each motor moves separately - i.e. not two X X motors, but one X motor, which immediately leads to an accident.
#2025-11-20 для 2.9.4
#KINEMATICS = trivkins coordinates=XXYYZ
KINEMATICS=matrixkins
Where exactly and how exactly can we now indicate that we have 5 engines and an XXYYZ circuit?
ini-file:
[KINS]
JOINTS = 5
#2025-11-20 для 2.9.4
#KINEMATICS = trivkins coordinates=XXYYZ
KINEMATICS=matrixkins
[HAL]
HALFILE = 4.hal
HALCMD = setp matrixkinx.C_xy 0 # Skew Y axis towards X axis
POSTGUI_HALFILE = postgui_call_list.hal
[TRAJ]
COORDINATES = XXYYZ
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
DEFAULT_LINEAR_VELOCITY = 25.00
MAX_LINEAR_VELOCITY = 250.00
- Aciera
21 Nov 2025 10:28
Replied by Aciera on topic v2.9 and not the perpendicularity of X and Y
setting maxkins paramter values certainly works for me.
Example using 'HALCMD' entry in the [HAL] section of the inifile:
parameter values can also be changed during run time using an executable Mcode that calls 'halcmd' tool but doing so on a kinematics parameter may lead to joint following errors.
Example using 'HALCMD' entry in the [HAL] section of the inifile:
parameter values can also be changed during run time using an executable Mcode that calls 'halcmd' tool but doing so on a kinematics parameter may lead to joint following errors.
- abs32
21 Nov 2025 10:20 - 21 Nov 2025 10:21
Replied by abs32 on topic v2.9 and not the perpendicularity of X and Y
But another problem immediately appeared!
when you try to run a regular program, errors will appear
about the release of a program for A and B positive limits!
I don’t have A and B axles, but for 0-4 engines all the limits are set correctly
XXYYZ!
when you try to run a regular program, errors will appear
about the release of a program for A and B positive limits!
I don’t have A and B axles, but for 0-4 engines all the limits are set correctly
XXYYZ!
- abs32
21 Nov 2025 10:13 - 21 Nov 2025 10:16
Replied by abs32 on topic v2.9 and not the perpendicularity of X and Y
But how to correctly write the value of one of the parameters in the settings? If earlier I could provide in a hal file
setp relkins.adjX.Y0 0
now it's an attempt to indicate
setp matrixkinx.C_xy 0
leads to abortion program launch
Through HalShow, the command setp matrixkinx.C_xy 0 is executed normally.
setp relkins.adjX.Y0 0
now it's an attempt to indicate
setp matrixkinx.C_xy 0
leads to abortion program launch
Through HalShow, the command setp matrixkinx.C_xy 0 is executed normally.
- abs32
21 Nov 2025 10:09
Replied by abs32 on topic v2.9 and not the perpendicularity of X and Y
Bravo, thank you!
The interface immediately changed - before home, a choice of individual motors is now available!
There was an error in the perception of the hal file configuration when I tried to write down the parameters
setp matrixkins.C_xy 0
The interface immediately changed - before home, a choice of individual motors is now available!
There was an error in the perception of the hal file configuration when I tried to write down the parameters
setp matrixkins.C_xy 0
- Aciera
21 Nov 2025 09:52
Replied by Aciera on topic v2.9 and not the perpendicularity of X and Y
- abs32
21 Nov 2025 09:42 - 21 Nov 2025 09:43
Replied by abs32 on topic v2.9 and not the perpendicularity of X and Y
Thank you, of course, I'm a hat and stupidly downloaded the html page. We have advanced
halcompile --install matrixkins.comp
Compiling realtime matrixkins.c
Linking matrixkins.so
cp matrixkins.so /usr/lib/linuxcnc/modules/
start abort -
4.hal:22: parameter or pin 'matrixkins.C_xy' not found
4.hal file -
setp matrixkins.C_xy 0 # Skew Y axis towards X axis
setp matrixkins.C_xx 1 # X axis scale
setp matrixkins.C_xz 0 # Skew Z axis towards X axis
setp matrixkins.C_yx 0 # Skew X axis towards Y axis
setp matrixkins.C_yy 1 # Y axis scale
setp matrixkins.C_yz 0 # Skew Z axis towards Y axis
setp matrixkins.C_zx 0 # Skew X axis towards Z axis
setp matrixkins.C_zy 0 # Skew Y axis towards Z axis
setp matrixkins.C_zz 1 # Z axis scale
halcompile --install matrixkins.comp
Compiling realtime matrixkins.c
Linking matrixkins.so
cp matrixkins.so /usr/lib/linuxcnc/modules/
start abort -
4.hal:22: parameter or pin 'matrixkins.C_xy' not found
4.hal file -
setp matrixkins.C_xy 0 # Skew Y axis towards X axis
setp matrixkins.C_xx 1 # X axis scale
setp matrixkins.C_xz 0 # Skew Z axis towards X axis
setp matrixkins.C_yx 0 # Skew X axis towards Y axis
setp matrixkins.C_yy 1 # Y axis scale
setp matrixkins.C_yz 0 # Skew Z axis towards Y axis
setp matrixkins.C_zx 0 # Skew X axis towards Z axis
setp matrixkins.C_zy 0 # Skew Y axis towards Z axis
setp matrixkins.C_zz 1 # Z axis scale
- Aciera
21 Nov 2025 09:25
Replied by Aciera on topic v2.9 and not the perpendicularity of X and Y
Try copy/pasting the contents of the file:
raw.githubusercontent.com/LinuxCNC/linux...ents/matrixkins.comp
raw.githubusercontent.com/LinuxCNC/linux...ents/matrixkins.comp
Time to create page: 0.255 seconds