|
|
@ -1,647 +0,0 @@ |
|
|
|
/**
|
|
|
|
* Marlin 3D Printer Firmware |
|
|
|
* Copyright (c) 2020 MarlinFirmware [https://github.com/MarlinFirmware/Marlin]
|
|
|
|
* |
|
|
|
* Based on Sprinter and grbl. |
|
|
|
* Copyright (c) 2011 Camiel Gubbels / Erik van der Zalm |
|
|
|
* |
|
|
|
* This program is free software: you can redistribute it and/or modify |
|
|
|
* it under the terms of the GNU General Public License as published by |
|
|
|
* the Free Software Foundation, either version 3 of the License, or |
|
|
|
* (at your option) any later version. |
|
|
|
* |
|
|
|
* This program is distributed in the hope that it will be useful, |
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
|
|
* GNU General Public License for more details. |
|
|
|
* |
|
|
|
* You should have received a copy of the GNU General Public License |
|
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
|
|
* |
|
|
|
*/ |
|
|
|
#include "../../../inc/MarlinConfigPre.h" |
|
|
|
|
|
|
|
#if HAS_TFT_LVGL_UI |
|
|
|
|
|
|
|
#include "SPI_TFT.h" |
|
|
|
|
|
|
|
#include "tft_lvgl_configuration.h" |
|
|
|
#include "draw_ready_print.h" |
|
|
|
#include "mks_hardware_test.h" |
|
|
|
#include "draw_ui.h" |
|
|
|
#include "pic_manager.h" |
|
|
|
#include <lvgl.h> |
|
|
|
|
|
|
|
#include "../../../MarlinCore.h" |
|
|
|
#include "../../../module/temperature.h" |
|
|
|
#include "../../../sd/cardreader.h" |
|
|
|
|
|
|
|
uint8_t pw_det_sta, pw_off_sta, mt_det_sta, mt_det3_sta; |
|
|
|
#if PIN_EXISTS(MT_DET_2) |
|
|
|
uint8_t mt_det2_sta; |
|
|
|
#endif |
|
|
|
uint8_t endstopx1_sta, endstopx2_sta, endstopy1_sta, endstopy2_sta, endstopz1_sta, endstopz2_sta; |
|
|
|
void test_gpio_readlevel_L() { |
|
|
|
#if ENABLED(MKS_TEST) |
|
|
|
volatile uint32_t itest; |
|
|
|
WRITE(WIFI_IO0_PIN, HIGH); |
|
|
|
itest = 10000; |
|
|
|
while (itest--); |
|
|
|
pw_det_sta = (READ(MKS_TEST_POWER_LOSS_PIN) == 0); |
|
|
|
pw_off_sta = (READ(MKS_TEST_PS_ON_PIN) == 0); |
|
|
|
mt_det_sta = (READ(MT_DET_1_PIN) == 0); |
|
|
|
#if PIN_EXISTS(MT_DET_2) |
|
|
|
mt_det2_sta = (READ(MT_DET_2_PIN) == 0); |
|
|
|
#endif |
|
|
|
endstopx1_sta = (READ(X_MIN_PIN) == 0); |
|
|
|
endstopy1_sta = (READ(Y_MIN_PIN) == 0); |
|
|
|
endstopz1_sta = (READ(Z_MIN_PIN) == 0); |
|
|
|
endstopz2_sta = (READ(Z_MAX_PIN) == 0); |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
void test_gpio_readlevel_H() { |
|
|
|
#if ENABLED(MKS_TEST) |
|
|
|
volatile uint32_t itest; |
|
|
|
WRITE(WIFI_IO0_PIN, LOW); |
|
|
|
itest = 10000; |
|
|
|
while (itest--); |
|
|
|
pw_det_sta = (READ(MKS_TEST_POWER_LOSS_PIN) == 1); |
|
|
|
pw_off_sta = (READ(MKS_TEST_PS_ON_PIN) == 1); |
|
|
|
mt_det_sta = (READ(MT_DET_1_PIN) == 1); |
|
|
|
#if PIN_EXISTS(MT_DET_2) |
|
|
|
mt_det2_sta = (READ(MT_DET_2_PIN) == 1); |
|
|
|
#endif |
|
|
|
endstopx1_sta = (READ(X_MIN_PIN) == 1); |
|
|
|
endstopy1_sta = (READ(Y_MIN_PIN) == 1); |
|
|
|
endstopz1_sta = (READ(Z_MIN_PIN) == 1); |
|
|
|
endstopz2_sta = (READ(Z_MAX_PIN) == 1); |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
void init_test_gpio() { |
|
|
|
#ifdef MKS_TEST |
|
|
|
SET_INPUT_PULLUP(X_MIN_PIN); |
|
|
|
SET_INPUT_PULLUP(Y_MIN_PIN); |
|
|
|
SET_INPUT_PULLUP(Z_MIN_PIN); |
|
|
|
SET_INPUT_PULLUP(Z_MAX_PIN); |
|
|
|
|
|
|
|
SET_OUTPUT(WIFI_IO0_PIN); |
|
|
|
|
|
|
|
SET_INPUT_PULLUP(MT_DET_1_PIN); |
|
|
|
#if PIN_EXISTS(MT_DET_2) |
|
|
|
SET_INPUT_PULLUP(MT_DET_2_PIN); |
|
|
|
#endif |
|
|
|
|
|
|
|
SET_INPUT_PULLUP(MKS_TEST_POWER_LOSS_PIN); |
|
|
|
SET_INPUT_PULLUP(MKS_TEST_PS_ON_PIN); |
|
|
|
|
|
|
|
SET_INPUT_PULLUP(SERVO0_PIN); |
|
|
|
|
|
|
|
SET_OUTPUT(X_ENABLE_PIN); |
|
|
|
SET_OUTPUT(Y_ENABLE_PIN); |
|
|
|
SET_OUTPUT(Z_ENABLE_PIN); |
|
|
|
SET_OUTPUT(E0_ENABLE_PIN); |
|
|
|
#if !MB(MKS_ROBIN_E3P) |
|
|
|
SET_OUTPUT(E1_ENABLE_PIN); |
|
|
|
#endif |
|
|
|
|
|
|
|
WRITE(X_ENABLE_PIN, LOW); |
|
|
|
WRITE(Y_ENABLE_PIN, LOW); |
|
|
|
WRITE(Z_ENABLE_PIN, LOW); |
|
|
|
WRITE(E0_ENABLE_PIN, LOW); |
|
|
|
#if !MB(MKS_ROBIN_E3P) |
|
|
|
WRITE(E1_ENABLE_PIN, LOW); |
|
|
|
#endif |
|
|
|
|
|
|
|
#if MB(MKS_ROBIN_E3P) |
|
|
|
SET_INPUT_PULLUP(PA1); |
|
|
|
SET_INPUT_PULLUP(PA3); |
|
|
|
SET_INPUT_PULLUP(PC2); |
|
|
|
SET_INPUT_PULLUP(PD8); |
|
|
|
SET_INPUT_PULLUP(PE5); |
|
|
|
SET_INPUT_PULLUP(PE6); |
|
|
|
SET_INPUT_PULLUP(PE7); |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
void mks_test_beeper() { |
|
|
|
#ifdef MKS_TEST |
|
|
|
WRITE(BEEPER_PIN, HIGH); |
|
|
|
delay(100); |
|
|
|
WRITE(BEEPER_PIN, LOW); |
|
|
|
delay(100); |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
void mks_gpio_test() { |
|
|
|
#if ENABLED(MKS_TEST) |
|
|
|
init_test_gpio(); |
|
|
|
|
|
|
|
test_gpio_readlevel_L(); |
|
|
|
test_gpio_readlevel_H(); |
|
|
|
test_gpio_readlevel_L(); |
|
|
|
if ((pw_det_sta == 1) |
|
|
|
&& (pw_off_sta == 1) |
|
|
|
&& (mt_det_sta == 1) |
|
|
|
#if PIN_EXISTS(MT_DET_2) |
|
|
|
&& (mt_det2_sta == 1) |
|
|
|
#endif |
|
|
|
#if MB(MKS_ROBIN_E3P) |
|
|
|
&& (READ(PA1) == 0) |
|
|
|
&& (READ(PA3) == 0) |
|
|
|
&& (READ(PC2) == 0) |
|
|
|
&& (READ(PD8) == 0) |
|
|
|
&& (READ(PE5) == 0) |
|
|
|
&& (READ(PE6) == 0) |
|
|
|
&& (READ(PE7) == 0) |
|
|
|
#endif |
|
|
|
) |
|
|
|
disp_det_ok(); |
|
|
|
else |
|
|
|
disp_det_error(); |
|
|
|
|
|
|
|
if ( (endstopx1_sta == 1) |
|
|
|
&& (endstopy1_sta == 1) |
|
|
|
&& (endstopz1_sta == 1) |
|
|
|
&& (endstopz2_sta == 1) |
|
|
|
) |
|
|
|
disp_Limit_ok(); |
|
|
|
else |
|
|
|
disp_Limit_error(); |
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
void mks_hardware_test() { |
|
|
|
#if ENABLED(MKS_TEST) |
|
|
|
if (millis() % 2000 < 1000) { |
|
|
|
WRITE(X_DIR_PIN, LOW); |
|
|
|
WRITE(Y_DIR_PIN, LOW); |
|
|
|
WRITE(Z_DIR_PIN, LOW); |
|
|
|
WRITE(E0_DIR_PIN, LOW); |
|
|
|
#if !MB(MKS_ROBIN_E3P) |
|
|
|
WRITE(E1_DIR_PIN, LOW); |
|
|
|
#endif |
|
|
|
thermalManager.fan_speed[0] = 255; |
|
|
|
#if !MB(MKS_ROBIN_E3P) |
|
|
|
WRITE(HEATER_1_PIN, HIGH); // HE1
|
|
|
|
#endif |
|
|
|
WRITE(HEATER_0_PIN, HIGH); // HE0
|
|
|
|
WRITE(HEATER_BED_PIN, HIGH); // HOT-BED
|
|
|
|
} |
|
|
|
else { |
|
|
|
WRITE(X_DIR_PIN, HIGH); |
|
|
|
WRITE(Y_DIR_PIN, HIGH); |
|
|
|
WRITE(Z_DIR_PIN, HIGH); |
|
|
|
WRITE(E0_DIR_PIN, HIGH); |
|
|
|
#if !MB(MKS_ROBIN_E3P) |
|
|
|
WRITE(E1_DIR_PIN, HIGH); |
|
|
|
#endif |
|
|
|
thermalManager.fan_speed[0] = 0; |
|
|
|
#if !MB(MKS_ROBIN_E3P) |
|
|
|
WRITE(HEATER_1_PIN, LOW); // HE1
|
|
|
|
#endif |
|
|
|
WRITE(HEATER_0_PIN, LOW); // HE0
|
|
|
|
WRITE(HEATER_BED_PIN, LOW); // HOT-BED
|
|
|
|
} |
|
|
|
|
|
|
|
if ( (endstopx1_sta == 1) && (endstopx2_sta == 1) |
|
|
|
&& (endstopy1_sta == 1) && (endstopy2_sta == 1) |
|
|
|
&& (endstopz1_sta == 1) && (endstopz2_sta == 1) |
|
|
|
) { |
|
|
|
// nothing here
|
|
|
|
} |
|
|
|
else { |
|
|
|
} |
|
|
|
|
|
|
|
if (disp_state == PRINT_READY_UI) |
|
|
|
mks_disp_test(); |
|
|
|
|
|
|
|
#endif |
|
|
|
} |
|
|
|
|
|
|
|
static const uint16_t ASCII_Table_16x24[] PROGMEM = { |
|
|
|
// Space ' '
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '!'
|
|
|
|
0x0000, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0000, 0x0000, |
|
|
|
0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '"'
|
|
|
|
0x0000, 0x0000, 0x00CC, 0x00CC, 0x00CC, 0x00CC, 0x00CC, 0x00CC, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '#'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0C60, 0x0C60, |
|
|
|
0x0C60, 0x0630, 0x0630, 0x1FFE, 0x1FFE, 0x0630, 0x0738, 0x0318, |
|
|
|
0x1FFE, 0x1FFE, 0x0318, 0x0318, 0x018C, 0x018C, 0x018C, 0x0000, |
|
|
|
// '$'
|
|
|
|
0x0000, 0x0080, 0x03E0, 0x0FF8, 0x0E9C, 0x1C8C, 0x188C, 0x008C, |
|
|
|
0x0098, 0x01F8, 0x07E0, 0x0E80, 0x1C80, 0x188C, 0x188C, 0x189C, |
|
|
|
0x0CB8, 0x0FF0, 0x03E0, 0x0080, 0x0080, 0x0000, 0x0000, 0x0000, |
|
|
|
// '%'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x180E, 0x0C1B, 0x0C11, 0x0611, 0x0611, |
|
|
|
0x0311, 0x0311, 0x019B, 0x018E, 0x38C0, 0x6CC0, 0x4460, 0x4460, |
|
|
|
0x4430, 0x4430, 0x4418, 0x6C18, 0x380C, 0x0000, 0x0000, 0x0000, |
|
|
|
// '&'
|
|
|
|
0x0000, 0x01E0, 0x03F0, 0x0738, 0x0618, 0x0618, 0x0330, 0x01F0, |
|
|
|
0x00F0, 0x00F8, 0x319C, 0x330E, 0x1E06, 0x1C06, 0x1C06, 0x3F06, |
|
|
|
0x73FC, 0x21F0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// "'"
|
|
|
|
0x0000, 0x0000, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '('
|
|
|
|
0x0000, 0x0200, 0x0300, 0x0180, 0x00C0, 0x00C0, 0x0060, 0x0060, |
|
|
|
0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, |
|
|
|
0x0060, 0x0060, 0x00C0, 0x00C0, 0x0180, 0x0300, 0x0200, 0x0000, |
|
|
|
// ')'
|
|
|
|
0x0000, 0x0020, 0x0060, 0x00C0, 0x0180, 0x0180, 0x0300, 0x0300, |
|
|
|
0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, |
|
|
|
0x0300, 0x0300, 0x0180, 0x0180, 0x00C0, 0x0060, 0x0020, 0x0000, |
|
|
|
// '*'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x00C0, 0x00C0, |
|
|
|
0x06D8, 0x07F8, 0x01E0, 0x0330, 0x0738, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '+'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0180, 0x3FFC, 0x3FFC, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// ','
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0180, 0x0180, 0x0100, 0x0100, 0x0080, 0x0000, 0x0000, |
|
|
|
// '-'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x07E0, 0x07E0, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '.'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '/'
|
|
|
|
0x0000, 0x0C00, 0x0C00, 0x0600, 0x0600, 0x0600, 0x0300, 0x0300, |
|
|
|
0x0300, 0x0380, 0x0180, 0x0180, 0x0180, 0x00C0, 0x00C0, 0x00C0, |
|
|
|
0x0060, 0x0060, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '0'
|
|
|
|
0x0000, 0x03E0, 0x07F0, 0x0E38, 0x0C18, 0x180C, 0x180C, 0x180C, |
|
|
|
0x180C, 0x180C, 0x180C, 0x180C, 0x180C, 0x180C, 0x0C18, 0x0E38, |
|
|
|
0x07F0, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '1'
|
|
|
|
0x0000, 0x0100, 0x0180, 0x01C0, 0x01F0, 0x0198, 0x0188, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '2'
|
|
|
|
0x0000, 0x03E0, 0x0FF8, 0x0C18, 0x180C, 0x180C, 0x1800, 0x1800, |
|
|
|
0x0C00, 0x0600, 0x0300, 0x0180, 0x00C0, 0x0060, 0x0030, 0x0018, |
|
|
|
0x1FFC, 0x1FFC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '3'
|
|
|
|
0x0000, 0x01E0, 0x07F8, 0x0E18, 0x0C0C, 0x0C0C, 0x0C00, 0x0600, |
|
|
|
0x03C0, 0x07C0, 0x0C00, 0x1800, 0x1800, 0x180C, 0x180C, 0x0C18, |
|
|
|
0x07F8, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '4'
|
|
|
|
0x0000, 0x0C00, 0x0E00, 0x0F00, 0x0F00, 0x0D80, 0x0CC0, 0x0C60, |
|
|
|
0x0C60, 0x0C30, 0x0C18, 0x0C0C, 0x3FFC, 0x3FFC, 0x0C00, 0x0C00, |
|
|
|
0x0C00, 0x0C00, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '5'
|
|
|
|
0x0000, 0x0FF8, 0x0FF8, 0x0018, 0x0018, 0x000C, 0x03EC, 0x07FC, |
|
|
|
0x0E1C, 0x1C00, 0x1800, 0x1800, 0x1800, 0x180C, 0x0C1C, 0x0E18, |
|
|
|
0x07F8, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '6'
|
|
|
|
0x0000, 0x07C0, 0x0FF0, 0x1C38, 0x1818, 0x0018, 0x000C, 0x03CC, |
|
|
|
0x0FEC, 0x0E3C, 0x1C1C, 0x180C, 0x180C, 0x180C, 0x1C18, 0x0E38, |
|
|
|
0x07F0, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '7'
|
|
|
|
0x0000, 0x1FFC, 0x1FFC, 0x0C00, 0x0600, 0x0600, 0x0300, 0x0380, |
|
|
|
0x0180, 0x01C0, 0x00C0, 0x00E0, 0x0060, 0x0060, 0x0070, 0x0030, |
|
|
|
0x0030, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '8'
|
|
|
|
0x0000, 0x03E0, 0x07F0, 0x0E38, 0x0C18, 0x0C18, 0x0C18, 0x0638, |
|
|
|
0x07F0, 0x07F0, 0x0C18, 0x180C, 0x180C, 0x180C, 0x180C, 0x0C38, |
|
|
|
0x0FF8, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '9'
|
|
|
|
0x0000, 0x03E0, 0x07F0, 0x0E38, 0x0C1C, 0x180C, 0x180C, 0x180C, |
|
|
|
0x1C1C, 0x1E38, 0x1BF8, 0x19E0, 0x1800, 0x0C00, 0x0C00, 0x0E1C, |
|
|
|
0x07F8, 0x01F0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// ':'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180, 0x0180, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// ';'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0180, 0x0180, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0180, 0x0180, 0x0100, 0x0100, 0x0080, 0x0000, 0x0000, 0x0000, |
|
|
|
// '<'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x1000, 0x1C00, 0x0F80, 0x03E0, 0x00F8, 0x0018, 0x00F8, 0x03E0, |
|
|
|
0x0F80, 0x1C00, 0x1000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '='
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x1FF8, 0x0000, 0x0000, 0x0000, 0x1FF8, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '>'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0008, 0x0038, 0x01F0, 0x07C0, 0x1F00, 0x1800, 0x1F00, 0x07C0, |
|
|
|
0x01F0, 0x0038, 0x0008, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '?'
|
|
|
|
0x0000, 0x03E0, 0x0FF8, 0x0C18, 0x180C, 0x180C, 0x1800, 0x0C00, |
|
|
|
0x0600, 0x0300, 0x0180, 0x00C0, 0x00C0, 0x00C0, 0x0000, 0x0000, |
|
|
|
0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '@'
|
|
|
|
0x0000, 0x0000, 0x07E0, 0x1818, 0x2004, 0x29C2, 0x4A22, 0x4411, |
|
|
|
0x4409, 0x4409, 0x4409, 0x2209, 0x1311, 0x0CE2, 0x4002, 0x2004, |
|
|
|
0x1818, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'A'
|
|
|
|
0x0000, 0x0380, 0x0380, 0x06C0, 0x06C0, 0x06C0, 0x0C60, 0x0C60, |
|
|
|
0x1830, 0x1830, 0x1830, 0x3FF8, 0x3FF8, 0x701C, 0x600C, 0x600C, |
|
|
|
0xC006, 0xC006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'B'
|
|
|
|
0x0000, 0x03FC, 0x0FFC, 0x0C0C, 0x180C, 0x180C, 0x180C, 0x0C0C, |
|
|
|
0x07FC, 0x0FFC, 0x180C, 0x300C, 0x300C, 0x300C, 0x300C, 0x180C, |
|
|
|
0x1FFC, 0x07FC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'C'
|
|
|
|
0x0000, 0x07C0, 0x1FF0, 0x3838, 0x301C, 0x700C, 0x6006, 0x0006, |
|
|
|
0x0006, 0x0006, 0x0006, 0x0006, 0x0006, 0x6006, 0x700C, 0x301C, |
|
|
|
0x1FF0, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'D'
|
|
|
|
0x0000, 0x03FE, 0x0FFE, 0x0E06, 0x1806, 0x1806, 0x3006, 0x3006, |
|
|
|
0x3006, 0x3006, 0x3006, 0x3006, 0x3006, 0x1806, 0x1806, 0x0E06, |
|
|
|
0x0FFE, 0x03FE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'E'
|
|
|
|
0x0000, 0x3FFC, 0x3FFC, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, |
|
|
|
0x1FFC, 0x1FFC, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, |
|
|
|
0x3FFC, 0x3FFC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'F'
|
|
|
|
0x0000, 0x3FF8, 0x3FF8, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, |
|
|
|
0x1FF8, 0x1FF8, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, |
|
|
|
0x0018, 0x0018, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'G'
|
|
|
|
0x0000, 0x0FE0, 0x3FF8, 0x783C, 0x600E, 0xE006, 0xC007, 0x0003, |
|
|
|
0x0003, 0xFE03, 0xFE03, 0xC003, 0xC007, 0xC006, 0xC00E, 0xF03C, |
|
|
|
0x3FF8, 0x0FE0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'H'
|
|
|
|
0x0000, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, |
|
|
|
0x3FFC, 0x3FFC, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, |
|
|
|
0x300C, 0x300C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'I'
|
|
|
|
0x0000, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'J'
|
|
|
|
0x0000, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0600, |
|
|
|
0x0600, 0x0600, 0x0600, 0x0600, 0x0600, 0x0618, 0x0618, 0x0738, |
|
|
|
0x03F0, 0x01E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'K'
|
|
|
|
0x0000, 0x3006, 0x1806, 0x0C06, 0x0606, 0x0306, 0x0186, 0x00C6, |
|
|
|
0x0066, 0x0076, 0x00DE, 0x018E, 0x0306, 0x0606, 0x0C06, 0x1806, |
|
|
|
0x3006, 0x6006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'L'
|
|
|
|
0x0000, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, |
|
|
|
0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, |
|
|
|
0x1FF8, 0x1FF8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'M'
|
|
|
|
0x0000, 0xE00E, 0xF01E, 0xF01E, 0xF01E, 0xD836, 0xD836, 0xD836, |
|
|
|
0xD836, 0xCC66, 0xCC66, 0xCC66, 0xC6C6, 0xC6C6, 0xC6C6, 0xC6C6, |
|
|
|
0xC386, 0xC386, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'N'
|
|
|
|
0x0000, 0x300C, 0x301C, 0x303C, 0x303C, 0x306C, 0x306C, 0x30CC, |
|
|
|
0x30CC, 0x318C, 0x330C, 0x330C, 0x360C, 0x360C, 0x3C0C, 0x3C0C, |
|
|
|
0x380C, 0x300C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'O'
|
|
|
|
0x0000, 0x07E0, 0x1FF8, 0x381C, 0x700E, 0x6006, 0xC003, 0xC003, |
|
|
|
0xC003, 0xC003, 0xC003, 0xC003, 0xC003, 0x6006, 0x700E, 0x381C, |
|
|
|
0x1FF8, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'P'
|
|
|
|
0x0000, 0x0FFC, 0x1FFC, 0x380C, 0x300C, 0x300C, 0x300C, 0x300C, |
|
|
|
0x180C, 0x1FFC, 0x07FC, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, |
|
|
|
0x000C, 0x000C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'Q'
|
|
|
|
0x0000, 0x07E0, 0x1FF8, 0x381C, 0x700E, 0x6006, 0xE003, 0xC003, |
|
|
|
0xC003, 0xC003, 0xC003, 0xC003, 0xE007, 0x6306, 0x3F0E, 0x3C1C, |
|
|
|
0x3FF8, 0xF7E0, 0xC000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'R'
|
|
|
|
0x0000, 0x0FFE, 0x1FFE, 0x3806, 0x3006, 0x3006, 0x3006, 0x3806, |
|
|
|
0x1FFE, 0x07FE, 0x0306, 0x0606, 0x0C06, 0x1806, 0x1806, 0x3006, |
|
|
|
0x3006, 0x6006, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'S'
|
|
|
|
0x0000, 0x03E0, 0x0FF8, 0x0C1C, 0x180C, 0x180C, 0x000C, 0x001C, |
|
|
|
0x03F8, 0x0FE0, 0x1E00, 0x3800, 0x3006, 0x3006, 0x300E, 0x1C1C, |
|
|
|
0x0FF8, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'T'
|
|
|
|
0x0000, 0x7FFE, 0x7FFE, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'U'
|
|
|
|
0x0000, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, |
|
|
|
0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x300C, 0x1818, |
|
|
|
0x1FF8, 0x07E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'V'
|
|
|
|
0x0000, 0x6003, 0x3006, 0x3006, 0x3006, 0x180C, 0x180C, 0x180C, |
|
|
|
0x0C18, 0x0C18, 0x0E38, 0x0630, 0x0630, 0x0770, 0x0360, 0x0360, |
|
|
|
0x01C0, 0x01C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'W'
|
|
|
|
0x0000, 0x6003, 0x61C3, 0x61C3, 0x61C3, 0x3366, 0x3366, 0x3366, |
|
|
|
0x3366, 0x3366, 0x3366, 0x1B6C, 0x1B6C, 0x1B6C, 0x1A2C, 0x1E3C, |
|
|
|
0x0E38, 0x0E38, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'X'
|
|
|
|
0x0000, 0xE00F, 0x700C, 0x3018, 0x1830, 0x0C70, 0x0E60, 0x07C0, |
|
|
|
0x0380, 0x0380, 0x03C0, 0x06E0, 0x0C70, 0x1C30, 0x1818, 0x300C, |
|
|
|
0x600E, 0xE007, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'Y'
|
|
|
|
0x0000, 0xC003, 0x6006, 0x300C, 0x381C, 0x1838, 0x0C30, 0x0660, |
|
|
|
0x07E0, 0x03C0, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'Z'
|
|
|
|
0x0000, 0x7FFC, 0x7FFC, 0x6000, 0x3000, 0x1800, 0x0C00, 0x0600, |
|
|
|
0x0300, 0x0180, 0x00C0, 0x0060, 0x0030, 0x0018, 0x000C, 0x0006, |
|
|
|
0x7FFE, 0x7FFE, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '['
|
|
|
|
0x0000, 0x03E0, 0x03E0, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, |
|
|
|
0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x0060, |
|
|
|
0x0060, 0x0060, 0x0060, 0x0060, 0x0060, 0x03E0, 0x03E0, 0x0000, |
|
|
|
// '\'
|
|
|
|
0x0000, 0x0030, 0x0030, 0x0060, 0x0060, 0x0060, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x01C0, 0x0180, 0x0180, 0x0180, 0x0300, 0x0300, 0x0300, |
|
|
|
0x0600, 0x0600, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// ']'
|
|
|
|
0x0000, 0x03E0, 0x03E0, 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, |
|
|
|
0x0300, 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, 0x0300, |
|
|
|
0x0300, 0x0300, 0x0300, 0x0300, 0x0300, 0x03E0, 0x03E0, 0x0000, |
|
|
|
// '^'
|
|
|
|
0x0000, 0x0000, 0x01C0, 0x01C0, 0x0360, 0x0360, 0x0360, 0x0630, |
|
|
|
0x0630, 0x0C18, 0x0C18, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 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, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '''
|
|
|
|
0x0000, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'a'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03F0, 0x07F8, |
|
|
|
0x0C1C, 0x0C0C, 0x0F00, 0x0FF0, 0x0CF8, 0x0C0C, 0x0C0C, 0x0F1C, |
|
|
|
0x0FF8, 0x18F0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'b'
|
|
|
|
0x0000, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x03D8, 0x0FF8, |
|
|
|
0x0C38, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x0C38, |
|
|
|
0x0FF8, 0x03D8, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'c'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03C0, 0x07F0, |
|
|
|
0x0E30, 0x0C18, 0x0018, 0x0018, 0x0018, 0x0018, 0x0C18, 0x0E30, |
|
|
|
0x07F0, 0x03C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'd'
|
|
|
|
0x0000, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x1BC0, 0x1FF0, |
|
|
|
0x1C30, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1C30, |
|
|
|
0x1FF0, 0x1BC0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'e'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03C0, 0x0FF0, |
|
|
|
0x0C30, 0x1818, 0x1FF8, 0x1FF8, 0x0018, 0x0018, 0x1838, 0x1C30, |
|
|
|
0x0FF0, 0x07C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'f'
|
|
|
|
0x0000, 0x0F80, 0x0FC0, 0x00C0, 0x00C0, 0x00C0, 0x07F0, 0x07F0, |
|
|
|
0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'g'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0DE0, 0x0FF8, |
|
|
|
0x0E18, 0x0C0C, 0x0C0C, 0x0C0C, 0x0C0C, 0x0C0C, 0x0C0C, 0x0E18, |
|
|
|
0x0FF8, 0x0DE0, 0x0C00, 0x0C0C, 0x061C, 0x07F8, 0x01F0, 0x0000, |
|
|
|
// 'h'
|
|
|
|
0x0000, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x07D8, 0x0FF8, |
|
|
|
0x1C38, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, |
|
|
|
0x1818, 0x1818, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'i'
|
|
|
|
0x0000, 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'j'
|
|
|
|
0x0000, 0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00F8, 0x0078, 0x0000, |
|
|
|
// 'k'
|
|
|
|
0x0000, 0x000C, 0x000C, 0x000C, 0x000C, 0x000C, 0x0C0C, 0x060C, |
|
|
|
0x030C, 0x018C, 0x00CC, 0x006C, 0x00FC, 0x019C, 0x038C, 0x030C, |
|
|
|
0x060C, 0x0C0C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'l'
|
|
|
|
0x0000, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x00C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'm'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3C7C, 0x7EFF, |
|
|
|
0xE3C7, 0xC183, 0xC183, 0xC183, 0xC183, 0xC183, 0xC183, 0xC183, |
|
|
|
0xC183, 0xC183, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'n'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0798, 0x0FF8, |
|
|
|
0x1C38, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, |
|
|
|
0x1818, 0x1818, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'o'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03C0, 0x0FF0, |
|
|
|
0x0C30, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x0C30, |
|
|
|
0x0FF0, 0x03C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'p'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03D8, 0x0FF8, |
|
|
|
0x0C38, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x0C38, |
|
|
|
0x0FF8, 0x03D8, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0000, |
|
|
|
// 'q'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1BC0, 0x1FF0, |
|
|
|
0x1C30, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1C30, |
|
|
|
0x1FF0, 0x1BC0, 0x1800, 0x1800, 0x1800, 0x1800, 0x1800, 0x0000, |
|
|
|
// 'r'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x07B0, 0x03F0, |
|
|
|
0x0070, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, 0x0030, |
|
|
|
0x0030, 0x0030, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 's'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x03E0, 0x03F0, |
|
|
|
0x0E38, 0x0C18, 0x0038, 0x03F0, 0x07C0, 0x0C00, 0x0C18, 0x0E38, |
|
|
|
0x07F0, 0x03E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 't'
|
|
|
|
0x0000, 0x0000, 0x0080, 0x00C0, 0x00C0, 0x00C0, 0x07F0, 0x07F0, |
|
|
|
0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, |
|
|
|
0x07C0, 0x0780, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'u'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1818, 0x1818, |
|
|
|
0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1818, 0x1C38, |
|
|
|
0x1FF0, 0x19E0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'v'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x180C, 0x0C18, |
|
|
|
0x0C18, 0x0C18, 0x0630, 0x0630, 0x0630, 0x0360, 0x0360, 0x0360, |
|
|
|
0x01C0, 0x01C0, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'w'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x41C1, 0x41C1, |
|
|
|
0x61C3, 0x6363, 0x6363, 0x6363, 0x3636, 0x3636, 0x3636, 0x1C1C, |
|
|
|
0x1C1C, 0x1C1C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'x'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x381C, 0x1C38, |
|
|
|
0x0C30, 0x0660, 0x0360, 0x0360, 0x0360, 0x0360, 0x0660, 0x0C30, |
|
|
|
0x1C38, 0x381C, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// 'y'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x3018, 0x1830, |
|
|
|
0x1830, 0x1870, 0x0C60, 0x0C60, 0x0CE0, 0x06C0, 0x06C0, 0x0380, |
|
|
|
0x0380, 0x0380, 0x0180, 0x0180, 0x01C0, 0x00F0, 0x0070, 0x0000, |
|
|
|
// 'z'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x1FFC, 0x1FFC, |
|
|
|
0x0C00, 0x0600, 0x0300, 0x0180, 0x00C0, 0x0060, 0x0030, 0x0018, |
|
|
|
0x1FFC, 0x1FFC, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
// '{'
|
|
|
|
0x0000, 0x0300, 0x0180, 0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x0060, 0x0060, 0x0030, 0x0060, 0x0040, 0x00C0, 0x00C0, |
|
|
|
0x00C0, 0x00C0, 0x00C0, 0x00C0, 0x0180, 0x0300, 0x0000, 0x0000, |
|
|
|
// '|'
|
|
|
|
0x0000, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0180, 0x0000, |
|
|
|
// '}'
|
|
|
|
0x0000, 0x0060, 0x00C0, 0x01C0, 0x0180, 0x0180, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0300, 0x0300, 0x0600, 0x0300, 0x0100, 0x0180, 0x0180, |
|
|
|
0x0180, 0x0180, 0x0180, 0x0180, 0x00C0, 0x0060, 0x0000, 0x0000, |
|
|
|
// '~'
|
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x10F0, 0x1FF8, 0x0F08, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, |
|
|
|
}; |
|
|
|
|
|
|
|
void disp_char_1624(uint16_t x, uint16_t y, uint8_t c, uint16_t charColor, uint16_t bkColor) { |
|
|
|
for (uint16_t i = 0; i < 24; i++) { |
|
|
|
const uint16_t tmp_char = pgm_read_word(&ASCII_Table_16x24[((c - 0x20) * 24) + i]); |
|
|
|
for (uint16_t j = 0; j < 16; j++) |
|
|
|
SPI_TFT.SetPoint(x + j, y + i, ((tmp_char >> j) & 0x01) ? charColor : bkColor); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void disp_string(uint16_t x, uint16_t y, const char * string, uint16_t charColor, uint16_t bkColor) { |
|
|
|
while (*string != '\0') { |
|
|
|
disp_char_1624(x, y, *string, charColor, bkColor); |
|
|
|
string++; |
|
|
|
x += 16; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
void disp_assets_update() { |
|
|
|
SPI_TFT.LCD_clear(0x0000); |
|
|
|
disp_string(100, 140, "Assets Updating...", 0xFFFF, 0x0000); |
|
|
|
} |
|
|
|
|
|
|
|
void disp_assets_update_progress(const char *msg) { |
|
|
|
char buf[30]; |
|
|
|
memset(buf, ' ', COUNT(buf)); |
|
|
|
strncpy(buf, msg, strlen(msg)); |
|
|
|
buf[COUNT(buf)-1] = '\0'; |
|
|
|
disp_string(100, 165, buf, 0xFFFF, 0x0000); |
|
|
|
} |
|
|
|
|
|
|
|
uint8_t mks_test_flag = 0; |
|
|
|
const char *MKSTestPath = "MKS_TEST"; |
|
|
|
|
|
|
|
#if ENABLED(SDSUPPORT) |
|
|
|
void mks_test_get() { |
|
|
|
SdFile dir, root = card.getroot(); |
|
|
|
if (dir.open(&root, MKSTestPath, O_RDONLY)) |
|
|
|
mks_test_flag = 0x1E; |
|
|
|
} |
|
|
|
#endif |
|
|
|
|
|
|
|
#endif // HAS_TFT_LVGL_UI
|