SYNTAX
#include <hostmot2-serial.h> int hm2_bspi_set_read_function(char *name, void *func, void *subdata)
BESCHREIBUNG
hm2_bspi_set_read_function registers a function in an external driver to be called every time that the main Hostmot2 driver calls the generic "process_tram_read" function. 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 Ergebnisse der BSPI-TRAM-Lesephase zu verarbeiten. Die Funktion muss ein einziges Argument haben, einen Zeiger auf eine einzelne Instanz des internen Treibers. Wenn sie in comp definiert ist, darf die Funktion das Komfortmakro FUNCTION() nicht 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 immer "inst" im Funktionsaufruf sein, und der Aufruf sollte 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_setup_chan(3), hm2_bspi_set_write_function(3), hm2_bspi_write_chan(3), hm2_tram_add_bspi_frame(3), src/hal/drivers mesa_7i65.comp in der LinuxCNC Quellcode Distribution.