Advanced Search

Search Results (Searched for: )

  • Hauligali22
  • Hauligali22
08 Aug 2024 22:00
Replied by Hauligali22 on topic Closed Loop Computer Vision Enabled CNC

Closed Loop Computer Vision Enabled CNC

Category: QtPyVCP

Hello again, what is the difference between using hal and using Dmitry's pick and place machine? I have been briefly reviewing Dmitry's honestly incredible machine and it is frankly very complicated for me given my inexperience although I am hoping to obtain the necessary experience for my own project.
  • Jindy
  • Jindy
08 Aug 2024 21:21
Replied by Jindy on topic Second LPT port - SOLVED!

Second LPT port - SOLVED!

Category: Advanced Configuration

Thanks for putting up these instructions. I followed them to add a second parallel port, and linuxcnc now doesn't give any warnings when I run the 2 port tester. The on board port works with the tester, but the second port outputs are all stuck at 5V, regardless of what I toggle. Do you know what could be the problem?
  • Hauligali22
  • Hauligali22
08 Aug 2024 20:52
Replied by Hauligali22 on topic Closed Loop Computer Vision Enabled CNC

Closed Loop Computer Vision Enabled CNC

Category: QtPyVCP

Hello, I have been using opencv to perform just regular tracking but I have no idea how to implement the opencv tracking algorithms in a cnc machine. Aciera has given some awesome ideas for doing the closed-loop part, how does your implementation work?
  • zz912
  • zz912's Avatar
08 Aug 2024 20:50
Replied by zz912 on topic Jog keys for A axis

Jog keys for A axis

Category: Gmoccapy

To Aciera: Can I ask you for Pull Request?
I would also like this improvement.
For at least five (5) axis please but all six will be better.
 

To Mariusl:What keys do you suggest?
Home => +A
End => -A
???? => +B
???? => -B
???? => +C
???? => -C

Here are the already occupied keys:
github.com/LinuxCNC/linuxcnc/blob/b054eb...ccapy.py#L3052-L3295
  • scotta
  • scotta's Avatar
08 Aug 2024 20:44

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

Deadband should be a positive number. I'll need to force that in the code. What you've done is kinda like what Cakeslob suggested.

// apply the deadband
if (error > deadband)
{
error -= deadband;
}
else if (error < -deadband)
{
error += deadband;
}
else
{
error = 0;
}
....

// calculate the output value
vel_cmd = pgain * error + data->cmd_d * ff1gain;

Try increasing your pgain.
  • rodw
  • rodw's Avatar
08 Aug 2024 19:49

Ethercat installation from repositories - how to step by step

Category: EtherCAT

yes tested it works on my chromebook so it should work on any device Ethercat supports. Shame it does not have an Ethernet port :)
copy text to a file. call it ethinstall.sh and make it executable:
chmod +x ethinstall.sh
./ethinstall.sh


 
  • rodw
  • rodw's Avatar
08 Aug 2024 19:37

Ethercat installation from repositories - how to step by step

Category: EtherCAT

The Raspberry pi images do not include the Ethercat repositories but enabling some commented out code should enable it according to feedback from etherlabmaster
Try running a script something like this
#!/bin/bash
# Install companion repositories. NOTE: QTPYVCP does not support the raspberry pi.
echo "Install ethercat repository"
mkdir -p /usr/local/share/keyrings/
wget -O- https://build.opensuse.org/projects/science:EtherLab/signing_keys/download?kind=gpg | gpg --dearmor | dd of=/etc/apt/trusted.gpg.d/science_EtherLab.gpg
tee -a /etc/apt/sources.list.d/ighvh.sources > /dev/null <<EOT
Types: deb
Signed-By: /etc/apt/trusted.gpg.d/science_EtherLab.gpg
Suites: ./
URIs: http://download.opensuse.org/repositories/science:/EtherLab/Debian_12/
EOT
  • rodw
  • rodw's Avatar
08 Aug 2024 19:30
Replied by rodw on topic ethercat master service

ethercat master service

Category: EtherCAT

no, out of my depth here but to me lcec.0 and lcec.1 imply separate instances of Ethercat. I would put them on different Linuxcnc threads so the timing is different.
  • Moutomation
  • Moutomation
08 Aug 2024 19:26

Ethercat installation from repositories - how to step by step

Category: EtherCAT

Hello, 
Is it possible to install ethernet for raspbery pi? Are the iso files up to date ?
 
  • rodw
  • rodw's Avatar
08 Aug 2024 19:18
Replied by rodw on topic Installing Linuxcnc on Debian Bookworm

Installing Linuxcnc on Debian Bookworm

Category: Installing LinuxCNC

Yes its pretty easy to give a user sudo access. I think from memory using sudo then requires root's password.
You just need to add your user to the sudoers user group when signed in as root
usermod -aG sudo newuser
  • papaathome
  • papaathome
08 Aug 2024 19:09
Replied by papaathome on topic Installing Linuxcnc on Debian Bookworm

Installing Linuxcnc on Debian Bookworm

Category: Installing LinuxCNC

Installing linuxcnc on a standard Debian instance is described in the docs here
linuxcnc.org/docs/stable/html/getting-st...th_preempt_rt_kernel
 

Just followed the procedure, it was a doddle.

I want to mention a few points I ran into. Maybe others can do there advanage with it.
First: There is a warining not to supply a root password when installing Debian. If you do give a root password then sudo is disabled.
Of cause I had supplied a root password (old habits dont die easily!)
I had two options, reinstall and don't supply a password or find out how to enable sudo. I opted for the second one.
If you search the internet then you can find several sites with advice how to do it.
In the instructions I used the command `adduser username sudo` is used. That command could not be found.
Solution: use `whereis adduser` then use the command with the full path.

