Robertspark's CNC Setup

More
06 Feb 2022 13:12 - 09 Feb 2022 00:13 #234101 by robertspark
Robertspark's CNC Setup was created by robertspark
I thought I could set myself up a thread which I could use as a central repository for my current setup(s) for my LinuxCNC setup.

This also allows me to setup my LinuxCNC setup quickly if I do a fresh start in a short space of time.  I've posted some of my settings on a few threads and I do a search for those when I set up from a clean slate to start again.

These settings may not work for you!   Then again you may learn something like I have following all the countless installs of LinuxCNC via iso / buildbot / RIP installs on Debian Buster, Bullseye and MX21 etc.

My current setup is: Debian Buster LinuxCNC 2.8.2 installed via iso on usb stick.

I have:

* list ~5x5 home built plasma running on 50x50 rails, nema23 4.2A all round with Mod1 R&P with a 3:1 gear driven reducer on X, Y & Y1 axis, Z is via a 1204 ball screw, complete with attached air scribe, laser crosshair and magnetic breakaway that allows for install of a laser diode (not used it yet), scanning camera (not used it yet), and sharpie holder.  Also a 4th axis rotary tube (CHS/SHS) with a 100mm 4 jaw self centring chuck.
* list Denford Orac Lathe, running with 750W servo motor spindle (2:1 reduction drive) and spindle shaft encoder (1000ppr) using 40 position mutifix quick change tool post.  X and Z are 0.001mm/step.
* list Emco / Maximat FB2 3 axis mill with stepper converted rotary table, converted to cnc using nema 34 stepper motors and HTD belt reduction for 0.001mm/step per X,Y and Z axis.
* list 3 axis router, openbuilds Cbeam-XL, with makita rt0700c router, and SuperPID speed controller, with laser diode, and drag-knife attachment

Non Linuxcnc:
* list Creality CR-10S 3D printer
* list Atomstack A10/S10/X7 with M50 laser and Ortur rotary axis

LinuxCNC uses a Mesa 7i76E + THCAD5 for the Plasma and a Mesa 7i92H + 7i76 mill router and lathe (hence 2 x static ports setup in the interfaces file)

I have 2 x Mesa ethernet devices, each on its own ethernet port / network adapter hence they are each setup with their own static IP address.
I share the 2 x Mesa ethernet devices between all of the machines, basically the plasma, mill and router use the 7i76E which drives 5x stepper drives, and the 7i92H+7i76 is used for the lathe driving 2 stepper drives, and a servo for the spindle.  The stepper drives have plugs & leads so I swap between machines from a central control station its a hobby setup and I don't use more than one machine at any one time.

if required, download linuxcnc.iso:

once downloaded copy across to usb disk
find which drive is the usb stick using:
lsblk
navigate to the downloaded iso and run:
sudo dd if=linuxcnc-2.8.2-buster.iso of=/dev/sdc bs=1024k status=progress


Once Debian Buster and LinuxCNC is installed via the iso, run:
sudo apt update
sudo apt upgrade -y
sudo apt install -y geany grub-customizer git ethtool python3-opengl gnome-icon-theme curl dpkg-dev xfce4-power-manager
sudo Thunar

navigate to: /etc/lightdm/ and open lightdm.conf

alternative:
sudo geany /etc/lightdm/lightdm.conf

scroll down to line ~ 126 and remove the # + add your user name from:

#autologin-user=
#autologin-user-timeout=0


I have intel network cards, hence the following helps to sort latency issues.  I found that ethtool works and the other method did not work for me.  plus I added a 3 sec delay to the process or it did not have effect.  It works for me, your mileage may vary....

navigate to: /etc/network/ and open interfaces

alternative:
sudo geany /etc/network/interfaces

edit to YOUR needs, below is mine, 99.9% certain this WILL NOT work for you, as your ethernet adapters may have different names and my mesa cards are on different ports + they have custom IP addresses set via the mesa firmware tool.

