hm2_pktuart_read

NOMBRE
SINTAXIS
DESCRIPCIÃN
VALOR DEVUELTO
VER TAMBIÃN

NOMBRE

hm2_pktuart_read - lee datos de un búfer UART Hostmot2

SINTAXIS

#include <hostmot2-serial.h>

int hm2_pktuart_read(char *name, unsigned char data[], rtapi_u8 *num_frames, rtapi_u16 *max_frame_length, rtapi_u16 frame_sizes[])

DESCRIPCIÃN

hm2_pktuart_read lee datos del PktUART "name". "name" es una cadena única dada a cada PktUART durante la configuración de hostmot2. Los nombres de los canales disponibles se imprimen en la salida estándar durante la carga del controlador y toman la forma: hm2_<nombre de la tajeta>.<Ãndice de la tarjeta>.pktuart.<Ãndice> . Por ejemplo hm2_5i25.0.pktuart.0

Esta función lee un número variable de paquetes PktUART del canal especificado. Debe usarse dentro de un componente HAL en tiempo real registrado con el controlador principal hostmot2 que utiliza la función hm2_pktuart_setup en el código de configuración.

"(*num_frames)*(*max_frame_length)" debe ser <= sizeof "data", que se intenta estimar o adivinar antes de llamar a la función. Si hay más bytes en el búfer que el tamaño del array de datos, entonces se devuelve RxArraySizeError.

Tenga en cuenta que PktUART MaxFrameSize tiene codificados 1024 bytes en hostmot2.vhd.

VALOR DEVUELTO

Devuelve el número de bytes leÃdos en caso de éxito y códigos de error negativos en caso de error.

"num_frames", cuyo puntero se pasa por valor, se establece en el número de datagramas leÃdos.

Los códigos de error negativos son:
-1 - error de lectura/escritura de bajo nivel
-EINVAL: cualquier error de configuración por instancia de PktUART

-HM2_PKTUART_RxStartbitError - Error de registro de modo Rx
-HM2_PKTUART_RxOverrunError - Error de registro de modo Rx
-HM2_PKTUART_RxRCFIFOError - Error de registro de modo Rx

-HM2_PKTUART_RxPacketOverrrunError - Error de registro de recuento Rx
-HM2_PKTUART_RxPacketStartbitError - Error de registro de recuento Rx

-HM2_PKTUART_RxPacketSizeZero: el tamaño del paquete recibido es cero
-HM2_PKTUART_RxArraySizeError: el array de datos es demasiado pequeño
para todos los datos en el búfer

Los valores numéricos de los códigos de error HM2_PKTUART_ se definen
en src/hal/drivers/mesa-hostmot2/pktuart_errno.h.

VER TAMBIÃN

man hm2_pktuart_setup, man hm2_pktuart_send
Consulte src/hal/drivers/mesa_pktgyro_test.comp para ver un ejemplo de
uso.