Para capturar los datos gráficos utilizo el mismo montaje con un firmware distinto cuya misión es capturar los datos, interpretarlos y enviar el resultado por el puerto serie al programa terminal en el PC.
Y a continuación se puede ver el resultado de la primera captura.
----------------------------------------- >>>> Peugeot Type C display data capture. ----------------------------------------- Count ---------------> 5122 ------------------------------------------------------------------------------------- ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| * ********************| ** ********************| *** ********************| *** ********************| ***************** ********************| ***************** ********************| ***************** ********************| ********************| *** *** ********************| **** **** ********************| ***** ***** ********************| **** ****** ********************| *** ******* ********************| *** **** *** ********************| *** **** *** ********************| **** **** *** ********************| ********* *** ********************| ******* *** ********************| **** *** ********************| ********************| ********************| ********************| ********************| ********************| ********************| *** *** ********************| *** *** ********************| *** *** ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********* ********************| ************* ********************| *************** ********************| *** *** ********************| *** *** ********************| *** *** ********************| *** *** ********************| *** *** ********************| *** *** ********************| *************** ********************| ************* ********************| ********* ********************| ********************| ********* ********************| ************* ********************| *************** ********************| *** *** ********************| *** *** ********************| *** *** ********************| *** *** ********************| *** *** ********************| *** *** ********************| *************** ********************| ************* ********************| ********* ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ********************| ************* *********************************************** ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * * ********************| * ******** ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ******** ********************| * * * * ********************| * * * * ********************| * * * ********************| * ********************| * ****** ********************| * * ********************| * * ********************| * * ********************| * ******** ***** ********************| * * ********************| * * **** ********************| * * * * * ********************| * * * * ********************| * ***** * * * ********************| * * ** * ********************| * * ********************| * * ****** ********************| * ****** * ********************| * * ********************| * ****** * ********************| * * * ********************| * * ********************| * * **** ********************| * ***** * * ********************| * * * ********************| * **** * * ********************| * * * * **** ********************| * * * * ********************| * * * * ********************| * ** * ********************| * ********************| * * * ********************| * * * * ********************| * * * * * ** ********************| * * * * * * * ********************| * ** * * * ********************| * * * * ********************| * ** * ********************| * ********************| * ****** ********************| * * * ********************| * * * ********************| * * * ********************| * ****** ********************| * ********************| * ****** ********************| * * * ********************| * * * ********************| * * * ********************| * ****** ********************| * ********************| * * ********************| * * *** ********************| * * * ********************| * * * ********************| * *** ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| ** * ********************| ** * ********************| ** * ********************| ** * ********************| ** * ********************| * ********************| *** **** * ********************| ********** * ********************| ** ** ** * ********************| ** ** ** * ********************| ** ** ** * ********************| ********** * ********************| *** **** * ********************| * ********************| * ********************| ** *** * ********************| * * * * * ********************| * * * * * ********************| ** * * * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| * ********************| ************************************************************************************| ************************************************************************************| ************************************************************************************| ************************************************************************ |
El firmware captura los datos gráficos entre el microcontrolador y el controlador gráfico. Los almacena en un buffer, a continuación los interpreta y por cada punto de la imagen en el LCD envía un carácter de texto al puerto serie (en este caso el asterisco).
De la misma forma capturo distintas pantallas y una cosa curiosa que observé es que, a pesar de que el controlador gráfico se configura para trabajar en una escala de grises de cuatro niveles (2 bits), nunca se muestran los datos en el LCD con distintos tonos. Siempre se muestran los puntos encendidos o apagados, es decir, en monocromo.
Con un sencillo script en Python reorganicé los datos que tenía grabados en distintos archivos, cambié el carácter gráfico utilizado para los puntos y ahí tenemos las distintas capturas que demuestran que ya sabemos cómo interpretar esos datos.
Las franjas negras de las capturas son los datos grabados en las zonas de la memoria gráfica que se quedan fuera del área visible del LCD.
Ahora que ya tenemos toda la información necesaria es el momento de buscar un display que pueda sustituir al original e implementar el firmware que haga de puente entre el bus de datos y control de los dos displays.
Eso es tarea para la parte 5.
0 comentarios:
Publicar un comentario