hm2_pktuart_setup

NOMBRE
SINTAXIS
DESCRIPCIÃN
VALOR DEVUELTO
VER TAMBIÃN
DESARROLLO FUTURO

NOMBRE

hm2_pktuart_setup - configura una instancia de Hostmot2 PktUART

SINTAXIS

#include <hostmot2-serial.h>

int hm2_pktuart_setup(char *name, int bitrate, rtapi_s32 tx_mode, rtapi_s32 rx_mode, int txclear, int rxclear)

DESCRIPCIÃN

hm2_pktuart_setup Configura la tasa de bits para un PktUART llamado "name". "name" es una cadena única dada a cada PktUART durante el setup de hostmot2. Los nombres de las UART disponibles se imprimen en la salida estándar durante el proceso de carga del controlador y toman la forma: hm2_<nombre de la tarjeta>.<Ãndice de la tarjeta>.pktuart.<Ã- ndice> . Por ejemplo hm2_5i25.0.pktuart.0.

Los UART de Hostmot2 son buenos hasta aproximadamente 10 Mb/seg, pero a velocidades de datos más altas (con cualquier UART) son susceptibles al ruido por impulsos.

La función PktUART permite diferentes velocidades de bits RX y TX, pero eso no es actualmente compatible con este controlador.

tx_mode es la máscara de bits definida en el mapa de registros Hostmot2:

Bit 21

FrameBuffer tiene datos

Bits 20..16

Frame para enviar

Bits 15..8

Interframes delay en tiempos de bits

Bit 7

Send ocupado, Transmit Logic activa

Bit 6

Bit Drive Enable (habilita el controlador externo

RS-422/485 cuando está configurado)

Bit 5

Drive enable Auto (Activación de unidad externa

automática)

Bit 4

Error SCFIFO

Bits 3..0

Drive enable delay (demora desde la habilitación de la

unidad

para iniciar la transmisión de datos. En perÃodos bajos de clock

rx_mode es una máscara de bits definida en regmap de Hostmot2:

Bit 21

FrameBuffer tiene datos

Bits 20..16

Frames recibidos

Bits 15..8

InterFrame delay en tiempos de bits

Bit 7

Rx Lógica activa

Bit 6

RXMask

Bit 5

sin usar

Bit 4

Error RCFIFO

Bit 3

RXEnable (debe configurarse para recibir paquetes)

Bit 2

RXMask Enable (habilita el enmascaramiento de datos de

entrada al transmitir)

Bit 1

Error de desbordamiento (sin bit de parada cuando se

esperaba) (sticky)

Bit 0

Bit de error de falso inicio (sticky)

Los registros rx_mode y tx_mode son actualmente de solo escritura. Se puede obtener el número de instancia de una instancia de PktUART con la ayuda de la función hm2_get_pktuart en orden a leer y escribir en registros Rx y Tx.

Para escribir solo en el bit tx_mode DriveEnable, llame a esta función con la tasa de bits sin cambios y -1 como rx_mode Para cambiar la tasa de bits sin alterar la configuración del modo, envÃe -1 a ambos modos.

txclear==1 aborta cualquier envÃo en proceso, borra los datos FIFO y borra el conteo de envÃo FIFO.

rxclear==1 cancela cualquier recepción en proceso, borra los datos FIFO y borra el recuento de recepción FIFO.

txclear!=1 o rxclear!=1 deja los registros correspondientes sin cambios.

VALOR DEVUELTO

Devuelve 0 en caso de éxito y -1 o -EINVAL en caso de error.

VER TAMBIÃN

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

DESARROLLO FUTURO

Esta función está sujeta a cambios ya que se agregarán filtros digitales en Rx UART, y el registro de velocidad de bits ganará un campo de 12 bits para la constante de filtro de entrada.