run the following to list your network adapters names:
ip link show
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp2s0
iface enp2s0 inet static
address 10.10.10.1/24
up sleep 3
post-up ethtool -C enp2s0 rx-usecs 0

auto enp3s0
iface enp3s0 inet static
address 172.16.0.1/24
up sleep 3
post-up ethtool -C enp3s0 rx-usecs 0

 
Last edit: 09 Feb 2022 00:13 by robertspark.
The following user(s) said Thank You: phillc54

Please Log in or Create an account to join the conversation.

More
06 Feb 2022 13:58 - 06 Feb 2022 23:22 #234104 by robertspark
Replied by robertspark on topic Robertspark's CNC Setup
open up grub customizer and shorten the wait time to 1 second, and add in the following
quiet splash isolcpus=1,3

install the following:
sudo apt install -y inkscape gimp librecad freecad

download sheetcam:
www.sheetcam.com/downloads
download scanything:
www.sheetcam.com/Scanything/downloads
download lightburn:
lightburnsoftware.com/pages/trial-version-try-before-you-buy

install sheetcam:
sudo sudo dpkg -i package_file.deb
Last edit: 06 Feb 2022 23:22 by robertspark.

Please Log in or Create an account to join the conversation.

More
06 Feb 2022 14:03 - 06 Feb 2022 22:49 #234106 by robertspark
Replied by robertspark on topic Robertspark's CNC Setup
Install RIP for QT PlasmaC
git clone git://github.com/linuxcnc/linuxcnc.git linuxcnc-dev
sudo apt install -y dpkg-dev
cd linuxcnc-dev/debian
./configure uspace
cd ..
dpkg-checkbuilddeps

copy BUILD dependencies list to geany and edit to install adding "sudo apt install -y" and removing numbers / brackets.
cd linuxcnc-dev/src
./autogen.sh
./configure --with-realtime=uspace
make -j4
sudo make setuid
source ../scripts/rip-environment
runtests
Last edit: 06 Feb 2022 22:49 by robertspark.

Please Log in or Create an account to join the conversation.

