Machinekit

Machinekit

hm2_pktuart_send

NAME

hm2_pktuart_send — write data to a Hostmot2 PktUART

SYNTAX

int hm2_uart_send ( char *name, unsigned char data[], u8 *num_frames, u16 frame_sizes[] )

DESCRIPTION

hm2_pktuart_send writes "num_frames" of data to the PktUART "name" from the buffer "data" with frame sizes preset in "frame_sizes[]" array.

"frame_sizes[]" array should not have more than 16 elements as this is the highest number of frames that can be sent out in the so called "burst mode".

Note that the PktUART MaxFrameSize is 1024 bytes as hard-coded in hostmot2.vhd .

"name" is a unique string given to each PktUART during hostmot2 setup.
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>.pktuart.<index>
For example
hm2_5i25.0.pktuart.0

This function sends a variable number of PktUART packets (less or equal 16) from the the specified channel.
It should be used inside a realtime HAL component registered with the main hostmot2 driver using the function hm2_pktuart_setup in the setup code.

RETURN VALUE

Returns the number of bytes sent on success and negative error codes on failure.

"num_frames" which pointer is passed by value is set to the number of successfully datagrams sent out.

Negative error codes are:

-1 - low level read/write error
-EINVAL - any PktUART configuration error per instance
-214  - TxSCFIFOError, Tx Send Count FIFO Error

LICENCE

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

AUTHOR

Boris Skegin

SEE ALSO

hm2_pktuart_setup
hm2_pktuart_read

See mesa_pktgyro_test.comp for an example usage