- Posts: 18
- Thank you received: 0
Probe Screen NG Messung durch Hal Pin starten
- planetstorm
- Topic Author
- Offline
- New Member
-
Less
More
3 years 9 months ago #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 to join the conversation.
3 years 9 months ago #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:
Code:
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()
Please Log in to join the conversation.
- planetstorm
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 18
- Thank you received: 0
3 years 9 months ago #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 to join the conversation.
3 years 9 months ago #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
und
hinzufuegen.
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
Code:
self.my_pin.connect('value-changed', self._on_example_trigger_change)
Code:
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:
Code:
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()))
Please Log in to join the conversation.
- planetstorm
- Topic Author
- Offline
- New Member
-
Less
More
- Posts: 18
- Thank you received: 0
3 years 9 months ago #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....
Please Log in to join the conversation.
Time to create page: 0.255 seconds
