9/17/2017

MSP-EXP430F5529 & CCS: Generar array de una imagen con Bitmap2LCDv1.9


Siguiendo con los ejemplos básicos y utilizando nuestra tarjeta MSP-EXP430F5529, tocara el turno de usar la LCD de 102x64 pixeles que viene incluida en esta, para ello lo primero que mostraremos sera nuestro logo (como se aprecia en la imagen anterior), así que esto lo dividiremos en dos partes, esta primera parte la dedicaremos a explicar como obtendremos nuestro array usando el programa Bitmap2LCD.

Lo primero que debemos de tener, es nuestra imagen en un formato de mapa de bits, yo hice una exactamente con las dimensiones de mi LCD (como se muestra en la siguiente imagen), podríamos crear una bit a bit desde el software que utilizaremos para crear el array pero eso seria muy tardado.


Lo siguiente seria tener instalado el Bitmap2LCD (yo lo he descargado desde aquí), una vez que lo tengan ejecutamos y nos saldrá algo parecido a esto:


Bueno primero realizaremos unos ajustes para que nos de el resultado que deseamos, entonces nos vamos a LCD matrix >>Define size.


Una vez hecho esto nos aparecerá la siguiente ventana, en la modificaremos ciertos valores.


Podemos modificar varios valores, pero los que ami me interesa los he encerrado en óvalos.

  • Rojo: Ahí colocaremos las medidas de nuestra LCD (102x64 pixeles para nuestro caso)
  • Azul: es para tener 8 constantes por linea, simplemente para estética de nuestro código.
  • Se puede cambiar mas pero recomiendo dejarlos como los valores predeterminados, una vez hecho esto damos en Hide window y listo.
Lo siguiente es ir al la ventalla llamada File explorer, ahí buscaremos la ruta donde tenemos guardada nuestra imagen, seleccionada la imagen que usaremos le damos doble clic (numero 4).


Hecho eso nos abrirá la siguiente pantalla, si es necesario ajutamos hasta obtener una imagen adecuada (numero 1), cuanto este a nuestro gusto damos enter, el icono encerrado en el numero dos es para editar bit a bit la imagen, una vez listo pulsamos el icono numero 3, para exportar la imagen al array.


Una vez hecho clic te pedirá una confirmación para lo que debes seleccionar YES.


Si te muestra la ventana de sobrescribir el archivo, recomiendo darle no, ya que nosotros solo copiaremos el codigo y lo pondremos en muestro proyecto y no usaremos el archivo que te generara el programa.


Hasta aquí todo va bien y creo yo sin problema alguno, lo siguiente sera copiar el contenido dentro de los paréntesis (sera el array de nuestra imagen) y abrir nuestro proyecto en el code composer studio.


Hecho esto creamos nuestra constante en el archivo main del proyecto (static const uint8_t mrchunckueeLogo[] = { }), y dentro de las llaves sera donde peguemos lo que copiamos del Bitmap2LCD.


Notaran que se ha agregado dos valores mas, mrchunckueeLogo[0] = 0x66 y mrchunckueeLogo[1] = 0x08, a que se debe o ¿cual es la razón?, bueno es por que utilizaremos la librería "HAL_Dogs102x6" de TI, concretamente utilizaremos la función Dogs102x6_imageDraw() para mostrar la imagen en pantalla, así que dándole  una checada a dicha función vemos que dice "The first two bytes of the image should contain the width in pixels and the height in rows (height in rows = height in pixels/8)", osea que si nuestra imagen tiene 102px = 0x66 en hexadecimal y para 64px/8 = 0x08 hexadecimal (espero que se comprenda).


Bueno esto sera todo por el momento, en nuestro siguiente post mostraremos esto ya en practica en el code composer studio, esto solo fue para tener lo necesario para la siguiente practica.

Aquí el enlace para DESCARGAR los archivos disponibles sobre las publicaciones de la MSP_EXP430F5529 Experimental Board, desde mi repositorio en GitHub, si no sabes como descargarlo puedes checar aquí, bueno por el momento es todo si tienes dudas, comentarios, sugerencias, inquietudes, traumas, etc. dejarlas y tratare de responder lo mas pronto posible.


Referencias:

0 comentarios:

Publicar un comentario