[QTDragon] blocking in hal_manualtoolchange dialog
- chernogorsky
- Offline
- Junior Member
-
Less
More
- Posts: 34
- Thank you received: 1
15 Aug 2024 20:35 #307840
by chernogorsky
[QTDragon] blocking in hal_manualtoolchange dialog was created by chernogorsky
Hi,
I cant understand what options do I have
Currently Im using hal_manualtoolchange for semi manual tool change
I have ATC, but at the moment I dont use slots / pockts, instead Im using go to toolchange XY, ZMax, and change the tool through button on pendant / QTDragon MDI_COMMAND
But when Im inside hal_manualtoolchange dialog, non of these options works. It blocks any activities
May someone more familiar with QT/LCNC desing point me to the right direction
My sugestion / questions would be
1. Create a custom dialog (if its possible to be an additional to the code / not replacement) with additional button.
2. Somehow ublock cnc pendant button exceution
3. something better I dont know about
I cant understand what options do I have
Currently Im using hal_manualtoolchange for semi manual tool change
I have ATC, but at the moment I dont use slots / pockts, instead Im using go to toolchange XY, ZMax, and change the tool through button on pendant / QTDragon MDI_COMMAND
But when Im inside hal_manualtoolchange dialog, non of these options works. It blocks any activities
May someone more familiar with QT/LCNC desing point me to the right direction
My sugestion / questions would be
1. Create a custom dialog (if its possible to be an additional to the code / not replacement) with additional button.
2. Somehow ublock cnc pendant button exceution
3. something better I dont know about
Please Log in or Create an account to join the conversation.
- cmorley
- Offline
- Moderator
-
Less
More
- Posts: 7844
- Thank you received: 2109
16 Aug 2024 05:05 - 16 Aug 2024 05:05 #307881
by cmorley
Replied by cmorley on topic [QTDragon] blocking in hal_manualtoolchange dialog
What version of linuxcnc?
If you are using the Qtvcp version of hal tool change, there should be a button 'pause for jog'
This was a work around for this type of problem.
It actually works by aborting the program at the tool change and restarts the program after.
You must re-establish machine settings such as spindle settings after the tool change.
If you are using the Qtvcp version of hal tool change, there should be a button 'pause for jog'
This was a work around for this type of problem.
It actually works by aborting the program at the tool change and restarts the program after.
You must re-establish machine settings such as spindle settings after the tool change.
Last edit: 16 Aug 2024 05:05 by cmorley.
Please Log in or Create an account to join the conversation.
- chernogorsky
- Offline
- Junior Member
-
Less
More
- Posts: 34
- Thank you received: 1
16 Aug 2024 14:57 #307925
by chernogorsky
Replied by chernogorsky on topic [QTDragon] blocking in hal_manualtoolchange dialog
Hi,
lcnc 2.10-dev (builded from master)
I saw that,
I want to avoid multiple steps,
What I need is run a command from the dialog (by button from a dialog, or by external signal like pendant)
my imaginary flow be like
programm triger TxM6
it goes to change location
shows toolchange dialog
I change the tool by pressing additional button on a dialog / phisical button on a pendant
press OK
and it continue its procedure with qc_autotool_change macro
Im looking for a solution to overcome blocking during dialog or
replace that dialog with my own, without the need of changing dialog_widget.py file (and keep the changes all the time I update the lcnc)
all the rest would be handled by the program itself, including spindle speed, locations, ...
in short I want to have another action during manual change, since I dont need to work with wrenches rather button click
priv I had air release button closeby, but after rewiring all the air contorls goes to the back side of my cnc (
I would consider adding phisical button for tool replace later, but it would be through lcnc logic, not directly, means - I need lcnc be not blocked (
lcnc 2.10-dev (builded from master)
I saw that,
I want to avoid multiple steps,
What I need is run a command from the dialog (by button from a dialog, or by external signal like pendant)
my imaginary flow be like
programm triger TxM6
it goes to change location
shows toolchange dialog
I change the tool by pressing additional button on a dialog / phisical button on a pendant
press OK
and it continue its procedure with qc_autotool_change macro
Im looking for a solution to overcome blocking during dialog or
replace that dialog with my own, without the need of changing dialog_widget.py file (and keep the changes all the time I update the lcnc)
all the rest would be handled by the program itself, including spindle speed, locations, ...
in short I want to have another action during manual change, since I dont need to work with wrenches rather button click
priv I had air release button closeby, but after rewiring all the air contorls goes to the back side of my cnc (
I would consider adding phisical button for tool replace later, but it would be through lcnc logic, not directly, means - I need lcnc be not blocked (
Please Log in or Create an account to join the conversation.
- cmorley
- Offline
- Moderator
-
Less
More
- Posts: 7844
- Thank you received: 2109
16 Aug 2024 16:56 #307944
by cmorley
Replied by cmorley on topic [QTDragon] blocking in hal_manualtoolchange dialog
One cannot run MDI commands while in auto mode. When the tool change dialog pops up, you are still in auto mode.
Jog while paused is also not really available, though you can use an external offsets hack to get around that.
These are limits of linuxcnc not QtDragon.
So if that is what you need to do, the abort/restart hack is the only method I know that could work. (To be clear a dialog will pop up for automatic restart, but I haven't tested this feature in a long time.)
If the MDI commands are movements and are the same each time maybe a remap could cover it. Tell use more about that part please.
Chris
Jog while paused is also not really available, though you can use an external offsets hack to get around that.
These are limits of linuxcnc not QtDragon.
So if that is what you need to do, the abort/restart hack is the only method I know that could work. (To be clear a dialog will pop up for automatic restart, but I haven't tested this feature in a long time.)
If the MDI commands are movements and are the same each time maybe a remap could cover it. Tell use more about that part please.
Chris
The following user(s) said Thank You: chernogorsky
Please Log in or Create an account to join the conversation.
- chernogorsky
- Offline
- Junior Member
-
Less
More
- Posts: 34
- Thank you received: 1
16 Aug 2024 18:12 - 16 Aug 2024 18:34 #307950
by chernogorsky
Replied by chernogorsky on topic [QTDragon] blocking in hal_manualtoolchange dialog
Basically I have configured
o<pnc_tc_manual> call
which I want to run several times (manually) during the dialog
Jogging routin - as far as I understood it :
I press pause for jogging
do jogging / (in my case tool change)
press ok/cancel for the spindle speed up (not needed)
but it broke the procedure, means it does not work properly with auto_toolsetup
so the question is - is there a way of modifying the standard dialog by adding another button properly (like add some file in handled folder)
or its just easier to create my own hal based on hal_manualtoolchange with additional button
Added
so what Im aiming now - find a way of modify class ToolDialog(LcncDialog, GeometryMixin): from dialog_widget.py inside custom qtdragon_hd_handler.py (or similar mechanism)
o<pnc_tc_manual> call
which I want to run several times (manually) during the dialog
Jogging routin - as far as I understood it :
I press pause for jogging
do jogging / (in my case tool change)
press ok/cancel for the spindle speed up (not needed)
but it broke the procedure, means it does not work properly with auto_toolsetup
so the question is - is there a way of modifying the standard dialog by adding another button properly (like add some file in handled folder)
or its just easier to create my own hal based on hal_manualtoolchange with additional button
Added
so what Im aiming now - find a way of modify class ToolDialog(LcncDialog, GeometryMixin): from dialog_widget.py inside custom qtdragon_hd_handler.py (or similar mechanism)
Last edit: 16 Aug 2024 18:34 by chernogorsky.
Please Log in or Create an account to join the conversation.
- cmorley
- Offline
- Moderator
-
Less
More
- Posts: 7844
- Thank you received: 2109
16 Aug 2024 21:08 #307963
by cmorley
Replied by cmorley on topic [QTDragon] blocking in hal_manualtoolchange dialog
It is possible to have a custom dialog. I haven't done one for tool dialog but see no particular problem. It would, as you suspected, require a custom handler file.
But I don't think it ill help you. The dialog blocks because linuxcnc is blocked. Unblocking the dialog will not unblock linuxcnc.
You can not call MDI commands at tool change unless it's incorporated into a remap.
But I don't think it ill help you. The dialog blocks because linuxcnc is blocked. Unblocking the dialog will not unblock linuxcnc.
You can not call MDI commands at tool change unless it's incorporated into a remap.
Please Log in or Create an account to join the conversation.
- chernogorsky
- Offline
- Junior Member
-
Less
More
- Posts: 34
- Thank you received: 1
17 Aug 2024 14:22 #308006
by chernogorsky
Replied by chernogorsky on topic [QTDragon] blocking in hal_manualtoolchange dialog
Do you have any example of handler to replace dilog ?
I may be end up with rewrite pistprocessor adding pause / msg before tool change
Im ok with remap/sub call /etc
I may be end up with rewrite pistprocessor adding pause / msg before tool change
Im ok with remap/sub call /etc
Please Log in or Create an account to join the conversation.
- cmorley
- Offline
- Moderator
-
Less
More
- Posts: 7844
- Thank you received: 2109
17 Aug 2024 18:17 #308017
by cmorley
Replied by cmorley on topic [QTDragon] blocking in hal_manualtoolchange dialog
This is an example - it only changes the dialog title.
in your config folder there should be a folder named qtvcp/screens/qtdragon
in that folder add this file, rename it qtdragon_handler.py
Erasing/renaming the file will return you to the standard dialog.
in your config folder there should be a folder named qtvcp/screens/qtdragon
in that folder add this file, rename it qtdragon_handler.py
Erasing/renaming the file will return you to the standard dialog.
The following user(s) said Thank You: chernogorsky
Please Log in or Create an account to join the conversation.
- chernogorsky
- Offline
- Junior Member
-
Less
More
- Posts: 34
- Thank you received: 1
19 Aug 2024 12:52 #308135
by chernogorsky
Replied by chernogorsky on topic [QTDragon] blocking in hal_manualtoolchange dialog
Thank you, thats what I was looking
will start from here and update if succeded/failed )
will start from here and update if succeded/failed )
Please Log in or Create an account to join the conversation.
- chernogorsky
- Offline
- Junior Member
-
Less
More
- Posts: 34
- Thank you received: 1
19 Aug 2024 16:51 #308148
by chernogorsky
Replied by chernogorsky on topic [QTDragon] blocking in hal_manualtoolchange dialog
Ok, I made some tests
I managed to replace the button, but
I can do nothing from the dialog itself
it looks like during the dialog im in "auto" mode
and non of my attempts
cmdList.append(('command',"G1 G53 X300"))
#ACTION.PAUSE_MACHINE()
ACTION.CALL_MDI_LIST(cmdList)
#ACTION.CALL_MDI_WAIT('o<pnc_tc_manual> call',time=10, mode_return=True)
#ACTION.CALL_OWORD('o<pnc_tc_manual> call')
#ACTION.RESUME()
#ACTION.cmd.mdi_and_return(None,cmdList)
works
[QTvcp.QTVCP.QT_ACTION][DEBUG] MDI_WAIT_Command= G0 G53 X300, maxt = 10 (qt_action.py:204)
[QTvcp.QTVCP.QT_ACTION][DEBUG] CALL_MDI_WAIT Command: G0 G53 X300 (qt_action.py:207)
[QTvcp.QTVCP.QT_ACTION][ERROR] CALL_MDI_WAIT timeout surpassed 10 seconds (qt_action.py:211)
mdi_execute_abort: dropping 1 queued MDI commands
I probably miss the point you try to explain earlier
The only option I have not tried yet is
change the dialog, so tool_change button press return some value
work with that value in the loop in qt_toolchangeauto macro, since it's in normal auto mode - it may execute gcode / commands
it would reload dialog every button press (on pi4 its a pain), but at least it might work
I managed to replace the button, but
I can do nothing from the dialog itself
it looks like during the dialog im in "auto" mode
and non of my attempts
cmdList.append(('command',"G1 G53 X300"))
#ACTION.PAUSE_MACHINE()
ACTION.CALL_MDI_LIST(cmdList)
#ACTION.CALL_MDI_WAIT('o<pnc_tc_manual> call',time=10, mode_return=True)
#ACTION.CALL_OWORD('o<pnc_tc_manual> call')
#ACTION.RESUME()
#ACTION.cmd.mdi_and_return(None,cmdList)
works
[QTvcp.QTVCP.QT_ACTION][DEBUG] MDI_WAIT_Command= G0 G53 X300, maxt = 10 (qt_action.py:204)
[QTvcp.QTVCP.QT_ACTION][DEBUG] CALL_MDI_WAIT Command: G0 G53 X300 (qt_action.py:207)
[QTvcp.QTVCP.QT_ACTION][ERROR] CALL_MDI_WAIT timeout surpassed 10 seconds (qt_action.py:211)
mdi_execute_abort: dropping 1 queued MDI commands
I probably miss the point you try to explain earlier
The only option I have not tried yet is
change the dialog, so tool_change button press return some value
work with that value in the loop in qt_toolchangeauto macro, since it's in normal auto mode - it may execute gcode / commands
it would reload dialog every button press (on pi4 its a pain), but at least it might work
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.131 seconds