Merge remote-tracking branch 'origin/master' into GDISPStreaming
This commit is contained in:
commit
71ccbb32e1
9 changed files with 1073 additions and 0 deletions
169
demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h
Normal file
169
demos/modules/gdisp/gdisp_fonts_cyrillic/gfxconf.h
Normal file
|
@ -0,0 +1,169 @@
|
||||||
|
/**
|
||||||
|
* This file has a different license to the rest of the GFX system.
|
||||||
|
* You can copy, modify and distribute this file as you see fit.
|
||||||
|
* You do not need to publish your source modifications to this file.
|
||||||
|
* The only thing you are not permitted to do is to relicense it
|
||||||
|
* under a different license.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Copy this file into your project directory and rename it as gfxconf.h
|
||||||
|
* Edit your copy to turn on the GFX features you want to use.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _GFXCONF_H
|
||||||
|
#define _GFXCONF_H
|
||||||
|
|
||||||
|
/* The operating system to use - one of these must be defined */
|
||||||
|
#define GFX_USE_OS_CHIBIOS FALSE
|
||||||
|
#define GFX_USE_OS_WIN32 FALSE
|
||||||
|
#define GFX_USE_OS_LINUX FALSE
|
||||||
|
#define GFX_USE_OS_OSX FALSE
|
||||||
|
|
||||||
|
/* GFX subsystems to turn on */
|
||||||
|
#define GFX_USE_GDISP TRUE
|
||||||
|
#define GFX_USE_TDISP FALSE
|
||||||
|
#define GFX_USE_GWIN FALSE
|
||||||
|
#define GFX_USE_GEVENT FALSE
|
||||||
|
#define GFX_USE_GTIMER FALSE
|
||||||
|
#define GFX_USE_GQUEUE FALSE
|
||||||
|
#define GFX_USE_GINPUT FALSE
|
||||||
|
#define GFX_USE_GADC FALSE
|
||||||
|
#define GFX_USE_GAUDIN FALSE
|
||||||
|
#define GFX_USE_GAUDOUT FALSE
|
||||||
|
#define GFX_USE_GMISC FALSE
|
||||||
|
|
||||||
|
/* Features for the GDISP subsystem */
|
||||||
|
#define GDISP_NEED_VALIDATION TRUE
|
||||||
|
#define GDISP_NEED_CLIP TRUE
|
||||||
|
#define GDISP_NEED_TEXT TRUE
|
||||||
|
#define GDISP_NEED_CIRCLE TRUE
|
||||||
|
#define GDISP_NEED_ELLIPSE TRUE
|
||||||
|
#define GDISP_NEED_ARC FALSE
|
||||||
|
#define GDISP_NEED_CONVEX_POLYGON FALSE
|
||||||
|
#define GDISP_NEED_SCROLL FALSE
|
||||||
|
#define GDISP_NEED_PIXELREAD FALSE
|
||||||
|
#define GDISP_NEED_CONTROL FALSE
|
||||||
|
#define GDISP_NEED_QUERY FALSE
|
||||||
|
#define GDISP_NEED_IMAGE FALSE
|
||||||
|
#define GDISP_NEED_MULTITHREAD FALSE
|
||||||
|
#define GDISP_NEED_ASYNC FALSE
|
||||||
|
#define GDISP_NEED_MSGAPI FALSE
|
||||||
|
#define GDISP_NEED_ANTIALIAS TRUE
|
||||||
|
#define GDISP_NEED_UTF8 TRUE
|
||||||
|
#define GDISP_NEED_TEXT_KERNING TRUE
|
||||||
|
|
||||||
|
/* GDISP - fonts to include */
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS10 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS12 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS16 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS24 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS32 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_FIXED_10x20 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_FIXED_7x14 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_FIXED_5x8 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS12_AA FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS16_AA FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS24_AA FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANS32_AA FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_DEJAVUSANSBOLD12_AA FALSE
|
||||||
|
|
||||||
|
#define GDISP_INCLUDE_FONT_UI1 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_UI2 FALSE
|
||||||
|
#define GDISP_INCLUDE_FONT_LARGENUMBERS FALSE
|
||||||
|
#define GDISP_INCLUDE_USER_FONTS TRUE
|
||||||
|
|
||||||
|
/* GDISP image decoders */
|
||||||
|
#define GDISP_NEED_IMAGE_NATIVE FALSE
|
||||||
|
#define GDISP_NEED_IMAGE_GIF FALSE
|
||||||
|
#define GDISP_NEED_IMAGE_BMP FALSE
|
||||||
|
#define GDISP_NEED_IMAGE_JPG FALSE
|
||||||
|
#define GDISP_NEED_IMAGE_PNG FALSE
|
||||||
|
#define GDISP_NEED_IMAGE_ACCOUNTING FALSE
|
||||||
|
|
||||||
|
/* Optional image support that can be turned off */
|
||||||
|
/*
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_1 TRUE
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_4 TRUE
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_4_RLE TRUE
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_8 TRUE
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_8_RLE TRUE
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_16 TRUE
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_24 TRUE
|
||||||
|
#define GDISP_NEED_IMAGE_BMP_32 TRUE
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Features for the TDISP subsystem. */
|
||||||
|
#define TDISP_NEED_MULTITHREAD FALSE
|
||||||
|
|
||||||
|
/* Features for the GWIN subsystem. */
|
||||||
|
#define GWIN_NEED_WINDOWMANAGER FALSE
|
||||||
|
#define GWIN_NEED_CONSOLE FALSE
|
||||||
|
#define GWIN_NEED_GRAPH FALSE
|
||||||
|
#define GWIN_NEED_WIDGET FALSE
|
||||||
|
#define GWIN_NEED_BUTTON FALSE
|
||||||
|
#define GWIN_NEED_SLIDER FALSE
|
||||||
|
#define GWIN_NEED_CHECKBOX FALSE
|
||||||
|
#define GWIN_NEED_IMAGE FALSE
|
||||||
|
#define GWIN_NEED_RADIO FALSE
|
||||||
|
#define GWIN_NEED_LIST FALSE
|
||||||
|
|
||||||
|
/* Features for the GEVENT subsystem. */
|
||||||
|
#define GEVENT_ASSERT_NO_RESOURCE FALSE
|
||||||
|
|
||||||
|
/* Features for the GTIMER subsystem. */
|
||||||
|
/* NONE */
|
||||||
|
|
||||||
|
/* Features for the GQUEUE subsystem. */
|
||||||
|
#define GQUEUE_NEED_ASYNC FALSE
|
||||||
|
#define GQUEUE_NEED_GSYNC FALSE
|
||||||
|
#define GQUEUE_NEED_FSYNC FALSE
|
||||||
|
|
||||||
|
/* Features for the GINPUT subsystem. */
|
||||||
|
#define GINPUT_NEED_MOUSE FALSE
|
||||||
|
#define GINPUT_NEED_KEYBOARD FALSE
|
||||||
|
#define GINPUT_NEED_TOGGLE FALSE
|
||||||
|
#define GINPUT_NEED_DIAL FALSE
|
||||||
|
|
||||||
|
/* Features for the GADC subsystem. */
|
||||||
|
/* NONE */
|
||||||
|
|
||||||
|
/* Features for the GAUDIN subsystem. */
|
||||||
|
/* NONE */
|
||||||
|
|
||||||
|
/* Features for the GAUDOUT subsystem. */
|
||||||
|
/* NONE */
|
||||||
|
|
||||||
|
/* Features for the GMISC subsystem. */
|
||||||
|
#define GMISC_NEED_ARRAYOPS FALSE
|
||||||
|
#define GMISC_NEED_FASTTRIG FALSE
|
||||||
|
#define GMISC_NEED_FIXEDTRIG FALSE
|
||||||
|
|
||||||
|
/* Optional Parameters for various subsystems */
|
||||||
|
/*
|
||||||
|
#define GDISP_NEED_UTF8 FALSE
|
||||||
|
#define GDISP_NEED_TEXT_KERNING FALSE
|
||||||
|
#define GDISP_NEED_ANTIALIAS FALSE
|
||||||
|
#define GEVENT_MAXIMUM_SIZE 32
|
||||||
|
#define GEVENT_MAX_SOURCE_LISTENERS 32
|
||||||
|
#define GTIMER_THREAD_WORKAREA_SIZE 512
|
||||||
|
#define GADC_MAX_LOWSPEED_DEVICES 4
|
||||||
|
#define GWIN_BUTTON_LAZY_RELEASE FALSE
|
||||||
|
#define GWIN_CONSOLE_USE_BASESTREAM FALSE
|
||||||
|
#define GWIN_CONSOLE_USE_FLOAT FALSE
|
||||||
|
#define GWIN_NEED_IMAGE_ANIMATION FALSE
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Optional Low Level Driver Definitions */
|
||||||
|
/*
|
||||||
|
#define GDISP_USE_CUSTOM_BOARD FALSE
|
||||||
|
#define GDISP_SCREEN_WIDTH 320
|
||||||
|
#define GDISP_SCREEN_HEIGHT 240
|
||||||
|
#define GDISP_USE_FSMC
|
||||||
|
#define GDISP_USE_GPIO
|
||||||
|
#define TDISP_COLUMNS 16
|
||||||
|
#define TDISP_ROWS 2
|
||||||
|
*/
|
||||||
|
|
||||||
|
#endif /* _GFXCONF_H */
|
20
demos/modules/gdisp/gdisp_fonts_cyrillic/main.c
Normal file
20
demos/modules/gdisp/gdisp_fonts_cyrillic/main.c
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
#include "gfx.h"
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
font_t font1;
|
||||||
|
|
||||||
|
// Initialize uGFX and the underlying system
|
||||||
|
gfxInit();
|
||||||
|
|
||||||
|
// Get the fonts we want to use
|
||||||
|
font1 = gdispOpenFont("Archangelsk Regular 12");
|
||||||
|
|
||||||
|
// Demonstrate our other fonts
|
||||||
|
gdispDrawString(10, 10, "привет мир", font1, Yellow);
|
||||||
|
|
||||||
|
// Wait forever
|
||||||
|
while(TRUE) {
|
||||||
|
gfxSleepMilliseconds(500);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
455
demos/modules/gdisp/gdisp_fonts_cyrillic/userfonts.h
Normal file
455
demos/modules/gdisp/gdisp_fonts_cyrillic/userfonts.h
Normal file
|
@ -0,0 +1,455 @@
|
||||||
|
|
||||||
|
|
||||||
|
/* Start of automatically generated font definition for php6ySCWY. */
|
||||||
|
|
||||||
|
#ifndef MF_RLEFONT_INTERNALS
|
||||||
|
#define MF_RLEFONT_INTERNALS
|
||||||
|
#endif
|
||||||
|
#include "mf_rlefont.h"
|
||||||
|
|
||||||
|
#ifndef MF_RLEFONT_VERSION_4_SUPPORTED
|
||||||
|
#error The font file is not compatible with this version of mcufont.
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_php6ySCWY_dictionary_data[352] = {
|
||||||
|
0x11, 0x09, 0x80, 0x03, 0x0f, 0x80, 0x0f, 0x80, 0x41, 0x01, 0x80, 0xc5, 0x80, 0xce, 0xc6, 0x0f,
|
||||||
|
0x80, 0x0e, 0x02, 0x09, 0x80, 0x09, 0x0b, 0xc2, 0xce, 0x04, 0x0f, 0x0d, 0xc1, 0xcc, 0x05, 0x80,
|
||||||
|
0x09, 0x80, 0x05, 0x80, 0xce, 0xc2, 0x01, 0x80, 0xc3, 0x40, 0x01, 0xce, 0xc7, 0x06, 0x80, 0x03,
|
||||||
|
0x80, 0x06, 0x0a, 0x80, 0x83, 0xc8, 0x80, 0xc1, 0xcd, 0xce, 0xc5, 0x85, 0x21, 0x01, 0x80, 0x84,
|
||||||
|
0x40, 0x11, 0x80, 0x1f, 0x21, 0x80, 0xcd, 0xc2, 0x80, 0x0b, 0x80, 0xca, 0xcd, 0xc4, 0x02, 0x80,
|
||||||
|
0x80, 0xc9, 0xcd, 0xc5, 0xc5, 0xcd, 0x0b, 0x80, 0x03, 0x05, 0xc2, 0x80, 0x81, 0x82, 0xc4, 0x80,
|
||||||
|
0xc3, 0xcd, 0x0a, 0x80, 0x02, 0xce, 0xc3, 0x01, 0xca, 0xc1, 0xcb, 0xce, 0x81, 0xcc, 0xc1, 0xc3,
|
||||||
|
0xce, 0x07, 0xc6, 0xce, 0xc7, 0xce, 0xc6, 0x80, 0xca, 0xc3, 0x80, 0xce, 0xc7, 0x80, 0x10, 0x80,
|
||||||
|
0xc4, 0xc8, 0xce, 0x20, 0x0c, 0x08, 0xca, 0x80, 0x31, 0xc2, 0xcd, 0xc4, 0xcd, 0xc1, 0xce, 0x0b,
|
||||||
|
0x82, 0x80, 0x01, 0x24, 0x2c, 0x39, 0x33, 0x43, 0x22, 0xc5, 0x4b, 0x22, 0x2c, 0x21, 0x25, 0x19,
|
||||||
|
0x2a, 0x0f, 0x1f, 0x2c, 0x28, 0x29, 0x20, 0x29, 0x0c, 0x19, 0x1b, 0x33, 0x05, 0x32, 0x1b, 0x03,
|
||||||
|
0x0f, 0x21, 0x32, 0x26, 0x23, 0x2e, 0x56, 0x49, 0x29, 0x3d, 0x60, 0xcc, 0x50, 0x39, 0x19, 0x19,
|
||||||
|
0x2a, 0x24, 0x4e, 0x00, 0x57, 0x4c, 0xc2, 0x01, 0x4c, 0x0f, 0x08, 0x21, 0x07, 0x42, 0x0e, 0x09,
|
||||||
|
0x41, 0x54, 0xa6, 0x48, 0x1e, 0x22, 0xc8, 0x29, 0x22, 0xc8, 0x29, 0x24, 0x22, 0x52, 0x1a, 0x1d,
|
||||||
|
0x1f, 0x27, 0x0d, 0x4c, 0xb4, 0x0d, 0x28, 0x07, 0x20, 0x48, 0x3e, 0x2f, 0x21, 0x3e, 0x08, 0x33,
|
||||||
|
0x09, 0x42, 0x26, 0x29, 0x19, 0x09, 0x2d, 0x00, 0x5a, 0x08, 0x63, 0x3d, 0x0d, 0x01, 0x1a, 0x26,
|
||||||
|
0xa6, 0x45, 0x3e, 0x2c, 0x3e, 0x2c, 0x00, 0x3e, 0x26, 0x32, 0x01, 0x20, 0x0d, 0x05, 0x0e, 0x49,
|
||||||
|
0x2e, 0x31, 0x0f, 0x0b, 0x22, 0xc8, 0x25, 0x4c, 0xa6, 0x2a, 0x2a, 0x5e, 0xc2, 0x31, 0xc6, 0x33,
|
||||||
|
0x0c, 0x46, 0x23, 0x2c, 0x21, 0x25, 0x22, 0x0b, 0x48, 0x00, 0x2b, 0xc8, 0xcc, 0x2b, 0x55, 0x49,
|
||||||
|
0x26, 0x53, 0x60, 0xc2, 0x36, 0x2e, 0x0b, 0x0b, 0x21, 0x47, 0x05, 0x52, 0x28, 0x02, 0x5c, 0x4c,
|
||||||
|
0x20, 0x35, 0x56, 0x0f, 0x2f, 0x28, 0x07, 0x49, 0x07, 0x28, 0x36, 0x22, 0xc5, 0x2c, 0x25, 0x60,
|
||||||
|
0x29, 0x22, 0x4e, 0x1a, 0x45, 0x3e, 0x31, 0x1f, 0x1b, 0x1b, 0x4c, 0x56, 0x01, 0x28, 0x1a, 0x23,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_php6ySCWY_dictionary_offsets[138] = {
|
||||||
|
0x0000, 0x0001, 0x0003, 0x0004, 0x0008, 0x000b, 0x000d, 0x000f,
|
||||||
|
0x0011, 0x0012, 0x0013, 0x0014, 0x0016, 0x0017, 0x0019, 0x001a,
|
||||||
|
0x001b, 0x001c, 0x001e, 0x0022, 0x0024, 0x0027, 0x0029, 0x002b,
|
||||||
|
0x002d, 0x002e, 0x0032, 0x0034, 0x0035, 0x0037, 0x0039, 0x003b,
|
||||||
|
0x003c, 0x003d, 0x003f, 0x0040, 0x0044, 0x0046, 0x0048, 0x004a,
|
||||||
|
0x004c, 0x004e, 0x0050, 0x0052, 0x0054, 0x0056, 0x0059, 0x005a,
|
||||||
|
0x005c, 0x005d, 0x005e, 0x0060, 0x0062, 0x0063, 0x0065, 0x0067,
|
||||||
|
0x0069, 0x006b, 0x006d, 0x006f, 0x0071, 0x0072, 0x0074, 0x0076,
|
||||||
|
0x0078, 0x007a, 0x007c, 0x007e, 0x007f, 0x0081, 0x0083, 0x0084,
|
||||||
|
0x0085, 0x0086, 0x0088, 0x0089, 0x008b, 0x008d, 0x008f, 0x0091,
|
||||||
|
0x0093, 0x0096, 0x009b, 0x00a1, 0x00a3, 0x00a5, 0x00a8, 0x00af,
|
||||||
|
0x00b1, 0x00b3, 0x00b5, 0x00b8, 0x00bd, 0x00bf, 0x00c1, 0x00c9,
|
||||||
|
0x00cc, 0x00ce, 0x00d0, 0x00d3, 0x00dc, 0x00df, 0x00e7, 0x00e9,
|
||||||
|
0x00f0, 0x00f2, 0x00f5, 0x00f8, 0x00fc, 0x00ff, 0x0104, 0x0108,
|
||||||
|
0x010d, 0x0110, 0x0112, 0x0114, 0x0119, 0x011b, 0x011d, 0x011f,
|
||||||
|
0x0121, 0x0127, 0x0129, 0x012e, 0x0130, 0x0135, 0x013b, 0x0140,
|
||||||
|
0x0142, 0x0145, 0x014a, 0x014d, 0x0150, 0x0154, 0x0157, 0x015b,
|
||||||
|
0x015e, 0x0160,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_php6ySCWY_glyph_data_0[1460] = {
|
||||||
|
0x06, 0x00, 0x10, 0x02, 0x3c, 0x1b, 0x1b, 0x27, 0x01, 0x1f, 0x07, 0x10, 0x04, 0x38, 0x3f, 0x67,
|
||||||
|
0x70, 0x06, 0x0c, 0x28, 0x43, 0x08, 0x10, 0x08, 0x00, 0x3c, 0xa0, 0x5a, 0x37, 0x07, 0x19, 0xcc,
|
||||||
|
0x32, 0xa0, 0x5a, 0x37, 0x07, 0x60, 0xa6, 0x4c, 0xa6, 0x10, 0x08, 0x46, 0x1f, 0x5f, 0x56, 0x33,
|
||||||
|
0x08, 0x22, 0x4e, 0x20, 0x4e, 0x20, 0x56, 0x49, 0x43, 0x20, 0x53, 0x20, 0x53, 0x22, 0x08, 0x33,
|
||||||
|
0x43, 0x70, 0x10, 0x0c, 0x38, 0x55, 0x40, 0x21, 0x25, 0x0b, 0x54, 0x52, 0x03, 0x0a, 0x21, 0x0c,
|
||||||
|
0x84, 0x26, 0x52, 0x03, 0x0a, 0x00, 0x82, 0x54, 0x55, 0x40, 0x57, 0x06, 0x64, 0x1e, 0x60, 0x03,
|
||||||
|
0x3f, 0x00, 0x58, 0x29, 0x54, 0x35, 0x52, 0x00, 0x58, 0x29, 0x54, 0x0b, 0x2c, 0x00, 0x64, 0x1e,
|
||||||
|
0x10, 0x08, 0x1a, 0x38, 0x05, 0x0e, 0x1e, 0x5f, 0x40, 0x04, 0x0e, 0x22, 0xcc, 0x53, 0x22, 0x44,
|
||||||
|
0x49, 0x2f, 0x22, 0x4e, 0x00, 0x57, 0x07, 0x4c, 0x0e, 0x04, 0x21, 0x0e, 0x0c, 0x4c, 0x44, 0x67,
|
||||||
|
0x07, 0x2d, 0x10, 0x02, 0x3c, 0x05, 0x87, 0x10, 0x03, 0x18, 0x9f, 0x6c, 0x0f, 0x1b, 0x1b, 0x27,
|
||||||
|
0x6c, 0x9f, 0x10, 0x03, 0x5b, 0x65, 0x7e, 0x25, 0x9e, 0x26, 0x25, 0x28, 0x01, 0x2f, 0x10, 0x04,
|
||||||
|
0x38, 0x09, 0x77, 0x4c, 0x06, 0x51, 0x07, 0x5f, 0x34, 0x08, 0x10, 0x05, 0x1a, 0x38, 0x1b, 0x99,
|
||||||
|
0x6b, 0x10, 0x02, 0x1c, 0x04, 0x20, 0x0e, 0x10, 0x05, 0x5e, 0x2e, 0x33, 0x05, 0x10, 0x02, 0x1c,
|
||||||
|
0x10, 0x08, 0x30, 0x18, 0x97, 0x0c, 0x28, 0x0b, 0x2c, 0x24, 0x08, 0x5c, 0x5f, 0x1d, 0x08, 0x5f,
|
||||||
|
0x25, 0x0b, 0x5f, 0x29, 0x84, 0x22, 0x82, 0x10, 0x07, 0x38, 0x06, 0x51, 0x1e, 0x4c, 0x2c, 0x00,
|
||||||
|
0x25, 0x4c, 0xa5, 0x4c, 0xa5, 0x4c, 0xa5, 0x4c, 0x2c, 0x00, 0x25, 0x4c, 0x06, 0x51, 0x1e, 0x10,
|
||||||
|
0x04, 0x38, 0x5a, 0x6b, 0x9e, 0x10, 0x08, 0x00, 0x38, 0x0c, 0x33, 0x08, 0x20, 0x6d, 0x22, 0x02,
|
||||||
|
0x0a, 0x51, 0x43, 0x22, 0x0b, 0x7e, 0x0e, 0x01, 0x21, 0x70, 0x37, 0x10, 0x08, 0x38, 0x93, 0x1e,
|
||||||
|
0x22, 0x4e, 0x1a, 0x6d, 0x5f, 0x61, 0x3f, 0x20, 0x9c, 0x35, 0x22, 0x93, 0x1e, 0x10, 0x08, 0x26,
|
||||||
|
0x38, 0x34, 0x5f, 0x01, 0x61, 0x3e, 0x29, 0x0f, 0x5a, 0x4c, 0x63, 0x0f, 0x07, 0x39, 0x4c, 0x05,
|
||||||
|
0x48, 0x0d, 0x51, 0x07, 0x28, 0x6b, 0x10, 0x08, 0x38, 0x37, 0x06, 0x19, 0x1b, 0x33, 0x43, 0x20,
|
||||||
|
0x9c, 0x29, 0x22, 0x93, 0x1e, 0x10, 0x08, 0x38, 0x56, 0x33, 0x06, 0x22, 0x4e, 0x20, 0x2d, 0x28,
|
||||||
|
0xc2, 0x1e, 0x22, 0x2d, 0x1a, 0x9c, 0x29, 0x22, 0x88, 0x1e, 0x10, 0x08, 0x38, 0x37, 0x2d, 0x5f,
|
||||||
|
0x35, 0x0d, 0x28, 0x08, 0x2d, 0x5f, 0x6f, 0x08, 0x5f, 0x35, 0x0c, 0x28, 0x08, 0x2d, 0x5f, 0x4a,
|
||||||
|
0x08, 0x10, 0x08, 0x38, 0x56, 0x49, 0x2f, 0x7c, 0x29, 0x22, 0x84, 0x35, 0x22, 0x0b, 0x33, 0x8a,
|
||||||
|
0x22, 0x84, 0x35, 0x7c, 0x29, 0x22, 0x56, 0x49, 0x2f, 0x10, 0x08, 0x38, 0x93, 0x36, 0x7c, 0x53,
|
||||||
|
0x22, 0x52, 0x71, 0x44, 0x33, 0x6b, 0x20, 0x53, 0x22, 0x01, 0x33, 0x2f, 0x10, 0x02, 0x3b, 0x00,
|
||||||
|
0x1f, 0x07, 0x10, 0x02, 0x3b, 0x0f, 0x05, 0x87, 0x10, 0x05, 0x00, 0x62, 0x78, 0x5f, 0x5a, 0x08,
|
||||||
|
0x28, 0x5a, 0x08, 0x20, 0x5a, 0x08, 0x10, 0x06, 0x5b, 0x3c, 0x8f, 0x22, 0x3c, 0x8f, 0x10, 0x05,
|
||||||
|
0x62, 0x5a, 0x08, 0x20, 0x78, 0x28, 0x78, 0x5f, 0x5a, 0x08, 0x10, 0x06, 0x5e, 0x01, 0x49, 0x3f,
|
||||||
|
0x97, 0x97, 0x60, 0xb4, 0x3f, 0x24, 0x3c, 0x10, 0x0b, 0x18, 0x55, 0x37, 0x1e, 0x30, 0x2c, 0x46,
|
||||||
|
0x25, 0x1a, 0xcc, 0x4f, 0xcb, 0xc5, 0xc8, 0x5c, 0x04, 0x4d, 0xc5, 0xc8, 0x5c, 0x04, 0x67, 0x53,
|
||||||
|
0x1a, 0xcc, 0x4f, 0x33, 0x1e, 0x00, 0x2b, 0x27, 0x6c, 0x07, 0x51, 0x3f, 0x10, 0x08, 0x38, 0x88,
|
||||||
|
0x36, 0x6a, 0x2a, 0x37, 0x75, 0x2b, 0x10, 0x08, 0x8d, 0x9a, 0x29, 0x22, 0xc5, 0x35, 0x60, 0xc2,
|
||||||
|
0x8a, 0x22, 0xc5, 0x35, 0x19, 0x81, 0x33, 0x1e, 0x10, 0x08, 0x38, 0x56, 0x8f, 0x22, 0x6c, 0x0f,
|
||||||
|
0x1b, 0x27, 0x6c, 0x56, 0x8f, 0x10, 0x08, 0x8d, 0x9a, 0x53, 0x75, 0x8c, 0x94, 0x10, 0x08, 0x38,
|
||||||
|
0x37, 0x6e, 0x0f, 0x8f, 0x10, 0x08, 0x38, 0x37, 0x6e, 0x10, 0x08, 0x38, 0x88, 0x0f, 0x23, 0x6c,
|
||||||
|
0xc5, 0x45, 0x5a, 0x23, 0x67, 0x71, 0x4e, 0x71, 0x88, 0x48, 0x10, 0x08, 0x3c, 0x2a, 0x8c, 0x37,
|
||||||
|
0x19, 0x8c, 0x2b, 0x10, 0x02, 0x3c, 0x9e, 0x2b, 0x10, 0x06, 0x30, 0x18, 0x9e, 0x26, 0x25, 0x4c,
|
||||||
|
0x05, 0x49, 0x2f, 0x10, 0x08, 0x5e, 0xc6, 0x5a, 0x05, 0x54, 0xc8, 0x4a, 0x08, 0x54, 0xcc, 0x65,
|
||||||
|
0x0a, 0x22, 0xc0, 0x01, 0x60, 0xcc, 0x65, 0x0a, 0x22, 0xc8, 0x4a, 0x08, 0x22, 0xc6, 0x5a, 0x05,
|
||||||
|
0x10, 0x06, 0x3c, 0x9e, 0x26, 0xc2, 0x05, 0x10, 0x09, 0x3c, 0x05, 0x26, 0x1d, 0x60, 0x59, 0x01,
|
||||||
|
0x21, 0x65, 0x0f, 0x60, 0x59, 0x0b, 0x21, 0x0b, 0x0e, 0xe5, 0x2b, 0x57, 0x06, 0x57, 0x57, 0x46,
|
||||||
|
0xcc, 0x0b, 0x0e, 0x0e, 0x0b, 0x39, 0x46, 0xcc, 0x65, 0x0e, 0x01, 0x39, 0x30, 0xc8, 0x05, 0x05,
|
||||||
|
0x41, 0x10, 0x08, 0x3c, 0x08, 0x71, 0x48, 0x08, 0xa0, 0x42, 0x77, 0x23, 0x67, 0x80, 0x74, 0x21,
|
||||||
|
0x80, 0x23, 0xe5, 0x34, 0x23, 0xc5, 0x34, 0x10, 0x08, 0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x90, 0x93,
|
||||||
|
0x1e, 0x10, 0x08, 0x8d, 0x9a, 0x4b, 0x75, 0x26, 0x4b, 0x60, 0xc2, 0x43, 0x22, 0x6b, 0x10, 0x08,
|
||||||
|
0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x00, 0x71, 0x4e, 0x00, 0x0d, 0x00, 0x53, 0x22, 0x44, 0x49, 0x43,
|
||||||
|
0x70, 0x10, 0x08, 0x8d, 0x9a, 0x4b, 0x75, 0x94, 0x30, 0xcc, 0x50, 0x0f, 0x07, 0x22, 0xc6, 0x61,
|
||||||
|
0x07, 0x10, 0x08, 0x38, 0x08, 0x3a, 0x02, 0x7c, 0x24, 0x52, 0x20, 0x44, 0x49, 0x43, 0x20, 0x6d,
|
||||||
|
0x22, 0x02, 0x3a, 0x08, 0x10, 0x08, 0x38, 0x0d, 0x3a, 0x0d, 0x70, 0x9e, 0x10, 0x08, 0x3c, 0x8c,
|
||||||
|
0x8c, 0x90, 0x88, 0x36, 0x10, 0x08, 0x38, 0x0c, 0x0b, 0x1a, 0x5d, 0x01, 0x60, 0x57, 0x02, 0x21,
|
||||||
|
0x79, 0x22, 0x65, 0x08, 0x00, 0x05, 0x2d, 0x4c, 0x09, 0x0e, 0x00, 0x0c, 0x0c, 0x24, 0x6f, 0x34,
|
||||||
|
0x06, 0x5f, 0x0c, 0x59, 0x01, 0x5f, 0x06, 0x42, 0x10, 0x0a, 0x38, 0x0d, 0x0a, 0x21, 0x0d, 0x0e,
|
||||||
|
0x21, 0x09, 0x0e, 0x30, 0x5d, 0x00, 0x6f, 0x5c, 0x00, 0x0d, 0x09, 0x30, 0x04, 0x5c, 0x5a, 0x79,
|
||||||
|
0x6f, 0x05, 0x54, 0x0e, 0x08, 0x0c, 0x0b, 0x0a, 0x0d, 0x5a, 0x01, 0x30, 0x4f, 0x0e, 0x0f, 0x06,
|
||||||
|
0x05, 0x59, 0x0b, 0x60, 0x05, 0x48, 0x02, 0x01, 0x48, 0x06, 0x60, 0x01, 0x0f, 0x0c, 0x21, 0x0b,
|
||||||
|
0x0f, 0x02, 0x10, 0x08, 0x38, 0x82, 0x35, 0x0c, 0x4c, 0x0c, 0x0d, 0x50, 0x2c, 0x22, 0x25, 0x0e,
|
||||||
|
0x5c, 0x5f, 0x07, 0x3f, 0x5f, 0x25, 0x0e, 0x5c, 0x24, 0x0c, 0x0d, 0x50, 0x2c, 0x60, 0x82, 0x35,
|
||||||
|
0x0c, 0x10, 0x08, 0x3c, 0x2a, 0x90, 0x44, 0x49, 0x43, 0x70, 0x1b, 0x10, 0x08, 0x38, 0x37, 0x2d,
|
||||||
|
0x5f, 0x08, 0x3f, 0x24, 0x4f, 0x3f, 0x24, 0x50, 0x3f, 0x24, 0x29, 0x3f, 0x5f, 0x0d, 0x3f, 0x28,
|
||||||
|
0x37, 0x2d, 0x10, 0x03, 0x21, 0x1f, 0x5c, 0x28, 0x6b, 0x9e, 0x2b, 0x5c, 0x10, 0x08, 0x38, 0x82,
|
||||||
|
0x28, 0x0c, 0x84, 0x4c, 0x25, 0x0b, 0x20, 0x1d, 0x7e, 0x08, 0x5c, 0x20, 0x0b, 0x2c, 0x5f, 0x35,
|
||||||
|
0x0c, 0x10, 0x03, 0x5b, 0x4a, 0x6b, 0x9e, 0x2b, 0x28, 0x04, 0x48, 0x10, 0x05, 0x21, 0x07, 0x08,
|
||||||
|
0x28, 0x5a, 0x42, 0x70, 0x08, 0x57, 0x01, 0x24, 0x08, 0x21, 0x06, 0x01, 0x10, 0x06, 0x5b, 0x1c,
|
||||||
|
0x8f, 0x10, 0x02, 0x38, 0x0d, 0x7e, 0x0a, 0x7e, 0x06, 0x07, 0x10, 0x06, 0x2e, 0x91, 0x77, 0x5f,
|
||||||
|
0x25, 0x24, 0x34, 0x7f, 0x10, 0x06, 0x3c, 0x1b, 0x48, 0x1e, 0x8b, 0x22, 0xc8, 0x25, 0x66, 0x2f,
|
||||||
|
0x10, 0x06, 0x72, 0x24, 0x6c, 0x0f, 0x27, 0x6c, 0x56, 0x49, 0x10, 0x06, 0x26, 0x3c, 0x27, 0x3e,
|
||||||
|
0x93, 0x68, 0x45, 0x86, 0x56, 0x49, 0x10, 0x06, 0x2e, 0x5d, 0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49,
|
||||||
|
0x0d, 0x10, 0x03, 0x38, 0x07, 0x36, 0x28, 0x0e, 0x7e, 0x59, 0x20, 0x6b, 0x1b, 0x10, 0x06, 0x72,
|
||||||
|
0x68, 0x45, 0x86, 0x93, 0x20, 0x65, 0x60, 0xb4, 0x2f, 0x10, 0x06, 0x3c, 0x1b, 0x48, 0x1e, 0x8b,
|
||||||
|
0x9d, 0x10, 0x02, 0x3c, 0x05, 0x20, 0x04, 0x9e, 0x10, 0x02, 0x00, 0x3c, 0x20, 0x18, 0x0e, 0x9e,
|
||||||
|
0x26, 0x56, 0x20, 0x1e, 0x10, 0x06, 0x3c, 0x28, 0xc8, 0x01, 0x02, 0x01, 0x54, 0xcc, 0x29, 0x3d,
|
||||||
|
0x32, 0x4b, 0x52, 0x66, 0x03, 0x70, 0x73, 0x4e, 0x10, 0x08, 0x5e, 0x3c, 0x59, 0x0b, 0x0e, 0x1e,
|
||||||
|
0x30, 0xcc, 0x03, 0x2d, 0x53, 0x19, 0xc8, 0x23, 0xcd, 0x74, 0xa8, 0x10, 0x06, 0x2e, 0x49, 0x2f,
|
||||||
|
0x8b, 0x9d, 0x10, 0x06, 0x2e, 0x98, 0x24, 0x2c, 0x25, 0x45, 0x3e, 0x9b, 0x1a, 0x98, 0x10, 0x06,
|
||||||
|
0x2e, 0x49, 0x2f, 0x8b, 0x22, 0xc8, 0x25, 0x66, 0x1e, 0x00, 0x32, 0x1b, 0x10, 0x06, 0x72, 0x68,
|
||||||
|
0x45, 0x86, 0x93, 0x1f, 0x1b, 0x10, 0x06, 0x2e, 0x49, 0x1e, 0x22, 0xc8, 0x08, 0x0d, 0x00, 0x32,
|
||||||
|
0x1b, 0x10, 0x06, 0x2e, 0x09, 0x48, 0x59, 0x24, 0x1e, 0x20, 0x09, 0x49, 0x96, 0x0a, 0x49, 0x52,
|
||||||
|
0x10, 0x03, 0x21, 0x18, 0x1b, 0x20, 0x0b, 0x8a, 0x20, 0x6b, 0x1b, 0x10, 0x06, 0x89, 0x85, 0x25,
|
||||||
|
0x24, 0x98, 0x10, 0x07, 0x95, 0x22, 0x03, 0x5c, 0x4f, 0x0c, 0x4c, 0x4f, 0x0c, 0x03, 0x5c, 0x24,
|
||||||
|
0x6f, 0x0d, 0x0b, 0x28, 0x82, 0x10, 0x0a, 0x2e, 0x0c, 0x09, 0x00, 0x4a, 0x07, 0x00, 0x1d, 0x01,
|
||||||
|
0x30, 0x55, 0x01, 0x0a, 0x59, 0x00, 0x0b, 0x0a, 0x54, 0x65, 0x34, 0x5a, 0x08, 0x5c, 0x60, 0x09,
|
||||||
|
0x59, 0x00, 0x0b, 0x0f, 0x0d, 0x22, 0x6f, 0x08, 0x00, 0x4a, 0x07, 0x10, 0x06, 0x2e, 0x0a, 0x0e,
|
||||||
|
0x01, 0x0a, 0x84, 0x54, 0x35, 0x0d, 0x2d, 0x5f, 0x05, 0x42, 0x5f, 0x35, 0x0d, 0x2d, 0x4c, 0x4f,
|
||||||
|
0x0e, 0x50, 0x84, 0x10, 0x07, 0x95, 0x22, 0x03, 0x2d, 0x4f, 0x0b, 0x24, 0x09, 0x0b, 0x02, 0x2d,
|
||||||
|
0x24, 0x47, 0x0c, 0x09, 0x28, 0x09, 0x2c, 0x24, 0x02, 0x2f, 0x5f, 0x04, 0x42, 0x10, 0x06, 0x2e,
|
||||||
|
0x33, 0x5c, 0x5f, 0x06, 0x8a, 0x01, 0x24, 0x09, 0x3f, 0x5f, 0x0b, 0x42, 0x24, 0xc0, 0x5c, 0x10,
|
||||||
|
0x04, 0x00, 0x18, 0x9f, 0x6c, 0x6b, 0x20, 0x63, 0x1b, 0x27, 0x6c, 0x9f, 0x10, 0x02, 0x21, 0x9e,
|
||||||
|
0x2b, 0x1b, 0x1b, 0x10, 0x04, 0x5b, 0x65, 0x7e, 0x25, 0x1b, 0x27, 0x3d, 0x20, 0x6b, 0x20, 0x25,
|
||||||
|
0x28, 0x01, 0x2f, 0x10, 0x06, 0x38, 0x05, 0x0e, 0x58, 0x02, 0x08, 0x32, 0x8f, 0x4c, 0x08, 0x01,
|
||||||
|
0x05, 0x0c, 0x36, 0x10,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_0[95] = {
|
||||||
|
0x0000, 0x0003, 0x000c, 0x0017, 0x002a, 0x0043, 0x0071, 0x0093,
|
||||||
|
0x0098, 0x00a3, 0x00af, 0x00bb, 0x00c2, 0x00c8, 0x00ce, 0x00d1,
|
||||||
|
0x00e8, 0x0100, 0x0106, 0x011c, 0x012e, 0x0147, 0x0156, 0x016b,
|
||||||
|
0x0182, 0x019a, 0x01ad, 0x01b3, 0x01b9, 0x01c7, 0x01cf, 0x01db,
|
||||||
|
0x01e8, 0x020d, 0x0217, 0x0229, 0x0236, 0x023e, 0x0245, 0x024a,
|
||||||
|
0x025b, 0x0264, 0x0269, 0x0274, 0x0291, 0x0298, 0x02c2, 0x02d8,
|
||||||
|
0x02e2, 0x02ef, 0x0302, 0x0312, 0x0325, 0x032d, 0x0335, 0x0359,
|
||||||
|
0x0393, 0x03b2, 0x03bc, 0x03d3, 0x03dd, 0x03f2, 0x03fc, 0x040d,
|
||||||
|
0x0412, 0x041b, 0x0425, 0x0431, 0x043b, 0x0447, 0x0452, 0x045e,
|
||||||
|
0x046a, 0x0472, 0x0479, 0x0485, 0x0264, 0x0499, 0x04ac, 0x04b3,
|
||||||
|
0x04bf, 0x04cd, 0x04d6, 0x04e2, 0x04f1, 0x04fc, 0x0503, 0x0516,
|
||||||
|
0x053c, 0x0554, 0x056e, 0x0580, 0x058d, 0x0594, 0x05a4,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_php6ySCWY_glyph_data_1[1341] = {
|
||||||
|
0x06, 0x00, 0x10, 0x02, 0x3c, 0x7e, 0x01, 0x9e, 0x10, 0x00, 0x02, 0x3c, 0x7e, 0x0f, 0x7e, 0x0d,
|
||||||
|
0x06, 0x28, 0x18, 0x0d, 0x1b, 0x10, 0x05, 0x18, 0x61, 0x5c, 0x5f, 0x84, 0x24, 0x0d, 0x0f, 0x43,
|
||||||
|
0x5f, 0x0b, 0x01, 0x29, 0x5f, 0x52, 0x35, 0x5f, 0x06, 0x0d, 0x8a, 0x97, 0x27, 0x0c, 0x5f, 0x4a,
|
||||||
|
0x42, 0x10, 0x06, 0x38, 0x09, 0x48, 0x42, 0x24, 0x59, 0x67, 0x3e, 0x59, 0x67, 0x3e, 0x09, 0x48,
|
||||||
|
0x42, 0x10, 0x08, 0x00, 0x62, 0x78, 0x63, 0x3d, 0x60, 0x83, 0x22, 0x83, 0x4c, 0x83, 0x10, 0x06,
|
||||||
|
0x38, 0x09, 0x48, 0x42, 0x66, 0x09, 0x67, 0x32, 0x2d, 0x04, 0x3e, 0x09, 0x48, 0x42, 0x10, 0x04,
|
||||||
|
0x5e, 0x4f, 0x3f, 0x00, 0x70, 0x47, 0x5f, 0x4f, 0x3f, 0x10, 0x05, 0x62, 0x41, 0x99, 0x0f, 0x27,
|
||||||
|
0x7e, 0x28, 0xc0, 0x05, 0x10, 0x03, 0x62, 0x0b, 0x42, 0x28, 0x51, 0x10, 0x03, 0x62, 0x0e, 0x42,
|
||||||
|
0x28, 0x0e, 0x8a, 0x10, 0x02, 0x3c, 0x05, 0x87, 0x10, 0x02, 0x3b, 0x10, 0x06, 0x38, 0x05, 0xf9,
|
||||||
|
0x05, 0x4c, 0x18, 0x5d, 0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49, 0x0d, 0x10, 0x0d, 0x38, 0x0b, 0x08,
|
||||||
|
0x26, 0x0b, 0x00, 0x64, 0x1e, 0xd4, 0x42, 0xcc, 0x58, 0x29, 0xd4, 0x34, 0x07, 0xe8, 0x58, 0x29,
|
||||||
|
0x00, 0xcc, 0x34, 0x06, 0xf6, 0x64, 0x1e, 0x21, 0xc8, 0x34, 0x4a, 0x60, 0xc6, 0x5d, 0x67, 0x91,
|
||||||
|
0xc5, 0xc5, 0x34, 0x10, 0x08, 0x62, 0x83, 0x4c, 0x78, 0x63, 0x2c, 0x60, 0x78, 0x63, 0x2c, 0x54,
|
||||||
|
0x83, 0x10, 0x04, 0x38, 0x7d, 0x00, 0x04, 0x0b, 0x28, 0x03, 0x57, 0x28, 0x91, 0x09, 0x10, 0x04,
|
||||||
|
0x38, 0x7d, 0x0b, 0x3f, 0x28, 0x0b, 0x3f, 0x22, 0xb4, 0x0d, 0x10, 0x04, 0x38, 0x25, 0x0e, 0x28,
|
||||||
|
0x02, 0x05, 0x0e, 0x28, 0x25, 0x0e, 0x28, 0x0d, 0x48, 0x20, 0x04, 0x0b, 0x28, 0x04, 0x34, 0x28,
|
||||||
|
0x91, 0x10, 0x06, 0x38, 0xc6, 0x38, 0x66, 0x0a, 0x97, 0x97, 0x4c, 0x01, 0x49, 0x3f, 0x10, 0x08,
|
||||||
|
0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x37, 0x75, 0x2b, 0x10, 0x08, 0x38, 0x37, 0x01, 0x19, 0x1b, 0x33,
|
||||||
|
0x43, 0x19, 0x81, 0x81, 0x33, 0x1e, 0x10, 0x08, 0x8d, 0x9a, 0x29, 0x22, 0xc5, 0x35, 0x60, 0xc2,
|
||||||
|
0x8a, 0x22, 0xc5, 0x35, 0x19, 0x81, 0x33, 0x1e, 0x10, 0x06, 0x8d, 0x05, 0x32, 0x9e, 0x10, 0x09,
|
||||||
|
0x00, 0x38, 0x05, 0x51, 0x36, 0x4c, 0x3d, 0x21, 0x63, 0x4c, 0xa5, 0x4c, 0xa5, 0x4c, 0xa5, 0x32,
|
||||||
|
0x71, 0x48, 0x37, 0x46, 0xcc, 0x2b, 0x10, 0x08, 0x38, 0x37, 0x6e, 0x0f, 0x8f, 0x10, 0x0a, 0x38,
|
||||||
|
0x35, 0x0c, 0xe8, 0x29, 0x84, 0x1a, 0x03, 0x42, 0xf6, 0x09, 0x4e, 0x60, 0x57, 0x57, 0x57, 0x06,
|
||||||
|
0x4c, 0x0c, 0x49, 0x0c, 0x4c, 0x57, 0x57, 0x57, 0x06, 0x60, 0x03, 0x42, 0xf6, 0x09, 0x4e, 0x30,
|
||||||
|
0x35, 0x52, 0xf6, 0x29, 0x84, 0x10, 0x08, 0x38, 0x08, 0x33, 0x42, 0x20, 0x6d, 0x5f, 0x61, 0x3f,
|
||||||
|
0x20, 0x29, 0x97, 0x22, 0x08, 0x3a, 0x08, 0x10, 0x08, 0x38, 0xc5, 0x34, 0x60, 0xc6, 0x34, 0x23,
|
||||||
|
0x4d, 0x80, 0x23, 0x67, 0x80, 0x74, 0x80, 0x00, 0x74, 0x77, 0x74, 0x08, 0xd4, 0x10, 0x08, 0x1a,
|
||||||
|
0x47, 0x05, 0x24, 0x03, 0x46, 0x03, 0x22, 0xc5, 0x61, 0x60, 0xc6, 0x61, 0x23, 0x4d, 0x61, 0x34,
|
||||||
|
0x30, 0xcc, 0x61, 0x08, 0x74, 0x61, 0x08, 0x00, 0x74, 0x77, 0x74, 0x08, 0xd4, 0x10, 0x08, 0x5e,
|
||||||
|
0xc6, 0x5a, 0x05, 0x54, 0xc8, 0x4a, 0x08, 0x54, 0xcc, 0x65, 0x0a, 0x22, 0xc0, 0x01, 0x60, 0xcc,
|
||||||
|
0x65, 0x0a, 0x22, 0xc8, 0x4a, 0x08, 0x22, 0xc6, 0x5a, 0x05, 0x10, 0x08, 0x21, 0x38, 0x93, 0x4c,
|
||||||
|
0x02, 0x5c, 0x41, 0x4c, 0x55, 0xec, 0x4c, 0x0b, 0x0a, 0xa0, 0x01, 0x1e, 0xa0, 0x1d, 0x02, 0xa0,
|
||||||
|
0x09, 0x0d, 0xd4, 0x10, 0x09, 0x3c, 0x05, 0x26, 0x1d, 0x60, 0x59, 0x01, 0x21, 0x65, 0x0f, 0x60,
|
||||||
|
0x59, 0x0b, 0x21, 0x0b, 0x0e, 0xe5, 0x2b, 0x57, 0x06, 0x57, 0x57, 0x46, 0xcc, 0x0b, 0x0e, 0x0e,
|
||||||
|
0x0b, 0x39, 0x46, 0xcc, 0x65, 0x0e, 0x01, 0x39, 0x30, 0xc8, 0x05, 0x05, 0x41, 0x10, 0x08, 0x3c,
|
||||||
|
0x2a, 0x8c, 0x37, 0x19, 0x8c, 0x2b, 0x10, 0x08, 0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x90, 0x93, 0x1e,
|
||||||
|
0x10, 0x08, 0x3c, 0x37, 0x75, 0x8c, 0x8c, 0x2b, 0x10, 0x08, 0x8d, 0x9a, 0x4b, 0x75, 0x26, 0x4b,
|
||||||
|
0x60, 0xc2, 0x43, 0x22, 0x6b, 0x10, 0x08, 0x38, 0x56, 0x8f, 0x22, 0x6c, 0x0f, 0x1b, 0x27, 0x6c,
|
||||||
|
0x56, 0x8f, 0x10, 0x08, 0x38, 0x0d, 0x3a, 0x0d, 0x70, 0x9e, 0x10, 0x08, 0x38, 0x09, 0x0f, 0x05,
|
||||||
|
0x21, 0x0c, 0x0d, 0x4c, 0x0b, 0x2d, 0x07, 0x2d, 0x4c, 0x35, 0x0e, 0x79, 0x5f, 0x47, 0x84, 0x22,
|
||||||
|
0x05, 0x5c, 0x5f, 0x65, 0x08, 0x5f, 0x04, 0x3f, 0x10, 0x0a, 0x38, 0x44, 0x3a, 0x43, 0x54, 0x40,
|
||||||
|
0x41, 0x0d, 0x00, 0x4b, 0x30, 0xa6, 0x0d, 0x41, 0x54, 0x40, 0x41, 0x0d, 0x00, 0x4b, 0x54, 0x44,
|
||||||
|
0x3a, 0x40, 0x24, 0x6b, 0x10, 0x08, 0x38, 0x82, 0x35, 0x0c, 0x4c, 0x0c, 0x0d, 0x50, 0x2c, 0x22,
|
||||||
|
0x25, 0x0e, 0x5c, 0x5f, 0x07, 0x3f, 0x5f, 0x25, 0x0e, 0x5c, 0x24, 0x0c, 0x0d, 0x50, 0x2c, 0x60,
|
||||||
|
0x82, 0x35, 0x0c, 0x10, 0x09, 0x3c, 0x8c, 0x8c, 0x8c, 0x37, 0x6b, 0x10, 0x08, 0x3c, 0x8c, 0x00,
|
||||||
|
0x71, 0x4e, 0x71, 0x44, 0x3a, 0x1b, 0x10, 0x0a, 0x5e, 0xc6, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x31,
|
||||||
|
0xf2, 0x37, 0x10, 0x0a, 0x5e, 0xa6, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x21, 0xc5, 0xb4, 0x37, 0x6b,
|
||||||
|
0x10, 0x09, 0x5e, 0x07, 0x48, 0x1b, 0x69, 0x75, 0x94, 0x10, 0x0a, 0x5e, 0xe6, 0x2b, 0x46, 0xc8,
|
||||||
|
0x2b, 0x30, 0xc2, 0x43, 0xe6, 0x2b, 0x02, 0x05, 0x09, 0x0d, 0x0f, 0x0d, 0x39, 0x54, 0xc5, 0x02,
|
||||||
|
0xf9, 0x54, 0xc5, 0x25, 0x39, 0x30, 0xc2, 0x36, 0x39, 0x10, 0x08, 0x3c, 0x1b, 0x69, 0x75, 0x94,
|
||||||
|
0x10, 0x08, 0x38, 0x0c, 0x49, 0x59, 0x7e, 0x53, 0x1f, 0x5f, 0x0d, 0x48, 0x6b, 0x20, 0x53, 0x22,
|
||||||
|
0x0c, 0x33, 0x2f, 0x10, 0x0b, 0x38, 0x0d, 0x21, 0x88, 0x1e, 0x26, 0xc8, 0x2c, 0x21, 0x25, 0x92,
|
||||||
|
0x49, 0x2b, 0x92, 0x21, 0x2c, 0x21, 0x25, 0x30, 0x0d, 0x21, 0x88, 0x1e, 0x10, 0x08, 0x38, 0x88,
|
||||||
|
0x0f, 0x23, 0x4e, 0x71, 0x67, 0x71, 0x4e, 0x71, 0x88, 0x48, 0x4c, 0x07, 0x8a, 0x01, 0x00, 0x23,
|
||||||
|
0x07, 0x3f, 0xec, 0x10, 0x06, 0x2e, 0x91, 0x77, 0x5f, 0x25, 0x24, 0x34, 0x7f, 0x10, 0x06, 0x5e,
|
||||||
|
0x4f, 0x48, 0x42, 0x00, 0x32, 0x01, 0x1a, 0x66, 0x1e, 0x8b, 0x24, 0x9b, 0x1a, 0x98, 0x10, 0x06,
|
||||||
|
0x2e, 0x49, 0x42, 0x45, 0x0c, 0x66, 0x8a, 0x45, 0x0c, 0x66, 0x42, 0x10, 0x06, 0x2e, 0x0a, 0x49,
|
||||||
|
0x96, 0x09, 0x49, 0x52, 0x32, 0x06, 0x20, 0x09, 0x48, 0x59, 0x10, 0x06, 0x72, 0x68, 0x45, 0x86,
|
||||||
|
0x93, 0x20, 0x65, 0x60, 0xb4, 0x2f, 0x10, 0x06, 0x2e, 0x5d, 0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49,
|
||||||
|
0x0d, 0x10, 0x09, 0x00, 0x62, 0x97, 0x0a, 0x39, 0x4f, 0x84, 0x46, 0x6f, 0x1d, 0x05, 0x2d, 0x22,
|
||||||
|
0x4f, 0x48, 0x3f, 0x4c, 0x6f, 0x1d, 0x05, 0x2d, 0x60, 0x35, 0x0a, 0x39, 0x4f, 0x84, 0x10, 0x06,
|
||||||
|
0x2e, 0x91, 0x3f, 0x27, 0x0c, 0x5f, 0x57, 0x8a, 0x27, 0x0c, 0x24, 0x91, 0x8a, 0x10, 0x06, 0x2e,
|
||||||
|
0xd5, 0x9d, 0x46, 0x0e, 0x01, 0x02, 0x0b, 0x3e, 0x56, 0x79, 0x0e, 0x10, 0x06, 0x21, 0x3c, 0x28,
|
||||||
|
0x06, 0x1a, 0x06, 0x9d, 0x1a, 0xc8, 0x02, 0x3e, 0x2f, 0x56, 0x3e, 0x55, 0x79, 0x0d, 0x10, 0x06,
|
||||||
|
0x2e, 0x67, 0x50, 0x4e, 0x32, 0x50, 0x3d, 0x66, 0x03, 0x70, 0x73, 0x4e, 0x10, 0x06, 0x00, 0x2e,
|
||||||
|
0x09, 0x51, 0x24, 0x6f, 0x02, 0x00, 0x3e, 0x06, 0x0d, 0x21, 0x3e, 0x09, 0x0a, 0x21, 0x3e, 0x0c,
|
||||||
|
0x07, 0x41, 0x10, 0x07, 0x5e, 0x3c, 0x05, 0x21, 0x1d, 0x4c, 0x59, 0x02, 0x25, 0x0f, 0x32, 0x0c,
|
||||||
|
0x0c, 0x0c, 0x0c, 0x0f, 0x32, 0x25, 0x0e, 0x47, 0x54, 0xcc, 0x05, 0x05, 0x39, 0x10, 0x06, 0x89,
|
||||||
|
0x26, 0xa6, 0x4c, 0xc2, 0x9d, 0x10, 0x06, 0x2e, 0x98, 0x24, 0x2c, 0x25, 0x45, 0x3e, 0x9b, 0x1a,
|
||||||
|
0x98, 0x10, 0x06, 0x2e, 0x49, 0x2f, 0x8b, 0x9d, 0x10, 0x06, 0x2e, 0x49, 0x2f, 0x8b, 0x22, 0xc8,
|
||||||
|
0x25, 0x66, 0x1e, 0x00, 0x32, 0x1b, 0x10, 0x06, 0x72, 0x24, 0x6c, 0x0f, 0x27, 0x6c, 0x56, 0x49,
|
||||||
|
0x10, 0x06, 0x5e, 0x8d, 0x28, 0x6b, 0x1b, 0x10, 0x07, 0x95, 0x22, 0x03, 0x2d, 0x4f, 0x0b, 0x24,
|
||||||
|
0x09, 0x0b, 0x02, 0x2d, 0x24, 0x47, 0x0c, 0x09, 0x28, 0x09, 0x2c, 0x24, 0x02, 0x2f, 0x5f, 0x04,
|
||||||
|
0x42, 0x10, 0x08, 0x72, 0x2f, 0x22, 0x2c, 0x67, 0x25, 0x19, 0xc8, 0x23, 0x2c, 0x67, 0x25, 0x22,
|
||||||
|
0x56, 0x49, 0x2f, 0x70, 0x1b, 0x10, 0x06, 0x2e, 0x0a, 0x0e, 0x01, 0x0a, 0x84, 0x54, 0x35, 0x0d,
|
||||||
|
0x2d, 0x5f, 0x05, 0x42, 0x5f, 0x35, 0x0d, 0x2d, 0x4c, 0x4f, 0x0e, 0x50, 0x84, 0x10, 0x07, 0x89,
|
||||||
|
0x85, 0x00, 0x3e, 0x93, 0x6b, 0x10, 0x06, 0x2e, 0xe5, 0x86, 0x56, 0x49, 0x1b, 0x10, 0x08, 0x2e,
|
||||||
|
0xcd, 0x74, 0xe8, 0x74, 0xc8, 0x23, 0x4e, 0x03, 0x2d, 0x00, 0x23, 0x55, 0x8a, 0x49, 0x10, 0x08,
|
||||||
|
0x2e, 0xad, 0x4c, 0xad, 0x4c, 0xad, 0x4c, 0x4e, 0x6f, 0x01, 0x0f, 0x4c, 0x55, 0x0e, 0x91, 0x6b,
|
||||||
|
0x10, 0x07, 0x27, 0x62, 0x1d, 0x6b, 0x7b, 0x49, 0x1e, 0x10, 0x08, 0x2e, 0x67, 0x71, 0x8a, 0x0b,
|
||||||
|
0x58, 0x74, 0x49, 0x0d, 0x74, 0x21, 0x29, 0x74, 0x48, 0x2f, 0x39, 0x10, 0x06, 0x2e, 0x6b, 0x7b,
|
||||||
|
0x49, 0x1e, 0x10, 0x06, 0x2e, 0x51, 0x42, 0x20, 0x01, 0x3e, 0x4f, 0x49, 0x20, 0x01, 0x3e, 0x51,
|
||||||
|
0x3f, 0x10, 0x09, 0x2e, 0x4d, 0x98, 0x30, 0xc8, 0x9b, 0x49, 0x31, 0xc8, 0x9b, 0x4d, 0x98, 0x10,
|
||||||
|
0x06, 0x2e, 0x34, 0x7f, 0x5f, 0x0b, 0x0e, 0x02, 0x3e, 0x08, 0x2d, 0x39, 0x10,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_1[96] = {
|
||||||
|
0x0000, 0x0003, 0x0009, 0x0009, 0x0009, 0x0009, 0x000a, 0x0016,
|
||||||
|
0x0009, 0x0032, 0x0009, 0x0042, 0x0009, 0x0009, 0x004f, 0x0009,
|
||||||
|
0x005f, 0x006a, 0x0075, 0x007c, 0x0084, 0x0009, 0x0009, 0x0089,
|
||||||
|
0x008c, 0x009c, 0x005f, 0x00c4, 0x00d2, 0x00df, 0x00eb, 0x0102,
|
||||||
|
0x010f, 0x0119, 0x0127, 0x0139, 0x013f, 0x0157, 0x015e, 0x0186,
|
||||||
|
0x0198, 0x01ae, 0x01ce, 0x01eb, 0x0204, 0x022e, 0x0237, 0x0241,
|
||||||
|
0x0249, 0x0256, 0x0263, 0x026b, 0x0289, 0x02a5, 0x02c4, 0x02cc,
|
||||||
|
0x02d7, 0x02e3, 0x02f1, 0x02fa, 0x031a, 0x0321, 0x0334, 0x034d,
|
||||||
|
0x0364, 0x036e, 0x037f, 0x038c, 0x039b, 0x03a7, 0x03b2, 0x03cf,
|
||||||
|
0x03de, 0x03ec, 0x03ff, 0x040d, 0x0423, 0x043e, 0x0446, 0x0452,
|
||||||
|
0x0459, 0x0467, 0x0471, 0x0478, 0x0492, 0x04a6, 0x04be, 0x04c6,
|
||||||
|
0x04ce, 0x04df, 0x04f1, 0x04fa, 0x050c, 0x0513, 0x0522, 0x0530,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_php6ySCWY_glyph_data_2[17] = {
|
||||||
|
0x05, 0x21, 0x07, 0x08, 0x28, 0x5a, 0x42, 0x70, 0x08, 0x57, 0x01, 0x24, 0x08, 0x21, 0x06, 0x01,
|
||||||
|
0x10,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_2[1] = {
|
||||||
|
0x0000,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_php6ySCWY_glyph_data_3[16] = {
|
||||||
|
0x06, 0x38, 0x05, 0x0e, 0x58, 0x02, 0x08, 0x32, 0x8f, 0x4c, 0x08, 0x01, 0x05, 0x0c, 0x36, 0x10,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_3[1] = {
|
||||||
|
0x0000,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_php6ySCWY_glyph_data_4[1096] = {
|
||||||
|
0x08, 0xac, 0x4c, 0x18, 0x37, 0x6e, 0x0f, 0x8f, 0x10, 0x00, 0x08, 0x38, 0x93, 0x1e, 0x6a, 0x2a,
|
||||||
|
0x37, 0x75, 0x2b, 0x10, 0x08, 0x38, 0x37, 0x01, 0x19, 0x1b, 0x33, 0x43, 0x19, 0x81, 0x81, 0x33,
|
||||||
|
0x1e, 0x10, 0x08, 0x8d, 0x9a, 0x29, 0x22, 0xc5, 0x35, 0x60, 0xc2, 0x8a, 0x22, 0xc5, 0x35, 0x19,
|
||||||
|
0x81, 0x33, 0x1e, 0x10, 0x06, 0x8d, 0x05, 0x32, 0x9e, 0x10, 0x09, 0x00, 0x38, 0x05, 0x51, 0x36,
|
||||||
|
0x4c, 0x3d, 0x21, 0x63, 0x4c, 0xa5, 0x4c, 0xa5, 0x4c, 0xa5, 0x32, 0x71, 0x48, 0x37, 0x46, 0xcc,
|
||||||
|
0x2b, 0x10, 0x08, 0x38, 0x37, 0x6e, 0x0f, 0x8f, 0x10, 0x0a, 0x38, 0x35, 0x0c, 0xe8, 0x29, 0x84,
|
||||||
|
0x1a, 0x03, 0x42, 0xf6, 0x09, 0x4e, 0x60, 0x57, 0x57, 0x57, 0x06, 0x4c, 0x0c, 0x49, 0x0c, 0x4c,
|
||||||
|
0x57, 0x57, 0x57, 0x06, 0x60, 0x03, 0x42, 0xf6, 0x09, 0x4e, 0x30, 0x35, 0x52, 0xf6, 0x29, 0x84,
|
||||||
|
0x10, 0x08, 0x38, 0x08, 0x33, 0x42, 0x20, 0x6d, 0x5f, 0x61, 0x3f, 0x20, 0x29, 0x97, 0x22, 0x08,
|
||||||
|
0x3a, 0x08, 0x10, 0x08, 0x38, 0xc5, 0x34, 0x60, 0xc6, 0x34, 0x23, 0x4d, 0x80, 0x23, 0x67, 0x80,
|
||||||
|
0x74, 0x80, 0x00, 0x74, 0x77, 0x74, 0x08, 0xd4, 0x10, 0x08, 0x1a, 0x47, 0x05, 0x24, 0x03, 0x46,
|
||||||
|
0x03, 0x22, 0xc5, 0x61, 0x60, 0xc6, 0x61, 0x23, 0x4d, 0x61, 0x34, 0x30, 0xcc, 0x61, 0x08, 0x74,
|
||||||
|
0x61, 0x08, 0x00, 0x74, 0x77, 0x74, 0x08, 0xd4, 0x10, 0x08, 0x5e, 0xc6, 0x5a, 0x05, 0x54, 0xc8,
|
||||||
|
0x4a, 0x08, 0x54, 0xcc, 0x65, 0x0a, 0x22, 0xc0, 0x01, 0x60, 0xcc, 0x65, 0x0a, 0x22, 0xc8, 0x4a,
|
||||||
|
0x08, 0x22, 0xc6, 0x5a, 0x05, 0x10, 0x08, 0x21, 0x38, 0x93, 0x4c, 0x02, 0x5c, 0x41, 0x4c, 0x55,
|
||||||
|
0xec, 0x4c, 0x0b, 0x0a, 0xa0, 0x01, 0x1e, 0xa0, 0x1d, 0x02, 0xa0, 0x09, 0x0d, 0xd4, 0x10, 0x09,
|
||||||
|
0x3c, 0x05, 0x26, 0x1d, 0x60, 0x59, 0x01, 0x21, 0x65, 0x0f, 0x60, 0x59, 0x0b, 0x21, 0x0b, 0x0e,
|
||||||
|
0xe5, 0x2b, 0x57, 0x06, 0x57, 0x57, 0x46, 0xcc, 0x0b, 0x0e, 0x0e, 0x0b, 0x39, 0x46, 0xcc, 0x65,
|
||||||
|
0x0e, 0x01, 0x39, 0x30, 0xc8, 0x05, 0x05, 0x41, 0x10, 0x08, 0x3c, 0x2a, 0x8c, 0x37, 0x19, 0x8c,
|
||||||
|
0x2b, 0x10, 0x08, 0x38, 0x93, 0x1e, 0x6a, 0x2a, 0x90, 0x93, 0x1e, 0x10, 0x08, 0x3c, 0x37, 0x75,
|
||||||
|
0x8c, 0x8c, 0x2b, 0x10, 0x08, 0x8d, 0x9a, 0x4b, 0x75, 0x26, 0x4b, 0x60, 0xc2, 0x43, 0x22, 0x6b,
|
||||||
|
0x10, 0x08, 0x38, 0x56, 0x8f, 0x22, 0x6c, 0x0f, 0x1b, 0x27, 0x6c, 0x56, 0x8f, 0x10, 0x08, 0x38,
|
||||||
|
0x0d, 0x3a, 0x0d, 0x70, 0x9e, 0x10, 0x08, 0x38, 0x09, 0x0f, 0x05, 0x21, 0x0c, 0x0d, 0x4c, 0x0b,
|
||||||
|
0x2d, 0x07, 0x2d, 0x4c, 0x35, 0x0e, 0x79, 0x5f, 0x47, 0x84, 0x22, 0x05, 0x5c, 0x5f, 0x65, 0x08,
|
||||||
|
0x5f, 0x04, 0x3f, 0x10, 0x0a, 0x38, 0x44, 0x3a, 0x43, 0x54, 0x40, 0x41, 0x0d, 0x00, 0x4b, 0x30,
|
||||||
|
0xa6, 0x0d, 0x41, 0x54, 0x40, 0x41, 0x0d, 0x00, 0x4b, 0x54, 0x44, 0x3a, 0x40, 0x24, 0x6b, 0x10,
|
||||||
|
0x08, 0x38, 0x82, 0x35, 0x0c, 0x4c, 0x0c, 0x0d, 0x50, 0x2c, 0x22, 0x25, 0x0e, 0x5c, 0x5f, 0x07,
|
||||||
|
0x3f, 0x5f, 0x25, 0x0e, 0x5c, 0x24, 0x0c, 0x0d, 0x50, 0x2c, 0x60, 0x82, 0x35, 0x0c, 0x10, 0x09,
|
||||||
|
0x3c, 0x8c, 0x8c, 0x8c, 0x37, 0x6b, 0x10, 0x08, 0x3c, 0x8c, 0x00, 0x71, 0x4e, 0x71, 0x44, 0x3a,
|
||||||
|
0x1b, 0x10, 0x0a, 0x5e, 0xc6, 0x8e, 0x8e, 0x8e, 0x8e, 0x8e, 0x31, 0xf2, 0x37, 0x10, 0x0a, 0x5e,
|
||||||
|
0xa6, 0x7a, 0x7a, 0x7a, 0x7a, 0x7a, 0x21, 0xc5, 0xb4, 0x37, 0x6b, 0x10, 0x09, 0x5e, 0x07, 0x48,
|
||||||
|
0x1b, 0x69, 0x75, 0x94, 0x10, 0x0a, 0x5e, 0xe6, 0x2b, 0x46, 0xc8, 0x2b, 0x30, 0xc2, 0x43, 0xe6,
|
||||||
|
0x2b, 0x02, 0x05, 0x09, 0x0d, 0x0f, 0x0d, 0x39, 0x54, 0xc5, 0x02, 0xf9, 0x54, 0xc5, 0x25, 0x39,
|
||||||
|
0x30, 0xc2, 0x36, 0x39, 0x10, 0x08, 0x3c, 0x1b, 0x69, 0x75, 0x94, 0x10, 0x08, 0x38, 0x0c, 0x49,
|
||||||
|
0x59, 0x7e, 0x53, 0x1f, 0x5f, 0x0d, 0x48, 0x6b, 0x20, 0x53, 0x22, 0x0c, 0x33, 0x2f, 0x10, 0x0b,
|
||||||
|
0x38, 0x0d, 0x21, 0x88, 0x1e, 0x26, 0xc8, 0x2c, 0x21, 0x25, 0x92, 0x49, 0x2b, 0x92, 0x21, 0x2c,
|
||||||
|
0x21, 0x25, 0x30, 0x0d, 0x21, 0x88, 0x1e, 0x10, 0x08, 0x38, 0x88, 0x0f, 0x23, 0x4e, 0x71, 0x67,
|
||||||
|
0x71, 0x4e, 0x71, 0x88, 0x48, 0x4c, 0x07, 0x8a, 0x01, 0x00, 0x23, 0x07, 0x3f, 0xec, 0x10, 0x06,
|
||||||
|
0x2e, 0x91, 0x77, 0x5f, 0x25, 0x24, 0x34, 0x7f, 0x10, 0x06, 0x5e, 0x4f, 0x48, 0x42, 0x00, 0x32,
|
||||||
|
0x01, 0x1a, 0x66, 0x1e, 0x8b, 0x24, 0x9b, 0x1a, 0x98, 0x10, 0x06, 0x2e, 0x49, 0x42, 0x45, 0x0c,
|
||||||
|
0x66, 0x8a, 0x45, 0x0c, 0x66, 0x42, 0x10, 0x06, 0x2e, 0x0a, 0x49, 0x96, 0x09, 0x49, 0x52, 0x32,
|
||||||
|
0x06, 0x20, 0x09, 0x48, 0x59, 0x10, 0x06, 0x72, 0x68, 0x45, 0x86, 0x93, 0x20, 0x65, 0x60, 0xb4,
|
||||||
|
0x2f, 0x10, 0x06, 0x2e, 0x5d, 0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49, 0x0d, 0x10, 0x09, 0x00, 0x62,
|
||||||
|
0x97, 0x0a, 0x39, 0x4f, 0x84, 0x46, 0x6f, 0x1d, 0x05, 0x2d, 0x22, 0x4f, 0x48, 0x3f, 0x4c, 0x6f,
|
||||||
|
0x1d, 0x05, 0x2d, 0x60, 0x35, 0x0a, 0x39, 0x4f, 0x84, 0x10, 0x06, 0x2e, 0x91, 0x3f, 0x27, 0x0c,
|
||||||
|
0x5f, 0x57, 0x8a, 0x27, 0x0c, 0x24, 0x91, 0x8a, 0x10, 0x06, 0x2e, 0xd5, 0x9d, 0x46, 0x0e, 0x01,
|
||||||
|
0x02, 0x0b, 0x3e, 0x56, 0x79, 0x0e, 0x10, 0x06, 0x21, 0x3c, 0x28, 0x06, 0x1a, 0x06, 0x9d, 0x1a,
|
||||||
|
0xc8, 0x02, 0x3e, 0x2f, 0x56, 0x3e, 0x55, 0x79, 0x0d, 0x10, 0x06, 0x2e, 0x67, 0x50, 0x4e, 0x32,
|
||||||
|
0x50, 0x3d, 0x66, 0x03, 0x70, 0x73, 0x4e, 0x10, 0x06, 0x00, 0x2e, 0x09, 0x51, 0x24, 0x6f, 0x02,
|
||||||
|
0x00, 0x3e, 0x06, 0x0d, 0x21, 0x3e, 0x09, 0x0a, 0x21, 0x3e, 0x0c, 0x07, 0x41, 0x10, 0x07, 0x5e,
|
||||||
|
0x3c, 0x05, 0x21, 0x1d, 0x4c, 0x59, 0x02, 0x25, 0x0f, 0x32, 0x0c, 0x0c, 0x0c, 0x0c, 0x0f, 0x32,
|
||||||
|
0x25, 0x0e, 0x47, 0x54, 0xcc, 0x05, 0x05, 0x39, 0x10, 0x06, 0x89, 0x26, 0xa6, 0x4c, 0xc2, 0x9d,
|
||||||
|
0x10, 0x06, 0x2e, 0x98, 0x24, 0x2c, 0x25, 0x45, 0x3e, 0x9b, 0x1a, 0x98, 0x10, 0x06, 0x2e, 0x49,
|
||||||
|
0x2f, 0x8b, 0x9d, 0x10, 0x06, 0x2e, 0x49, 0x2f, 0x8b, 0x22, 0xc8, 0x25, 0x66, 0x1e, 0x00, 0x32,
|
||||||
|
0x1b, 0x10, 0x06, 0x72, 0x24, 0x6c, 0x0f, 0x27, 0x6c, 0x56, 0x49, 0x10, 0x06, 0x5e, 0x8d, 0x28,
|
||||||
|
0x6b, 0x1b, 0x10, 0x07, 0x95, 0x22, 0x03, 0x2d, 0x4f, 0x0b, 0x24, 0x09, 0x0b, 0x02, 0x2d, 0x24,
|
||||||
|
0x47, 0x0c, 0x09, 0x28, 0x09, 0x2c, 0x24, 0x02, 0x2f, 0x5f, 0x04, 0x42, 0x10, 0x08, 0x72, 0x2f,
|
||||||
|
0x22, 0x2c, 0x67, 0x25, 0x19, 0xc8, 0x23, 0x2c, 0x67, 0x25, 0x22, 0x56, 0x49, 0x2f, 0x70, 0x1b,
|
||||||
|
0x10, 0x06, 0x2e, 0x0a, 0x0e, 0x01, 0x0a, 0x84, 0x54, 0x35, 0x0d, 0x2d, 0x5f, 0x05, 0x42, 0x5f,
|
||||||
|
0x35, 0x0d, 0x2d, 0x4c, 0x4f, 0x0e, 0x50, 0x84, 0x10, 0x07, 0x89, 0x85, 0x00, 0x3e, 0x93, 0x6b,
|
||||||
|
0x10, 0x06, 0x2e, 0xe5, 0x86, 0x56, 0x49, 0x1b, 0x10, 0x08, 0x2e, 0xcd, 0x74, 0xe8, 0x74, 0xc8,
|
||||||
|
0x23, 0x4e, 0x03, 0x2d, 0x00, 0x23, 0x55, 0x8a, 0x49, 0x10, 0x08, 0x2e, 0xad, 0x4c, 0xad, 0x4c,
|
||||||
|
0xad, 0x4c, 0x4e, 0x6f, 0x01, 0x0f, 0x4c, 0x55, 0x0e, 0x91, 0x6b, 0x10, 0x07, 0x27, 0x62, 0x1d,
|
||||||
|
0x6b, 0x7b, 0x49, 0x1e, 0x10, 0x08, 0x2e, 0x67, 0x71, 0x8a, 0x0b, 0x58, 0x74, 0x49, 0x0d, 0x74,
|
||||||
|
0x21, 0x29, 0x74, 0x48, 0x2f, 0x39, 0x10, 0x06, 0x2e, 0x6b, 0x7b, 0x49, 0x1e, 0x10, 0x06, 0x2e,
|
||||||
|
0x51, 0x42, 0x20, 0x01, 0x3e, 0x4f, 0x49, 0x20, 0x01, 0x3e, 0x51, 0x3f, 0x10, 0x09, 0x2e, 0x4d,
|
||||||
|
0x98, 0x30, 0xc8, 0x9b, 0x49, 0x31, 0xc8, 0x9b, 0x4d, 0x98, 0x10, 0x06, 0x2e, 0x34, 0x7f, 0x5f,
|
||||||
|
0x0b, 0x0e, 0x02, 0x3e, 0x08, 0x2d, 0x39, 0x10, 0x06, 0x38, 0x05, 0xf9, 0x05, 0x4c, 0x18, 0x5d,
|
||||||
|
0x0f, 0x2f, 0x76, 0x6c, 0x08, 0x49, 0x0d, 0x10,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_4[81] = {
|
||||||
|
0x0000, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009,
|
||||||
|
0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x0009, 0x000a,
|
||||||
|
0x0014, 0x0022, 0x0034, 0x003a, 0x0052, 0x0059, 0x0081, 0x0093,
|
||||||
|
0x00a9, 0x00c9, 0x00e6, 0x00ff, 0x0129, 0x0132, 0x013c, 0x0144,
|
||||||
|
0x0151, 0x015e, 0x0166, 0x0184, 0x01a0, 0x01bf, 0x01c7, 0x01d2,
|
||||||
|
0x01de, 0x01ec, 0x01f5, 0x0215, 0x021c, 0x022f, 0x0248, 0x025f,
|
||||||
|
0x0269, 0x027a, 0x0287, 0x0296, 0x02a2, 0x02ad, 0x02ca, 0x02d9,
|
||||||
|
0x02e7, 0x02fa, 0x0308, 0x031e, 0x0339, 0x0341, 0x034d, 0x0354,
|
||||||
|
0x0362, 0x036c, 0x0373, 0x038d, 0x03a1, 0x03b9, 0x03c1, 0x03c9,
|
||||||
|
0x03da, 0x03ec, 0x03f5, 0x0407, 0x040e, 0x041d, 0x042b, 0x0009,
|
||||||
|
0x0438,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_php6ySCWY_glyph_data_5[159] = {
|
||||||
|
0x06, 0x27, 0x62, 0x3c, 0x8f, 0x10, 0x08, 0x5e, 0x2e, 0x37, 0x2d, 0x10, 0x00, 0x02, 0x38, 0x06,
|
||||||
|
0x7e, 0x0a, 0x7e, 0x0d, 0x07, 0x10, 0x02, 0x3c, 0x05, 0x87, 0x10, 0x02, 0x1c, 0x04, 0x20, 0x0e,
|
||||||
|
0x10, 0x04, 0x38, 0x06, 0x07, 0x09, 0x04, 0x24, 0x4f, 0x07, 0x40, 0x5f, 0x0d, 0x08, 0x5c, 0x10,
|
||||||
|
0x04, 0x38, 0x3f, 0x67, 0x70, 0x06, 0x0c, 0x28, 0x43, 0x08, 0x10, 0x04, 0x1c, 0x64, 0x06, 0x5f,
|
||||||
|
0x0e, 0x00, 0x52, 0x10, 0x03, 0x2e, 0x48, 0x4c, 0xb4, 0x10, 0x06, 0x1c, 0xee, 0x10, 0x10, 0x38,
|
||||||
|
0x55, 0x40, 0x21, 0x07, 0x5c, 0x54, 0x52, 0x03, 0x0a, 0x00, 0x6f, 0x08, 0x60, 0x52, 0x03, 0x0a,
|
||||||
|
0x35, 0x0c, 0x22, 0x55, 0x40, 0x0a, 0x0e, 0x02, 0x55, 0x1e, 0x64, 0x1e, 0x26, 0x57, 0x05, 0x00,
|
||||||
|
0x52, 0x29, 0x58, 0x29, 0x1a, 0x03, 0x42, 0x21, 0x52, 0x29, 0x58, 0x29, 0x21, 0x35, 0x0c, 0x1a,
|
||||||
|
0x55, 0x1e, 0x64, 0x1e, 0x10, 0x05, 0x00, 0x62, 0x78, 0x5f, 0x5a, 0x08, 0x28, 0x5a, 0x08, 0x20,
|
||||||
|
0x5a, 0x08, 0x10, 0x05, 0x62, 0x5a, 0x08, 0x20, 0x78, 0x28, 0x78, 0x5f, 0x5a, 0x08, 0x10,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_5[40] = {
|
||||||
|
0x0000, 0x0006, 0x000c, 0x000c, 0x000c, 0x000d, 0x0016, 0x001b,
|
||||||
|
0x000c, 0x0021, 0x0030, 0x003b, 0x000c, 0x000c, 0x000c, 0x0044,
|
||||||
|
0x000c, 0x000c, 0x000c, 0x004a, 0x000c, 0x000c, 0x000c, 0x000c,
|
||||||
|
0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x004e, 0x000c, 0x000c,
|
||||||
|
0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x000c, 0x0085, 0x0093,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint8_t mf_rlefont_php6ySCWY_glyph_data_6[50] = {
|
||||||
|
0x0d, 0x38, 0x0b, 0x08, 0x26, 0x0b, 0x00, 0x64, 0x1e, 0xd4, 0x42, 0xcc, 0x58, 0x29, 0xd4, 0x34,
|
||||||
|
0x07, 0xe8, 0x58, 0x29, 0x00, 0xcc, 0x34, 0x06, 0xf6, 0x64, 0x1e, 0x21, 0xc8, 0x34, 0x4a, 0x60,
|
||||||
|
0xc6, 0x5d, 0x67, 0x91, 0xc5, 0xc5, 0x34, 0x10, 0x00, 0x06, 0x62, 0x51, 0x03, 0x0b, 0x60, 0xb4,
|
||||||
|
0x1d, 0x10,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const uint16_t mf_rlefont_php6ySCWY_glyph_offsets_6[13] = {
|
||||||
|
0x0000, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028, 0x0028,
|
||||||
|
0x0028, 0x0028, 0x0028, 0x0028, 0x0029,
|
||||||
|
};
|
||||||
|
|
||||||
|
static const struct mf_rlefont_char_range_s mf_rlefont_php6ySCWY_char_ranges[] = {
|
||||||
|
{32, 95, mf_rlefont_php6ySCWY_glyph_offsets_0, mf_rlefont_php6ySCWY_glyph_data_0},
|
||||||
|
{160, 96, mf_rlefont_php6ySCWY_glyph_offsets_1, mf_rlefont_php6ySCWY_glyph_data_1},
|
||||||
|
{710, 1, mf_rlefont_php6ySCWY_glyph_offsets_2, mf_rlefont_php6ySCWY_glyph_data_2},
|
||||||
|
{732, 1, mf_rlefont_php6ySCWY_glyph_offsets_3, mf_rlefont_php6ySCWY_glyph_data_3},
|
||||||
|
{1025, 81, mf_rlefont_php6ySCWY_glyph_offsets_4, mf_rlefont_php6ySCWY_glyph_data_4},
|
||||||
|
{8211, 40, mf_rlefont_php6ySCWY_glyph_offsets_5, mf_rlefont_php6ySCWY_glyph_data_5},
|
||||||
|
{8470, 13, mf_rlefont_php6ySCWY_glyph_offsets_6, mf_rlefont_php6ySCWY_glyph_data_6},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mf_rlefont_s mf_rlefont_php6ySCWY = {
|
||||||
|
{
|
||||||
|
"Archangelsk Regular 12",
|
||||||
|
"php6ySCWY",
|
||||||
|
16, /* width */
|
||||||
|
12, /* height */
|
||||||
|
2, /* min x advance */
|
||||||
|
16, /* max x advance */
|
||||||
|
1, /* baseline x */
|
||||||
|
9, /* baseline y */
|
||||||
|
12, /* line height */
|
||||||
|
0, /* flags */
|
||||||
|
63, /* fallback character */
|
||||||
|
&mf_rlefont_character_width,
|
||||||
|
&mf_rlefont_render_character,
|
||||||
|
},
|
||||||
|
4, /* version */
|
||||||
|
mf_rlefont_php6ySCWY_dictionary_data,
|
||||||
|
mf_rlefont_php6ySCWY_dictionary_offsets,
|
||||||
|
80, /* rle dict count */
|
||||||
|
137, /* total dict count */
|
||||||
|
7, /* char range count */
|
||||||
|
mf_rlefont_php6ySCWY_char_ranges,
|
||||||
|
};
|
||||||
|
|
||||||
|
#ifdef MF_INCLUDED_FONTS
|
||||||
|
/* List entry for searching fonts by name. */
|
||||||
|
static const struct mf_font_list_s mf_rlefont_php6ySCWY_listentry = {
|
||||||
|
MF_INCLUDED_FONTS,
|
||||||
|
(struct mf_font_s*)&mf_rlefont_php6ySCWY
|
||||||
|
};
|
||||||
|
#undef MF_INCLUDED_FONTS
|
||||||
|
#define MF_INCLUDED_FONTS (&mf_rlefont_php6ySCWY_listentry)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
/* End of automatically generated font definition for php6ySCWY. */
|
||||||
|
|
269
drivers/gdisp/ST7565/gdisp_lld.c
Normal file
269
drivers/gdisp/ST7565/gdisp_lld.c
Normal file
|
@ -0,0 +1,269 @@
|
||||||
|
/*
|
||||||
|
* This file is subject to the terms of the GFX License. If a copy of
|
||||||
|
* the license was not distributed with this file, you can obtain one at:
|
||||||
|
*
|
||||||
|
* http://ugfx.org/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "gfx.h"
|
||||||
|
|
||||||
|
#if GFX_USE_GDISP || defined(__DOXYGEN__)
|
||||||
|
|
||||||
|
|
||||||
|
/* Include the emulation code for things we don't support */
|
||||||
|
#include "gdisp/lld/emulation.c"
|
||||||
|
#include "st7565.h"
|
||||||
|
#include "gdisp_lld_board.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* Driver local definitions. */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#ifndef GDISP_SCREEN_HEIGHT
|
||||||
|
#define GDISP_SCREEN_HEIGHT 64
|
||||||
|
#endif
|
||||||
|
#ifndef GDISP_SCREEN_WIDTH
|
||||||
|
#define GDISP_SCREEN_WIDTH 128
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define GDISP_INITIAL_CONTRAST 0xFF
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* Driver local functions. */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
// Some common routines and macros
|
||||||
|
#define delay(us) gfxSleepMicroseconds(us)
|
||||||
|
#define delay_ms(ms) gfxSleepMilliseconds(ms)
|
||||||
|
|
||||||
|
// The memory buffer for the display
|
||||||
|
static uint8_t gdisp_buffer[GDISP_SCREEN_HEIGHT * GDISP_SCREEN_WIDTH / 8];
|
||||||
|
|
||||||
|
/** Set the display to normal or inverse.
|
||||||
|
* @param[in] value 0 for normal mode, or 1 for inverse mode.
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static void invert_display(uint8_t i) {
|
||||||
|
write_cmd(i ? ST7565_INVERT_DISPLAY : ST7565_POSITIVE_DISPLAY);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Turn the whole display off.
|
||||||
|
* Sends the display to sleep, but leaves RAM intact.
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static void display_off(void) {
|
||||||
|
write_cmd(ST7565_DISPLAY_OFF);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Turn the whole display on.
|
||||||
|
* Wakes up this display following a sleep() call.
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static void display_on(void) {
|
||||||
|
write_cmd(ST7565_DISPLAY_ON);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Set the display contrast.
|
||||||
|
* @param[in] value The contrast, from 1 to 63.
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static void set_contrast(uint8_t value) {
|
||||||
|
write_cmd(ST7565_CONTRAST);
|
||||||
|
write_cmd(value & 0x3F);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Set the display start line. This is the line at which the display will start rendering.
|
||||||
|
* @param[in] value A value from 0 to 63 denoting the line to start at.
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static void set_display_start_line(unsigned char value) {
|
||||||
|
write_cmd(ST7565_START_LINE | value);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void gdisp_lld_display(void) {
|
||||||
|
uint8_t p;
|
||||||
|
set_display_start_line(0);
|
||||||
|
|
||||||
|
for (p = 0; p < 8; p++) {
|
||||||
|
write_cmd(ST7565_PAGE | p);
|
||||||
|
write_cmd(ST7565_COLUMN_MSB | 0);
|
||||||
|
write_cmd(ST7565_COLUMN_LSB | 0);
|
||||||
|
write_cmd(ST7565_RMW);
|
||||||
|
write_data(&gdisp_buffer[p * GDISP_SCREEN_WIDTH], GDISP_SCREEN_WIDTH);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* Driver interrupt handlers. */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* Driver exported functions. */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
/* ---- Required Routines ---- */
|
||||||
|
/*
|
||||||
|
The following 2 routines are required.
|
||||||
|
All other routines are optional.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Low level GDISP driver initialization.
|
||||||
|
*
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
bool_t gdisp_lld_init(void) {
|
||||||
|
// Initialize your display
|
||||||
|
init_board();
|
||||||
|
|
||||||
|
// Hardware reset.
|
||||||
|
setpin_reset(TRUE);
|
||||||
|
delay_ms(10);
|
||||||
|
setpin_reset(FALSE);
|
||||||
|
delay_ms(1);
|
||||||
|
|
||||||
|
write_cmd(ST7565_LCD_BIAS_7);
|
||||||
|
write_cmd(ST7565_ADC_NORMAL);
|
||||||
|
write_cmd(ST7565_COM_SCAN_INC);
|
||||||
|
set_display_start_line(0);
|
||||||
|
|
||||||
|
set_contrast(32);
|
||||||
|
write_cmd(ST7565_RESISTOR_RATIO | 0x3);
|
||||||
|
|
||||||
|
// turn on voltage converter (VC=1, VR=0, VF=0)
|
||||||
|
write_cmd(ST7565_POWER_CONTROL | 0x04);
|
||||||
|
delay_ms(50);
|
||||||
|
// turn on voltage regulator (VC=1, VR=1, VF=0)
|
||||||
|
write_cmd(ST7565_POWER_CONTROL | 0x06);
|
||||||
|
delay_ms(50);
|
||||||
|
// turn on voltage follower (VC=1, VR=1, VF=1)
|
||||||
|
write_cmd(ST7565_POWER_CONTROL | 0x07);
|
||||||
|
delay_ms(50);
|
||||||
|
|
||||||
|
display_on();
|
||||||
|
write_cmd(ST7565_ALLON_NORMAL);
|
||||||
|
invert_display(0);// Disable Inversion of display.
|
||||||
|
|
||||||
|
write_cmd(ST7565_RMW);
|
||||||
|
gdisp_lld_display();
|
||||||
|
|
||||||
|
// Initialize the GDISP structure
|
||||||
|
GDISP.Width = GDISP_SCREEN_WIDTH;
|
||||||
|
GDISP.Height = GDISP_SCREEN_HEIGHT;
|
||||||
|
GDISP.Orientation = GDISP_ROTATE_0;
|
||||||
|
GDISP.Powermode = powerOn;
|
||||||
|
GDISP.Contrast = 50;
|
||||||
|
#if GDISP_NEED_VALIDATION || GDISP_NEED_CLIP
|
||||||
|
GDISP.clipx0 = 0;
|
||||||
|
GDISP.clipy0 = 0;
|
||||||
|
GDISP.clipx1 = GDISP.Width;
|
||||||
|
GDISP.clipy1 = GDISP.Height;
|
||||||
|
#endif
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Draws a pixel on the display.
|
||||||
|
*
|
||||||
|
* @param[in] x X location of the pixel
|
||||||
|
* @param[in] y Y location of the pixel
|
||||||
|
* @param[in] color The color of the pixel
|
||||||
|
*
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
void gdisp_lld_draw_pixel(coord_t x, coord_t y, color_t color) {
|
||||||
|
#if GDISP_NEED_VALIDATION || GDISP_NEED_CLIP
|
||||||
|
if (x < GDISP.clipx0 || y < GDISP.clipy0 || x >= GDISP.clipx1 || y >= GDISP.clipy1) return;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (color == 1)
|
||||||
|
gdisp_buffer[x+ (y/8)*GDISP_SCREEN_WIDTH] |= (1<<y%8);
|
||||||
|
else
|
||||||
|
gdisp_buffer[x+ (y/8)*GDISP_SCREEN_WIDTH] &= ~(1<<y%8);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ---- Optional Routines ---- */
|
||||||
|
/*
|
||||||
|
All the below routines are optional.
|
||||||
|
Defining them will increase speed but everything
|
||||||
|
will work if they are not defined.
|
||||||
|
If you are not using a routine - turn it off using
|
||||||
|
the appropriate GDISP_HARDWARE_XXXX macro.
|
||||||
|
Don't bother coding for obvious similar routines if
|
||||||
|
there is no performance penalty as the emulation software
|
||||||
|
makes a good job of using similar routines.
|
||||||
|
eg. If gfillarea() is defined there is little
|
||||||
|
point in defining clear() unless the
|
||||||
|
performance bonus is significant.
|
||||||
|
For good performance it is suggested to implement
|
||||||
|
fillarea() and blitarea().
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if (GDISP_NEED_CONTROL && GDISP_HARDWARE_CONTROL) || defined(__DOXYGEN__)
|
||||||
|
/**
|
||||||
|
* @brief Driver Control
|
||||||
|
* @details Unsupported control codes are ignored.
|
||||||
|
* @note The value parameter should always be typecast to (void *).
|
||||||
|
* @note There are some predefined and some specific to the low level driver.
|
||||||
|
* @note GDISP_CONTROL_POWER - Takes a gdisp_powermode_t
|
||||||
|
* GDISP_CONTROL_ORIENTATION - Takes a gdisp_orientation_t
|
||||||
|
* GDISP_CONTROL_BACKLIGHT - Takes an int from 0 to 100. For a driver
|
||||||
|
* that only supports off/on anything other
|
||||||
|
* than zero is on.
|
||||||
|
* GDISP_CONTROL_CONTRAST - Takes an int from 0 to 100.
|
||||||
|
* GDISP_CONTROL_LLD - Low level driver control constants start at
|
||||||
|
* this value.
|
||||||
|
*
|
||||||
|
* @param[in] what What to do.
|
||||||
|
* @param[in] value The value to use (always cast to a void *).
|
||||||
|
*
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
void gdisp_lld_control(unsigned what, void *value) {
|
||||||
|
switch(what) {
|
||||||
|
case GDISP_CONTROL_POWER:
|
||||||
|
if (GDISP.Powermode == (gdisp_powermode_t)value)
|
||||||
|
return;
|
||||||
|
|
||||||
|
switch((gdisp_powermode_t)value) {
|
||||||
|
case powerOff:
|
||||||
|
display_off();
|
||||||
|
break;
|
||||||
|
case powerSleep:
|
||||||
|
display_off();
|
||||||
|
break;
|
||||||
|
case powerDeepSleep:
|
||||||
|
display_off();
|
||||||
|
break;
|
||||||
|
case powerOn:
|
||||||
|
display_on();
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
GDISP.Powermode = (gdisp_powermode_t)value;
|
||||||
|
return;
|
||||||
|
|
||||||
|
case GDISP_CONTROL_BACKLIGHT:
|
||||||
|
set_backlight((uint8_t)(size_t)value);
|
||||||
|
return;
|
||||||
|
|
||||||
|
case GDISP_CONTROL_CONTRAST:
|
||||||
|
if ((unsigned)value > 100) value = (void*)100;
|
||||||
|
if (GDISP.Contrast == (uint8_t)((float)((size_t)value) * 63.0/100.0))
|
||||||
|
return;
|
||||||
|
set_contrast((uint8_t)((float)((size_t)value) * 63.0/100.0) );
|
||||||
|
GDISP.Contrast = (unsigned)value;
|
||||||
|
return;
|
||||||
|
|
||||||
|
case GDISP_CONTROL_LLD_FLUSH:
|
||||||
|
gdisp_lld_display();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif // GDISP_NEED_CONTROL
|
||||||
|
|
||||||
|
#endif // GFX_USE_GDISP
|
||||||
|
/** @} */
|
||||||
|
|
6
drivers/gdisp/ST7565/gdisp_lld.mk
Normal file
6
drivers/gdisp/ST7565/gdisp_lld.mk
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
# List the required driver.
|
||||||
|
GFXSRC += $(GFXLIB)/drivers/gdisp/ST7565/gdisp_lld.c
|
||||||
|
|
||||||
|
# Required include directories
|
||||||
|
GFXINC += $(GFXLIB)/drivers/gdisp/ST7565
|
||||||
|
|
82
drivers/gdisp/ST7565/gdisp_lld_board_template.h
Normal file
82
drivers/gdisp/ST7565/gdisp_lld_board_template.h
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
/*
|
||||||
|
* This file is subject to the terms of the GFX License. If a copy of
|
||||||
|
* the license was not distributed with this file, you can obtain one at:
|
||||||
|
*
|
||||||
|
* http://ugfx.org/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _GDISP_LLD_BOARD_H
|
||||||
|
#define _GDISP_LLD_BOARD_H
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Initialize the board for the display.
|
||||||
|
* @notes This board definition uses GPIO and assumes exclusive access to these GPIO pins
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static inline void init_board(void) {
|
||||||
|
/* Configure SPI bus here. Up to 10Mhz, SPI Mode = 3 (CPOL = 1, CPHA = 0) */
|
||||||
|
/* Configure A0, !CS, !RST pin for output */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set or clear the lcd reset pin.
|
||||||
|
* @param[in] state TRUE = lcd in reset, FALSE = normal operation
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static inline void setpin_reset(bool_t state) {
|
||||||
|
/* Set !CS to low */
|
||||||
|
if (state) {
|
||||||
|
/* Set !RST to low */
|
||||||
|
} else {
|
||||||
|
/* Set !RST to high */
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Set the lcd back-light level.
|
||||||
|
* @param[in] percent 0 to 100%
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static inline void set_backlight(uint8_t percent) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Take exclusive control of the bus
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static inline void acquire_bus(void) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Release exclusive control of the bus
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static inline void release_bus(void) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Send command to the display.
|
||||||
|
* @param[in] cmd The command to send
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static inline void write_cmd(uint8_t cmd) {
|
||||||
|
/* Set A0 to low */
|
||||||
|
/* Transmit cmd over SPI */
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Send data to the display.
|
||||||
|
* @param[in] data The data to send
|
||||||
|
* @notapi
|
||||||
|
*/
|
||||||
|
static inline void write_data(uint8_t* data, uint16_t length) {
|
||||||
|
/* Set A0 to high */
|
||||||
|
/* Transmit data for length over SPI. DMA is recommended. */
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* _GDISP_LLD_BOARD_H */
|
||||||
|
/** @} */
|
||||||
|
|
29
drivers/gdisp/ST7565/gdisp_lld_config.h
Normal file
29
drivers/gdisp/ST7565/gdisp_lld_config.h
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
/*
|
||||||
|
* This file is subject to the terms of the GFX License. If a copy of
|
||||||
|
* the license was not distributed with this file, you can obtain one at:
|
||||||
|
*
|
||||||
|
* http://ugfx.org/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _GDISP_LLD_CONFIG_H
|
||||||
|
#define _GDISP_LLD_CONFIG_H
|
||||||
|
|
||||||
|
#if GFX_USE_GDISP
|
||||||
|
|
||||||
|
/*===========================================================================*/
|
||||||
|
/* Driver hardware support. */
|
||||||
|
/*===========================================================================*/
|
||||||
|
|
||||||
|
#define GDISP_DRIVER_NAME "ST7565"
|
||||||
|
|
||||||
|
#define GDISP_HARDWARE_CONTROL TRUE
|
||||||
|
|
||||||
|
#define GDISP_PIXELFORMAT GDISP_PIXELFORMAT_MONO
|
||||||
|
|
||||||
|
#define GDISP_CONTROL_LLD_FLUSH (GDISP_CONTROL_LLD + 1)
|
||||||
|
|
||||||
|
#endif /* GFX_USE_GDISP */
|
||||||
|
|
||||||
|
#endif /* _GDISP_LLD_CONFIG_H */
|
||||||
|
/** @} */
|
||||||
|
|
42
drivers/gdisp/ST7565/st7565.h
Normal file
42
drivers/gdisp/ST7565/st7565.h
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
/*
|
||||||
|
* This file is subject to the terms of the GFX License. If a copy of
|
||||||
|
* the license was not distributed with this file, you can obtain one at:
|
||||||
|
*
|
||||||
|
* http://ugfx.org/license.html
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _ST7565_H
|
||||||
|
#define _ST7565_H
|
||||||
|
|
||||||
|
#define ST7565_BLACK 0
|
||||||
|
#define ST7565_WHITE 1
|
||||||
|
|
||||||
|
#define ST7565_CONTRAST 0x81
|
||||||
|
#define ST7565_ALLON_NORMAL 0xA4
|
||||||
|
#define ST7565_ALLON 0xA5
|
||||||
|
#define ST7565_POSITIVE_DISPLAY 0xA6
|
||||||
|
#define ST7565_INVERT_DISPLAY 0xA7
|
||||||
|
#define ST7565_DISPLAY_OFF 0xAE
|
||||||
|
#define ST7565_DISPLAY_ON 0xAF
|
||||||
|
|
||||||
|
#define ST7565_LCD_BIAS_7 0xA3
|
||||||
|
#define ST7565_LCD_BIAS_9 0xA2
|
||||||
|
|
||||||
|
#define ST7565_ADC_NORMAL 0xA0
|
||||||
|
#define ST7565_ADC_REVERSE 0xA1
|
||||||
|
|
||||||
|
#define ST7565_COM_SCAN_INC 0xC0
|
||||||
|
#define ST7565_COM_SCAN_DEC 0xC8
|
||||||
|
|
||||||
|
#define ST7565_START_LINE 0x40
|
||||||
|
#define ST7565_PAGE 0xB0
|
||||||
|
#define ST7565_COLUMN_MSB 0x10
|
||||||
|
#define ST7565_COLUMN_LSB 0x00
|
||||||
|
#define ST7565_RMW 0xE0
|
||||||
|
|
||||||
|
#define ST7565_RESISTOR_RATIO 0x20
|
||||||
|
#define ST7565_POWER_CONTROL 0x28
|
||||||
|
|
||||||
|
#endif /* _ST7565_H */
|
||||||
|
/** @} */
|
||||||
|
|
|
@ -10,6 +10,7 @@ FIX: POSIX port removed, now dedicated OS-X and Linux ports
|
||||||
FIX: Several bugfixes
|
FIX: Several bugfixes
|
||||||
FEATURE: mcufont integration
|
FEATURE: mcufont integration
|
||||||
FEATURE: SSD1306 driver by user goeck
|
FEATURE: SSD1306 driver by user goeck
|
||||||
|
FEATURE: ST7565 driver by user sam0737
|
||||||
|
|
||||||
|
|
||||||
*** changes after 1.7 ***
|
*** changes after 1.7 ***
|
||||||
|
|
Loading…
Add table
Reference in a new issue