SYNTAX
#include <hostmot2-serial.h>
int hm2_bspi_set_write_function(char *name, void *func, void *subdata)
BESCHREIBUNG
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>
Zum Beispiel hm2_5i23.0.bspi.0.
"func" sollte ein Zeiger auf eine Funktion im Subtreiber sein, die aufgerufen werden soll, um die Pins vor der regulären TRAM-Schreibphase in BSPI-Schreibregistern zu verarbeiten. Die Funktion muss ein einziges Argument haben, einen Zeiger auf eine individuelle Instanz des internen Treibers. Wenn die Funktion in comp definiert ist, darf sie nicht das Komfortmakro FUNCTION() verwenden, und das Argument für die Funktion in der Definition muss immer (struct state *inst) sein.
"subdata" ist ein Zeiger auf die internen Daten der Treiberinstanz. Im Falle eines in comp geschriebenen Treibers wird dies im Funktionsaufruf immer "inst" sein.
Wenn Sie comp verwenden, sollte der Aufruf dieser Funktion irgendwo im EXTRA_SETUP-Code erfolgen.
REALTIME CONSIDERATIONS
Aufruf nur von Echtzeit-Init-Code, nicht von anderem Echtzeit-Code oder Nicht-Echtzeit-Komponenten.
RETURN VALUE
Gibt bei Erfolg 0 und bei Misserfolg -1 zurück.
SIEHE AUCH
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 in der LinuxCNC Quellcode distribution.