LinuxCNC Documentation

SYNOPSIS

#include <hal.h>

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);
int hal_export_functf(hal_funct_t funct, void *arg, int uses_fp, int reentrant, int comp_id, const char *fmt, ...);

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

A HAL component identifier returned by an earlier call to hal_init(3).

fmt, …​

A printf-style format string and arguments

BESCHREIBUNG

The hal_export_funct() function makes a realtime function provided by a component available to the system. A subsequent call to hal_add_funct_to_thread(3) can be used to schedule the execution of the function as needed by the system.

When this function is placed on a HAL thread, and HAL threads are started, funct is called repeatedly with two arguments:

void *arg

is the same value that was given to hal_export_funct(),

long period

is the interval between calls in nanoseconds.

Jeder Aufruf der Funktion sollte einen kleinen Teil der Arbeit erledigen und zurückkehren.

RETURN VALUE

Gibt einen HAL-Statuscode zurück.

SIEHE AUCH