СИНТАКСИС
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)