Gui for use with external buttons

More
19 Nov 2023 23:49 #285977 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, 
Attachments:

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

More
20 Nov 2023 04:52 #285987 by Unlogic
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.

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

More
20 Nov 2023 11:03 #286016 by andypugh
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
The following user(s) said Thank You: Unlogic

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

More
20 Nov 2023 15:26 #286052 by spumco
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.

 
The following user(s) said Thank You: Unlogic

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

More
20 Nov 2023 15:30 #286053 by spumco
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.

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

More
20 Nov 2023 16:18 #286058 by Unlogic
Thanks for your input spumco!

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

More
20 Nov 2023 16:54 #286063 by spumco
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. $$$

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

More
20 Nov 2023 17:21 #286064 by 4ndr344
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

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

More
20 Nov 2023 17:28 #286065 by 4ndr344
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!

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

More
20 Nov 2023 17:33 #286067 by Unlogic
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.225 seconds
Powered by Kunena Forum