Entradas

Mostrando entradas de agosto, 2007

Haiku

Imagen
Hoy voy a dar a conocer este gran proyecto, que aunque no soy colaborador de el, he estado muy metido en el tema y quiero compartir mis conocimientos :) Haiku es una reimplementación partiendo desde 0 de un sistema operativo llamado BeOS. Sin entrar demasiado en rodeos, corrian los años 90 cuando un grupo de ingenieros de Mac abandonaban sus instalaciones para fundar una compañia de software: Be Inc. Este atrevido grupo de ingenieros dieron luz a un sistema operativo muy moderno que haria correr los rumores. No reaprobechaba ni núcleos ya existentes ni servidores gráficos, a lo cual muchos hoy dia siguen tachando de una estupidez, pero los resultados hablaban por si mismos.BeOS no solo soportaba threads, sino que hacia uso intensivo de ellos, las aplicaciones se rompian facilmente en 4 o 5 hilos, los servicios del sistema e incluso el mismo núcleo trabajaba con múltiples hilos. Antaño no existian procesadores multicore, en su lugar existian placas multiprocesador lo cual es en esencia

Valley Of The Wind

Imagen
El valle del viento (en adelante VOTW) es el nombre de otro de mis proyéctos en los que llevo ya tiempo trabajando. El nombre se lo puse en honor al mítico film y manga : Nausicaa del valle del viento ( Kaze no tani no Naushika ) El film quizás es prescindible pero el manga no dejo de recomendarlo para otakus y no tan otakus. Bueno, sin irse mas por las ramas, votw es un trazador de rayos que comencé después de implementar un primitivo trazador para una asignatura de clase. Aunque sea una definición pobre, un trazador de rayos sintetiza escenas realistas tratando de simular el comportamiento de la luz y su intereracción con los objetos. Uno de los mayores problemas en el trazado de rayos es que el computo es muy elevado y es imprescindible un código eficiente y emplear grafos de escena para reducir el computo. Como efectos básicos implemento texturas, bump mapping y sombras arrojadas. Para mejorar el realismo primero probe con tecnicas de sombreado estocástico, como Ambient Occlusion.

Funciona!!!

Bueno, tal y como adelantaba ayer, esta mañana he sustituido el L293 por el mas potente L298. El resultado ha sido mejor del que me imaginaba, la verdad aunque hemos tenido un lapsus de última hora. La señal PWM mueve los coches sensacionalmente, y eso que aún no está del todo ajustada. Al usar el puerto paralelo para comunicarme con el PIC, dispongo de 8 bits para especificar la velocidad en dos pistas, con lo que nos quedamos con 4 bits por pista, osea, 16 posibles niveles de PWM. Como yo en su dia, supongo que pensareis: "solo 16 velocidades?? Vaya patraña!!" Aunque conozco la manera de sacar hasta 64 niveles... con 16 ni se nota, ni saltos ni escalones, una conducción suave con un dualshock de ps2. Como todo no iba a ser perfecto, algo ha fallado en el L298 y ha empezado a dejar pasar corriente destrozando nuestras ilusiones :( No se, creo que no he tomado las suficientes protecciones a la hora de proteger el integrado y me lo he cargado. Es lo que tiene la ignorancia :D

Scalextric pseudo-digital casi funcionando!!!

Imagen
Pues no, no habia desaparecido, he estado trabajando en el scalextric pseudo-digital, que me ha dado mas problemas de los que esperaba, la mayoria de ellos debido a mi inexperiencia programando PICS y a mis escasos conocimientos de electrónica. El caso es que tras varios dias con resultados nulos, al borde de abandonar el proyecto, y justo anoche conseguí que el pic generara un PWM. Por cierto... que sufrido se hacen estas cosas sin un osciloscópio. Y el caso es que la comunicación PIC-PC no estaba funcionando bien debido a un mal diseño del hardware (a grandes rasgos...que habia metido la pata). Esta mañana soldador en mano le he dado solución. Me he construido un pequeño vehículo con Lego y a probar. Como es costumbre en informáticos atrapados, me he puesto a dar brincos por toda la buhardilla dejandome llevar por la emoción. Como todo no iba a ser perfecto, al usar un L293 como etapa de potencia, al montar una pista de scalextric para hacer una prueba, iba algo lento. Como se dice n