Arduino UNO R4 - Módulo de pantalla TFT LCD circular de 1,28 pulgadas

¿Listo para dar vida a tu proyecto con Arduino UNO R4 mediante visuales dinámicas? En este tutorial, te mostraremos cómo usar un Arduino UNO R4 con un módulo de pantalla TFT LCD circular de 1,28 pulgadas con controlador GC9A01 para crear pantallas visuales atractivas. Este TFT circular es ideal para relojes inteligentes, medidores y interfaces compactas.

Aprenderás cómo:

Arduino UNO R4 Pantalla TFT LCD circular de 1,28 pulgadas

Para facilitar el aprendizaje, hemos incluido ejemplos de sketches de Arduino UNO R4:

Acerca del módulo de pantalla TFT LCD circular de 1,28 pulgadas

El módulo de pantalla TFT LCD circular de 1,28 pulgadas es compacto, colorido y está diseñado para una salida visual dinámica en aplicaciones circulares. Está alimentado por el controlador GC9A01 y funciona sin problemas con la biblioteca DIYables_TFT_Round en Arduino UNO R4.

  • Pantalla: 1,28 pulgadas IPS TFT LCD, de forma circular
  • Resolución: 240x240 píxeles (rejilla cuadrada, área de visualización circular)
  • IC de control: GC9A01
  • Interfaz: SPI de 4 hilos para comunicación de alta velocidad
  • Colores: 65K RGB (formato RGB565)
  • Aplicaciones: relojes inteligentes, relojes, medidores, interfaces de usuario personalizadas
  • Biblioteca: Soporta la biblioteca DIYables_TFT_Round para mostrar texto, imágenes y gráficos con Arduino UNO R4

Diagrama de pines

El módulo de pantalla TFT LCD redonda de 1,28 pulgadas con el controlador GC9A01 tiene siete pines:

  • VCC: Conectar a la alimentación de 3.3 V o 5 V
  • GND: Conectar a tierra (0 V)
  • CS: Pin de selección de chip para activar la pantalla
  • DC: Selector de datos/comandos (LOW = comando, HIGH = datos)
  • SDA: Línea de datos SPI (MOSI)
  • SCL: Línea de reloj SPI
  • RST: Reinicia el módulo de la pantalla
Pinout del TFT LCD circular de 1,28 pulgadas

Diagrama de Cableado

El diagrama de cableado siguiente muestra cómo conectar el módulo de pantalla TFT LCD circular de 1,28 pulgadas al Arduino UNO R4.

Diagrama de cableado de la pantalla LCD TFT circular de 1,28 pulgadas para Arduino UNO R4

This image is created using Fritzing. Click to enlarge image

Ver La mejor forma de alimentar Arduino Uno R4 y otros componentes.

TFT LCD Pin Arduino UNO R4 Description
VCC 5V Power supply (3.3V or 5V)
GND GND Ground
SCL D13 SPI Clock
SDA D11 SPI MOSI
DC D9 Data/Command
CS D10 Chip Select
RST D8 Reset (optional)

Código Arduino UNO R4

Los siguientes sketches de Arduino UNO R4 están incluidos en este tutorial para demostrar las características clave del módulo de pantalla LCD TFT circular de 1,28 pulgadas. Cada uno incluye el código completo y las instrucciones paso a paso:

  • DrawImage.ino – Muestra una imagen bitmap desde la memoria flash de Arduino UNO R4.
  • DrawImageSDcard.ino – Carga y muestra una imagen desde una tarjeta SD.
  • DrawShapes.ino – Utiliza código de Arduino UNO R4 para dibujar figuras geométricas.
  • ShowTextAndNumber.ino – Muestra texto y números con diferentes estilos.
  • UseExternalFont.ino – Renderiza fuentes externas para texto avanzado.
  • ClockWatch.ino – Dibuja un reloj analógico y digital con actualizaciones suaves.

¡Vamos a explorar uno por uno!

Código Arduino UNO R4 - Mostrar texto, número entero y número flotante en pantalla TFT LCD redonda de 1,28 pulgadas

Este ejemplo ilustra el procedimiento para mostrar texto y datos numéricos en el módulo de pantalla TFT LCD circular de 1,28 pulgadas mediante la utilización de la biblioteca DIYables_TFT_Round.

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-round-circular-tft-lcd-display */ #include <DIYables_TFT_Round.h> #define RED DIYables_TFT::colorRGB(255, 0, 0) #define BLUE DIYables_TFT::colorRGB(0, 0, 255) #define WHITE DIYables_TFT::colorRGB(255, 255, 255) #define PIN_RST 8 // The Arduino Uno R4 pin connected to the RST pin of the circular TFT display #define PIN_DC 9 // The Arduino Uno R4 pin connected to the DC pin of the circular TFT display #define PIN_CS 10 // The Arduino Uno R4 pin connected to the CS pin of the circular TFT display DIYables_TFT_GC9A01_Round TFT_display(PIN_RST, PIN_DC, PIN_CS); void setup() { Serial.println(F("Arduino TFT LCD Display - show text and number")); TFT_display.begin(); // Set the rotation (0 to 3) TFT_display.setRotation(1); // Rotate screen 90 degrees TFT_display.fillScreen(WHITE); TFT_display.setTextSize(2); // Adjust text size as needed // Sample temperature value float temperature = 26.4; float humidity = 64.7; // Display temperature with degree symbol TFT_display.setTextColor(RED); TFT_display.setCursor(5, 100); // Set cursor position (x, y) TFT_display.print("Temperature: "); TFT_display.print(temperature, 1); // Print temperature with 1 decimal place TFT_display.print(char(247)); TFT_display.println("C"); // Display humidity TFT_display.setTextColor(BLUE); TFT_display.setCursor(30, 140); // Set cursor position (x, y) TFT_display.print("Humidity: "); TFT_display.print(humidity, 1); // Print humidity with 1 decimal place TFT_display.print("%"); } void loop(void) { }

