Interesante
Sensor de Movimiento PowerBook G4
Escrito por J. Llorente
Un buen artículo de Juan de Dios Santander (original)escrito en su bitácora de faq-mac que recupero aquí porque creo merece mucho la pena leerlo.
Hace unos días me encontré con este artículo en kernelthread, una web de Amit Singh dedicada a muchos sistemas operativos, y especialmente al MacOS X. Es muy interesante, y tenía pensado escribir un articulillo sobre eso. Recientemente, Wired ha sacado una historia sobre lo que ha pasado con el descubrimiento de Amit, así que no tengo más remedio que contarlo ya ;-)
El sensor de movimiento que Apple ha incluido en los nuevos PowerBook [y desde el 26/7/2005, también en los iBook] determina si existe una aceleración excesiva en cualquier dirección, y en ese caso supone que se trata de un movimiento excesivamente brusco, de modo que da la orden de que se aparquen las cabezas del disco duro para evitar que choquen contra la zona de datos, produciéndose posibles pérdidas de información. Una vez que detecta que no hay aceleraciones, procede a desbloquear el disco.
Se podría haber preparado un mecanismo independiente del sistema operativo, que hubiera metido la máquina en un modo de reposo —que siempre produce el apagado del disco duro—, pero Apple ha decidido que sea el Mac OS X quien controle la entrada de los sensores, y de las pertinentes órdenes a los dispositivos. Esto tiene la ventaja de que el sistema operativo está a cargo de las operaciones en todo momento, y otros programas pueden leer la salida del sensor.
Eso es lo que ha permitido a Amit entender un poco mejor cómo funciona el sensor, y sobre todo, utilizarlo para cosas para las que no estaba previstas.
Posición y aceleración
A ver, un poquito de repaso de física de secundaria: la velocidad es la variación en el tiempo de la posición, y la aceleración es la variación en el tiempo de la velocidad. Si no hay variación de la posición, no hay variación de la velocidad, y por tanto, no hay aceleración. Pero si hacemos un cambio de posición a velocidad constante, tampoco tendremos aceleración.
Un movimiento es acelerado cuando hay una fuerza constante actuando sobre él, como por ejemplo la gravedad. Así que la caída de un objeto es un movimiento acelerado. Esta ilustración —obtenida de este artículo— lo ejemplifica muy bien:

Podemos ver cómo para instantes de tiempo iguales, la distancia recorrida por la pelota es cada vez mayor, porque se trata de un movimiento acelerado debido a la fuerza de la gravedad.
Dicho de otro modo: puedo calcular una aproximación de la aceleración si mido cómo varía la diferencia entre la posición de un cuerpo cada cierto tiempo. Y esto es lo que hace el sensor de movimiento de Apple.
Apple Motion Sensor
AMS —se supone que Apple Motion Sensor, sensor de movimiento de Apple— es el nombre de la extensión de kernel —archivo .kext— que se encarga de comunicar el Mac OS X con el auténtico sensor. Lo que se obtiene delAMS es una tripleta de valores, {x, y, z}, que responden a desplazamientos en los ejes que se dibujan —imagen del artículo de kernelthread—.

Eso significa que:
- Si imaginamos un eje contenido en el plano del teclado, y perpendicular a la barra espaciadora, x positivo si el lado izquierdo queda por debajo de ese eje, y negativo en caso contrario
- Si imaginamos un eje contenido en el plano del teclado, y paralelo a la bisagra, y es positivo si levantamos el lado del cierre por encima de ese eje, y negativo en caso contrario
- El valor z siempre es negativo, y crece con la aceleración hacia abajo
Está claro que si leemos esos sensores, podemos jugar al Marble Madness sin más que tener en vilo nuestro flamante portátil. Pero en Mac OS Xpodemos hacer más…
Quartz, te presento a AMS
Lo realmente interesante es que Quartz es un motor de composición de imágenes vectorial. Esto significa que cualquier cosa que se presenta en pantalla puede ser rotada, ampliada, etcétera, en 2D, o incluso en 3D con ayuda de OpenGL. Y así, es posible hacer que una ventana se mantenga horizontal respecto al suelo, aunque estemos con el ordenador girado… ¡e incluso hacer clic en sus elementos!
Otros usos que podrían programarse serían los de hacer scroll inclinando el ordenador, algo especialmente útil cuando tienes un portátil en tu regazo ;-)
Para ser honestos, cuando salga Avalon se podrá hacer lo mismo en Windows XP, o incluso en LonghornWindows Vista… eso sí, utilizando un simulador de AMS con el ratón, por ejemplo ;-) Pero entonces, hacer clic en las cosas será realmente difícil ;-)
Interioridades del Mac OS X
El propósito de Amit con los ejemplos que plantea es mostrar cómo funciona el Mac OS X, en este caso el acceso a bajo nivel —extensiones del sistema—, y las posibilidades de Quartz, y cuando salga el libro dispondremos del código fuente de todos sus ejemplos. Así que seguro que será un libro más que interesante...
powerbook ams osx cursos mac linux macintosh apple wireless wifi hacks redes kernel debian ubuntu ibook manuales imac >>
Agregue su comentario
Facebook conecta
Sitios Amigos
InfoMet
Total visitas







Quien está en linea
Conectan
Nos visitan desde







Puedes seguirme en twitter, fuente de información instantánea, actualiza tus conocimientos y los de los demás.
Puedes compartir en facebook tu experiencia, sígueme en facebook con tus amigos
Más de 65 millones de profesionales utilizan LinkedIn para intercambiar información, ideas y oportunidades