Share via


Confidencial de WindowsUn joystick no tiene que ser un microondas

Raymond Chen

Leí hace bastante poco la entrada de un blog de un compañero, Audio Fool, y me recordó un error que cometí hace muchos años y que ha continuado molestándome. Cuando se desarrollaba la interfaz del joystick con fuerza de respuesta DirectInput®, se invitó a los fabricantes de joysticks a las oficinas de Microsoft en Redmond, WA, para tratar los detalles de la interfaz propuesta y ofrecer alguna contribución propia.

Se resolvieron muchos asuntos durante las reuniones, pero el que se ha quedado en mi memoria fue un desacuerdo sobre si las fuerzas periódicas deberían expresarse como período o como frecuencia. Uno de los proveedores presentes estaba muy alterado porque su compañía ya había desarrollado un controlador que especificaba sus fuerzas periódicas en términos de frecuencia y no quería cambiarlo. Teniendo en cuenta que era una reunión para pulir los detalles de una nueva interfaz, ¿cómo podía un proveedor esperar salir de la reunión sin tener que hacer ningún cambio a su controlador?

Pero este proveedor se quejó tanto que finalmente cedimos y aceptamos usar la frecuencia en lugar del periodo para especificar la tasa de fuerzas periódicas. A fin de cuentas, daba igual de cualquiera de las dos formas. Una fuerza con una frecuencia de 10 oscilaciones por segundo es igual que una fuerza con un período de una décima de segundo. El período y la frecuencia son inversos el uno del otro.

Perdón, esto no es exactamente cierto. El período se expresó en milisegundos, lo que da un intervalo dinámico de 1 ms en un espectro de 50 días. Un período de 50 días es imperceptible en un calendario humano y un período de 1 ms es tan rápido que incluso ni se registra como un fenómeno periódico, en lugar de esto se percibe como un tono musical.

Por otro lado, la frecuencia se expresó en hertzios, lo que da un intervalo dinámico de 1 Hz a 4 mil millones de ciclos por segundo. ¿Piensa que es extraño reproducir música con su joystick? Imagínese fuerzas que generan ese intervalo en la banda de frecuencia de microonda.

El problema es que la potencia expresiva prácticamente inútil en el nivel superior del intervalo de frecuencia se producía a costa del valor más bajo. Resulta que los simuladores de vuelo son grandes seguidores de las fuerzas periódicas con periodos relativamente largos. Desconozco la física detrás de esto, pero me han dicho que uno de los efectos que tienen que controlar los pilotos es una fuerza periódica lenta en la barra de control en el orden de unos pocos minutos. El avión tiene una tendencia natural a viajar en una onda vertical de seno aritmético muy lenta y los pilotos tienen que tomar acciones para contrarrestar esta tendencia con el objeto de mantener el vuelo nivelado. Si la tasa de la fuerza se expresara por su período, el programa simulador de vuelo podría especificar un período de 120.000 milisegundos. Expresada en frecuencia, sin embargo, esto equivale a 0,0083 hertzios, lo cual es mucho más lento que la frecuencia más lenta que se puede expresar en la interfaz del controlador, a saber, 1 Hz. Por lo tanto, la fuerza más lenta que puede solicitar un simulador de vuelo es una que se repite cada segundo, que es todavía bastante rápido en relación al efecto físico que el simulador de vuelo desea imitar.

Como este problema no me ha abandonado después de todos estos años, recientemente consulté la documentación de la realimentación de fuerza. Para mi sorpresa, parece que la estructura DIPERIODIC usa el período en vez de la frecuencia para expresar efectos periódicos. (Y para una mejor medición, usa los microsegundos, lo cual implica que ahora puede reproducir música o pilotar un avión). O bien se corrigió el error o bien con los años mi memoria me está jugando malas pasadas. De cualquier forma, no tengo que preocuparme por este error nunca más, si es que realmente sucedió alguna vez.

Raymond Chen The Old New Thing, y en su libro homónimo (Addison-Wesley, 2007) se trata la historia de Windows y la programación de Win32. Ese color le queda bastante bien.

© 2008 Microsoft Corporation and CMP Media, LLC. Reservados todos los derechos; queda prohibida la reproducción parcial o total sin previa autorización.