Custom Simple Gscreen Skin - Need help linking values

More
29 Apr 2019 21:35 - 29 Apr 2019 21:53 #132316 by adamj12b
I am aware of QT but wanted to keep things simple and just move some stuff around. I have done the glade panels in axis and some other other stuff, but wanted to just put something together to do what I needed.

cmorley wrote: As persel8 said, the built in skins usually call functions that are builtin to gscreen's main body of code. for instance the call update_feed_speed_label(self) calls code in gscreen.py :

    def update_feed_speed_label(self):
        data = self.data.velocity
        if self.data.IPR_mode:
            try:
                data = data/abs(self.halcomp["spindle-readout-in"])
            except:
                data = 0
        if self.data.dro_units == self.data._MM:
            text = "%.2f"% (data)
        else:
            text = "%.3f"% (data)
        self.widgets.active_feed_speed_label.set_label("F%s    S%s   V%s"% (self.data.active_feed_command,
                            self.data.active_spindle_command,text))
you could copy this code into your handler file, and modify it to suit.
I guess I should add more docs for Gscreen....

Chris M


Chris,

Thank You. This appears to be what I was looking for. I will work on this tonight of re-creating this function in the handler file and see where I get.

Grotius wrote: Adam,

Very, very nice machine interface !! Quality !! Was this Haas out of factory or self made together?
I see on the picture that your machine is in progress. ;)


Thank You very much. This is something Ive put alot of thought into over the past year and hope some day may be a viable product to fill the void in the market of physical interfaces for machines. I have designed all the entire console from the printing on the custom keys to the circuit boards and mechanical layout of the system.

My machine is always in progress, but is also use for profit. It functions very well but im always improving it. :)

RotarySMP wrote: Really nice inteface module you have built there. Where is the keyboard from?
Mark


The keyboard is my own design, based on alot of research of real machine control interfaces during trade shows and open houses.

Haas has inspired me alot, as well as Matsurra and Mazak, and I wanted the whole thing to be classy like Celos.

I will report back how I make out with the custom code.

-Adam
Last edit: 29 Apr 2019 21:53 by adamj12b.

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

More
30 Apr 2019 07:08 #132332 by RotarySMP
I'd love to see some detail photos from the build of the keyboard module.
Mark

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

More
01 May 2019 11:00 - 01 May 2019 11:01 #132422 by BigJohnT

tommylight wrote: Has any one noticed the amount of new videos about QT popping out on youtube ?
Grotius is right, how long till it goes proprietary and we end up with..............<<add comment here !
Personally, i like what can be done with it, i do not like how it does it. It is reminding me of the time the "visual basic" came out, everyone was singing praises about it, i took a loot at how it works and never used it, still hate it. The others hated with a bit of delay ! :)


I don't watch videos much due to limited bandwidth on satellite...

I feel that way about F360 due to the "Cloud" part of that software. Once you have PyQt on your PC I don't think "they" can do much about changing the status of your PC. But yea "they" could pull the plug on new development at some point but that does not make much sense.

JT
Last edit: 01 May 2019 11:01 by BigJohnT.
The following user(s) said Thank You: tommylight

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

More
03 May 2019 13:52 - 03 May 2019 20:08 #132632 by adamj12b
Well I made great progress with the the advice given.

I need to do some more refining and a bunch of cleanup to the handler file but its almost done.

I was able to link up the values I needed to get spindle rpm, feedrate and current velocity, and current tool diameter from the tool table to calculate surface speed and chipload per rev. However, I think how im getting the data from the tooledit widget is causing an issue and not letting me edit tools in the table.

Also, im trying to understand what emcstat is. I cant seem to find much documentation of this but It seems this is part of linuxcnc and not gscreen...

Im still having trouble getting some labels to justify how I want, Like the Status section showing the overrides percentage. Im trying to get the labels right justified while the value label is left justified so all the :'s align but no luck yet. I think im getting a handle on the expand and fill packing options now which is a bit confusion.

Currently the override sliders are temporary filling the extra space.



Mark,

If you check out my Instagram, it has a number of pictures as ive been working through this console design.

The system uses 4 custom PCB's to connect the console keys to a motherboard which also has a connector for the 7i73 Mesa Pendant board.

https://www.instagram.com/mhmmachineworks/

