controlport
11 min
este objeto controlport se utiliza para configurar niveles de salida en el conector de e/s y supervisar entradas, y proporciona soporte para las placas de botones usb bp200/bp900 y los puertos gpio normalmente, los led y botones se conectan al conector gpio en el reproductor brightsign o en el brightsign expansion module idl de controlport constructor(string port) ] interface controlport { bool setoutputvalue(unsigned param); bool setoutputvalues(unsigned p1, unsigned p2, unsigned p3, unsigned p4); bool setpinvalue(unsigned pin, unsigned param); bool getpinvalue(unsigned pin); bool configureasinput(unsigned pin); bool configureasoutput(unsigned pin); void close() }; creación de objetos para crear un objeto controlport , utilice el método require() let control port class = require("@brightsign/legacy/controlport") let control port = new control port class("touchboard 0 gpio"); el objeto c ontrolport se crea con un parámetro que especifica el puerto que se está utilizando ( touchboard 0 gpio en el ejemplo anterior) el parámetro de puerto puede ser uno de los siguientes brightsign especifica el conector gpio integrado (incluido el botón svc (gpio12)) expander gpio especifica el conector db 25 en el brightsign expansion module si no hay un módulo brightsign expansion conectado, la creación del objeto fallará y se devolverá invalid expansor \<n> gpio especifica un dispositivo usb to gpio https //www brightsign biz/digital signage products/accessories/usb c cables conectado al reproductor se pueden controlar varios dispositivos usb to gpio utilizando instancias separadas de rocontrolport el primer dispositivo corresponde a "expander 0 gpio" , el segundo a "expander 1 gpio" , etc expander dip especifica los ocho interruptores dip en el brightsign expansion module si no hay un módulo brightsign expansion conectado, la creación del objeto fallará y se devolverá inválido tenga en cuenta que no se admite la conexión en caliente del brightsign expansion module touchboard \<n> gpio recupera eventos de la placa de botones bp200/bp900 especificada los eventos se gestionan de la misma manera que los eventos del puerto brightsign touchboard \<n> led setup configura varias opciones de salida led para la placa de botones bp200/bp900 especificada touchboard \<n> led configura los bits para cada botón en la placa de botones bp200/bp900 especificada los bits indican si el led asociado debe estar encendido o apagado dado que varias placas de botones bp200/bp900 pueden conectarse a un reproductor simultáneamente, el valor \<n> especifica la enumeración de puerto de cada placa el orden de varias placas conectadas depende del orden en que aparecen en la estructura de datos devuelta por rodeviceinfo getusbtopology() docid\ yudjoipuduw rc3fyb zz un valor de enumeración no especificado es sinónimo de una placa de botones con un valor de enumeración de 0 (por ejemplo, touchboard gpio y touchboard 0 gpio son idénticos) controlport setoutputvalue() bool setoutputvalue(unsigned param) especifica el estado deseado de todas las salidas conectadas al puerto de control como bits en un entero setoutputvalues() bool setoutputvalues(unsigned p1, unsigned p2, unsigned p3, unsigned p4) configura botones en una placa de botones bp200/bp900 este método solo puede utilizarse cuando el objeto c ontrolport se instancia con el parámetro touchboard \<n> led setup o touchboard \<n> led consulte configuración de bp200/bp900 docid jdqhtyue7bpjpvhzg95q para obtener más detalles los parámetros son valores enteros setpinvalue() bool setpinvalue(unsigned pin, unsigned param) devuelve un bool y configura uno de los siguientes la salida del botón gpio especificado y el valor (0 o 1) si el botón no está configurado como salida, el nivel resultante es indefinido por ejemplo, setpinvalue(0,1), setpinvalue(1,1), setpinvalue(2,1), setpinvalue(3,1) etc el comportamiento de salida del led en placas de botones bp200/bp900 docid jdqhtyue7bpjpvhzg95q en este caso, el desplazamiento es el valor del pin y la máscara de bits es el parámetro unsigned bool getpinvalue() devuelve verdadero si el pin de entrada especificado está activo (bajo) devuelve falso si el pin está inactivo (no conectado o alto) bool configureasinput() bool configureasinput(unsigned pin) marca el botón especificado como una entrada si se pasa un número de botón no válido, falso será devuelto si la operación se realiza correctamente, la función devuelve verdadero los botones de entrada están en estado tri state y pueden ser controlados externamente en alto o en bajo bool configureasoutput() bool configureasoutput(unsigned pin) marca el botón especificado como una salida si se pasa un número de botón no válido, falso será devuelto si la operación se realiza correctamente, la función devuelve verdadero la salida se establecerá en alto o en bajo según el estado de salida actual del pin consulte la sección hardware interfaces para su reproductor en el espacio hardware docid\ uyyjyej6qojy1hksbrlpu para obtener una tabla de pines y botones correspondientes para el conector gpio integrado close() void close() cierra la instancia de c ontrolport eventos use agregareventlistener docid\ pqiipi27tfco3zuvjmnyx para escuchar controldown, controlup y controlevent, que se definen de la siguiente manera controldown indica que un botón/puerto ha sido presionado controlup indica que un botón/puerto ha sido liberado controlevent es un evento que entrega cambios de estado de entrada que pueden no clasificarse como down o up (por ejemplo, el cambio sin procesar del estado de un pin o un evento de botón de hardware que no se asigna claramente a una pulsación simple) ejemplo este script de ejemplo configura un bp900 para que “parpadee” apagando cada led de botón en un punto diferente del ciclo const control port class = require('@brightsign/legacy/controlport'); const led = new control port class("touchboard 0 led"); const led setup = new control port class("touchboard 0 led setup"); led setup setpinvalue(0, 0x000b00a0); led setpinvalue(0, 0x07fe); led setpinvalue(1, 0x07fd); led setpinvalue(2, 0x07fb); led setpinvalue(3, 0x07f7); led setpinvalue(4, 0x07ef); led setpinvalue(5, 0x07df); led setpinvalue(6, 0x07bf); led setpinvalue(7, 0x077f); led setpinvalue(8, 0x06ff); led setpinvalue(9, 0x05ff); led setpinvalue(10, 0x03ff);