El Martes fue bastante frustrante: aún no conseguíamos que funcionase el ADC. Estuvimos 1h y media con nuestro tutor intentando solucionar el problema ( siempre leía el valor FFF7FFFF).
Después de no conseguir nada en toda la mañana Álvaro nos recomendo centrarnos en lo demás y el buscaría el problema del ADC.
El Jueves nos centramos en las interrupciones y los LEDs.
-En cuanto a las interrupciones, tuvimos que "buscar teoría" en internet ya que nosotros no tenemos ninguna experiencia con previa con drivers. Después de un rato conseguimos más o menos entender como funcionaba el manejador de interrupciones: es una forma de "instalar" una fuente de interrupción, hacer que el sistema sea sensible a ella y definir una rutina de atención.
Aún así nos quedaron algunas dudas.
-En cuanto a los LEDs, estuvimos mirando los diversos manuales y no acabábamos de comprender del todo como funcionaba el interfaz de entrada/salida.
Por un lado hay registros del EP9301 (chip) y por otro lado de la TS7400 (la placa). Al parecer había varios registros que tocaban las mismas cosas. Como no lo teníamos muy claro lo que hicimos fue programar el driver usando los registros del EP9301.
El objetivo básicamente era implementar una función de usuario "enciendeLeds( int banda, int nivel)" que encendiese los leds correspondientes a esa banda y ese nivel(utilizando el driver correspondiente).
Estuvimos un buen rato pensando como pasarle la banda de ganancia y el nivel de energía al driver desde la aplicación de usuario. Finalmente conseguimos terminar el driver aun que aún no sabíamos si habíamos usado los registros correctos.
El viernes descubrimos que debíamos usar los registros de la TS7400 para entrada/salida. Tuvimos que modificar el driver e investigar acerca de la función "write(...)" ya que nos daba un error al ejecutarla.
También estuvimos pensando como conectar el hardware con la matriz de LEDs, ya que todos los pines de la placa están muy juntos y además hay una pequeña placa para facilitar la conexión con el ordenador que los tapa (como se puede apreciar en la foto de la placa que subimos hace unas semanas).
Ideamos una forma utilizando una "placa auxiliar" para sacar las lineas, aún que todavia no la hemos implementado.
En cuanto a las interrupciones, conseguimos solucionar las dudas que teníamos y hemos terminado el driver en casa.
Vamos bastante retrasados así que este martes esperamos que funcionen las interrupciones y que no nos lleve mucho tiempo conectar la matriz de LEDs con el sistema que hemos ideado.
Respecto al ADC, Álvaro nos ha dicho que ha encontrado el problema así que esperamos hacer que funcione también.
Un esquema general:
+14.18.47.png)
No hay comentarios:
Publicar un comentario