Machinekit

Machinekit

hm2_bspi_set_write_function

NAME

hm2_bspi_set_write_function — Register a function to handle the tram write phase of a hostmot2 buffered SPI driver.

SYNTAX

int hm2_bspi_set_write_function ( char *name, void *func, void *subdata )

DESCRIPTION

hm2_bspi_set_write_function
Registers a function in an external driver (typically written in "comp") 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 to standard output during the driver loading process and take the form:
hm2_<board name>.<board index>.bspi.<index>
For example
hm2_5i23.0.bspi.0

"func" should be a pointer to a function in the sub driver which is to be called to process the pins into BSPI write registers prior to the regular TRAM write phase.
The function must take a single argument, a pointer to an individual instance of the internal driver.
If defined in comp then the function must not use the FUNCTION() convenience macro, and the argument to the function in the definition must always be (struct state *inst).

"subdata" is a pointer to the driver instance internal data. In the case of a driver written in comp this will always be "inst" in the function call.

If using comp then the call to this function should be anywhere in the EXTRA_SETUP code.

RETURN VALUE

Returns 0 on success and -1 on failure.

LICENCE

Issued under the terms of the GPL v2 License or any later version

AUTHOR

Andy Pugh

SEE ALSO

hm2_bspi_setup_chan
hm2_bspi_write_chan
hm2_tram_add_bspi_frame
hm2_allocate_bspi_tram

See mesa_7i65.comp for an example usage