MUX_GENERIC

NOMBRE
SINOPSIS
FUNCIONES
PINES
PARÃMETROS
DESCRIPCIÃN
LICENCIA
AUTOR

NOMBRE

mux_generic - elige uno de entre varios valores de entrada

SINOPSIS

loadrt mux_generic config = bb8,fu12 ....

FUNCIONES

mux-gen.NN Dependiendo de los tipos de datos pueden ejecutarse en un
hilo de punto flotante o no flotante.

PINES

mux-gen.NN.suppress-no-input bit in

Esto suprime el cambio de salida si todas las lÃneas de selección son falsas. Esto detiene los saltos no deseados en la salida entre las transiciones de entrada pero hace que in00 no esté disponible.

mux-gen.NN.debounce-us u32 in

establece el tiempo de debouce en microsegundos. p.ej. 100000 = una décima de segundo. Las entradas de selección deben ser estables ese tiempo antes de que cambie la salida. Esto ayuda a ignorar los interruptores ’ruidosos’.

mux-gen.NN.sel-bitMM bit in (M = 0..N)
mux-gen.
NN.sel-int u32 in  fR

Juntos, determinan qué valor inN se copia en output. Los pines de bits se interpretan como bits binarios, y el resultado simplemente se agrega a la entrada del pin entero. Se espera que normalmente se use uno u otro. Sin embargo, existe la posibilidad de utilizar un bit de orden superior para "cambiar" los valores establecidos por el pin entero. Los pines sel-bit solo se crean cuando el tamaño del componente mux_gen es una potencia entera de dos. Este componente (a diferencia de mux16) no ofrece la opción de decodificar código gray; sin embargo, se puede lograr el mismo efecto organizando el orden de los valores de entrada para que se adapten.

mux-gen.NN.out-[bit/float/s32/u32] out de tipo variable

Sigue el valor de uno de los valores inN de acuerdo con los bits de selección y/o el número de selección. Los valores se convertirán/truncarán de acuerdo con las reglas estándar de C. Esto significa, por ejemplo, que una entrada float mayor que 2147483647 dará una salida S32 de -2147483648.

mux-gen.NN.in-[bit/float/s32/u32]-MM in tipo variable

Los posibles valores de salida son seleccionados por los pines de selección.

PARÃMETROS

mux-gen.N.elapsed float r

Valor actual del temporizador antirrebote interno para la depuración.

mux-gen.N.selected s32 r

Valor actual de la variable de selección interna después de la conversión para la depuración. Posiblemente útil para configurar interruptores de código gray.  

DESCRIPCIÃN

Este componente es una versión más general de los otros componentes de multiplexación. Permite la creación de multiplexores de tamaño arbitrario (hasta 1024 entradas) y también admite diferentes tipos de datos en los pines de entrada y salida. La cadena de configuración es una lista, separada por comas, de letras y números de código, como "bb4,fu12". Esto crearÃa un mux bit-a-bit de 4 elementos y un mux float-a-unsigned de 12 elementos. Las letras de código son b=bit, f=float, s=entero con signo, u=entero sin signo. El primer código de letra es el tipo de entrada, el segundo es el tipo de salida. Los códigos no distinguen entre mayúsculas y minúsculas. El orden de las letras es significativo, pero la posición en la cadena no lo es. No inserte ningún espacio en la cadena de configuración. Cualquier valor float distinto de cero se convertirá en una salida "verdadera" en forma de bit. Tenga cuidado de que los tipos de datos floats pueden ser muy, muy cercanos a cero y en realidad no pueden ser iguales a cero.

Cada mux tiene su propia función HAL y debe agregarse a un hilo por separado. Si ni la entrada ni la salida son de tipo float, la función es segura para hilos básicos (sin punto flotante). Cualquier mux_generic con una entrada o salida de punto flotante solo se puede agregar a un hilo de punto flotante.

LICENCIA

GPL

AUTOR

Andy Pugh