Pasos R\u00e1pidos

Sigue estas instrucciones paso a paso:

  • Si es la primera vez que usas el Arduino Uno R4 WiFi/Minima, consulta el tutorial sobre configurar el entorno para Arduino Uno R4 WiFi/Minima en el IDE de Arduino.
  • Cablea los componentes de acuerdo con el diagrama proporcionado.
  • Conecta la placa Arduino Uno R4 a tu computadora usando un cable USB.
  • Inicia el IDE de Arduino en tu computadora.
  • Selecciona la placa adecuada Arduino Uno R4 (p. ej., Arduino Uno R4 WiFi) y el puerto COM.
  • Conecta el módulo de pantalla TFT LCD redonda de 1.28 pulgadas al Arduino UNO R4 UNO según el diagrama de cableado proporcionado.
  • Conecta la placa Arduino UNO R4 a tu computadora con un cable USB.
  • Abre el IDE de Arduino, selecciona la placa correcta (Arduino UNO R4 UNO) y el puerto.
  • Navega al icono Bibliotecas en la barra izquierda del IDE de Arduino.
  • Busca “DIYables TFT Round”, luego localiza la biblioteca DIYables_TFT_Round de DIYables.
  • Haz clic en el botón Instalar para instalar la biblioteca.
Instalación de la biblioteca TFT LCD para Arduino UNO R4
  • Es posible que se le solicite instalar dependencias de bibliotecas adicionales.
  • Haga clic en el botón Instalar Todo para instalar todas las dependencias de bibliotecas.
Instalación de dependencias del TFT LCD para Arduino UNO R4
  • Copie el código anterior y péguelo en el editor del Arduino IDE.
  • Haga clic en el botón Subir del Arduino IDE para cargar el código en el Arduino UNO R4.

Mira la pantalla TFT LCD circular de 1,28 pulgadas que muestra texto y números. La fuente predeterminada es simple, pero puedes actualizarla con fuentes externas, como se describe en la siguiente sección.

Arduino UNO R4 pantalla TFT LCD circular muestra texto y número

Usando fuentes externas en la pantalla TFT LCD redonda de 1,28 pulgadas

La biblioteca DIYables_TFT_Round facilita la integración de fuentes personalizadas de la Adafruit GFX Library para optimizar el renderizado de texto en la pantalla TFT LCD redonda de 1,28 pulgadas. El sketch proporcionado demuestra el renderizado de texto utilizando varias fuentes personalizadas, colores y posiciones en la pantalla circular de 240x240 píxeles.

Para implementar una fuente personalizada:

  • Identifica el directorio de la Adafruit GFX Library, instalado como dependencia de la biblioteca DIYables_TFT_Round.
  • Selecciona un archivo de fuente, como FreeSans9pt7b.h, del subdirectorio Fonts dentro de la biblioteca.
  • Incorpora la fuente elegida en tu código para Arduino UNO R4:
#include <Fonts/FreeSans9pt7b.h>
  • En la función setup(), configura la fuente:
tft.setFont(&FreeSans9pt7b);

El siguiente código para Arduino UNO R4 proporciona un ejemplo completo que ilustra la implementación de múltiples tipografías externas.

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-round-circular-tft-lcd-display */ #include <DIYables_TFT_Round.h> #include <Fonts/FreeSans9pt7b.h> #include <Fonts/FreeSerif9pt7b.h> #include <Fonts/FreeMono9pt7b.h> #define PIN_RST 8 // The Arduino Uno R4 pin connected to the RST pin of the circular TFT display #define PIN_DC 9 // The Arduino Uno R4 pin connected to the DC pin of the circular TFT display #define PIN_CS 10 // The Arduino Uno R4 pin connected to the CS pin of the circular TFT display DIYables_TFT_GC9A01_Round TFT_display(PIN_RST, PIN_DC, PIN_CS); void setup() { Serial.println(F("Arduino TFT LCD Display - Use external font")); TFT_display.begin(); TFT_display.fillScreen(DIYables_TFT::colorRGB(0, 0, 0)); // black TFT_display.setTextColor(DIYables_TFT::colorRGB(255, 255, 255)); // White text TFT_display.setTextSize(2); TFT_display.setCursor(40, 50); TFT_display.print("Hello DIYables!"); // default font TFT_display.setTextSize(1); TFT_display.setFont(&FreeSans9pt7b); TFT_display.setTextColor(DIYables_TFT::colorRGB(255, 0, 0)); // Red text TFT_display.setCursor(60, 100); TFT_display.print("Hello DIYables!"); // FreeSans9pt7b font TFT_display.setFont(&FreeSerif9pt7b); TFT_display.setTextColor(DIYables_TFT::colorRGB(0, 0, 255)); // Blue text TFT_display.setCursor(60, 140); TFT_display.print("Hello DIYables!"); // FreeSerif9pt7b font TFT_display.setFont(&FreeMono9pt7b); TFT_display.setTextColor(DIYables_TFT::colorRGB(0, 255, 0)); // Green text TFT_display.setCursor(40, 180); TFT_display.print("Hello DIYables!"); // FreeMono9pt7b font } void loop(void) { }

Pasos R\u00e1pidos

  • Copia el código anterior y pégalo en el editor del IDE de Arduino.
  • Haz clic en el botón Subir en el IDE de Arduino para subir el código al Arduino UNO R4.
  • Verás la pantalla como se muestra a continuación:
Arduino UNO R4 Pantalla TFT LCD circular con fuente externa

Nota: Algunas fuentes personalizadas pueden carecer de soporte para caracteres especiales, como el símbolo de grado (°), a diferencia de la fuente predeterminada. Verifique la compatibilidad de la fuente que ha seleccionado con los requisitos específicos de su proyecto.

Código de Arduino UNO R4 – Dibujar formas en la pantalla TFT LCD redonda de 1,28 pulgadas

