Una cabeza cuelga del peine. Tiene mal la dirección. Está a doce metros de altura, la escalera está al otro lado de la sala y el pase es dentro de cuarenta minutos.
Para exactamente esta situación se inventó el RDM.
281 billones de direcciones, búsqueda binaria por colisiones y por qué en un USB barato el RDM no funcionará nunca — un recorrido por la mecánica del DMX bidireccional.
Una cabeza cuelga del peine. Tiene mal la dirección. Está a doce metros de altura, la escalera está al otro lado de la sala y el pase es dentro de cuarenta minutos.
Para exactamente esta situación se inventó el RDM.
RDM (norma ANSI E1.20) añade un canal de vuelta a DMX512 sin cambiar ni el cable ni los conectores. El truco es que la línea sigue siendo semidúplex: en cada momento habla exactamente uno.
El controlador envía un paquete marcado como RDM (otro código de arranque), lo dirige a un aparato concreto y se calla, liberando el bus. El aparato responde en esa ventana — unos milisegundos en total — y luego el controlador vuelve a emitir DMX normal.
De ahí salen dos consecuencias prácticas.
Primera: durante el intercambio el DMX se pausa. Si no, la siguiente trama cortaría la ventana en la que responde el aparato. En escena no se nota — los aparatos mantienen el último valor recibido y no se van a ningún sitio — pero interrogar la línea en mitad de un número sigue siendo mala idea.
Segunda: el RDM es mucho más exigente con la calidad de la línea que el DMX de un sentido. Emitir perdona los rebotes: mandas lo mismo cuarenta veces por segundo y una trama corrupta simplemente desaparece. La respuesta del aparato llega una vez, y si se la comió un rebote del extremo sin terminar, ese aparato no existe para ti. El terminador al final de la línea es obligatorio con RDM, no «recomendable, como enseñaban en la escuela».
Cada aparato RDM tiene un UID: un identificador de 48 bits — 16 bits de fabricante y 32 de dispositivo. Son 2⁴⁸ ≈ 281 billones de combinaciones (de los billones largos, 10¹²).
El controlador no sabe de antemano qué cuelga de la línea. No puede pedir «que se presenten todos»: los aparatos responderían a la vez, sus señales se sumarían en el par compartido y el controlador recibiría basura.
Recorrer 281 billones de direcciones tampoco es opción, evidentemente.
La norma lo resuelve con elegancia. El controlador no pregunta «quién eres» sino «¿hay alguien en el rango de UID de A a B?», y escucha qué pasa.
Hay exactamente tres resultados:
Búsqueda binaria clásica: cada paso reduce el espacio a la mitad y a un aparato concreto se llega en 48 pasos como mucho, no en billones. Silencias lo encontrado, repites, y así hasta que toda la línea calla.
El detalle sobre el que se sostiene todo: el silencio y la colisión tienen que distinguirse. Si una implementación confunde «no hay nadie» con «respondieron tres», la búsqueda o se deja la mitad de los aparatos o entra en bucle. Tenemos pruebas dedicadas a esto sobre una línea virtual donde las colisiones se falsifican a propósito, porque en hardware real ese fallo aparece en el momento más inoportuno.
La respuesta a una pregunta general está hecha, por cierto, con redundancia: los bytes viajan por pares con inversión más una suma de comprobación, para que el receptor distinga una respuesta corrupta de la de otro. Es la norma peleando para que una colisión parezca honestamente una colisión.
Aquí toca decir algo desagradable sobre las interfaces de veinte euros.
El USB-DMX viene en dos razas. Open DMX es literalmente un USB-UART (chips FT232, CH340, CP210x) más un transceptor RS-485. Los tiempos de la trama, BREAK incluido, los genera el propio ordenador moviendo la línea a través del driver. Receptor no hay: el dispositivo sólo sabe transmitir.
Enttec Pro y compatibles son un microcontrolador que recibe del ordenador «aquí tienes una trama, envíala» y forma los tiempos él mismo. Y sabe escuchar la línea, devolviendo lo recibido por USB.
El RDM exige recibir respuestas en una ventana de milisegundos. En Open DMX no hay con qué recibir: no es que «funcione mal», es que físicamente no hay. Ningún firmware, ningún driver y ninguna versión del programa lo cambiarán.
Por eso Flux Lights en modo Open DMX dice claramente que el RDM no está disponible, en vez de fingir que interroga la línea.
Si el RDM te importa, míralo al comprar. La diferencia de precio se amortiza en el primer montaje en que no tuviste que subir a la truss.
Hay una segunda vía donde nada de lo anterior te concierne.
Un nodo Art-Net sabe hacer RDM en sus propias salidas. Ya recorrió su línea, ya hizo la búsqueda binaria y tiene una tabla de aparatos lista. A la consola sólo le queda pedirla.
No hace falta búsqueda binaria y no hay motivo para pausar el DMX: la línea la gobierna el nodo, no nosotros. Un detalle: antes de pedir la tabla hay que pedir que se refresque, o llegará la anterior, donde los aparatos ya desconectados siguen figurando como vivos.
Así que con un montaje en red el RDM sale casi gratis: la única pregunta es si tu nodo lo soporta.
El descubrimiento da modelo, fabricante, canales ocupados y dirección actual. Después:
Cambiar la dirección desde la consola. El escenario del principio.
Identify — el aparato empieza a parpadear. Insustituible cuando en el patch hay doce cabezas iguales y hay que saber cuál es la tercera.
Personality — el modo del aparato. La misma cabeza puede ocupar 14 canales en modo básico y 32 en extendido; también se cambia en remoto.
Sensores — temperatura, tensión, horas de funcionamiento. Se leen a demanda y no con interrogación constante: tener la línea ocupada por un termómetro es un intercambio dudoso. Pero repasar temperaturas antes de la entrega y encontrar la cabeza que va diez grados más caliente que sus vecinas es una buena costumbre.