Diese Dokumentation beschreibt das hal
Python-Modul, das eine Python-API für die Erstellung und den Zugriff auf HAL-Pins und -Signale bereitstellt.
1. Grundlegende Verwendung (engl. basic usage)
#!/usr/bin/env python3 import hal, time h = hal.component("passthrough") h.newpin("in", hal.HAL_FLOAT, hal.HAL_IN) h.newpin("out", hal.HAL_FLOAT, hal.HAL_OUT) h.ready()
2. Funktionen
- Komponente
-
+
The component itself is created by a call to the constructorhal.component
. The arguments are the HAL component name and (optionally) the prefix used for pin and parameter names. If the prefix is not specified, the component name is used.
.Example
h = hal.component("passthrough")
- newpin
-
+
Create new pin.
Arguments: pin name suffix, pin type, and pin direction. For parameters, the arguments are: parameter name suffix, parameter type, and parameter direction.
.Example:
h.newpin("in", hal.HAL_FLOAT, hal.HAL_IN)
- ready (engl. für bereit)
-
Sagt dem HAL-System, dass die Komponente initialisiert ist. Sperrt das Hinzufügen von Pins.
- unready (engl. für nicht bereit)
-
Ermöglicht es einer Komponente, Pins hinzuzufügen, nachdem ready() aufgerufen wurde. Man sollte ready() auf der Komponente danach aufrufen.
- component_exists
-
Existiert die angegebene Komponente zu diesem Zeitpunkt.
hal.component_exists("testpanel")
- component_is_ready (engl. für Komponente ist bereit)
-
Ist die angegebene Komponente zu diesem Zeitpunkt bereit.
hal.component_is_ready("testpanel")
- get_msg_level
-
Abfrage der aktuellen Echtzeit-Nachrichten (engl. kurz msg)-Stufe.
- set_msg_level
-
Legen Sie die aktuelle Echtzeit-MSG-Stufe fest. Wird zum Debuggen von Informationen verwendet.
- connect
-
Verbinden Sie einen Pin mit einem Signal.
hal.connect("pinname","signal_name")
- disconnect (engl. für trennen)
-
Trennen Sie einen Pin von einem Signal.
hal.disconnect("Pinname")
- get_value
-
Lesen Sie einen Pin, einen Parameter oder ein Signal direkt.
value = hal.get_value("iocontrol.0.emc-enable-in")
- get_info_pins()
-
Gibt eine Liste von Dicts aller Systempins zurück.
listOfDicts = hal.get_info_pins() pinName1 = listOfDicts[0].get('NAME') pinValue1 = listOfDicts[0].get('VALUE') pinType1 = listOfDicts[0].get('TYPE') pinDirection1 = listOfDicts[0].get('DIRECTION')
- get_info_signals()
-
Gibt eine Liste von Dicts aller Systemsignale zurück.
listOfDicts = hal.get_info_signals() signalName1 = listOfDicts[0].get('NAME') signalValue1 = listOfDicts[0].get('VALUE') driverPin1 = listOfDicts[0].get('DRIVER')
- get_info_params()
-
Gibt eine Liste von Dicts mit allen Systemparametern zurück.
listOfDicts = hal.get_info_params() paramName1 = listOfDicts[0].get('NAME') paramValue1 = listOfDicts[0].get('VALUE') paramDirection1 = listOfDicts[0].get('DIRECTION')
- new_sig
-
Erstellt ein neues Signal des angegebenen Typs.
hal.new_sig("signalname",hal.HAL_BIT)
- pin_has_writer
-
Ist der angegebene Pin mit einem treibenden Pin verbunden.
Gibt True oder False zurück.
h.in.pin_has_writer()
- get_name
-
Ermittelt den Namen des HAL-Objekts.
Rückgabe einer Zeichenkette.
h.in.get_name()
- get_type
-
Ermittelt den Typ des HAL-Objekts'.
Gibt eine ganze Zahl zurück.
h.in.get_type()
- get_dir
-
Ermittelt den Richtungstyp des HAL-Objekts.
Gibt eine ganze Zahl zurück.
h.in.get_dir()
- get
-
Ermittelt den Wert des HAL-Objekts.
h.in.get()
- set
-
Setzt den Wert des HAL-Objekts.
h.out.set(10)
- is_pin
-
Ist das Objekt ein Pin oder Parameter?
Gibt True oder False zurück.
h.in.is_pin()
- sampler_base
-
TODO
- stream_base
-
TODO
- stream
-
TODO
- set_p
-
Einstellen eines Pin-Wertes eines beliebigen Pins im HAL-System.
hal.set_p("pinname","10")
- set_s
-
Legt den Werte eines nicht verbundenen Signals im HAL-System fest.
hal.set_s("signalname","10")