Este ejemplo ilustra el proceso de representar formas geométricas básicas en el módulo de pantalla TFT LCD circular de 1,28 pulgadas utilizando la biblioteca DIYables_TFT_Round. El sketch genera círculos, triángulos, rectángulos, rectángulos redondeados y rombos de colores vivos en varias regiones de la pantalla, y cicla cada 10 segundos.

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-round-circular-tft-lcd-display */ #include <DIYables_TFT_Round.h> #define BLACK DIYables_TFT::colorRGB(0, 0, 0) #define BLUE DIYables_TFT::colorRGB(0, 0, 255) #define RED DIYables_TFT::colorRGB(255, 0, 0) #define GREEN DIYables_TFT::colorRGB(0, 255, 0) #define ORANGE DIYables_TFT::colorRGB(255, 165, 0) #define PINK DIYables_TFT::colorRGB(255, 192, 203) #define VIOLET DIYables_TFT::colorRGB(148, 0, 211) #define TURQUOISE DIYables_TFT::colorRGB(64, 224, 208) #define WHITE DIYables_TFT::colorRGB(255, 255, 255) #define PIN_RST 8 // The Arduino Uno R4 pin connected to the RST pin of the circular TFT display #define PIN_DC 9 // The Arduino Uno R4 pin connected to the DC pin of the circular TFT display #define PIN_CS 10 // The Arduino Uno R4 pin connected to the CS pin of the circular TFT display DIYables_TFT_GC9A01_Round TFT_display(PIN_RST, PIN_DC, PIN_CS); // Helper to draw a filled diamond void fillDiamond(int cx, int cy, int h, int v, uint16_t color) { int x0 = cx, y0 = cy - v; int x1 = cx + h, y1 = cy; int x2 = cx, y2 = cy + v; int x3 = cx - h, y3 = cy; TFT_display.fillTriangle(x0, y0, x1, y1, x2, y2, color); TFT_display.fillTriangle(x0, y0, x2, y2, x3, y3, color); } void setup() { TFT_display.begin(); TFT_display.setRotation(1); } void loop() { TFT_display.fillScreen(BLACK); // Outlined circle (top left) TFT_display.drawCircle(35, 70, 20, RED); // Filled circle (top center) TFT_display.fillCircle(90, 70, 20, RED); // Outlined triangle (top right) TFT_display.drawTriangle(125, 50, 165, 50, 145, 90, BLUE); // Filled triangle (top far right) TFT_display.fillTriangle(175, 50, 215, 50, 195, 90, GREEN); // Outlined rectangle (middle left) TFT_display.drawRect(15, 110, 40, 25, ORANGE); // Filled rectangle (middle center) TFT_display.fillRect(70, 110, 40, 25, TURQUOISE); // Outlined round rectangle (middle right) TFT_display.drawRoundRect(125, 110, 40, 25, 8, VIOLET); // Filled round rectangle (middle far right) TFT_display.fillRoundRect(180, 110, 40, 25, 8, PINK); // Outlined diamond shape (bottom left) int cx1 = 80, cy1 = 180, h1 = 20, v1 = 25; TFT_display.drawLine(cx1, cy1 - v1, cx1 + h1, cy1, GREEN); TFT_display.drawLine(cx1 + h1, cy1, cx1, cy1 + v1, GREEN); TFT_display.drawLine(cx1, cy1 + v1, cx1 - h1, cy1, GREEN); TFT_display.drawLine(cx1 - h1, cy1, cx1, cy1 - v1, GREEN); // Filled diamond shape (bottom right) int cx2 = 160, cy2 = 180, h2 = 20, v2 = 25; fillDiamond(cx2, cy2, h2, v2, BLUE); delay(10000); }

Pasos R\u00e1pidos

  • Copie el código anterior y péguelo en el editor del IDE de Arduino.
  • Haga clic en el botón Subir en el IDE de Arduino para cargar el código al Arduino UNO R4.

Observe la pantalla LCD TFT redonda de 1,28 pulgadas, que muestra círculos, triángulos, rectángulos, rectángulos redondeados y diamantes, con actualizaciones cada 10 segundos.

Arduino UNO R4 pantalla TFT LCD circular Dibujar formas

Nota: tenga en cuenta que la pantalla se ve más nítida y brillante en la vida real; la iluminación de la foto cambió la forma en que se ve.

Código de Arduino UNO R4 – Mostrar imagen en la pantalla TFT LCD redonda de 1,28 pulgadas

Existen dos métodos para almacenar y mostrar imágenes en el módulo de pantalla TFT LCD circular de 1,28 pulgadas:

  1. Convertir imágenes (PNG, JPG) en un arreglo de mapa de bits, almacenarlas dentro del código de Arduino UNO R4 y mostrarlas en la pantalla TFT.
  • Ventaja: Velocidad de renderizado rápida.
  • Desventaja: Alto consumo de memoria, restringe el tamaño y la cantidad de imágenes.
  1. Convertir imágenes (PNG, JPG) al formato de mapa de bits (.bmp) y guardarlas en una tarjeta microSD, con el Arduino UNO R4 programado para recuperarlas y mostrarlas.
  • Requiere una tarjeta microSD y un módulo SD (conectado a pines como CS a 7, MOSI a 11, MISO a 12, SCK a 13).
  • Ventaja: Permite imágenes más grandes y múltiples.
  • Desventaja: Velocidad de renderizado más lenta.

A continuación, exploramos ambos métodos.

