Conversation
|
Maybe @hansu could review this. |
|
This patch does the MDI Running Check in the button press functions, IMHO the check should be done in Hal Status change function instead. On the other Hand I do not like that the code is introduced on several places, so we have the same code on several places instead of having it in its own function. Norbert |
This patch has three parts:
I also thought about enclosing part of the code in a function. But does it make sense to make a function for 3 lines? The problem is that the MESSAGE is different every time. I don't know how to do it so that it doesn't make it even worse for clarity. Or do you want to move the code in the init part into the function? |
|
Is there anything I can do to get this Pull Request merged? Or is it just that no one has gotten to it and I should wait? |
I saw that @hansu had self-assigned it, so I have not been paying much attention to it. |
|
Hello Andy, Thanks for your response. I don't want to put any pressure on Hans. I didn't want a situation where I would be waiting for Hans and Hans would be waiting for me. Zdeněk |
|
This PR solves the problem with switching modes using a HAL signal. I now know that HAL signals in GUIs are not a very clean solution. On the other hand, I still think that this PR should be merged as a temporary solution to the problem, which will make life more pleasant for users for at least a year, until the switching pages issue is properly resolved. |
|
I have it on my list =) |
|
I wonder why it is a problem when the screen switches to MDI mode while a MDI command is being executed. |
|
Short commands are very often used. For example: So you only see a screen flash. I admit that I have never needed long HALUI mdi command. |
I think Yes. 90%
The message "External MDI command is currently executed" is not suitable for the operator. The CNC machine operator (not integrator) does not know what an "External MDI command" is. Mayby "Machine is currently working." I would make a 1s delay so that this message does not appear for short commands. Pop-up dialog should be annoying, but with automatically dissapearing it is not a big problem for me. Before you start working on this PR, please read this #3580 . |
… button during command execution
|
@zz912 I think for your change it is needed to modify only one position. I modified that change and removed the changes at the other positions. Further I display an abort button on every page when a halui MDI command is being executed. I think that is a nice and decent indicator that a MDI command is running. If it flashes on short MDI commands that doesn't matter I think. The button doesn't have a function yet. I want to hear your opinion first before finalizing this. |
|
Hi Hans, I have kept this PR open only and solely to make sure that this problem is not forgotten. However, I don't think the solution proposed here necessarily has to be the solution we use in the future. In PR #3580, we already discussed that we don't want to have multiple different ways to create/run macros. I wrote, “I would like to have only one way to create macros.” and you replied, “Agree.” Chris then proposed the GUI/ZMQ approach, and we left this particular question for later. Now that #3580 is completed, I think we should first build on this new mechanism and then decide how Gmoccapy should react to an MDI command being started. Therefore, I would not like to close #3441 with a specific implementation at this point. The problem addressed by this PR is real, but I think its future solution could be completely different from the changes currently proposed here. For me, it makes sense to first agree on how starting an MDI command from GUI/HALUI should generally work, and then adapt Gmoccapy accordingly. One more thing from my side: as a tester, I don't understand the ZMQ technology well enough to judge all the implications of the current design. In the past, I therefore sometimes joined the discussions around Chris's work in a way that, in my opinion, brought more confusion than benefit. So at the moment I am following Chris's work with great respect and admiration, but mostly from the background. I don't feel able to judge whether this is already the right time to reopen the topic of unifying the MDI commands, or how this should technically be done. At the same time, I have the feeling that Chris is currently working on this area largely on his own. I therefore don't want to come up with additional requirements or suggestions that could make his work even more complicated. So from my side, I don't think we need to open this topic right now. I just wanted to explain why I would prefer to keep #3441 open, and why I don't want to make any definitive changes to Gmoccapy yet. |
#3580 isn't completed - it has been reverted.
Then it's probably better to close this and create an issue instead to not waste more time on implementing things you don't want anymore. |
|
Hi Hans, I created issue #4587 to capture the more general problem and my wish to have a unified way of handling MDI commands. I agree that, given the current situation, it makes sense to close this PR rather than continue implementing a Gmoccapy-specific solution here. There is one thing I don't agree with in your proposed solution, though:
I don't think the flashing is harmless. My concern is not only the visual effect itself. I think that by moving the indication from switching pages to flashing the Abort/message area, we may simply be moving the same timing/race-condition problem to another part of the GUI. However, I don't think we should solve this in #3441 anymore. The whole mechanism for handling MDI commands may change in the future, and I would rather not spend more time refining a solution based on the current mechanism. I have therefore created #4587 as a general issue for all GUIs. For now, I think it is better to wait and see how the HALUI/GUI communication develops, including Chris's work with ZMQ, and then decide on the appropriate solution. So I'm happy to close #3441. |

When the "halui MDI command" is run, the modes are switched in the background:
This Pull Request ensures that the mode screens in the Gmoccapy GUI are not switched.