Gui for use with external buttons
19 Nov 2023 23:49 #285977
by 4ndr344
Gui for use with external buttons was created by 4ndr344
I have retrofitted a Mori Seiki mv-jr recently which is running great although I want to reuse the original operator panel with all its buttons and switches instead of just a touchscreen. I think a touchscreen Is great, and I do have a touchscreen, but I would prefer to use physical buttons where possible and since I allready have all the original ones I want to use them. At this point I have everything working how it should, but I would like to have a GUI that doesn't have all the I screen buttons. I really like gmocappy, Probe basic and qt dragon. My question is is anybody familiar with a GUI that's made for use with external buttons, I feel like this is something that should exist considering how many old machines that are retrofit and I want to say that physical buttons are better than just a touchscreen.so what options are available? Or do I have to start making my own?and what is the difference between glade and qtvcp, is glade being replaced by qtvcp?I've added some images of how the panel ended up, though I don't have any of it mounted on the machineany help is greatly appreciated,
Please Log in or Create an account to join the conversation.
20 Nov 2023 04:52 #285987
by Unlogic
Replied by Unlogic on topic Gui for use with external buttons
That panel looks great I can really understand that you want to reuse it.
I'm new around here and in a similar position myself. From what I've seen so far physical buttons seem to require a bit of fiddling no matter which GUI that is used.
Especially if you for example want to have the job speed and step sizes etc in the GUI to be synzronized with the values set for the physical buttons.
Some GUI's seem better at exposing pins for these functions than others from what I've seen so far.
Probe Basic seems very customizable so that's what I'm focusing on for now for my build.
I'm new around here and in a similar position myself. From what I've seen so far physical buttons seem to require a bit of fiddling no matter which GUI that is used.
Especially if you for example want to have the job speed and step sizes etc in the GUI to be synzronized with the values set for the physical buttons.
Some GUI's seem better at exposing pins for these functions than others from what I've seen so far.
Probe Basic seems very customizable so that's what I'm focusing on for now for my build.
Please Log in or Create an account to join the conversation.
20 Nov 2023 11:03 #286016
by andypugh
Replied by andypugh on topic Gui for use with external buttons
g_screen is a GUI specifically designed to be customisable, I would start there,
linuxcnc.org/docs/stable/html/gui/gscreen.html
You can map almost any GUI action to a physical pin with the HALUI component. (Then just leave those functions off of your custom screen, or have indicators only).
linuxcnc.org/docs/stable/html/man/man1/halui.1.html
linuxcnc.org/docs/stable/html/gui/gscreen.html
You can map almost any GUI action to a physical pin with the HALUI component. (Then just leave those functions off of your custom screen, or have indicators only).
linuxcnc.org/docs/stable/html/man/man1/halui.1.html
The following user(s) said Thank You: Unlogic
Please Log in or Create an account to join the conversation.
20 Nov 2023 15:26 #286052
by spumco
Replied by spumco on topic Gui for use with external buttons
My two cents...
There are no GUI's included in LCNC which are 'designed' for external controls. The closest one is likely gscreen "Industrial". Another user-created one is (was) named "Hazzy", but that GUI wasn't included in LCNC and hasn't been updated for years. Hazzy won't work with LCNC 2.9 as it's based on python2 (don't ask me to explain this, I cant), but you can find it on github and some screenshots are in the LCNC forum.
I, too, am in a similar situation. I want a GUI with touchscreen capable data inputs, but no way to move the machine with the touchscreen - like 'real' industrial CNC interfaces. My first attempt was to simply edit the crap out of Probe Basic (deleting all the on-screen buttons/sliders), but I've come to realize that this was not a great solution. If I want to update something my changes will get overwritten or I'll have to spend a ton of time merging.
Another issue to consider is that Probe Basic - and qtpyvcp - are not 'part' of LCNC. For some reason those projects have been excluded from the mainstream LCNC umbrella and any assistance you need with them will be generally limited to the qtpyvcp and PB developers (and some clever users). Unless those two projects are brought in the LCNC fold, those of us who use them are sort-of out on a limb.
A GUI is, I'm finding out, a non-trivial undertaking. But, as Andy points out, most typical control functions can be accomplished using halui.
To give a little context - and I'm still a total novice - there are multiple ways to get LCNC talking to/from a GUI and physical controls. But a (very) simplified version is that you can connect external controls to the GUI (via GUI-created hal pins), and the GUI tells LCNC what to do, or you can connect to LCNC through halui and LCNC tells the GUI what happened. i.e:
Mist-on physical button -> gui.external-input.hal-pin -> GUI mist-on function -> LCNC responds to GUI
OR
Mist-on physical button -> halui.mist-on -> LCNC turns mist on -> GUI monitoring LCNC mist status -> GUI Mist-on screen LED
So my suggestion is to find a 'stock' GUI and get your machine sorted out & working with it. Use halui to connect physical controls either directly to LCNC, or - depending on the GUI - to the GUI's external hal pins. And, in parallel, have a look at Industrial and Hazzy and see if those GUI's might be a good starting point for building your own GUI. It's fairly easy to set up a virtual machine on a PC separate from your real machine and start building a GUI you can kinda test out.
There are no GUI's included in LCNC which are 'designed' for external controls. The closest one is likely gscreen "Industrial". Another user-created one is (was) named "Hazzy", but that GUI wasn't included in LCNC and hasn't been updated for years. Hazzy won't work with LCNC 2.9 as it's based on python2 (don't ask me to explain this, I cant), but you can find it on github and some screenshots are in the LCNC forum.
I, too, am in a similar situation. I want a GUI with touchscreen capable data inputs, but no way to move the machine with the touchscreen - like 'real' industrial CNC interfaces. My first attempt was to simply edit the crap out of Probe Basic (deleting all the on-screen buttons/sliders), but I've come to realize that this was not a great solution. If I want to update something my changes will get overwritten or I'll have to spend a ton of time merging.
Another issue to consider is that Probe Basic - and qtpyvcp - are not 'part' of LCNC. For some reason those projects have been excluded from the mainstream LCNC umbrella and any assistance you need with them will be generally limited to the qtpyvcp and PB developers (and some clever users). Unless those two projects are brought in the LCNC fold, those of us who use them are sort-of out on a limb.
A GUI is, I'm finding out, a non-trivial undertaking. But, as Andy points out, most typical control functions can be accomplished using halui.
To give a little context - and I'm still a total novice - there are multiple ways to get LCNC talking to/from a GUI and physical controls. But a (very) simplified version is that you can connect external controls to the GUI (via GUI-created hal pins), and the GUI tells LCNC what to do, or you can connect to LCNC through halui and LCNC tells the GUI what happened. i.e:
Mist-on physical button -> gui.external-input.hal-pin -> GUI mist-on function -> LCNC responds to GUI
OR
Mist-on physical button -> halui.mist-on -> LCNC turns mist on -> GUI monitoring LCNC mist status -> GUI Mist-on screen LED
So my suggestion is to find a 'stock' GUI and get your machine sorted out & working with it. Use halui to connect physical controls either directly to LCNC, or - depending on the GUI - to the GUI's external hal pins. And, in parallel, have a look at Industrial and Hazzy and see if those GUI's might be a good starting point for building your own GUI. It's fairly easy to set up a virtual machine on a PC separate from your real machine and start building a GUI you can kinda test out.
The following user(s) said Thank You: Unlogic
Please Log in or Create an account to join the conversation.
20 Nov 2023 15:30 #286053
by spumco
Replied by spumco on topic Gui for use with external buttons
And another thing...
The LCNC world is full of jargon, terminology, and users of wildly different experience and backgrounds. It's a challenge to understand something without knowing a bunch of other stuff to give you some context.
If anything I wrote doesn't make sense, let me know and I'll try to explain - or at least point you in the right direction.
The LCNC world is full of jargon, terminology, and users of wildly different experience and backgrounds. It's a challenge to understand something without knowing a bunch of other stuff to give you some context.
If anything I wrote doesn't make sense, let me know and I'll try to explain - or at least point you in the right direction.
Please Log in or Create an account to join the conversation.
20 Nov 2023 16:18 #286058
by Unlogic
Replied by Unlogic on topic Gui for use with external buttons
Thanks for your input spumco!
Please Log in or Create an account to join the conversation.
20 Nov 2023 16:54 #286063
by spumco
Replied by spumco on topic Gui for use with external buttons
I'm procrastinating building an encoder cable and you all got my brain fizzing.
It appears that Glade and gscreen are broken in 2.9... at least trying to open any of the gscreen sims fails on my installation.
I had another look at the qtvcp version of "Industrial lathe wear" - and it's not a great candidate for external-controls GUI seed-corn. Its obviously a touch-screen oriented GUI.
However... qtvcp "Blender" appears to be a decent starting point. Plus it's easy to copy the .ui files for modification, and there are a bunch of pre-made LCNC screen/GUI widgets in the designer software.
And qtvcp is part of LCNC, so there's official support, unlike qtpyvcp.
Problem with qtvcp is there's a hiccup with installing the design application (QT5). While there's a script in the qtvcp forum for installing the designer, it doesn't work because some folders have changed names over the years (I think). The last page of the install script thread has a workaround:
forum.linuxcnc.org/qtvcp/38414-installin...vcp?start=110#280773
And it sorted things out for me a minute ago.
After getting Qt5 designer working (i.e. LCNC widgets visible), the first step is to copy the config ui files using "qtvcp copy" in a terminal, then follow the instructions to make a copy with a different name.
The next problem, at least for me, is that Qt5 doesn't let you zoom in/out of a GUI you're editing. You either have to have dual screens or keep panning around because the side tool bars obscure about 40% of the screen. It's fine if your building a 800x600 GUI, but editing a 1900x1080 GUI on a 1900x1080 monitor is horrible.
After that, we figure out how to steal the amazing DRO display from Gmoccapy and stuff it in our Blenderoid GUI...
TLDR:
1. Install Qt5
2. Steal Gmoccapy DRO
3. Delete all on-screen machine control buttons
4. $$$
It appears that Glade and gscreen are broken in 2.9... at least trying to open any of the gscreen sims fails on my installation.
I had another look at the qtvcp version of "Industrial lathe wear" - and it's not a great candidate for external-controls GUI seed-corn. Its obviously a touch-screen oriented GUI.
However... qtvcp "Blender" appears to be a decent starting point. Plus it's easy to copy the .ui files for modification, and there are a bunch of pre-made LCNC screen/GUI widgets in the designer software.
And qtvcp is part of LCNC, so there's official support, unlike qtpyvcp.
Problem with qtvcp is there's a hiccup with installing the design application (QT5). While there's a script in the qtvcp forum for installing the designer, it doesn't work because some folders have changed names over the years (I think). The last page of the install script thread has a workaround:
forum.linuxcnc.org/qtvcp/38414-installin...vcp?start=110#280773
And it sorted things out for me a minute ago.
After getting Qt5 designer working (i.e. LCNC widgets visible), the first step is to copy the config ui files using "qtvcp copy" in a terminal, then follow the instructions to make a copy with a different name.
The next problem, at least for me, is that Qt5 doesn't let you zoom in/out of a GUI you're editing. You either have to have dual screens or keep panning around because the side tool bars obscure about 40% of the screen. It's fine if your building a 800x600 GUI, but editing a 1900x1080 GUI on a 1900x1080 monitor is horrible.
After that, we figure out how to steal the amazing DRO display from Gmoccapy and stuff it in our Blenderoid GUI...
TLDR:
1. Install Qt5
2. Steal Gmoccapy DRO
3. Delete all on-screen machine control buttons
4. $$$
Please Log in or Create an account to join the conversation.
20 Nov 2023 17:21 #286064
by 4ndr344
Replied by 4ndr344 on topic Gui for use with external buttons
You can change almost anything with different halui pins from jogging, manual spindle control, feed overrides etc. Use halui's pins then you aren't dependant on any one gui
Can help you if you need
Can help you if you need
Please Log in or Create an account to join the conversation.
20 Nov 2023 17:28 #286065
by 4ndr344
Replied by 4ndr344 on topic Gui for use with external buttons
It appears I'm not the only one looking for something like this, and a solution doesn't really exist, if people want I can try to create a clean industrial gui meant for external controls and share it for others to use!
But I want to know if people are interested, and what people would like in a gui like this!
But I want to know if people are interested, and what people would like in a gui like this!
Please Log in or Create an account to join the conversation.
20 Nov 2023 17:33 #286067
by Unlogic
Replied by Unlogic on topic Gui for use with external buttons
I think we can divide the needs here into two categories. Simple peasants like me who only have some physical buttons and could use for example probe basic or some other GUI with minor changes and those with full industrial control panels who need almost no touch controls at all.
Please Log in or Create an account to join the conversation.
Time to create page: 0.091 seconds