Almacenar imágenes como arreglos de mapas de bits en el código

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-round-circular-tft-lcd-display */ #include <DIYables_TFT_Round.h> #include "bitmap.h" #define WHITE DIYables_TFT::colorRGB(255, 255, 255) #define PIN_RST 8 // The Arduino Uno R4 pin connected to the RST pin of the circular TFT display #define PIN_DC 9 // The Arduino Uno R4 pin connected to the DC pin of the circular TFT display #define PIN_CS 10 // The Arduino Uno R4 pin connected to the CS pin of the circular TFT display DIYables_TFT_GC9A01_Round TFT_display(PIN_RST, PIN_DC, PIN_CS); int img_width = 120; int img_height = 53; uint16_t SCREEN_WIDTH; uint16_t SCREEN_HEIGHT; void setup() { Serial.begin(9600); Serial.println(F("Arduino TFT LCD Display")); TFT_display.begin(); SCREEN_WIDTH = TFT_display.width(); SCREEN_HEIGHT = TFT_display.height(); int x = (SCREEN_WIDTH - img_width) / 2; int y = (SCREEN_HEIGHT - img_height) / 2; TFT_display.fillScreen(WHITE); TFT_display.drawRGBBitmap(x, y, myBitmap, img_width, img_height); } void loop(void) { delay(2000); TFT_display.invertDisplay(true); delay(2000); TFT_display.invertDisplay(false); }

