Search Results (Searched for: mysql)
- o462
- o462
About PLC and synchronization (+introduction)
Category: General LinuxCNC Questions
As it's my first message here, let me first introduce myself.
Feel free to skip this part

So... I'm a 40+ years old electronics engineer. I'm currently self-employed, and in long term partnership with a French CNC/3D-printer vendor. I'm using Linux since kernel 2.4.18 (~20+ years), and currently using Linux exclusively.
Most of the time, I develop custom solutions to specific problems, that includes board design, firmware development, computer software, web interfaces... I also worked on few CNC-based 3D printers. (few keywords for the curious: PIC, AVR, C, C++, python, MySQL, php)
I'm quite familiar with Beckhoff and Bosch-Rexroth, as these are the most common in my area (there's Siemens too, but Siemens being Siemens, I just can't...).
======
Read this as a quite general discussion about PLC synchronization, I'm currently working on a project to eject and replace any closed-source Windows-based software for CNCs (i.e. no more TwinCAT and IndraWorks, for runtime and development), and my feelings are telling me that I can easily replace existing PLC tasks (that are synchronized) with some python script (that won't be synchronized). Note, you may also think of C as a replacement for python, it's not the point here.
I'm planning to use python as a base to write PLC programs, but as I see it, it won't be synchronized with servo-thread.
Does anyone has any arguments on the critical conditions that any PLC program running has to be synchronized with servo-thread, or the opposite ?
As far as I'm concerned, I don't see anything that has any real impact of both the servo-thread and PLC task are not synchronized (read it as: I has no side-effect for the servo-task to get an action from the PLC on next cycle), but I may miss some cases.
Ofc, I don't talk about critical procedures like homing or emergency stop. I'm talking about procedures like, let's say T3 M6, this has no obligation to be synchronized, so having a python task that run independently is fine, as long as it has the correct checks and waits, and acknowledge the procedure after everything is done.
- Muecke
Age of the website and forum
Category: Forum Questions
The Kunena Forum can take over the complete user structure of Joomla with all rights etc., which is quite complex, at least that's how I understood it on the Kunena Forum website.
Of course, you can also create and operate the forum separately from the website (with additional rights management etc.).
The current OS
That's a silly question, sure. Is the server environment created by yourself?
Or is the server environment managed?
Notes:
1) If we have installed our own server that runs on Ubuntu, the server may need to be updated.
1.1) Ask the person who installed the server!
1.2) Do nothing without a backup!!!
-- when the server is cleared and done --
2) Check which PHP version is installed
2.1) Update if necessary
3) Check which database is installed (probably MySQL, which version)
3.1) Update if necessary
4) Check which domains are available and where they are forwarded to.
4.1) List of all domains with internal/external destination folder
4.2) Check all start folders of the domains ‘.htaccess’ whether redirects exist here www without www https forced etc. ...
5) Check the user administration of the forum to see if it is connected to Joomla.
5.1) If no, much easier, if yes, think again!
6) Create new folder for new forum
7) Install new forum incl. new database etc.
8) Possibly check with the forum manufacturer Kunena whether user data, posts and images from the old forum can be exported/imported to the new forum.
etc.
But the beginning is very important, because this is the basis for everything else and when I look at what @JT has provided us with as a layman, I get the impression that it is not a finished server (which a service provider takes care of), but that the server was set up itself, which then also has to be maintained!
I hope not!There are 3 active forums at the same time,
..
forum.linuxcnc.org
...
www.forum.linuxcnc.org
...
162.243.45.186
My site is accessible with and without www, but there is only one page.
All visitors who come to my site without WWW are redirected to the WWW page on the server side!
Google and Co. don't want duplicates either and usually remove such things from the INDEX! which would be a great pity!
I have the impression that I have not yet fully understood how the whole thing is structured and that we are talking past each other in the wrong places.
Ich schätze mal, das liegt oft auch am Problem der Begrifflichkeiten und auch sicher an meinem Englisch, was von DeepL kommt

