LinuxCNC Documentation

СИНТАКСИС

#include <hostmot2-serial.h>
int hm2_bspi_set_write_function(char *name, void *func, void *subdata)

ОПИС

hm2_bspi_set_write_function registers a function in an external driver to be called every time that the main Hostmot2 driver calls the generic "prepare_tram_write" functions. The names of the available channels are printed with rtapi_print_msg during the driver loading process and take the form:

hm2_<board name>.<board index>.bspi.<index>

Наприклад hm2_5i23.0.bspi.0.

"func" повинен бути покажчиком на функцію в піддрайвері, яка викликається для обробки виводів у регістрах запису BSPI перед звичайною фазою запису TRAM. Функція повинна приймати один аргумент, покажчик на окремий екземпляр внутрішнього драйвера. Якщо функція визначена в comp, вона не повинна використовувати макрос FUNCTION(), а аргумент функції в визначенні повинен завжди бути (struct state *inst).

"subdata" — це вказівник на внутрішні дані екземпляра драйвера. У випадку драйвера, написаного на comp, це завжди буде "inst" у виклику функції.

Якщо використовується comp, то виклик цієї функції має бути будь-де в коді EXTRA_SETUP.

МІРКУВАННЯ В РЕАЛЬНОМУ ЧАСІ

Викликати лише з коду ініціалізації реального часу, а не з іншого коду реального часу або нереальних компонентів.

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

Повертає 0 у разі успіху та -1 у разі невдачі.

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

hm2_allocate_bspi_tram(3), hm2_bspi_set_read_function(3), hm2_bspi_setup_chan(3), hm2_bspi_write_chan(3), hm2_tram_add_bspi_frame(3), src/hal/drivers mesa_7i65.comp у дистрибутиві вихідного коду LinuxCNC.