Pasos R\u00e1pidos

  • Copia el código anterior y pégalo en el editor del IDE de Arduino. Supón que el nombre del archivo es DrawImage.ino
  • Crea el archivo bitmap.h en el IDE de Arduino haciendo lo siguiente:
    • Haciendo clic en el botón debajo del ícono del monitor serie y elige Nueva pestaña, o usando Ctrl+Mayúscula+N.
    Arduino IDE 2 añade archivo
    • Nombrando el archivo bitmap.h y haciendo clic en Aceptar.
    Arduino IDE 2 añade el archivo bitmap.h
    • Copie el código a continuación y péguelo en el archivo creado bitmap.h. Este código contiene el arreglo de mapas de bits para el logotipo de DIYables.
    const uint16_t myBitmap[] PROGMEM = {0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18c3, 0xbdf7, 0xbdf7, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0x2124, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdedb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x3186, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2124, 0x528a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0x8c71, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x632c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x630c, 0x0000, 0x0000, 0x0000, 0x0000, 0x3186, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0x528a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xe71c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x2124, 0x0000, 0x0000, 0x0000, 0x0000, 0x73ae, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0xad55, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3186, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4a69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a49, 0x4a49, 0x4a49, 0x4a49, 0x4a49, 0x4a49, 0x4a49, 0x4a49, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdd7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0x9492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x630c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x0000, 0x0000, 0x0000, 0x0000, 0x10a2, 0xd6ba, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xce79, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2965, 0x0000, 0x0000, 0x0000, 0x0000, 0x4228, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x18e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c71, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cd3, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cf3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18c3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bcf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7bef, 0xffff, 0xffff, 0xffff, 0x10a2, 0x0000, 0x0000, 0x0000, 0x0000, 0xa534, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x4a69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdd7, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x39e7, 0xf79e, 0xffff, 0x2945, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a69, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a6, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xdedb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xdedb, 0xb5b6, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0xe71c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x31a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b6d, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a49, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2124, 0x2124, 0x2124, 0x2124, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x5aeb, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cd3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4228, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0xa514, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x528a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x6b6d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9492, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e3, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18c3, 0xdefb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe73c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b6d, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cf3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e3, 0xe71c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x39e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x18c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xf7be, 0x18e3, 0x0000, 0x0000, 0x0000, 0x0000, 0x528a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x630c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e3, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a6, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x5acb, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xc618, 0x9492, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x1082, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0xd69a, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0xc618, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cd3, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xf7be, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a49, 0x8430, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e3, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x9cf3, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x2104, 0x0000, 0x0000, 0x0000, 0x0000, 0x52aa, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0xce79, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x94b2, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a49, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e3, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x1082, 0x0841, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce59, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a69, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x630c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18c3, 0x18c3, 0x18c3, 0x18c3, 0x10a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x0000, 0x0861, 0x18c3, 0x18c3, 0x18c3, 0x0861, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18c3, 0x18c3, 0x18c3, 0x18c3, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x18c3, 0x18c3, 0x18c3, 0x18c3, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x94b2, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0x9cf3, 0xffff, 0xffff, 0xffff, 0xffff, 0xf79e, 0x9cf3, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x0861, 0xce59, 0xffff, 0xffff, 0xffff, 0xce59, 0x94b2, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x4228, 0x9cf3, 0xffff, 0xffff, 0xffff, 0xffff, 0x9cf3, 0x1082, 0x0000, 0x0000, 0x0000, 0x8430, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, 0xad75, 0x6b6d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa514, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8430, 0xffff, 0xe71c, 0xe71c, 0xe71c, 0xe71c, 0xffff, 0xffff, 0x18c3, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xe71c, 0xe71c, 0xe71c, 0xffff, 0xffff, 0x8c51, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x18e3, 0xffff, 0xffff, 0xe73c, 0xe71c, 0xe71c, 0xffdf, 0xffff, 0xffff, 0x1082, 0x0000, 0x5aeb, 0xffff, 0xffff, 0xe73c, 0xe71c, 0xe71c, 0xe71c, 0xffdf, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18c3, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2965, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x5aeb, 0x0000, 0x0000, 0x0000, 0x0000, 0xe73c, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xf79e, 0x5aeb, 0x0000, 0x0000, 0x0020, 0xb5b6, 0xffff, 0xffff, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0xf79e, 0xffff, 0x6b4d, 0x10a2, 0x0000, 0x0000, 0x4a69, 0xef7d, 0xffff, 0x94b2, 0x0000, 0x5aeb, 0xffff, 0xc638, 0x0861, 0x0000, 0x0000, 0x0000, 0x4a69, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x6b4d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e3, 0x2124, 0x2124, 0x4228, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xd69a, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x73ae, 0xffff, 0xffff, 0x2124, 0x10a2, 0x10a2, 0x10a2, 0x10a2, 0x738e, 0xffff, 0xad55, 0x0020, 0x5aeb, 0xffff, 0xffff, 0x4a49, 0x2124, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x632c, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0xa534, 0xad75, 0xef5d, 0xffff, 0xffff, 0xffff, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x10a2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x73ae, 0xffff, 0xffff, 0xe71c, 0xe71c, 0xe71c, 0xe71c, 0xe71c, 0xef7d, 0xffff, 0xffff, 0x2104, 0x2104, 0xe73c, 0xffff, 0xffff, 0xffff, 0xb5b6, 0xa534, 0xa534, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0xad55, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0861, 0xdedb, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xf7be, 0xd6ba, 0xd6ba, 0xd6ba, 0xdefb, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x2124, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffdf, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x73ae, 0xffff, 0xffff, 0xdedb, 0xd6ba, 0xd6ba, 0xd6ba, 0xd6ba, 0xd6ba, 0xd6ba, 0xd6ba, 0x18e3, 0x0000, 0x0000, 0xd6ba, 0xd6ba, 0xd6ba, 0xffdf, 0xffff, 0xffff, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xb5b6, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xc638, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x4228, 0x0000, 0x0000, 0x0000, 0x2124, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x6b6d, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x2124, 0xf7be, 0xffff, 0x1082, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4228, 0x8c51, 0xffff, 0xbdd7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x18e3, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2124, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x2124, 0x0000, 0x0000, 0x18e3, 0xffff, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0x8430, 0x2965, 0x2965, 0x2965, 0xa514, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0xc638, 0xffff, 0xffff, 0x2965, 0x2965, 0x18c3, 0x2965, 0x8410, 0x4228, 0x0000, 0x0000, 0x5aeb, 0x4a69, 0x2965, 0x0841, 0x0000, 0x2104, 0x738e, 0xffff, 0xb596, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x10a2, 0xe71c, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39e7, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xa534, 0xffff, 0xf79e, 0xad75, 0xad75, 0xe73c, 0xffff, 0xffff, 0xdefb, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0x7bef, 0x0000, 0x0000, 0x0000, 0xffff, 0xffff, 0x8430, 0x0000, 0x0000, 0x0000, 0x9cf3, 0xffff, 0xffff, 0xffff, 0xdedb, 0xffff, 0xffff, 0xffff, 0x0000, 0x0000, 0xce79, 0xffff, 0xffff, 0xbdf7, 0xad75, 0xef5d, 0xffff, 0xffff, 0x632c, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1082, 0x6b4d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c71, 0xce79, 0xf79e, 0xce79, 0xce79, 0x18e3, 0xce79, 0xb596, 0x0000, 0x0000, 0x0000, 0xce79, 0xce79, 0x0020, 0x94b2, 0xce79, 0xef7d, 0xce79, 0xce79, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xce79, 0xce79, 0x6b4d, 0x0000, 0x0000, 0x0000, 0x0000, 0xbdf7, 0xce79, 0xd69a, 0xef7d, 0xce79, 0xce79, 0x10a2, 0x0000, 0x0000, 0x2104, 0xbdf7, 0xce79, 0xd69a, 0xf7be, 0xd69a, 0xce79, 0x2945, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x2104, 0xe73c, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0xd69a, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x31a6, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3186, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0x2965, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0020, 0x39e7, 0x0020, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0841, 0xbdd7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x528a, 0xf79e, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x7bef, 0xc638, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x4a49, 0xbdd7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39e7, 0x39e7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x39c7, 0x39e7, 0xef7d, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8c51, 0xbdf7, 0xbdf7, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xef5d, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x8410, 0xbdf7, 0xbdf7, 0xffdf, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xffff, 0xbdf7, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, };
    • Copia el código del arreglo de bitmap (de una herramienta convertidora de imágenes) en el archivo bitmap.h.
    • Haz clic en el botón Subir en el IDE de Arduino para cargar el código en el Arduino UNO R4.

    Ejecutar el código proporcionado mostrará una imagen, similar al logotipo de DIYables, en la pantalla TFT LCD redonda de 1,28 pulgadas.

    Imagen de la pantalla TFT LCD circular del Arduino UNO R4

    ¿Quieres mostrar tu propia foto?

    • Elige una imagen (JPEG o PNG).
    • Conviértelo en un arreglo bitmap con la herramienta Image to Bitmap Converter:
      • Sube tu imagen y establece el ancho (máximo 240 píxeles) para redimensionarla.
      • Para los PNG con partes transparentes, elige un color de fondo.
      • Haz clic en el botón Convertir y espera un segundo.
      • Copia el arreglo bitmap y pégalo en el archivo bitmap.h.
      Imagen a arreglo de bits
      • Actualiza los valores img_width y img_height en el código DrawImage.ino para que se ajusten al tamaño de tu imagen.
      • Haz clic Subir en el IDE de Arduino para que el código se ejecute.

      Nota:

      • Asegúrese de que el tamaño de la imagen sea igual o menor que 240x240 píxeles.
      • Si modifica el archivo bitmap.h, haga un cambio menor en el archivo .ino (p. ej., agregue un espacio) para asegurar que Arduino IDE reconozca la actualización durante la compilación.

      Mostrar imágenes desde una tarjeta microSD en una pantalla LCD TFT redonda de 1,28 pulgadas

      En este caso, necesitas usar una Tarjeta microSD y un Módulo de tarjeta microSD.

      /* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-round-circular-tft-lcd-display */ #include <DIYables_TFT_Round.h> #include <SD.h> #define WHITE DIYables_TFT::colorRGB(255, 255, 255) #define PIN_RST 8 // The Arduino Uno R4 pin connected to the RST pin of the circular TFT display #define PIN_DC 9 // The Arduino Uno R4 pin connected to the DC pin of the circular TFT display #define PIN_CS 10 // The Arduino Uno R4 pin connected to the CS pin of the circular TFT display #define SD_CS 7 // The Arduino Uno R4 pin connected to the CS pin of SD Card module #define BUFFPIXEL 20 // Buffer size remains the same DIYables_TFT_GC9A01_Round TFT_display(PIN_RST, PIN_DC, PIN_CS); File bmpFile; uint16_t SCREEN_WIDTH; uint16_t SCREEN_HEIGHT; void setup() { Serial.begin(9600); if (!SD.begin(SD_CS)) { Serial.println("SD card initialization failed!"); return; } Serial.println("SD card initialized successfully."); Serial.println(F("Arduino TFT LCD Display")); TFT_display.begin(); // Set the rotation (0 to 3) TFT_display.setRotation(1); // Rotate screen 90 degrees // After rotation, update screen dimensions SCREEN_WIDTH = TFT_display.width(); SCREEN_HEIGHT = TFT_display.height(); TFT_display.fillScreen(WHITE); // Get image dimensions uint32_t imgWidth, imgHeight; if (getBMPDimensions("diyables.bmp", imgWidth, imgHeight)) { Serial.print("BMP Image Width: "); Serial.println(imgWidth); Serial.print("BMP Image Height: "); Serial.println(imgHeight); } else { Serial.println("Failed to get BMP dimensions"); } // Optionally, center the image based on its dimensions int x = (SCREEN_WIDTH - imgWidth) / 2; int y = (SCREEN_HEIGHT - imgHeight) / 2; drawBMP("diyables.bmp", x, y); // Draw image at calculated position } void loop(void) { } // Helper functions to read BMP file header uint16_t read16(File &f) { uint16_t result; result = f.read(); result |= (f.read() << 8); return result; } uint32_t read32(File &f) { uint32_t result; result = f.read(); result |= ((uint32_t)f.read() << 8); result |= ((uint32_t)f.read() << 16); result |= ((uint32_t)f.read() << 24); return result; } // Function to read a signed 32-bit integer int32_t readS32(File &f) { int32_t result; result = f.read(); result |= ((uint32_t)f.read() << 8); result |= ((uint32_t)f.read() << 16); result |= ((uint32_t)f.read() << 24); return result; } // Function to draw BMP from SD card void drawBMP(const char *filename, int x, int y) { bmpFile = SD.open(filename); if (!bmpFile) { Serial.println("File not found"); return; } if (read16(bmpFile) != 0x4D42) { // Check BMP signature Serial.println("Not a BMP file"); bmpFile.close(); return; } // Skip unnecessary BMP header details Serial.println("BMP signature OK"); uint32_t fileSize = read32(bmpFile); Serial.print("File Size: "); Serial.println(fileSize); read32(bmpFile); // Reserved bytes (skip) uint32_t imageOffset = read32(bmpFile); // Start of image data Serial.print("Image Data Offset: "); Serial.println(imageOffset); uint32_t dibHeaderSize = read32(bmpFile); // DIB header size Serial.print("DIB Header Size: "); Serial.println(dibHeaderSize); // Now read the width and height of the image uint32_t bmpWidth = read32(bmpFile); int32_t bmpHeight = readS32(bmpFile); // Read as signed 32-bit integer Serial.print("Image Width: "); Serial.println(bmpWidth); Serial.print("Image Height: "); Serial.println(bmpHeight); bool topDown = false; // Flag to check if the image is top-down if (bmpHeight < 0) { bmpHeight = -bmpHeight; // Make height positive for processing topDown = true; // Mark the BMP as top-down } if (read16(bmpFile) != 1) { // Planes must be 1 Serial.println("Invalid BMP file"); bmpFile.close(); return; } uint16_t depth = read16(bmpFile); // Color depth Serial.print("Bit Depth: "); Serial.println(depth); if (depth != 24) { // Only 24-bit BMP supported Serial.println("Only 24-bit BMP is supported"); bmpFile.close(); return; } if (read32(bmpFile) != 0) { // No compression Serial.println("Unsupported BMP compression"); bmpFile.close(); return; } // Move to the start of the image data bmpFile.seek(imageOffset); uint8_t sdbuffer[3 * BUFFPIXEL]; // Buffer for 20 pixels (3 bytes per pixel) uint16_t color; uint32_t rowSize = (bmpWidth * 3 + 3) & ~3; // BMP rows are padded to 4-byte boundaries // Adjust x and y if image is larger than screen if (x >= SCREEN_WIDTH || y >= SCREEN_HEIGHT) { Serial.println("Image position out of screen bounds"); return; } uint32_t maxRow = min(bmpHeight, SCREEN_HEIGHT - y); uint32_t maxCol = min(bmpWidth, SCREEN_WIDTH - x); // Draw the image for (uint32_t row = 0; row < maxRow; row++) { int32_t rowPos = topDown ? row : bmpHeight - 1 - row; // Adjust for top-down BMPs uint32_t filePosition = imageOffset + rowPos * rowSize; bmpFile.seek(filePosition); // Move to the correct row for (uint32_t col = 0; col < maxCol; col += BUFFPIXEL) { uint32_t pixelsToRead = min(BUFFPIXEL, maxCol - col); // Avoid reading beyond row width bmpFile.read(sdbuffer, 3 * pixelsToRead); // Read multiple pixels at once for (uint32_t i = 0; i < pixelsToRead; i++) { uint8_t b = sdbuffer[i * 3]; uint8_t g = sdbuffer[i * 3 + 1]; uint8_t r = sdbuffer[i * 3 + 2]; color = DIYables_TFT::colorRGB(r, g, b); // Draw pixel on screen if within bounds if ((x + col + i) < SCREEN_WIDTH && (y + row) < SCREEN_HEIGHT) { TFT_display.drawPixel(x + col + i, y + row, color); } } } } bmpFile.close(); // Close file when done Serial.println("Finished drawing BMP"); } // Function to get BMP image dimensions bool getBMPDimensions(const char *filename, uint32_t &width, uint32_t &height) { File bmpFile = SD.open(filename); if (!bmpFile) { Serial.println("File not found"); return false; } if (read16(bmpFile) != 0x4D42) { // Check BMP signature Serial.println("Not a BMP file"); bmpFile.close(); return false; } read32(bmpFile); // Skip file size read32(bmpFile); // Skip reserved bytes uint32_t imageOffset = read32(bmpFile); // Start of image data uint32_t dibHeaderSize = read32(bmpFile); // DIB header size // Read the width and height of the image width = read32(bmpFile); int32_t bmpHeight = readS32(bmpFile); // May be negative for top-down images height = (bmpHeight < 0) ? -bmpHeight : bmpHeight; bmpFile.close(); // Close the file return true; // Success }

      Pasos R\u00e1pidos

      • Asegúrate de que una tarjeta microSD formateada con el archivo de imagen correcto esté en su lugar.
      • Obtén el archivo diyables.bmp y ponlo en una tarjeta microSD formateada.
      • Inserta la tarjeta microSD en el módulo SD.
      • Conecta el módulo SD a tu Arduino UNO R4 de la siguiente manera:
        • CS al pin D7 del Arduino UNO R4
        • MOSI al pin D11 del Arduino UNO R4 (el mismo que la pantalla)
        • MISO al pin D12 del Arduino UNO R4
        • SCK al pin D13 del Arduino UNO R4 (el mismo que la pantalla).
      • Conecta el Arduino UNO R4 a tu computadora con un cable USB.
      • Abre el IDE de Arduino, elige la placa correcta (Arduino UNO R4 UNO) y el puerto.
      • Copia el código y pégalo en el IDE de Arduino.
      • Haz clic en el botón Subir en el IDE de Arduino para enviar el código.

      Ejecuta el código y verás el logo de DIYables en la pantalla TFT LCD redonda de 1,28 pulgadas.

      Arduino UNO R4 pantalla TFT LCD circular para mostrar imágenes desde la tarjeta SD

      ¿Quieres usar una imagen nueva?

      • Prepara tu imagen (JPG o PNG).
      • Conviértela en un archivo bitmap con el Convertidor de imagen a bitmap:
        • Haz clic en el Convertir botón y espera un momento.
        • Haz clic en el Guardar como Bitmap para descargarlo.
      • Mantén corto el nombre del archivo bitmap, con menos de 9 caracteres (sin contar .bmp).
      • Copia el archivo bitmap en tu tarjeta microSD.
      • Coloca la tarjeta microSD en el módulo de la tarjeta SD.
      • Cambia el nombre del archivo en el código (por ejemplo, reemplaza "diyables.bmp" por el nombre de tu archivo).
      • Haz clic en el botón Subir en el IDE de Arduino para enviar el código.

      Para mostrar más imágenes, añade líneas adicionales de tft.drawBmp() con nombres de archivo y ubicaciones diferentes.