The rest is just read first, check and check again then do exact what you are told to do. No further problems.

Now running kernel Linux 6.1.0-23-rt-amd64 with LinuxCNC installed.
Latency tests are a factor 2 better compared to running LinuxCNC life.
I have made some changes in the bios between testing with LinuxCNC life and the current situation but have not (yet) fully tuned this installation.
I want to try the next step, using the RTAI kernel.

Kind regards.

 
  • anfänger
  • anfänger's Avatar
08 Aug 2024 18:10
Replied by anfänger on topic Fehlmann Picomax 100 Retrofit

Fehlmann Picomax 100 Retrofit

Category: Milling Machines

Long time no news here...
to make it short, I installed a Mesa 7I85S and with a lot of help from here I got my servos running with digital instead of analog control.



and now its time to annoy the probe_basic guys cause I am trying migrate to linux 2.9.3 to use steppers with index for homing 
  • anfänger
  • anfänger's Avatar
08 Aug 2024 18:02 - 08 Aug 2024 19:35

Py3 - Probe Basic Config Conversion Doc Lcnc 2.9+

Category: QtPyVCP

Hi I installed the development system with 2.9.3 and the deb files like in the tutorial described.

kcjengr.github.io/probe_basic/development_quick_start_apt.html

Then I tried to open my config I used with probe_basic under 2.8.2. Fixed the python3 issues with my own Hal components.

now it ts trying to start an I am expecting to fail due to missing Hal pins from qtpyvcp,  cause I heavyly modified the ui file to match my machine.
but I get this error:

[qtpyvcp.app.launcher][CRITICAL]  Unhandled exception in probe_basic line 8 (launcher.py:37)
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['windows'])
  File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 228, in loadWindows
    window = _initialize_object_from_dict(window_dict)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 208, in _initialize_object_from_dict
    return obj(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/wully/linuxcnc/configs/wully/custom_probebasic.py", line 15, in __init__
    super(CustomProbeBasic, self).__init__(*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 47, in __init__
    self.loadUi(ui_file)
  File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 106, 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 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 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 118, in createQObject
    return self._cpolicy.instantiate(factory, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/PyQt5/uic/Loader/qobjectcreator.py", line 137, in instantiate
    return clsObject(*ctor_args)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/display_widgets/vtk_backplot/vtk_backplot.py", line 179, in __init__
    self.default_view = view_options[view_default_setting]
                        ~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^


I guess try coming from my custom_config.yml
ad related files. 
# example of a machine specific settings
windows:
  mainwindow:
    provider: custom_probebasic:CustomProbeBasic

#windows:
#  mainwindow:
#    kwargs:
#      confirm_exit: false

settings:

  # VTK backplot view settings

  backplot.show-grid:
    default_value: false

  backplot.show-program-bounds:
    default_value: false

  backplot.show-program-labels:
    default_value: false

  backplot.show-program-ticks:
    default_value: false

  backplot.show-machine-bounds:
    default_value: false

  backplot.show-machine-labels:
    default_value: false

  backplot.show-machine-ticks:
    default_value: false

  backplot.perspective-view:
    default_value: false

  backplot.view:
    default_value: P
    options: ["X: Front View", "XZ: Lathe View", "XZ2: Lathe View", "Y: Front View", "Z: Top View", "Z2: Bottom View", "P: Isometric"]

  backplot.multitool-colors:
    default_value: True

and when I emote the custom widget (its for setup sheets)

I come to the point where it fails due to missing pins.
copying my ui file over the one in the deb package let it fail again.

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['windows'])
File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 228, in loadWindows
window = _initialize_object_from_dict(window_dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 208, 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 47, in __init__
self.loadUi(ui_file)
File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 106, 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 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 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,))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ModuleNotFoundError: No module named 'qtpyvcp_conversational_gcode'


I guesss there were some changes which make it fail.
I'll made all ma chalets just to one tab I added.
So I did edit this section in the ui file. and still run into errors.
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['windows'])
  File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 228, in loadWindows
    window = _initialize_object_from_dict(window_dict)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3/dist-packages/qtpyvcp/app/launcher.py", line 208, 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 47, in __init__
    self.loadUi(ui_file)
  File "/usr/lib/python3/dist-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 106, 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 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 116, in createQObject
    raise NoSuchWidgetError(classname)
PyQt5.uic.exceptions.NoSuchWidgetError: Unknown Qt widget: HalLCDNumber

I am afraid I need to redo all ma work. maybe its faster since I've done it before

will there be a better option in the future keep custom tabs?
for more complex machines this might help a lot.

Thanks Patrick[/code]
  • Lpkkk
  • Lpkkk
08 Aug 2024 17:30

Remora - ethernet NVEM / EC300 / EC500 cnc board

Category: Computers and Hardware

I will try your settings. So far the best settings I could find were :
DEADBAND = -0.0002
FF1_GAIN = 1
P_GAIN = 1

I put negative deadband because it seems to work better than positive. I've tried many di settings in last few days. A lot of testing.
  • anfänger
  • anfänger's Avatar
08 Aug 2024 17:04 - 08 Sep 2024 15:23
Replied by anfänger on topic Mesa Analog Vs Step Dir

Mesa Analog Vs Step Dir

Category: Driver Boards

thanks again.
Update is running...

And home with index is working!

many thanks!
Displaying 23506 - 23520 out of 25039 results.
Time to create page: 0.430 seconds
Powered by Kunena Forum