xhc-hb04 - Componente HAL de espacio de usuario para el colgante xhc-hb04.
El componente xhc-hb04 admite un colgante USB común que proporciona cierta cantidad de botones, un generador de pulso manual (mpg o jog wheel), y un interruptor selector para la rueda.
Hay al menos dos versiones de hardware: una con 16 botones y otra, más común, con 18 botones. La información aquà contenida está basada en el dispositivo de 18 botones con el Código USB proveedor:producto 10CE:EB70.
Además de los botones, el colgante proporciona una pantalla LCD para el multiplicador de tamaño de pasos (de un conjunto de valores enteros disponibles) , posición (absoluta y relativa, etiquetada MC y WC respectivamente), avance (ajuste de porcentaje y valor en unidades por minuto) y velocidad del husillo (ajuste de porcentaje y valor en revoluciones por minuto (RPM)). La pantalla está gestionada por un interruptor rotativo que selecciona uno de los cuatro ejes para el posicionamiento de la rueda, ajuste de alimentación, ajuste del husillo o OFF.
La pantalla del colgante, su interruptor selector giratorio y los nombres de los pines del componente usan designadores x, y, z, a. Mientras este arreglo presume una máquina configurada como XYZA, los pines se pueden asignar de forma independiente como se requiera en una configuración HAL.
El ejecutable xhc-hb04 necesita permiso para leer el Dispositivo colgante USB. Las instalaciones de paquetes Debian (debs) manejan esto automáticamente pero las compilaciones Run-In-Place (RIP) pueden necesitar un archivo de reglas udev. Este archivo debe crearse (usando sudo y un editor de texto) como:
/etc/udev/rules.d/99-xhc-hb04.rules con una sola lÃnea:
ATTR{idProduct}=="eb70", ATTR{idVendor}=="10ce", MODE="0666", OWNER="root", GROUP="plugdev"
El programa xhc-hb04 se puede ejecutar desde la lÃnea de comandos sin LinuxCNC para probar un colgante en modo de simulación. Este modo independiente se utiliza para identificar los códigos de botón producidos para cada botón y para verificar el conteo adecuado de la rueda de selección. Los códigos de botón identificados pueden ser usados para crear un button-cfg-file. Cuando un button-cfg-file existe, la operación del dispositivo se puede verificar utilizando la opción -I para especificar el archivo.
Uso:
$ xhc-hb04 [opciones]
-h
enumera las opciones de lÃnea de comando y sale
-I button-cfg-file (vea a continuación el
formato del archivo)
-H se ejecuta en modo HAL en tiempo real (el modo de
simulación es el
predeterminado)
-x espera la detección del colgante antes
de crear pines HAL.
-s n n es una de las siguientes secuencias de
tamaño de pasos
1:
1,10,100,1000 (predeterminado)
2: 1,5,10,20
3: 1,10,100
4: 1,5,10,20,50,100
5: 1,10,50,100,1000
El tamaño de pasos seleccionado siempre se
multiplica por 0.001
Los archivos de
configuración estándar se
proporcionan en la distribución para
configuraciones de botones conocidas:
/usr/share/linuxcnc/hallib/xhc-hb04-layout1.cfg
/usr/share/linuxcnc/hallib/xhc-hb04-layout2.cfg
o para una compilación RIP:
rip_base_dir/lib/hallib/xhc-hb04-layout1.cfg
rip_base_dir/lib/hallib/xhc-hb04-layout2.cfg
layout1 describe el colgante de 16 botones, layout2 describe el colgante de 18 botones más común.
El archivo de configuración de botones sigue el mismo formato que los archivos ini pero debe usar un sufijo de archivo .cfg.
Formato de
archivo:
[XHC-HB04]
BUTTON=X1:button-thename1
BUTTON=X2:button-thename2
BUTTON=X3:button-thename3
etc.
XN es el código reportado para presionar un botón y button-thenameN es el nombre que se asignará al pin creado para el botón.
Use la opción -H para especificar el modo HAL y otras opciones según sea necesario:
loadusr -W xhc-hb04 -H [Options]
Ejemplo: loadusr -W xhc-hb04 -H -I path_to_cfg_file -s 2
(bit in) xhc-hb04.stepsize-up Un pulso 1 en este pin cambia el
paso al siguiente paso más alto en la secuencia de pasos especificada en el comando xhc-hb04 (loadusr).
(bit in) xhc-hb04.stepsize-down Un pulso 1 en este pin cambia el
paso al siguiente paso inferior en la secuencia de pasos especificada en el comando xhc-hb04 (loadusr).
(float) xhc-hb04.[xyza].pos-absolute Indicación de posición absoluta.
(normalmente se conecta a: halui.axis.N.pos-feedback). La pantalla LCD para pos-absolute es un formato fijo con un signo, 4 dÃgitos numéricos y 3 dÃgitos de fracción (+ XXXX.XXX), requieren: -9999.999 <= valor <= 9999.999.
(float)
xhc-hb04.[xyza].pos-relative
Visualización de posición
relativa.
(normalmente se conecta a: halui.axis.N.pos-relative). La pantalla LCD para pos-relative es un formato fijo con un signo, 4 dÃgitos numéricos y 3 dÃgitos de fracción (+ XXXX.XXX), requieren:-9999.999 <= valor <= 9999.999.
(float) xhc-hb04.feed-override Feed-override value.
El valor float se convierte en un entero de 16 bits y se multiplica por 100 para mostrarse como porcentaje, requiere: 0 <= pinvalue <= 655 (normalmente se conecta a: halui.feed-override.value)
(float)
xhc-hb04.feed-value Valor de
alimentación actual
(unidades/seg).
El valor float se convierte en un entero de 16 bits y se multiplica por 60 para mostrarse como unidades por minuto, requiere: 0 <= pinvalue <= 1092 (65520 unidades por minuto) (normalmente se conecta a: motion.current-vel)
(float) xhc-hb04.spindle-override Spindle-override value.
El valor float se convierte en un entero de 16 bits y se multiplica por 100 para que se muestre como porcentaje, requiere: 0 <= pinvalue <= 655) (normalmente se conecta a: halui.spindle-override.value)
(float) xhc-hb04.spindle-rps Velocidad del cabezal en rps.
(revoluciones por segundo). El valor float se convierte en un entero de 16 bits. y multiplicado por 60 para mostrarse como RPM, requiere: 0 <= pinvalue <= 1092 (65520 RPM) (normalmente se conecta a: spindle.N.speed-out-rps-abs)
(bit in)
xhc-hb04.inch-icon Use el icono en pulgadas (el valor
predeterminado es mm)
(bit out)
xhc-hb04.sleeping Verdadero cuando el driver recibe
un
mensaje de
colgante inactivo (durmiendo).
(bit out)
xhc-hb04.jog.enable-off Verdadero cuando el
interruptor
rotativo selector
del colgante está en la posición de OFF o cuando el colgante está durmiendo.
(bit out)
xhc-hb04.enable-[xyza] Verdadero cuando el
interruptor
selector rotativo
del colgante está en la posición [xyza] y no duerme.
(bit out)
xhc-hb04.enable-spindle-override Verdadero cuando el
interruptor rotativo selector
del colgante está en la posición de husillo y no está dormido. (normalmente se conecta a: halui.spindle-override-count-enable)
(bit out)
xhc-hb04.enable-feed-override Verdadero cuando el
interruptor
rotativo selector
del colgante está en la posición de alimentación y no duerme. (normalmente se conecta a: halui.feed-override-count-enable)
(bit out) xhc-hb04.connected Verdadero cuando la conexión al colgante
se establece a través de la interfaz USB.
(bit out)
xhc-hb04.require_pendant Verdadero si el controlador
comenzó
con
la opción -x.
(salida s32)
xhc-hb04.stepsize Tamaño de paso
actual en la secuencia
de pasos
según lo controlado por los pines stepsize-up y/o stepsize-down.
(salida s32) xhc-hb04.jog.counts Número de recuentos de la rueda desde
start-up (50 cuentas por revolución de la rueda). (normalmente se conecta a axis.N.jog-counts (el filtrado de paso bajo puede ser útil))
(salida s32) xhc-hb04.jog.counts-neg El valor de
xhc-hb04.jog.counts multiplicado por -1.
(float) xhc-hb04.jog.scale El valor es el tamaño de paso actual
multiplicado por 0.001. (normalmente se conecta a axis.N.jog-scale)
Estos pines
proporcionan cierto soporte para no-trivkins, jog en modo
mundial.
(float) xhc-hb04.jog.max-velocity
Conéctese a halui.max-velocity.value
(float) xhc-hb04.jog.velocity Conéctese
a halui.jog-speed
(bit out) xhc-hb04.jog.plus-[xyza]
Conéctese a halui.jog.N.plus
(bit out) xhc-hb04.jog.minus-[xyza]
Conéctese a halui.jog.N.minus
(float) xhc-hb04.jog.increment Pin de
depuración -- abs(delta_pos)
Los pines del tipo bit de salida son TRUE cuando se presiona el botón.
FILA 1
(bit out) xhc-hb04.button-reset
(bit out) xhc-hb04.button-stop
FILA 2
(bit out) xhc-hb04.button-goto-zero
(bit out) xhc-hb04.button-rewind
(bit out) xhc-hb04.button-start-pause
(bit out) xhc-hb04.button-probe-z
FILA 3
(bit out) xhc-hb04.button-spindle
(bit out) xhc-hb04.button-half
(bit out) xhc-hb04.button-zero
(bit out) xhc-hb04.button-safe-z
FILA 4
(bit out) xhc-hb04.button-home
(bit out) xhc-hb04.button-macro-1
(bit out) xhc-hb04.button-macro-2
(bit out) xhc-hb04.button-macro-3
FILA 5
(bit out) xhc-hb04.button-step
(bit out) xhc-hb04.button-mode
(bit out) xhc-hb04.button-macro-6
(bit out) xhc-hb04.button-macro-7
Se sintetizan botones adicionales para los botones denominados zero, goto-zero y half. Estos botones sintetizados están activos cuando se presiona el botón Y el selector-interruptor se establece en el eje correspondiente [xyza].
(bit out)
xhc-hb04.button-zero-[xyza]
(bit out) xhc-hb04.button-goto-zero-[xyza]
(bit out) xhc-hb04.button-half-[xyza]
Para depurar la
actividad USB, use la variable de entorno LIBUSB_DEBUG:
export LIBUSB_DEBUG=[2 | 3 | 4]; xhc-hb04 [options]
2:warning, 3:info, 4:debug
La
distribución incluye varias configuraciones de
simulación en el directorio:
/usr/share/doc/linuxcnc/examples/sample-configs/sim/axis/xhc-hb04/
o para una compilación RIP:
rip_base_dir/configs/sim/axis/xhc-hb04/
Estas configuraciones utilizan un script proporcionado por la distribución (xhc-hb04.tcl) configurar el colgante y hacer las conexiones HAL necesarias de acuerdo a una serie de configuraciones de archivo ini. El script usa un Componente HAL adicional (xhc_hb04_util) para proporcionar una funcionalidad común e incluye soporte para un método estándar para el botón de pausa/inicio.
Las
configuraciones disponibles incluyen:
1) especifique el botón-cfg-file para layout1 o
layout2
2) seleccionar ejes (hasta 4 ejes del conjunto de x y z a b
c u v w)
3) implementar coeficientes de filtrado por eje
4) implementar aceleración por eje para jog mpg
5) implementar configuraciones de escala por eje
6) seleccionar modos de desplazamiento normal o basado en
velocidad
7) seleccionar secuencia de pasos
8) opción para inicializar pin para icono de
pantalla en pulgadas o mm
9) opción para requerir colgante en el
inicio
Las
configuraciones sim ilustran conexiones de botones que:
1) conecta el botón stepsize-up al pin de
entrada de paso.
2) conecta los botones a los pines halui.*
3) conecta los botones a pines motion.*
Se incluye otro script para monitorear el colgante e informar la pérdida de conectividad USB. Ver los archivos README y .txt en el anterior directorio de uso.
Nota: Las configuraciones sim utilizan la interfaz gráfica de usuario Axis pero los scripts estan disponible con cualquier configuración HAL o gui. Los mismos guiones pueden utilizarse para adaptar el xhc-hb04 a las configuraciones existentes siempre que los pines halui, motion y axis.N no se soliciten en otro lugar. Las instrucciones se incluyen en el archivo README en el directorio mencionado anteriormente.
Use halcmd para
mostrar los pines y señales utilizados por
xhc-hb04.tcl guión:
halcmd show pin xhc-hb04 (mostrar todos los pines
xhc-hb04)
(mostrar todos los pines pendant_util) | |||||
(muestra todas las señales) |
Frederick Rible (frible@teaser.fr)