Código de Arduino UNO R4 – Reloj analógico y digital en pantalla TFT LCD redonda de 1,28 pulgadas

Este ejemplo muestra cómo hacer un reloj en movimiento con estilos analógico y digital en la pantalla TFT LCD redonda de 1,28 pulgadas. Utiliza la biblioteca DIYables_TFT_Round. El reloj analógico tiene agujas para la hora, los minutos y los segundos. Al mismo tiempo, muestra la hora digital como HH:MM:SS.

El reloj comienza a las 09:00:05 utilizando la función millis() de Arduino UNO R4 para contar el tiempo. La parte analógica también tiene números del 1 al 12 y pequeñas marcas para los minutos. La manecilla de segundos se mueve suavemente, y la pantalla se actualiza rápidamente para evitar que parpadee.

/* * Este código de Arduino UNO R4 fue desarrollado por es.newbiely.com * Este código de Arduino UNO R4 se proporciona al público sin ninguna restricción. * Para tutoriales completos y diagramas de cableado, visite: * https://es.newbiely.com/tutorials/arduino-uno-r4/arduino-uno-r4-round-circular-tft-lcd-display */ #include <DIYables_TFT_Round.h> #include <math.h> #define PIN_RST 8 // The Arduino Uno R4 pin connected to the RST pin of the circular TFT display #define PIN_DC 9 // The Arduino Uno R4 pin connected to the DC pin of the circular TFT display #define PIN_CS 10 // The Arduino Uno R4 pin connected to the CS pin of the circular TFT display #define COLOR_BACKGROUND DIYables_TFT::colorRGB(0, 0, 0) // Black #define COLOR_HOUR DIYables_TFT::colorRGB(255, 80, 80) // Red-ish #define COLOR_MINUTE DIYables_TFT::colorRGB(80, 255, 80) // Green-ish #define COLOR_SECOND DIYables_TFT::colorRGB(0, 0, 255) // Blue #define COLOR_TICK DIYables_TFT::colorRGB(0, 255, 200) // Light gray DIYables_TFT_GC9A01_Round TFT_display(PIN_RST, PIN_DC, PIN_CS); const int CENTER_X = 120; const int CENTER_Y = 120; const int RADIUS = 110; const int HOUR_LEN = 30; const int MIN_LEN = 40; const int SEC_LEN = 55; // Preset offset for 09:00:05 in milliseconds const unsigned long PRESET_MS = 9UL * 3600000UL + // 9 hours 0UL * 60000UL + // 0 minutes 5UL * 1000UL; // 5 seconds float prevHourAngle = -1000, prevMinAngle = -1000, prevSecAngle = -1000; int prevDispHour = -1, prevDispMin = -1, prevDispSec = -1; void drawHand(int x, int y, float angle, int length, uint16_t color, int width) { int x2 = x + length * cos(angle - M_PI / 2); int y2 = y + length * sin(angle - M_PI / 2); for (int w = -width / 2; w <= width / 2; w++) { TFT_display.drawLine(x + w, y + w, x2 + w, y2 + w, color); } } void drawTicks() { for (int i = 0; i < 60; i++) { float angle = i * 6 * M_PI / 180.0; int x1 = CENTER_X + (RADIUS - 8) * cos(angle - M_PI / 2); int y1 = CENTER_Y + (RADIUS - 8) * sin(angle - M_PI / 2); int x2 = CENTER_X + (RADIUS - (i % 5 == 0 ? 22 : 14)) * cos(angle - M_PI / 2); int y2 = CENTER_Y + (RADIUS - (i % 5 == 0 ? 22 : 14)) * sin(angle - M_PI / 2); TFT_display.drawLine(x1, y1, x2, y2, COLOR_TICK); } TFT_display.setTextColor(COLOR_TICK, COLOR_BACKGROUND); TFT_display.setTextSize(2); for (int h = 1; h <= 12; h++) { float angle = (h * 30) * M_PI / 180.0; int tx = CENTER_X + (RADIUS - 38) * cos(angle - M_PI / 2) - 10; int ty = CENTER_Y + (RADIUS - 38) * sin(angle - M_PI / 2) - 8; TFT_display.setCursor(tx, ty); TFT_display.print(h); } } void printTime(int previous, int now, const char* offset, bool colon = true) { int16_t x = 70, y = 200; int16_t x1, y1; uint16_t w, h; TFT_display.getTextBounds(offset, x, y, &x1, &y1, &w, &h); // Update digital display TFT_display.setCursor(x + w, y); TFT_display.print(" "); TFT_display.setCursor(x + w, y); if (now < 10) TFT_display.print('0'); TFT_display.print(now); if (colon) TFT_display.print(":"); } void setup() { TFT_display.begin(); TFT_display.fillScreen(COLOR_BACKGROUND); TFT_display.drawCircle(CENTER_X, CENTER_Y, RADIUS, COLOR_TICK); drawTicks(); TFT_display.setTextColor(DIYables_TFT::colorRGB(255, 255, 0), COLOR_BACKGROUND); TFT_display.setTextSize(2); // Ensure first update in loop() repaints everything prevDispHour = -1; prevDispMin = -1; prevDispSec = -1; } void loop() { // Add preset offset to millis() unsigned long ms = millis() + PRESET_MS; float sec = fmod(ms / 1000.0, 60.0); float min = fmod(ms / 60000.0, 60.0); float hour = fmod(ms / 3600000.0, 12.0); int dispHour = (int)hour == 0 ? 12 : (int)hour; int dispMin = (int)min; int dispSec = (int)sec; float hourAngle = (hour + min / 60.0) * 30 * M_PI / 180.0; float minAngle = (min + sec / 60.0) * 6 * M_PI / 180.0; float secAngle = sec * 6 * M_PI / 180.0; // Hour hand (jumps), redraw when angle changed if (dispHour != prevDispHour || dispMin != prevDispMin) { if (prevHourAngle > -900) drawHand(CENTER_X, CENTER_Y, prevHourAngle, HOUR_LEN, COLOR_BACKGROUND, 7); // clear old position drawHand(CENTER_X, CENTER_Y, hourAngle, HOUR_LEN, COLOR_HOUR, 7); prevHourAngle = hourAngle; // Update digital display if (dispHour != prevDispHour) { printTime(prevDispHour, dispHour, ""); prevDispHour = dispHour; } } // Minute hand (jumps) if (dispMin != prevDispMin) { if (prevMinAngle > -900) drawHand(CENTER_X, CENTER_Y, prevMinAngle, MIN_LEN, COLOR_BACKGROUND, 5); // clear old position drawHand(CENTER_X, CENTER_Y, minAngle, MIN_LEN, COLOR_MINUTE, 5); printTime(prevDispMin, dispMin, "00:"); prevDispMin = dispMin; prevMinAngle = minAngle; } // Second hand (smooth) if (dispSec != prevDispSec) { if (prevSecAngle > -900) drawHand(CENTER_X, CENTER_Y, prevSecAngle, SEC_LEN, COLOR_BACKGROUND, 2); // clear old position drawHand(CENTER_X, CENTER_Y, secAngle, SEC_LEN, COLOR_SECOND, 2); TFT_display.fillCircle(CENTER_X, CENTER_Y, 7, COLOR_SECOND); // Redraw center dot // Update digital display printTime(prevDispSec, dispSec, "00:00:", false); prevDispSec = dispSec; prevSecAngle = secAngle; } }

