Skip to content

Commit dc371d1

Browse files
committed
qtvcp -add panel spindle_belts panel
1 parent 76f7550 commit dc371d1

4 files changed

Lines changed: 938 additions & 0 deletions

File tree

57.3 KB
Loading

docs/src/gui/qtvcp-vcp-panels.adoc

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,67 @@ qtvcp copy
3636
.QtVCP `copy` Dialog - Screen, VCP Panel or QtVismach Code Copy Panel
3737
image::images/qtvcp_copy_dialog.png["QtVCP copy Dialog - Screen, Panel or Vismach Code Copy Panel",align="center"]
3838

39+
[[sub:qtvcp:panels:spindle-belts]]
40+
=== spindle_belts
41+
42+
This panel is designed to display additional RS485 VFD data and also to configure a 4 sheave, 2 belt spindle drive via a series of buttons.
43+
44+
image::images/qtvcp_spindle_belts.png["QtVCP spindle_belts Panel - Spindle Belts VCP",align="center"]
45+
46+
In addition, it is also a useful template to use for your custom panel because it includes:
47+
48+
* Display of additional hal data
49+
* Buttons and button groups
50+
* Dynamic changes to button enabled/disabled state based on the state of other buttons
51+
* Saving data to the qtdragon.prefs file
52+
* Custom button to reset the VFD
53+
54+
Modify this panel to suit your own requirements. Most common features are used.
55+
The advantage of using panels is that it separates your custom display code from the qtdragon core code so upgrading the system will not break your customization.
56+
57+
==== Additional Requirements
58+
59+
* A spindle drive (for instance VFDMOD)
60+
* A custom component that scales the VFD frequency to obtain the desired spindle speed.
61+
* A belt driven spindle that uses two belts and an intermediate idler pulley much like a drill press.
62+
* Connect the input pins qtdragon.belts.<pin-name> in your postgui hal file.
63+
64+
==== Function
65+
The belts are broken into two button groups, the front belts and the rear belts. These are numbered as per the plate on the machine. Buttons in a group are mutually exclusive. Eg. Only one can be selected in the group.
66+
67+
Additionally, it's not possible to have both belts on the same level with this kind of mechanism because you can’t fit two belts to the one idler pulley sheave.. So if a belt is selected, its opposite button is disabled. Eg. if belt 3 is selected, belt 7 is disabled.
68+
69+
==== Embedding commands
70+
Add these lines to the [DISPLAY] section in your .ini file +
71+
The example tab_location is for the QtDragon screen.
72+
----
73+
EMBED_TAB_NAME=Spindle Extras
74+
EMBED_TAB_COMMAND=qtvcp spindle_belts
75+
EMBED_TAB_LOCATION=tabWidget_utilities
76+
----
77+
78+
Here is how to load `spindle_belt` from a HAL script:
79+
80+
[source,{hal}]
81+
----
82+
loadusr qtvcp spindle_belts
83+
----
84+
85+
==== Customization Hints
86+
87+
Customizing the panel: +
88+
89+
* Copy the files located in /user/share/qtvcp/qtdragon/panels/belts to:
90+
~/linuxcnc/configs/<my_configuration_folder>/qtvcp/panels/belts (you can use the copy dialog panel to do this)
91+
92+
* Edit belts.ui with designer.
93+
* Edit belts_handler.py with a text editor
94+
* Connect the relevant pins in a postgui.hal file
95+
* Make sure your postgui file is loaded by your .ini file.
96+
97+
For information on the finer points, consult the qtvcp and qtdragon documentation
98+
The python handler file also provides a useful template for any custom panel.
99+
39100
[[sub:qtvcp:panels:test-dial]]
40101
=== `test_dial`
41102

0 commit comments

Comments
 (0)