LinuxCNC Documentation

СИНТАКСИС

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)

АРГУМЕНТИ

ім’я

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

funct

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

arg

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

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

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

comp_id

Ідентифікатор компонента HAL, повернутий попереднім викликом hal_init.

ОПИС

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.

Коли ця функція розміщується в потоці HAL і потоки HAL запускаються, funct викликається повторно з двома аргументами: void arg — це те саме значення, яке було передано *hal_export_funct, а long period — це інтервал між викликами в наносекундах.

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

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

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

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

hal_create_thread(3), hal_add_funct_to_thread(3)