Pasos R\u00e1pidos

  • Copia el código anterior y pégalo en el editor del Arduino IDE.
  • Haz clic en el botón Subir en el IDE de Arduino para cargar el código al Arduino UNO R4.

¡Echa un vistazo a la pantalla del TFT LCD redondo de 1,28 pulgadas! Tiene un reloj clásico con las agujas de horas, minutos y segundos, además de la hora digital en la parte inferior. La aguja de los segundos se mueve con suavidad y las otras agujas se actualizan a medida que pasa el tiempo.

Arduino UNO R4 pantalla TFT LCD redonda para reloj

Notas

Este reloj utiliza la función millis() de Arduino UNO R4, empezando desde las 09:00:05, para mostrar la hora. Si quieres la hora real, es mejor añadir un módulo de Reloj en Tiempo Real (RTC) como el DS3231.

Hay algunos pequeños fallos en la pantalla:

  • A veces las agujas pueden parpadear o dejar marcas. Esto ocurre porque la aguja antigua se borra al dibujar sobre ella, lo cual no siempre funciona bien cuando las agujas se superponen. Una solución es redibujar toda la esfera del reloj.
  • La hora digital puede no verse centrada porque los números ocupan anchuras diferentes. Puedes solucionarlo usando una fuente de ancho fijo o cambiando la posición del texto según su tamaño.

Para mejorar el reloj, puedes:

  • Usa tu propia fuente (consulta el ejemplo UseExternalFont.ino).
  • Haz que las agujas sean más suaves aplicando antialiasing.
  • Muestra la fecha o prueba un estilo de reloj diferente, como el formato de 24 horas.

Video Tutorial

Estamos considerando crear tutoriales en video. Si considera que los tutoriales en video son importantes, suscríbase a nuestro canal de YouTube para motivarnos a crear los videos.

※ NUESTROS MENSAJES

  • No dude en compartir el enlace de este tutorial. Sin embargo, por favor no use nuestro contenido en otros sitios web. Hemos invertido mucho esfuerzo y tiempo en crear el contenido, ¡por favor respete nuestro trabajo!