-Adam
Attachments:
Last edit: 03 May 2019 20:08 by adamj12b.

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

More
03 May 2019 16:00 #132644 by cmorley

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

More
09 May 2019 21:11 - 09 May 2019 21:44 #133296 by Grotius
Okey,

I am finally over to QT. I had so many problem's with Glade in C. Even connecting a simple scrollbar in c tooked me over day's to find out. In QT i got it in 5 minutes. But in combination with C++. Okey no problem i learn also C++.

Thank You very much. This is something Ive put alot of thought into over the past year and hope some day may be a viable product to fill the void in the market of physical interfaces for machines. I have designed all the entire console from the printing on the custom keys to the circuit boards and mechanical layout of the system.


You are very clever i mentioned before. I hope your efforts and scratch project input time will bring you luck in your further proces of development. I am really impressed by your machine interface at the first picture. It looks so professional !! So you did a very good job so far.

EMC stat is emc status channel. You have about 3 channels.
The mdi channel is manual data input channel. Is has a state (back call if that state is active).
All the back call things you can ask the linuxcnc status channel. (it's used in plc controllers to check the environment).

So when you not check your status channel or environment, you have no feedback to your program
to exactly get feedback to control the entire process, including monitoring bugs. ( i think airbus can use this technique in future to avoid crashing airplanes ).

If you have a 100000 ton sea platform wich is leveled hydraulic, like the oil platform's on sea "deepwater horizon" is a nice example. You must have entire control and feedback (status channel). What would happen if the platorm goe's 45 degrees caused by a bug ? You have problably have seen the move "deepwater horizon". A disaster is depending of a tiny weak spot.


@Cmorley,

I think the doc's of Gscreen are quite good. The advantage is, if users have question's about Gscreen, you are the person that solves their issue or questions in case. Just that you did for me for connect the jog button's in python code. Thanks Mr. Morley !!
Last edit: 09 May 2019 21:44 by Grotius.

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

More
12 May 2019 14:31 #133558 by cmorley

persei8 wrote: "I guess I should add more docs for Gscreen...."

Yes please. For example, how do I use the user message system? All I want to do is get a yes/no dialog before running a gcode program. I figured out the restart dialog but the yes/no has me stumped. I don't want to replicate all the gscreen code in my handler, but use what is already there. Gscreen creates the HAL pins for a message in the INI file, but how do I instantiate that message from the handler? Is there a way to get it without creating HAL pins?


Sorry i was away working and am just getting back to this..did you figure out the messaging system.
Can you give me an example of what the message is for?

Chris M

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

More
12 May 2019 16:12 #133570 by cmorley

cmorley wrote:

persei8 wrote: "I guess I should add more docs for Gscreen...."

Yes please. For example, how do I use the user message system? All I want to do is get a yes/no dialog before running a gcode program. I figured out the restart dialog but the yes/no has me stumped. I don't want to replicate all the gscreen code in my handler, but use what is already there. Gscreen creates the HAL pins for a message in the INI file, but how do I instantiate that message from the handler? Is there a way to get it without creating HAL pins?


Sorry i was away working and am just getting back to this..did you figure out the messaging system.
Can you give me an example of what the message is for?

Chris M


Are you using 2.7 or master version?
either way you will need to manipulate HAL pins to launch the messages.
Master uses an easier code.

Chris M

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

More
13 May 2019 00:09 #133606 by persei8
Thanks for getting back on this. I have it all sorted out and working. I make direct calls to the gscreen functions where possible and use my own callback return methods. Once I figured out how gscreen works, it became much easier to customize stuff. I must say that is quite an ingenious bit of code you wrote. I now have a fully functional and fully customized gui for my diy router built from gscreen.

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

More
13 May 2019 11:14 #133634 by cmorley
i'm glad you figured it out! thank you for the compliments.
It's funny I thought Gscreen was a failure to a large degree as few people seemed to have used it. But it seems that it was just linuxcnc's release cycle is so slow that it was not out in the wild long enought and is now starting to be used more regularly.

I think/hope that qtvcp is easier/cleaner to use and most importantly reasonably easy to learn it you used gscreen.

Is your screen something that you would consider giving to linuxcnc for inclusion?

Chris M

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

Time to create page: 0.214 seconds
Powered by Kunena Forum