- rodw
Age of the website and forum
Category: Forum Questions
And here is another problem, I've never found the database or any attachments in the Kunena interface. I have a few web sites and the database is only in the hosting interface.
The DB will be hosted in a MySQL database and there will be a configuration file on the root folder that also contains the credentials for the SQL user Joomla uses.
The DB is usually managed directly if necessary by logging into phMyAdmin.
It sounds like the images and attachnents are stored in the database. SQL has a data type called a BLOB, a Binary Large Object which is designed for this type of thing.
- rodw
After installing LinuxCNC on Debian 12 ARM64 system, the simulator cannot be sta
Category: Installing LinuxCNC
Try find file here
github.com/LinuxCNC/linuxcnc
- MakerYang
After installing LinuxCNC on Debian 12 ARM64 system, the simulator cannot be sta
Category: Installing LinuxCNC
update-alternatives: using /etc/mysql/my.cnf.fallback to provide /etc/mysql/my.cnf (my.cnf) in auto mode
- spumco
- spumco
Installing LinuxCNC 2.10 And Probe Basic on Linux MX 21
Category: QtPyVCP
Had to past in to geany and remove all the extra line breaks.
An easier method, at least for newbie non-Linux folks like myself, is to paste all the dependencies in one line (in geany), then past them as 'code' in the forum editor. Them someone can grab & paste the whole thing with no confusing errors:
sudo apt install -y 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 libespeak1 libfreexl1 libfyba0 libgdcm3.0 libgeos-c1v5 libgeotiff5 libgif7 libgtksourceview-3.0-dev libhdf4-0-alt libhdf5-103-1 libhdf5-hl-100 libimagequant0 libkmlbase1 libkmldom1 libkmlengine1 liblept5 libmariadb3 libminizip1 libodbc1 libogdi4.1 libportaudio2 libpq5 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-sqlalchemy python3-gst-1.0 texlive-lang-european build-essential:native
- rodw
Using M201 and Python to Lookup a CSV Table File and Using It's Values
Category: Pick and Place
So now you are the expert, you can do the next step which is to access my credit card processor via their API to avoid having to download the csv file! (I use Odoo ERP for our accounting and its written in Python!)
Python is generally a typeless language but sometimes it needs the type to be defined. Something like:
myint = float(myfloatValue)
Have a read of this. www.w3schools.com/python/python_casting.asp
Also, If the csv file needs to change during run time, you might be better off looking at a sql database (mysql is easy to integrate in python) By definition sql can be modified and queried dynamically.
- robertspark
- robertspark
Robertspark's CNC Setup
Category: Show Your Stuff
sudo apt install -y git geany grub-customizer git ethtool curl dpkg-dev linux-image-rt-amd64 linux-headers-rt-amd64 flameshot
sudo apt install -y debhelper dh-python libudev-dev autoconf bwidget gettext intltool libboost-python-dev libepoxy-dev libgl1-mesa-dev libglu1-mesa-dev libgtk2.0-dev libgtk-3-dev libmodbus-dev libusb-1.0-0-dev libxmu-dev netcat psmisc python3-dev python3-tk python3-xlib tcl8.6-dev tclx8.4 tk8.6-dev yapps2 asciidoc dblatex docbook-xsl dvipng 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 texlive-xetex libreadline-dev python3-opengl python3-configobj libgtksourceview-3.0-dev tcl-tclreadline mesa-utils python3-serial python3-pip
sudo apt install - y libeditreadline-dev
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
add to grub via grub customizer
quiet splash isolcpus=2,3 intel_idle.max_cstate=0 processor.max_cstate=0 acpi_irq_nobalance noirqbalance
latency-histogram --nobase --sbinsize 1000 --show
uname -a
Linux LinuxCNC 5.10.0-14-rt-amd64 #1 SMP PREEMPT_RT Debian 5.10.113-1 (2022-04-29) x86_64 GNU/Linux
git clone https://github.com/LinuxCNC/linuxcnc.git linuxcnc-dev
cd linuxcnc-dev/debian
./configure uspace
cd ..
dpkg-buildpackage -b -uc
install the uspace deb
sudo dpkg -i <package>.deb
>>>>
Confirmed latency at this point sub 50uS + SDEV ~1.8uS
Run Axis Sim + Gmoccapy Sim
loaded without issue and jog etc.
>>>>
QTPyVCP
sudo apt install -y dh-python libudev-dev bwidget libeditreadline-dev asciidoc dblatex docbook-xsl dvipng ghostscript graphviz groff imagemagick inkscape python3-lxml source-highlight w3c-linkchecker 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-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
git clone https://github.com/kcjengr/qtpyvcp
cd qtpyvcp
python3 -m pip install --editable .
cp scripts/.xsessionrc ~/
Log out and log back in again.
qtpyvcp -h
qtpyvcp -i
cd ~/qtpyvcp/pyqt5designer/Qt5.15.2-64bit/python3.9/
sudo ./install.sh
cp -r ~/qtpyvcp/linuxcnc ~/
>>>
QTPyVCP Sims loaded and tested
>>>
PROBE_BASIC
git clone https://github.com/kcjengr/probe_basic -b python3 probe_basic
cd probe_basic
qcompile .
python3 -m pip install --editable .
cd
cp -r ~/probe_basic/probe_basic/fonts/ ~/.local/share/
cp -r ~/probe_basic/config/probe_basic/ ~/linuxcnc/configs/
python3 -m pip install git+https://github.com/kcjengr/qtpyvcp.conversational-gcode.git
- ftree
- ftree
RPI4 - Debian / LinuxCNC / EtherCAT / XFCE
Category: Installing LinuxCNC
apt install -y chrpath cmake debhelper-compat default-jdk default-libmysqlclient-dev dh-sequence-python3 doxygen-latex \
ghostscript gnuplot-nox graphviz hdf5-tools dh-sequence-javahelper libalglib-dev javahelper libavcodec-dev \
libavformat-dev libavutil-dev libdigest-md5-perl libdouble-conversion-dev libeigen3-dev libexpat-dev \
libfontconfig1-dev libfreetype6-dev libftgl-dev libgdal-dev libgl1-mesa-dev libgl-dev libgl2ps-dev \
libglew-dev libglu1-mesa-dev libglu-dev libhdf5-openmpi-dev libhpdf-dev libjpeg-dev libjs-mathjax \
libjsoncpp-dev liblz4-dev libmrmpi-dev libnetcdf-cxx-legacy-dev libnetcdf-dev libogg-dev libosmesa6-dev \
libpng-dev libpq-dev libproj-dev libsqlite3-dev libswscale-dev libtbb-dev libtheora-dev \
libtiff-dev libutfcpp-dev libx11-dev libxdmf-dev libxml2-dev libxpm-dev libxt-dev lzma mpi-default-dev \
pkg-config python3-dev python3-matplotlib python3-mpi4py qtbase5-dev libqt5opengl5 \
r-base-core r-base-dev r-base xauth xvfb
git clone https://salsa.debian.org/science-team/vtk9.git
cd vtk9
dch -a "compiled by djsftree"
debuild -i -us -uc -b --set-envvar="VTK_WHEEL_BUILD=ON"
/usr/lib/python3 -m pip install wheel
/usr/lib/python3 setup.py bdist_wheel
/usr/lib/python3 -m pip install dist/vtk-*.whl
This at least maintains deb packaging

