LinuxCNC Documentation

СИНТАКСИС

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

АРГУМЕНТИ

ім’я

Назва функції.

funct

Вказівник на функцію.

arg

Аргумент, який слід передати як перший параметр функції funct.

reentrant

Якщо значення reentrant не дорівнює нулю, функцію можна випередити та викликати знову до завершення першого виклику. В іншому випадку її можна додати лише до одного потоку.

comp_id

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

fmt, …​

A printf-style format string and arguments

ОПИС

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.

Кожен виклик функції повинен виконувати невеликий обсяг роботи та повертати результат.

ПОВЕРНЕНЕ ЗНАЧЕННЯ

Повертає код стану HAL.

ДИВІТЬСЯ ТАКОЖ