More
06 Feb 2022 14:06 - 06 Feb 2022 23:10 #234107 by robertspark
Replied by robertspark on topic Robertspark's CNC Setup
Set up NativeCAM for Mill, Router and Lathe (Linuxcnc 2.8.2)  {at this time it won't work on Master given it uses python2}

As taken from here:
forum.linuxcnc.org/nativecam/32891-use-n...eb-package-now#94274

Download the attached script and run it 
sudo bash /Downloads/ncam_debsetup.txt

As taken from here:
forum.linuxcnc.org/nativecam/39068-nativ...buster-please#182941
curl -s https://packagecloud.io/install/repositories/FernV/NativeCAM/script.deb.sh | sudo bash
4. Open Applications > System > Synaptic Package Manager
5. Navigate to Settings > Repositories
6. Click on the one for packagecloud.io/FernV/NativeCAM/debian/
7. Change the name from buster to stretch in the Distribution field
8. Click OK (Reload when prompted)
9. Close Synaptic Package Manager (if you don't, you probably can't run the next command)
10. Back at your terminal, run this:
sudo apt update
sudo apt upgrade -y
sudo apt install nativecam
11. Then this:
ncam
12. You should see a prompt to create a new directory, and if Axis is open it will ask to restart it.
13. You should answer yes to both.
14. NativeCAM should open in a separate window.

To use with your own inifile, it must first be edited. From a normal user terminal, change directory to the one that contains your inifile Using the command : ncam -i(inifilename) -c('mill' | 'plasma' | 'lathe') will automatically create a backup and modify your file. It will also prepare the sub-directory with needed files and links. If you use axis and -t option it will be embedded in a tab


Navigate to the config files:
cd linuxcnc/config
and run:
ncam -i(inifilename) -c lathe
ncam -i(inifilename) -c mill
ncam -i(inifilename) -c plasma

for tabs, run the following and add in the scripts to the inifile to embed the tabs etc.
ncam --h
Attachments:
Last edit: 06 Feb 2022 23:10 by robertspark.

Please Log in or Create an account to join the conversation.

More
06 Feb 2022 14:10 #234108 by robertspark

Please Log in or Create an account to join the conversation.

More
06 Feb 2022 23:35 #234196 by robertspark
Replied by robertspark on topic Robertspark's CNC Setup
backup / clone HDD to second HDD:
lsblk
CHECK disk order / size!! before running:
sudo dd if=/dev/sda of=/dev/sdb status=progress
verify disk cloned
lsblk

save the following & run as update script:
will need to save as update.sh and run:
chmod 744 update.sh
#!/usr/bin/env bash
sudo apt update
sudo apt upgrade -y
cd linuxcnc-dev
git pull
cd src
./autogen.sh
./configure --with-realtime=uspace
make -j4
sudo make setuid
source ../scripts/rip-environment
​​​​​​​runtests


 
The following user(s) said Thank You: rodw

Please Log in or Create an account to join the conversation.

More
07 Feb 2022 12:22 #234241 by robertspark
Replied by robertspark on topic Robertspark's CNC Setup
Couple of things I am looking at integrating / have integrated and need to provide a quick link on to find in the future:

forum.linuxcnc.org/49-basic-configuratio...obe?start=550#232195

forum.linuxcnc.org/38-general-linuxcnc-q...xcnc?start=10#213111

Please Log in or Create an account to join the conversation.

More
09 Feb 2022 15:35 #234396 by robertspark
Replied by robertspark on topic Robertspark's CNC Setup
TIPS:
I thought I'd post a few shortcut tips that I've learnt using linux, stuff that may be obvious to some who just use linux or have been using it for years.  But for me, a native button clicking windows user who although used dos, still likes a gui the terminal has taken a bit of getting used to:

I will try to add a few more tips to this list as I remember or use them.

Use the TAB button / key
when typing out something such as directory change, or to run a file or open a deb file, use the TAB key for linux to autocomplete the text.  It also avoids typos on long complex file names....
eg:
cd lin <TAB> will complete the line as
cd linuxcnc-dev if you have a linuxcnc-dev file that is
likewise
cd Dow<TAB> will complete the line as
cd Downloads
you can also do multiple TABs on a line, such as:
cd lin<TAB> ..... which becomes
cd linuxcnc-dev, then type /deb<TAB> and it will complete the line as
cd linuxcnc-dev/debian
likewise if you are installing a debian (*.deb) file
dpkg -i she<TAB>
will complete the line as
dpkg -i sheetcam_v1.2xyzabx.deb
you can also use it to run files too.... if in doubt, just press tab and it may complete the line for you from the current directory or the directory you are navigating to such as 
sudo geany etc/net<TAB>/int<TAB> will open the network interfaces file.

sudo Folder Access / File Edit (graphically)
being a windows guy, I like to sometimes use the graphical folder view to navigate my way to edit files (such as the user.config file and the network/interfaces file and other stuff that requires sudo (super user) privileges, hence I open a terminal and run
sudo Thunar
this allows the Folder viewer GUI (Thunar) to open with sudo privileges and then you can just navigate to the file and double click on it to open it in Geany again with super user privileges to edit and save it accordingly.

terminal commands:
clear - clear terminal screen
cd - change directory (eg. cd linuxcnc-dev will move up to the linuxcnc-dev directory (if there is such a folder in the current directory)
cd OR cd ~ - changes to the home directory 
cd .. - step back a directory level (e.g. if the current directory level is /linuxcnc-dev/debian, and you type cd .. it will move 1 level back to /linuxcnc-
cd / - changes to the root directory
ls - list contents of current directory
ls *.deb - list all deb extension files in the current directory (can be used with *.sh or whatever extension you require, can change it to ls sh* which will list all files beginning with "sh" in the current directory).
uname -a - displays the linux kernel and release and architecture information within the terminal (to ensure you are running an "RT" (real time) patched kernel + it's version.  can use uname -v for just the kernel version.
ip link show - shows all network card addresses and names (ethX OR enpX for ethernet cards and wlanX for wifi cards)
/sbin/ifconfig -a - displays any network errors or collisions etc, useful to check after a long uptime / run to see if you have potential network issues.
lscpu - list cpu information, useful for isolating cpu's + checking how many cores you have listed and if hyperthreading is turned on / off etc.
lscpu | egrep 'Model name|Socket|Thread|NUMA|CPU\(s\)' - list cpu info in a bit more concise format than just an lscpu info dump.
nproc - lists the number of processes that can be run simultaneously (eg, a dual core machine with hyperthreading can run 4 threads at once, see make below).
make -j4 - when using the make / build command the "-j4" switch tells the make command to run 4 jobs at once, this normally corresponds to your number of processes that are available.
make -j$(nproc) - alternative to the above make -j4, if you are unsure of your number of parallel processes that are able to run at once, will always use the maximum number, and complete the make process as quick as possible (useful for building linuxcnc as a RIP making *.deb files on the machine).
find - very useful (and quick) way to find files on linux, there are a few switches for finding all specific files and folders in specific locations.
find  / -type d -name "apt" -ls - find all directories with the name apt (case sensitive).
find  / -type d -iname "apt" -ls - find all directories with the name apt or APT or Apt or aPt or apT or APt or aPT or ApT (case insensitive)
find / -name '*.py' - find all files OR folders with the extension .py (case sensitive).  can use the wild card as the extension if you know the first part of the file / folder name.
find / -type f -name '*.py' - find only files with the extension .py (case sensitive), could use -iname to make case insensitive, could obviously change to *.dxf or anything that you've lost.  find is very powerful on linux, but the switches can confusing to remember (for me) unless used often.


 
The following user(s) said Thank You: phillc54, tommylight, tripwire

Please Log in or Create an account to join the conversation.

More
18 Feb 2022 20:03 #235264 by robertspark
Replied by robertspark on topic Robertspark's CNC Setup
I'm going to do a tidy up of some of the above (but this forum editor is a PIA to re-edit posts):

I've been dabbling (again) with Debian Bullseye, as I thought I'd give QtPyVCP a go both from the perspective of using Probe Basic for Mill and Lathe and getting stop using Gmoccopy. I though I'd also give creating simple screensets a go for my 3/4 axis mill + router + lathe as I don't have an ATC but I do have a 40 position multifix tool post for the lathe with a lot of tool holders all on a rack with numbers.

Enough waffle:

Download Debian Bullseye from the Debian repository via ISO
www.debian.org/download

I tend to use the non-free version amd64 as I have intel network cards and the non-free version will provide the firmware "out of the box" at install time, so I download from here:
cdimage.debian.org/cdimage/unofficial/no...urrent/amd64/iso-cd/

I use etcher (or if on linux dd) the iso onto usb stick and then install accordingly.

once the install is complete,

I will add my user account to the sudo (super user) group by logging on to the root account and adding myself to the sudo users group (it makes life easier to install stuff + its just a cnc machine and I'm not fussed if it was ever hacked... it does not run unless I'm present or nearby).
type the following into the terminal:
su
enter the root / su / super user password
type:
sudo usermod -a -G sudo username
.... change "username" to YOUR login name obviously!

being linux.... if it worked you won't get a complaint or response... if not it will pop up with a message.

you will need to log off and log back on in order for the change to take place to the user account.

I will run the following scripts to install the programmes I use in my setup:
sudo apt update
sudo apt upgrade -y
sudo apt install -y git geany grub-customizer git ethtool curl dpkg-dev

install the RT patched kernel:
sudo apt install -y linux-image-rt-amd64 linux-headers-rt-amd64

I normally start Thunar with super user privilages
sudo Thunar

and then I navigate to etc/network/ and open the interfaces file and set up my network settings: {THEY WON'T WORK FOR YOU!}
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp2s0
iface enp2s0 inet static
address 10.10.10.1/24
up sleep 3
post-up ethtool -C enp2s0 rx-usecs 0

auto enp3s0
iface enp3s0 inet static
address 172.16.0.1/24
up sleep 3
post-up ethtool -C enp3s0 rx-usecs 0

next navigate to: /etc/lightdm/ and open lightdm.conf
scroll down to around line 126 and remove the # from the two following lines + add YOUR login name:

#autologin-user=
#autologin-user-timeout=0

So that linux will automatically log in.

I normally navigate to the Power Manager under the Applications >> Settings menu and change the settings so that the screen does not start the screensaver / turn off the monitor or stop the monitor turning off, screensaver starting or more importantly, linux logging off and requiring a login.... (could be frustrating if you need to stop something in a hurry without using the estop mushroom button)

I will normally navigate to Grub-Customiser (located under Applications >> System)
and on the General tab change the start delay from 5 seconds to 1 second, and change the kernel parameters to:
quiet splash isolcpus=1,3
NOTE:: isolcups may NOT work for you + it depends upon how many CPUs and cores you have, test your own latency.... it works for my bios settings.

I normally install all my free CAD software (+ sheetcam and lightburn)
sudo apt install -y inkscape gimp librecad freecad

www.sheetcam.com/downloads
lightburnsoftware.com/pages/trial-version-try-before-you-buy

install sheetcam *.deb via:
[sudo]sudo sudo dpkg -i Sheet*.deb[/code]
or press the <TAB> key after typing "She" to autocomplete
Sheetcam {current release} requires a couple of dependencies....
sudo apt install -y libncurses5 libinfo5
version 6 of libncurses and libinfo is already installed.... you could unpack and repack the *.deb and change the dependencies (and hope they work with the newer versions.... of just install version 5 of the two above dependencies...

There is another dependency which is missing which is libreadline7..... again version 8 is installed within Debian Bullseye... and version 7 is not available from the repositories ..... however it can be downloaded from an older debian repository as a *.deb file and installed:
packages.debian.org/buster/amd64/libreadline7/download
then run {from the Downloads directory}:
sudo dpkg -i lib+<TAB>
and then try to reinstall Sheetcam via:
[sudo]sudo sudo dpkg -i Sheet*.deb[/code]
and it should run just fine (it does on my debian Bullseye install now!).

Oh the joys of linux and dependencies and version compatibility!


for lightburn *.run file you may need to make it executable via:
chmod 774 Lig+<TAB>
and then you can install it via
./Lig+<TAB>

OK now the LinuxCNC stuff.....

Install some more dependencies for LinuxCNC + QtPyVCP using the following (kindly taken from the QtPyVCP website):
sudo apt install -y geany git debhelper dh-python libudev-dev tcl8.6-dev tk8.6-dev bwidget tclx libeditreadline-dev asciidoc dblatex docbook-xsl dvipng ghostscript graphviz groff imagemagick inkscape python3-lxml source-highlight w3c-linkchecker xsltproc texlive-extra-utils texlive-font-utils texlive-fonts-recommended texlive-lang-cyrillic texlive-lang-french texlive-lang-german texlive-lang-polish texlive-lang-spanish texlive-latex-recommended asciidoc-dblatex python3-dev python3-tk libxmu-dev libglu1-mesa-dev libgl1-mesa-dev libgtk2.0-dev libgtk-3-dev gettext intltool autoconf libboost-python-dev libmodbus-dev libusb-1.0-0-dev psmisc yapps2 libepoxy-dev python3-xlib python3-pyqt5 python3-dbus.mainloop.pyqt5 python3-pyqt5.qtopengl python3-pyqt5.qsci python3-pyqt5.qtmultimedia python3-pyqt5.qtquick qml-module-qtquick-controls gstreamer1.0-plugins-bad  libqt5multimedia5-plugins pyqt5-dev-tools python3-dev python3-setuptools python3-wheel python3-pip python3-yapps dpkg-dev python3-serial libtk-img qttools5-dev qttools5-dev-tools python3-wheel espeak espeak-data espeak-ng freeglut3 gdal-data gstreamer1.0-tools libaec0 libarmadillo10 libarpack2 libcfitsio9 libcharls2 libdap27 libdapclient6v5 libepsilon1 libespeak1 libfreexl1 libfyba0 libgdal28 libgdcm3.0 libgeos-3.9.0 libgeos-c1v5 libgeotiff5 libgif7 libglew2.1 libgtksourceview-3.0-dev libhdf4-0-alt libhdf5-103-1 libhdf5-hl-100 libimagequant0 libkmlbase1 libkmldom1 libkmlengine1 liblept5 libmariadb3 libminizip1 libnetcdf18 libodbc1 libogdi4.1 libopencv-calib3d4.5 libopencv-contrib4.5 libopencv-core4.5 libopencv-dnn4.5 libopencv-features2d4.5 libopencv-flann4.5 libopencv-highgui4.5 libopencv-imgcodecs4.5 libopencv-imgproc4.5 libopencv-ml4.5 libopencv-objdetect4.5 libopencv-photo4.5 libopencv-shape4.5 libopencv-stitching4.5 libopencv-video4.5 libopencv-videoio4.5 libportaudio2 libpq5 libproj19 libprotobuf23 libqhull8.0 librttopo1 libsocket++1 libspatialite7 libsuperlu5 libsz2 libtbb2 libtesseract4 liburiparser1 libxerces-c3.2 libxml2-dev mariadb-common mesa-utils mysql-common odbcinst odbcinst1debian2 proj-bin proj-data python3-configobj python3-espeak python3-gi-cairo python3-olefile python3-opencv python3-opengl python3-pil python3-pil.imagetk python3-pyqt5.qtsvg python3-pyqt5.qtwebkit tcl-tclreadline geotiff-bin gdal-bin glew-utils libgtksourceview-3.0-doc libhdf4-doc libhdf4-alt-dev hdf4-tools odbc-postgresql tdsodbc ogdi-bin python-configobj-doc libgle3 python-pil-doc python3-pil-dbg python3-pil.imagetk-dbg python3-sqlalchemy netcat

Download Master / 2.9 from linuxcnc repository git and build *.debs for install....
cd ~
mkdir dev
cd dev
mkdir linuxcnc
cd linuxcnc
git clone git://github.com/linuxcnc/linuxcnc.git rip

make and build the *.debs {without documentation (it's all on line anyway on the linuxCNC website) + its quicker}
also note the -j4 switch for dpkg-buildpackage which will use 4x threads / simultaneous operations for a 4 core machine... adjust to your machine setup as it will be much quicker than without the switch if you have multiple cores.
cd ~/dev/linuxcnc/rip/debian
./configure no-docs uspace
cd ..
dpkg-buildpackage -j4 -b -uc

Install the linuxCNC *.deb
cd ~/dev/linuxcnc
sudo dpkg -i linuxcnc-uspace_2.9.0~pre0_amd64.deb

Install QtPyVCP:
cd ~/dev
git clone https://github.com/kcjengr/qtpyvcp
cd qtpyvcp
python3 -m pip install --editable .
cp scripts/.xsessionrc ~/

Don't forget or miss those damn dots ( . )!!!! or it will fling you an error!

You can test QtPyVCP:
qtpyvcp -h
qtpyvcp -i

And then setup QT Designer:
cd ~/dev/qtpyvcp/pyqt5designer/Qt5.15.2-64bit/python3.9/
sudo ./install.sh

Setup / install the QtPyVCP Sims:
cp -r ~/dev/qtpyvcp/linuxcnc ~/

To setup / install Probe Basic for Python 3!!:
cd ~/dev
git clone -b python3 https://github.com/kcjengr/probe_basic.git
[code]

To setup / install probe basic (mill) + probe basic lathe:
[code]
cd probe_basic
qcompile .
python3 -m pip install -e .
cd
cp -r ~/probe_basic/probe_basic/fonts/ ~/.local/share/
cp -r ~/probe_basic/config/probe_basic/ ~/linuxcnc/configs/
cp -r ~/probe_basic/config/probe_basic_lathe/ ~/linuxcnc/configs/

Again don't miss those damn dots....

To install the QtPyVCP Conversational G-code Widgets:
cd ~/dev
git clone -b python3 https://github.com/kcjengr/qtpyvcp.conversational-gcode.git
cd ~dev/qtpyvcp.conversational-gcode
python3 -m pip install .

To Edit Probe_Basic (mill) screenset:
editvcp probe_basic

To Edit Probe_Basic_Lathe screenset:
editvcp probe_basic_lathe

To download the QtPyVCP Template:
github.com/kcjengr/vcp-template
cd ~/dev
git clone https://github.com/kcjengr/vcp-template.git

install:
python3 -m pip install -e .

edit it with:
editvcp myvcp
Note: you will need to name it prior to this using:
cd ~/dev/vcp-template
./copy.sh

To create the Tutorial, run:
cd ~/dev/vcp-template
./tutorial.sh

update any of the folders using:
git pull

you can also create a bash script to update and build etc by creating a new file and saving it as a *.sh, and running chmod 774 *.sh to maake it executable ..... add within the first line of the file:
#!/bin/bash
then run with ./xyz.sh with whatever you called the script (very helpful to run and leave to sort its self out)...

Please Log in or Create an account to join the conversation.

More
18 Feb 2022 23:58 #235296 by jkkicks
Replied by jkkicks on topic Robertspark's CNC Setup
This is awesome, almost got it working first try!

Probe basic lathe works right out of the box, editvcp and qtpyvcp are all installed and working properly with no error codes. One thing I did notice though is that in the linuxcnc configuration selector there is no folder for probe basic, but if i choose sim.qtpyvcp, XYZ i can launch right into the probe basic lathe program.

thats where the good news ends though. When launching the xyz config and selecting probe_basic i still get an error code and a crash... Heres the error message:
{
Traceback (most recent call last):
  File "/home/cnc/.local/bin/qtpyvcp", line 33, in <module>
    sys.exit(load_entry_point('qtpyvcp===python3-master-174.g2c249709', 'console_scripts', 'qtpyvcp')())
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/__init__.py", line 74, in main
    run(opts, None)
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/__init__.py", line 102, in run
    load_vcp(opts)
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 131, in load_vcp
    if _load_vcp_from_entry_point(vcp, opts):
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 181, in _load_vcp_from_entry_point
    vcp.main(opts)
  File "/home/cnc/dev/probe_basic/probe_basic/__init__.py", line 20, in main
    qtpyvcp.run_vcp(opts, VCP_CONFIG_FILE)
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/__init__.py", line 27, in run_vcp
    run(*args, **kwargs)
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/__init__.py", line 129, in run
    launch_application(opts, config)
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 78, in launch_application
    loadWindows(config)
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 228, in loadWindows
    window = _initialize_object_from_dict(window_dict)
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/app/launcher.py", line 208, in _initialize_object_from_dict
    return obj(*args, **kwargs)
  File "/home/cnc/dev/probe_basic/probe_basic/probe_basic.py", line 24, in __init__
    super(ProbeBasic, self).__init__(*args, **kwargs)
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 43, in __init__
    self.loadUi(ui_file)
  File "/home/cnc/.local/lib/python3.9/site-packages/qtpyvcp/widgets/form_widgets/main_window.py", line 102, in loadUi
    uic.loadUi(ui_file, self)
  File "/usr/lib/python3/dist-packages/PyQt5/uic/__init__.py", line 238, 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'
}

 

what do i do... im laughing and crying all at once
Attachments:

Please Log in or Create an account to join the conversation.

Time to create page: 0.105 seconds
Powered by Kunena Forum