- rodw
Raspberry Pi 4 - USB not working under LinuxCNC
Category: Computers and Hardware
This was a very useful thread.If you want to stay safe, you can always build your own 64-bit version of LinuxCNC
The steps are as follows:
Thanks for that. I was able to install the 64 bit kernel and the real time patch and compile from source.
The normal method to list the dependencies on this page did not work so I borrowed a list from the qtpyvcp web site and used this modified list:
sudo apt install -y 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 libespeak1 libfreexl1 libfyba0 libgdcm3.0 libgeos-c1v5 libgeotiff5 libgif7 libgtksourceview-3.0-dev libhdf4-0-alt libhdf5-103-1 libhdf5-hl-100 libimagequant0 libkmlbase1 libkmldom1 libkmlengine1 liblept5 libmariadb3 libminizip1 libodbc1 libogdi4.1 libportaudio2 libpq5 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-sqlalchemy python3-gst-1.0
You should just be able to paste that block into the terminal
I think now I should try bookworm again but manually install the preempt_rt package using the method linked to above.
- robertspark
- robertspark
Robertspark's CNC Setup
Category: Show Your Stuff
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
type:
sudo usermod -a -G sudo username
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:
So that linux will automatically log in.#autologin-user=
#autologin-user-timeout=0
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
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
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>
[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>
./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
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
- Joco
MonoKrom - QtPyVCP GUI for PlasmaC and Mill
Category: QtPyVCP
Also starting to leverage the qtpyvcp framework to expose many of the params as hal pins so they can easily "wired" to the plasmac component. Obviously still WIP as the hole and slot detection areas are placeholders. Although the hole detection is represented in the persistance layer.
Cheers - J.
- Donb9261
Question For Kurt or anyone with SQL Experience and HAL
Category: QtPyVCP
The issue is that ERP's have a little magic for each but all as far I know are relatively the same up and to the magic.
It would be a front end pull of the data that the ERP presents based on the requirements for the app. Infor has a series of tables for each module that are designed to allow for remote interfacing of typical data sets allowing far as much or as little data sharing as you desire.
My primary goal is to allow for upper tier ERP connection but also allow mid - lower tier ERP integration. Each dependent on the SQL interface. Oracle, MySql, Postgres, etc..
For now, I just need to concentrate on getting the data standards designed for the front end. Then pull/interpret the data to the UI and internal db.
- Donb9261
Question For Kurt or anyone with SQL Experience and HAL
Category: QtPyVCP
I am currently working the kinks out of using SQlite3 in QtPyVCP. Works great for most things.
But, what I would like to have is a running db to collect specific hal pins such flood, mist, probe, cycle start, feed hold, etc. Many of which will be used to create OEE metrics for WebUI usage and ERP integration.
The issue for me is what is best practice in regard to where I access the pin status. I found you obj-status(Unable to make it work yet) file under utilities and wondered if this may be the best place to create the SQL for updating the db. Sqlite is just the test db and will be moved to MySQL and Oracle once a the syntax set is complete.
In the end I just need to have a polled status update across all pins and I will hash out the ones i need into a dict for extraction.
Hoping my question is not too challenging nor boring. Any humble offerings would be greatly appreciated.
Don San
- rodw
Another plasma component...
Category: Plasma & Laser
Rod,
SQL is working in Linuxcnc. For making a c component mysql.h is missing, it's not in the include directory, so this takes more time.
We can also use different version's of SQL. lite_version
Maybe the best way is to test a dynamic input set up.
Yes, I use SQLite in my example. When I get a bit more data in the system and am certain the database schema is correct, I've written I will raise another thread as its kind of off topic on this one. I've got to define the gasses better as some machines have both cutting gas and shielding gas. I don't really think the data needs to be accessed by a component in C. Its really a user interface thing so setting fields/pins in the GUI in user space should suffice. There was a proposal from Andy quite some time ago to use SQL for tool tables:
wiki.linuxcnc.org/cgi-bin/wiki.pl?ToolDatabase
and somehow, we have a SQL schema in the LinuxCNC repo already.
github.com/LinuxCNC/linuxcnc/blob/master...ql/schema-simple.sql