Probe Screen NG Messung durch Hal Pin starten
- planetstorm
- Offline
- New Member
Less
More
- Posts: 18
- Thank you received: 8
18 Jan 2023 20:10 #262364
by planetstorm
Probe Screen NG Messung durch Hal Pin starten was created by planetstorm
Hallo liebe Leute. Bin nicht so der Python Crack. Ich möchte gerne eine Messung per Hal Pin starten. Sitze seid Stunden hier und bekomme es nicht hin. Was ich geschafft habe ist, dass ich einen Hal Pin anlege und den Wert auf 1 setzen muss damit der Messbutton in der Gui auch geht. Ich möchte aber ohne den Gui Button direkt per Hal Pin die Messung starten. Kann mir da evtl jemand unter die Arme greifen? Lieben Dank euch.
LG Heiko
LG Heiko
Please Log in or Create an account to join the conversation.
19 Jan 2023 20:03 #262430
by HansU
Replied by HansU on topic Probe Screen NG Messung durch Hal Pin starten
So erzeugst du einen Pin und mit der Get-Methode, kannst du diesen abfragen:
import hal_glib
import hal
self.my_pin = hal_glib.GPin(halcomp.newpin("my_pin", hal.HAL_BIT, hal.HAL_IN))
self.my_pin.get()
The following user(s) said Thank You: planetstorm
Please Log in or Create an account to join the conversation.
- planetstorm
- Offline
- New Member
Less
More
- Posts: 18
- Thank you received: 8
19 Jan 2023 21:25 #262433
by planetstorm
Replied by planetstorm on topic Probe Screen NG Messung durch Hal Pin starten
Ok das hat soweit geklappt. Helfe mir bitte bitte noch mal auf die Sprünge. Habe so viel gelesen, bin schon ganz durcheinander. Scheint wohl auch in alten Versionen wieder anders geschrieben zu werden. Ich möchte nun durch den Halpin einen Codeabschnitt starten. Momentan wird er durch diese Zeile gestartet.
def on_xp_released(self, gtkbutton, data=None):
Kannst du mir erklären wie ich das nun umschreiben muss, damit ich entweder durch den Hal Pin oder durch den Button den Code starten kann? Ich blicke gerade nicht durch.
Ganz lieben dank.
VG Heiko
def on_xp_released(self, gtkbutton, data=None):
Kannst du mir erklären wie ich das nun umschreiben muss, damit ich entweder durch den Hal Pin oder durch den Button den Code starten kann? Ich blicke gerade nicht durch.
Ganz lieben dank.
VG Heiko
Please Log in or Create an account to join the conversation.
20 Jan 2023 17:43 - 20 Jan 2023 17:44 #262510
by HansU
Replied by HansU on topic Probe Screen NG Messung durch Hal Pin starten
Du hast zwei Möglichkeiten:
1. Mit einem Timer "self.my_pin.get()" regelmässig abfragen (polling)
2. Oder einen Handler definieren, siehe linuxcnc.org/docs/html/hal/halmodule.htm..._in_gladevcp_handler
was sicherlich die elegantere Lösung ist.
Also im wesentlichen die Zeilen
undhinzufuegen.
PS: Das Beispiel auf der Webseite ist ein bisschen fehlerhaft, falls du es 1:1 probieren willst, ändere die print's so:
1. Mit einem Timer "self.my_pin.get()" regelmässig abfragen (polling)
2. Oder einen Handler definieren, siehe linuxcnc.org/docs/html/hal/halmodule.htm..._in_gladevcp_handler
was sicherlich die elegantere Lösung ist.
Also im wesentlichen die Zeilen
self.my_pin.connect('value-changed', self._on_example_trigger_change)
def _on_example_trigger_change(self,pin,userdata=None):
if pin.get():
do something
PS: Das Beispiel auf der Webseite ist ein bisschen fehlerhaft, falls du es 1:1 probieren willst, ändere die print's so:
def _on_example_trigger_change(self,pin,userdata=None):
print ("pin value changed to: {}".format(pin.get()))
print ("pin name= {}".format(pin.get_name()))
print ("pin type= {}".format(pin.get_type()))
Last edit: 20 Jan 2023 17:44 by HansU.
The following user(s) said Thank You: planetstorm
Please Log in or Create an account to join the conversation.
- planetstorm
- Offline
- New Member
Less
More
- Posts: 18
- Thank you received: 8
21 Jan 2023 08:20 #262561
by planetstorm
Replied by planetstorm on topic Probe Screen NG Messung durch Hal Pin starten
Super Vielen dank. Hat mit deinem Beispiel super geklappt. Anfangs nicht , dann habe ich LCNC mal über das Terminal gestartet und konnte so die errors beseitigen. Vielen Vielen Dank es klappt nun....
The following user(s) said Thank You: HansU
Please Log in or Create an account to join the conversation.
Moderators: HansU
Time to create page: 0.173 seconds