SYNTAX
typedef void(hal_funct_t)(void arg, long period)
int hal_export_funct(const char* name, hal_funct_t funct, void* arg, int uses_fp, int reentrant, int comp_id)
ARGUMENTE
- name
-
Der Name der Funktion.
- funct
-
Der Zeiger auf die Funktion.
- arg
-
Das Argument, das als erster Parameter von funct übergeben wird.
- uses_fp
-
Deprecated and ignored. All threads now unconditionally save and restore floating point state. This parameter will be removed in a future version.
- reentrant
-
Wenn reentrant ungleich Null ist, kann die Funktion vorzeitig beendet und erneut aufgerufen werden, bevor der erste Aufruf abgeschlossen ist. Andernfalls darf sie nur zu einem Thread hinzugefügt werden.
- comp_id
-
Eine HAL-Komponenten-Kennung, die durch einen früheren Aufruf von hal_init zurückgegeben wurde.
BESCHREIBUNG
hal_export_funct makes a realtime function provided by a component available to the system. A subsequent call to hal_add_funct_to_thread can be used to schedule the execution of the function as needed by the system.
Wenn diese Funktion auf einen HAL-Thread gelegt wird und HAL-Threads gestartet werden, wird funct wiederholt mit zwei Argumenten aufgerufen: void *arg ist der gleiche Wert, der hal_export_funct übergeben wurde, und long period ist das Intervall zwischen den Aufrufen in Nanosekunden.
Jeder Aufruf der Funktion sollte einen kleinen Teil der Arbeit erledigen und zurückkehren.
RETURN VALUE
Gibt einen HAL-Statuscode zurück.
SIEHE AUCH
hal_create_thread(3), hal_add_funct_to_thread(3)