├── .gitignore ├── LICENSE ├── README.md └── Watch ├── Inc ├── Font.h ├── ST7789.h └── main.h └── Src ├── ST7789.c └── main.c /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled source # 2 | ################### 3 | *.com 4 | *.class 5 | *.dll 6 | *.exe 7 | *.o 8 | *.so 9 | *.pyc 10 | 11 | # Packages # 12 | ############ 13 | # it's better to unpack these files and commit the raw source 14 | # git has its own built in compression methods 15 | *.7z 16 | *.dmg 17 | *.gz 18 | *.iso 19 | *.rar 20 | #*.tar 21 | *.zip 22 | 23 | # Logs and databases # 24 | ###################### 25 | *.log 26 | *.sqlite 27 | *.xml 28 | _windows/ 29 | 30 | # OS generated files # 31 | ###################### 32 | .DS_Store 33 | ehthumbs.db 34 | Icon 35 | Thumbs.db 36 | .tmtags 37 | .idea/ 38 | mydjangosite/.idea/ 39 | tags 40 | vendor.tags 41 | tmtagsHistory 42 | *.sublime-project 43 | *.sublime-workspace 44 | .bundle 45 | 46 | # AVR studio files # 47 | #################### 48 | default/ 49 | *.aps 50 | *.aws 51 | 52 | # TrueSTUDIO files # 53 | #################### 54 | .metadata/* 55 | Watch/*.* 56 | Watch/.setting/* 57 | Watch/Drivers/* 58 | Watch/Middlewares/* 59 | Watch/startup/* 60 | Watch/Debug/* 61 | Watch/Inc/* 62 | !Watch/Inc/Font.h 63 | !Watch/Inc/ST7789.h 64 | !Watch/Inc/main.h 65 | Watch/Src/* 66 | !Watch/Src/ST7789.c 67 | !Watch/Src/main.c 68 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2019, Intelligent-distributed Cloud and Security Laboratory (ICNS Lab.) 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 1. Development project setup 2 | * Step 1. Share a CubeMX file 3 | * Step 2. Create "stm-watch" folder 4 | * Step 3. Execute the shared CubeMX file 5 | * Step 4. Save as CubeMX project (Project name: Watch) in "stm-watch" folder 6 | * Step 5. Click "Generate code" button 7 | * Step 6. Delete main.h file in "Watch/Inc/" and main.c file "Watch/Src/" 8 | * Step 7. Create/init local git repository in "stm-watch" folder 9 | * Step 8. Set git origin "https://github.com/icns-distributed-cloud/safety-watch" 10 | * Step 9. Git pull origin master 11 | 12 | ## 2. Project development 13 | * Step 1. Rasie an issue and create a branch 14 | * Step 2. Pull the branch to local repository 15 | * Step 3. Checkout the branch 16 | * Step 4. Develop functions, modules, or etc. 17 | * Step 5. Git commit 18 | * Step 6. Push the branch 19 | * Step 7. Make "Pull request" 20 | -------------------------------------------------------------------------------- /Watch/Inc/Font.h: -------------------------------------------------------------------------------- 1 | /* 2 | * Font.h 3 | * 4 | * Created on: 2019. 2. 14. 5 | * Author: yoons 6 | */ 7 | 8 | #ifndef FONT_H_ 9 | #define FONT_H_ 10 | 11 | const unsigned int FONT1_n32[5] = {24, 32, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000};//sp 12 | const unsigned int FONT1_n33[5] = {6, 11, 0x00820820, 0x82002000, 0x00000000}; 13 | const unsigned int FONT1_n34[5] = {6, 11, 0x01450000, 0x00000000, 0x00000000}; 14 | const unsigned int FONT1_n35[5] = {6, 11, 0x01453E51, 0x4F945000, 0x00000000}; 15 | const unsigned int FONT1_n36[5] = {6, 11, 0x21CAA860, 0xC2AA7080, 0x00000000}; 16 | const unsigned int FONT1_n37[5] = {6, 11, 0x00042AB1, 0x852AA840, 0x00000000}; 17 | const unsigned int FONT1_n38[5] = {6, 11, 0x01892462, 0xA9246800, 0x00000000}; 18 | const unsigned int FONT1_n39[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 19 | const unsigned int FONT1_n40[5] = {6, 11, 0x10821041, 0x04082040, 0x00000000}; 20 | const unsigned int FONT1_n41[5] = {6, 11, 0x40820410, 0x41082100, 0x00000000}; 21 | const unsigned int FONT1_n42[5] = {6, 11, 0x00000823, 0xE2140000, 0x00000000}; 22 | const unsigned int FONT1_n43[5] = {6, 11, 0x00000823, 0xE2080000, 0x00000000}; 23 | const unsigned int FONT1_n44[5] = {6, 11, 0x00000000, 0x00002084, 0x00000000}; 24 | const unsigned int FONT1_n45[5] = {6, 11, 0x00000003, 0xE0000000, 0x00000000}; 25 | const unsigned int FONT1_n46[18] = {16, 32, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x03c007e0,0x07e007e0,0x07e003c0,0x00000000,0x00000000}; 26 | const unsigned int FONT1_n47[5] = {6, 11, 0x08210420, 0x84108200, 0x00000000}; 27 | const unsigned int FONT1_n48[26] = {24, 32, 0x00000000,0x7F0001FF,0xE007FFF0,0x0FFFF80F,0xFFF81FE3,0xFC1FC1FC,0x3F80FE3F,0x80FE3F80,0xFE3F80FE,0x3F80FE3F,0x80FE3F80,0xFE3F80FE,0x3F80FE3F,0x80FF3F80,0xFE3F80FE,0x3F80FE3F,0x80FE3F80,0xFE3F80FE,0x1FC1FC1F,0xE3FC0FFF,0xF80FFFF8,0x07FFF001,0xFFE0007F,0x00000000};//0 28 | const unsigned int FONT1_n49[26] = {24, 32, 0x00000000,0x3F00007F,0x00007F00,0x01FF001F,0xFF001FFF,0x001FFF00,0x1FFF001F,0xFF00007F,0x00007F00,0x007F0000,0x7F00007F,0x00007F00,0x007F0000,0x7F00007F,0x00007F00,0x007F0000,0x7F00007F,0x00007F00,0x007F001F,0xFFFC1FFF,0xFC1FFFFC,0x1FFFFC1F,0xFFFC0000,0x00000000}; 29 | const unsigned int FONT1_n50[26] = {24, 32, 0x00000003,0xFE001FFF,0x803FFFE0,0x3FFFF03F,0xFFF03FFF,0xF83C0FF8,0x2007F800,0x03F80003,0xF80003F8,0x0003F800,0x07F80007,0xF0000FF0,0x000FE000,0x1FE0003F,0xC0007F80,0x00FF0001,0xFE0003FC,0x0007F800,0x0FF0001F,0xE0007FFF,0xFC7FFFFC,0x7FFFFC7F,0xFFFC7FFF,0xFC000000}; 30 | const unsigned int FONT1_n51[26] = {24, 32, 0x00000001,0xFF001FFF,0xE03FFFF0,0x3FFFF83F,0xFFFC3FFF,0xFC3C03FC,0x3001FC00,0x01FC0001,0xFC0003F8,0x0007F800,0xFFF000FF,0xC000FFC0,0x00FFF000,0xFFF80003,0xFC0001FE,0x0000FE00,0x00FE0001,0xFE6001FE,0x7C07FE7F,0xFFFC7FFF,0xFC7FFFF8,0x3FFFF03F,0xFFC003FE,0x00000000}; 31 | const unsigned int FONT1_n52[26] = {24, 32, 0x00000000,0x0000000F,0xF0000FF0,0x001FF000,0x3FF0007F,0xF0007FF0,0x00FFF001,0xFFF003F7,0xF003E7F0,0x07C7F00F,0xC7F01F87,0xF01F07F0,0x3E07F07E,0x07F0FC07,0xF0FFFFFF,0xFFFFFFFF,0xFFFFFFFF,0xFFFFFFFF,0x0007F000,0x07F00007,0xF00007F0,0x0007F000,0x07F00007,0xF0000000}; 32 | const unsigned int FONT1_n53[26] = {24, 32, 0x00000000,0x00001FFF,0xFE1FFFFE,0x1FFFFE1F,0xFFFE1FFF,0xFC1FC000,0x1FC0001F,0xC0001FC0,0x001FC000,0x1FFF801F,0xFFE01FFF,0xF81FFFFC,0x1FFFFC18,0x03FE0001,0xFE0000FE,0x0000FE00,0x00FE0001,0xFE3001FE,0x3E07FE3F,0xFFFC3FFF,0xF83FFFF8,0x3FFFE01F,0xFFC001FE,0x00000000}; 33 | const unsigned int FONT1_n54[26] = {24, 32, 0x00000000,0x1FF000FF,0xF003FFF0,0x07FFF00F,0xFFF01FF0,0x101FE000,0x3FC0003F,0x80003F80,0x007F1F80,0x7FFFE07F,0xFFF87FFF,0xF87FFFFC,0x7F03FC7F,0x01FE7F01,0xFE7F01FE,0x7F01FE7F,0x01FE7F01,0xFE3F81FC,0x3F81FC3F,0xC7FC1FFF,0xF80FFFF0,0x07FFE003,0xFFC0007E,0x00000000}; 34 | const unsigned int FONT1_n55[26] = {24, 32, 0x00000000,0x00003FFF,0xFC3FFFFC,0x3FFFFC3F,0xFFFC3FFF,0xFC0003F8,0x0003F800,0x07F00007,0xF0000FE0,0x000FE000,0x1FC0001F,0xC0003F80,0x003F8000,0x7F0000FF,0x0000FE00,0x01FE0001,0xFC0003FC,0x0003F800,0x07F00007,0xF0000FE0,0x000FE000,0x1FC00000,0x00000000,0x00000000}; 35 | const unsigned int FONT1_n56[26] = {24, 32, 0x00000000,0xFF8003FF,0xF00FFFF8,0x1FFFFC1F,0xFFFE3FC1,0xFE3F80FE,0x3F80FE3F,0x80FE3FC0,0xFE3FE0FC,0x1FF9FC0F,0xFFF007FF,0xE003FFF0,0x07FFF81F,0xFFFC3F87,0xFE3F81FF,0x7F00FF7F,0x007F7F00,0x7F7F807F,0x7F80FF3F,0xE1FE3FFF,0xFE1FFFFC,0x0FFFF803,0xFFE0007F,0x00000000}; 36 | const unsigned int FONT1_n57[26] = {24, 32, 0x00000000,0x7F0003FF,0xC007FFF0,0x0FFFF81F,0xFFFC3FE3,0xFC3FC1FE,0x3F80FE7F,0x80FE7F80,0xFE7F80FE,0x7F80FE7F,0x80FE3FC0,0xFE3FE1FE,0x3FFFFE1F,0xFFFE0FFF,0xFE07FEFE,0x01F8FE00,0x00FE0001,0xFC0003FC,0x0007F80C,0x1FF80FFF,0xF00FFFE0,0x0FFF800F,0xFF0007F0,0x00000000};//9 37 | const unsigned int FONT1_n58[26] = {16, 32, 0x00000000,0x00000000,0x00000000,0x00000000,0x000001C0,0x01C001C0,0x01C00000,0x00000000,0x00000000,0x00000000,0x000001C0,0x01C001C0,0x01C00000,0x00000000,0x00000000}; 38 | const unsigned int FONT1_n59[5] = {6, 11, 0x00000800, 0x00084000, 0x00000000}; 39 | const unsigned int FONT1_n60[5] = {6, 11, 0x00000662, 0x06060000, 0x00000000}; 40 | const unsigned int FONT1_n61[5] = {6, 11, 0x000000F8, 0x0F800000, 0x00000000}; 41 | const unsigned int FONT1_n62[5] = {6, 11, 0x00003030, 0x23300000, 0x00000000}; 42 | const unsigned int FONT1_n63[5] = {6, 11, 0x01C88210, 0x82002000, 0x00000000}; 43 | const unsigned int FONT1_n64[5] = {6, 11, 0x01C8A6AA, 0xAAAE81C0, 0x00000000}; 44 | const unsigned int FONT1_n65[10] = {16, 16, 0x00000000, 0x01E001E0, 0x03E003F0, 0x03700730, 0x073807F8, 0x0FF80E1C, 0x0E1C1C1E, 0x00000000};//A 45 | const unsigned int FONT1_n66[5] = {6, 11, 0x03C8A2F2, 0x28A2F000, 0x00000000}; 46 | const unsigned int FONT1_n67[5] = {6, 11, 0x01C8A082, 0x08227000, 0x00000000}; 47 | const unsigned int FONT1_n68[26] = {24, 32, 0x00000000,0x00000000,0x00000000,0x3ffc003f,0xff803fff,0xc03fffe0,0x3e0ff03e,0x03f03e01,0xf83e01f8,0x3e00f83e,0x00f83e00,0xf83e00f8,0x3e00f83e,0x00f83e00,0xf83e01f8,0x3e01f03e,0x03f03e0f,0xe03fffc0,0x3fff803f,0xff003ff8,0x00000000,0x00000000,0x00000000,0x00000000};//D 48 | const unsigned int FONT1_n69[5] = {6, 11, 0x03E820FA, 0x0820F800, 0x00000000}; 49 | const unsigned int FONT1_n70[5] = {6, 11, 0x03E820F2, 0x08208000, 0x00000000}; 50 | const unsigned int FONT1_n71[5] = {6, 11, 0x01C8A0BA, 0x28A66800, 0x00000000}; 51 | const unsigned int FONT1_n72[5] = {6, 11, 0x0228A2FA, 0x28A28800, 0x00000000}; 52 | const unsigned int FONT1_n73[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 53 | const unsigned int FONT1_n74[5] = {6, 11, 0x00410410, 0x49246000, 0x00000000}; 54 | const unsigned int FONT1_n75[5] = {6, 11, 0x022928C2, 0x89228800, 0x00000000}; 55 | const unsigned int FONT1_n76[5] = {6, 11, 0x02082082, 0x0820F800, 0x00000000}; 56 | const unsigned int FONT1_n77[26] = {24, 32, 0x00000000,0x00000000,0x00000000,0xfe003fff,0x003fff00,0x7fff007f,0xff807fff,0x80fff780,0xf7f7c0f7,0xf7c1e7f3,0xc1eff3e1,0xeff3e3cf,0xf1e3cff1,0xf3cff1f7,0x8ff0f78f,0xf0ff8ff0,0xff0ff07f,0x0ff07f0f,0xf03e0ff0,0x3e0ff03e,0x0f000000,0x00000000,0x00000000,0x00000000};//M 57 | const unsigned int FONT1_n78[5] = {6, 11, 0x022CB2AA, 0xA9A68800, 0x00000000}; 58 | const unsigned int FONT1_n79[5] = {6, 11, 0x01C8A28A, 0x28A27000, 0x00000000}; 59 | const unsigned int FONT1_n80[10] = {16, 16, 0x00000000, 0x0FF00FF8, 0x0F3C0F1C, 0x0F1C0F3C, 0x0FF80FF0, 0x0F000F00, 0x0F000F00, 0x00000000};//P 60 | const unsigned int FONT1_n81[5] = {6, 11, 0x01C8A28A, 0x2AA67020, 0x00000000}; 61 | const unsigned int FONT1_n82[5] = {6, 11, 0x03C8A28B, 0xC8A28800, 0x00000000}; 62 | const unsigned int FONT1_n83[5] = {6, 11, 0x01C8A060, 0x40A27000, 0x00000000}; 63 | const unsigned int FONT1_n84[5] = {6, 11, 0x03E20820, 0x82082000, 0x00000000}; 64 | const unsigned int FONT1_n85[5] = {6, 11, 0x0228A28A, 0x28A27000, 0x00000000}; 65 | const unsigned int FONT1_n86[5] = {6, 11, 0x0228A251, 0x45082000, 0x00000000}; 66 | const unsigned int FONT1_n87[5] = {6, 11, 0x02AAAAAA, 0xA5145000, 0x00000000}; 67 | const unsigned int FONT1_n88[5] = {6, 11, 0x02289420, 0x85228800, 0x00000000}; 68 | const unsigned int FONT1_n89[26] = {24, 32, 0x00000000,0x00000000,0x00000000,0x00000000,0x00003f00,0xf81f00f8,0x1f81f00f,0x81f00fc3,0xe007c3e0,0x07c7c003,0xe7c003e7,0x8001ff80,0x01ff0000,0xff0000fe,0x00007e00,0x007c0000,0x7c00007c,0x00007c00,0x007c0000,0x7c00007c,0x00007c00,0x007c0000,0x00000000,0x00000000};//Y 69 | const unsigned int FONT1_n90[5] = {6, 11, 0x03E10420, 0x8410F800, 0x00000000}; 70 | const unsigned int FONT1_n91[5] = {6, 11, 0x30820820, 0x820820C0, 0x00000000}; 71 | const unsigned int FONT1_n92[5] = {6, 11, 0x01557F55, 0x528A2800, 0x00000000}; 72 | const unsigned int FONT1_n93[5] = {6, 11, 0x30410410, 0x410410C0, 0x00000000}; 73 | const unsigned int FONT1_n94[5] = {6, 11, 0x00852200, 0x00000000, 0x00000000}; 74 | const unsigned int FONT1_n95[5] = {6, 11, 0x00000000, 0x000003E0, 0x00000000}; 75 | const unsigned int FONT1_n96[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 76 | const unsigned int FONT1_n97[5] = {6, 11, 0x00001C89, 0xE8A27800, 0x00000000}; 77 | const unsigned int FONT1_n98[5] = {6, 11, 0x02083C8A, 0x28A2F000, 0x00000000}; 78 | const unsigned int FONT1_n99[5] = {6, 11, 0x00001C8A, 0x08227000, 0x00000000}; 79 | const unsigned int FONT1_n100[5] = {6, 11, 0x00209E8A, 0x28A27800, 0x00000000}; 80 | const unsigned int FONT1_n101[5] = {6, 11, 0x00001C8B, 0xE8227000, 0x00000000}; 81 | const unsigned int FONT1_n102[5] = {6, 11, 0x00C21C20, 0x82082000, 0x00000000}; 82 | const unsigned int FONT1_n103[5] = {6, 11, 0x00001E8A, 0x289E0A27, 0x00000000}; 83 | const unsigned int FONT1_n104[5] = {6, 11, 0x02083C8A, 0x28A28800, 0x00000000}; 84 | const unsigned int FONT1_n105[5] = {6, 11, 0x00800820, 0x82082000, 0x00000000}; 85 | const unsigned int FONT1_n106[5] = {6, 11, 0x00800820, 0x82082084, 0x00000000}; 86 | const unsigned int FONT1_n107[5] = {6, 11, 0x020824A3, 0x0C289000, 0x00000000}; 87 | const unsigned int FONT1_n108[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 88 | const unsigned int FONT1_n109[5] = {6, 11, 0x000034AA, 0xAAAAA800, 0x00000000}; 89 | const unsigned int FONT1_n110[5] = {6, 11, 0x00003C8A, 0x28A28800, 0x00000000}; 90 | const unsigned int FONT1_n111[5] = {6, 11, 0x00001C8A, 0x28A27000, 0x00000000}; 91 | const unsigned int FONT1_n112[5] = {6, 11, 0x00003C8A, 0x28A2F208, 0x00000000}; 92 | const unsigned int FONT1_n113[5] = {6, 11, 0x00001E8A, 0x28A27820, 0x80000000}; 93 | const unsigned int FONT1_n114[5] = {6, 11, 0x00001C41, 0x04104000, 0x00000000}; 94 | const unsigned int FONT1_n115[5] = {6, 11, 0x00001C89, 0x81227000, 0x00000000}; 95 | const unsigned int FONT1_n116[5] = {6, 11, 0x00821C20, 0x82083000, 0x00000000}; 96 | const unsigned int FONT1_n117[5] = {6, 11, 0x0000228A, 0x28A27000, 0x00000000}; 97 | const unsigned int FONT1_n118[5] = {6, 11, 0x00002289, 0x45082000, 0x00000000}; 98 | const unsigned int FONT1_n119[5] = {6, 11, 0x00002AAA, 0xAA945000, 0x00000000}; 99 | const unsigned int FONT1_n120[5] = {6, 11, 0x00002250, 0x82148800, 0x00000000}; 100 | const unsigned int FONT1_n121[5] = {6, 11, 0x0000228A, 0x2514208C, 0x00000000}; 101 | const unsigned int FONT1_n122[5] = {6, 11, 0x00003C10, 0x8420F000, 0x00000000}; 102 | const unsigned int FONT1_n123[5] = {6, 11, 0x30820840, 0x820820C0, 0x00000000}; 103 | const unsigned int FONT1_n124[5] = {6, 11, 0x20820820, 0x82082080, 0x00000000}; 104 | const unsigned int FONT1_n125[5] = {6, 11, 0x60820810, 0x82082180, 0x00000000}; 105 | const unsigned int FONT1_n126[5] = {6, 11, 0x0000006A, 0x40000000, 0x00000000}; 106 | const unsigned int *FONT_1[95] = {FONT1_n32, FONT1_n33, FONT1_n34, FONT1_n35, FONT1_n36, FONT1_n37, FONT1_n38, FONT1_n39, FONT1_n40, FONT1_n41, FONT1_n42, FONT1_n43, FONT1_n44, FONT1_n45, FONT1_n46, FONT1_n47, FONT1_n48, FONT1_n49, FONT1_n50, FONT1_n51, FONT1_n52, FONT1_n53, FONT1_n54, FONT1_n55, FONT1_n56, FONT1_n57, FONT1_n58, FONT1_n59, FONT1_n60, FONT1_n61, FONT1_n62, FONT1_n63, FONT1_n64, FONT1_n65, FONT1_n66, FONT1_n67, FONT1_n68, FONT1_n69, FONT1_n70, FONT1_n71, FONT1_n72, FONT1_n73, FONT1_n74, FONT1_n75, FONT1_n76, FONT1_n77, FONT1_n78, FONT1_n79, FONT1_n80, FONT1_n81, FONT1_n82, FONT1_n83, FONT1_n84, FONT1_n85, FONT1_n86, FONT1_n87, FONT1_n88, FONT1_n89, FONT1_n90, FONT1_n91, FONT1_n92, FONT1_n93, FONT1_n94, FONT1_n95, FONT1_n96, FONT1_n97, FONT1_n98, FONT1_n99, FONT1_n100, FONT1_n101, FONT1_n102, FONT1_n103, FONT1_n104, FONT1_n105, FONT1_n106, FONT1_n107, FONT1_n108, FONT1_n109, FONT1_n110, FONT1_n111, FONT1_n112, FONT1_n113, FONT1_n114, FONT1_n115, FONT1_n116, FONT1_n117, FONT1_n118, FONT1_n119, FONT1_n120, FONT1_n121, FONT1_n122, FONT1_n123, FONT1_n124, FONT1_n125, FONT1_n126}; 107 | // grimpan tahoma 24 point 108 | 109 | const unsigned int FONT8_n32[5] = {6, 11, 0x00000000, 0x00000000, 0x00000000}; 110 | const unsigned int FONT8_n33[5] = {6, 11, 0x00820820, 0x82002000, 0x00000000}; 111 | const unsigned int FONT8_n34[5] = {6, 11, 0x01450000, 0x00000000, 0x00000000}; 112 | const unsigned int FONT8_n35[5] = {6, 11, 0x01453E51, 0x4F945000, 0x00000000}; 113 | const unsigned int FONT8_n36[5] = {6, 11, 0x21CAA860, 0xC2AA7080, 0x00000000}; 114 | const unsigned int FONT8_n37[5] = {6, 11, 0x00042AB1, 0x852AA840, 0x00000000}; 115 | const unsigned int FONT8_n38[5] = {6, 11, 0x01892462, 0xA9246800, 0x00000000}; 116 | const unsigned int FONT8_n39[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 117 | const unsigned int FONT8_n40[5] = {6, 11, 0x10821041, 0x04082040, 0x00000000}; 118 | const unsigned int FONT8_n41[5] = {6, 11, 0x40820410, 0x41082100, 0x00000000}; 119 | const unsigned int FONT8_n42[5] = {6, 11, 0x00000823, 0xE2140000, 0x00000000}; 120 | const unsigned int FONT8_n43[5] = {6, 11, 0x00000823, 0xE2080000, 0x00000000}; 121 | const unsigned int FONT8_n44[5] = {6, 11, 0x00000000, 0x00002084, 0x00000000}; 122 | const unsigned int FONT8_n45[5] = {6, 11, 0x00000003, 0xE0000000, 0x00000000}; 123 | const unsigned int FONT8_n46[5] = {6, 11, 0x00000000, 0x00004100, 0x00000000}; 124 | const unsigned int FONT8_n47[5] = {6, 11, 0x08210420, 0x84108200, 0x00000000}; 125 | const unsigned int FONT8_n48[5] = {6, 11, 0x01C8A28A, 0x28A27000, 0x00000000}; 126 | const unsigned int FONT8_n49[5] = {6, 11, 0x008E0820, 0x82082000, 0x00000000}; 127 | const unsigned int FONT8_n50[5] = {6, 11, 0x01C8A210, 0x8420F800, 0x00000000}; 128 | const unsigned int FONT8_n51[5] = {6, 11, 0x01C88270, 0x20A27000, 0x00000000}; 129 | const unsigned int FONT8_n52[5] = {6, 11, 0x00C31452, 0x4F841000, 0x00000000}; 130 | const unsigned int FONT8_n53[5] = {6, 11, 0x03E820F0, 0x20A27000, 0x00000000}; 131 | const unsigned int FONT8_n54[5] = {6, 11, 0x01C8A0F2, 0x28A27000, 0x00000000}; 132 | const unsigned int FONT8_n55[5] = {6, 11, 0x03E08410, 0x42082000, 0x00000000}; 133 | const unsigned int FONT8_n56[5] = {6, 11, 0x01C8A272, 0x28A27000, 0x00000000}; 134 | const unsigned int FONT8_n57[5] = {6, 11, 0x01C8A289, 0xE0A27000, 0x00000000}; 135 | const unsigned int FONT8_n58[5] = {6, 11, 0x00000800, 0x00080000, 0x00000000}; 136 | const unsigned int FONT8_n59[5] = {6, 11, 0x00000800, 0x00084000, 0x00000000}; 137 | const unsigned int FONT8_n60[5] = {6, 11, 0x00000662, 0x06060000, 0x00000000}; 138 | const unsigned int FONT8_n61[5] = {6, 11, 0x000000F8, 0x0F800000, 0x00000000}; 139 | const unsigned int FONT8_n62[5] = {6, 11, 0x00003030, 0x23300000, 0x00000000}; 140 | const unsigned int FONT8_n63[5] = {6, 11, 0x01C88210, 0x82002000, 0x00000000}; 141 | const unsigned int FONT8_n64[5] = {6, 11, 0x01C8A6AA, 0xAAAE81C0, 0x00000000}; 142 | const unsigned int FONT8_n65[5] = {6, 11, 0x00821451, 0x4FA28800, 0x00000000}; 143 | const unsigned int FONT8_n66[5] = {6, 11, 0x03C8A2F2, 0x28A2F000, 0x00000000}; 144 | const unsigned int FONT8_n67[5] = {6, 11, 0x01C8A082, 0x08227000, 0x00000000}; 145 | const unsigned int FONT8_n68[5] = {6, 11, 0x03C8A28A, 0x28A2F000, 0x00000000}; 146 | const unsigned int FONT8_n69[5] = {6, 11, 0x03E820FA, 0x0820F800, 0x00000000}; 147 | const unsigned int FONT8_n70[5] = {6, 11, 0x03E820F2, 0x08208000, 0x00000000}; 148 | const unsigned int FONT8_n71[5] = {6, 11, 0x01C8A0BA, 0x28A66800, 0x00000000}; 149 | const unsigned int FONT8_n72[5] = {6, 11, 0x0228A2FA, 0x28A28800, 0x00000000}; 150 | const unsigned int FONT8_n73[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 151 | const unsigned int FONT8_n74[5] = {6, 11, 0x00410410, 0x49246000, 0x00000000}; 152 | const unsigned int FONT8_n75[5] = {6, 11, 0x022928C2, 0x89228800, 0x00000000}; 153 | const unsigned int FONT8_n76[5] = {6, 11, 0x02082082, 0x0820F800, 0x00000000}; 154 | const unsigned int FONT8_n77[5] = {6, 11, 0x0228B6DA, 0xAAAA8800, 0x00000000}; 155 | const unsigned int FONT8_n78[5] = {6, 11, 0x022CB2AA, 0xA9A68800, 0x00000000}; 156 | const unsigned int FONT8_n79[5] = {6, 11, 0x01C8A28A, 0x28A27000, 0x00000000}; 157 | const unsigned int FONT8_n80[5] = {6, 11, 0x03C8A28B, 0xC8208000, 0x00000000}; 158 | const unsigned int FONT8_n81[5] = {6, 11, 0x01C8A28A, 0x2AA67020, 0x00000000}; 159 | const unsigned int FONT8_n82[5] = {6, 11, 0x03C8A28B, 0xC8A28800, 0x00000000}; 160 | const unsigned int FONT8_n83[5] = {6, 11, 0x01C8A060, 0x40A27000, 0x00000000}; 161 | const unsigned int FONT8_n84[5] = {6, 11, 0x03E20820, 0x82082000, 0x00000000}; 162 | const unsigned int FONT8_n85[5] = {6, 11, 0x0228A28A, 0x28A27000, 0x00000000}; 163 | const unsigned int FONT8_n86[5] = {6, 11, 0x0228A251, 0x45082000, 0x00000000}; 164 | const unsigned int FONT8_n87[5] = {6, 11, 0x02AAAAAA, 0xA5145000, 0x00000000}; 165 | const unsigned int FONT8_n88[5] = {6, 11, 0x02289420, 0x85228800, 0x00000000}; 166 | const unsigned int FONT8_n89[5] = {6, 11, 0x02289450, 0x82082000, 0x00000000}; 167 | const unsigned int FONT8_n90[5] = {6, 11, 0x03E10420, 0x8410F800, 0x00000000}; 168 | const unsigned int FONT8_n91[5] = {6, 11, 0x30820820, 0x820820C0, 0x00000000}; 169 | const unsigned int FONT8_n92[5] = {6, 11, 0x01557F55, 0x528A2800, 0x00000000}; 170 | const unsigned int FONT8_n93[5] = {6, 11, 0x30410410, 0x410410C0, 0x00000000}; 171 | const unsigned int FONT8_n94[5] = {6, 11, 0x00852200, 0x00000000, 0x00000000}; 172 | const unsigned int FONT8_n95[5] = {6, 11, 0x00000000, 0x000003E0, 0x00000000}; 173 | const unsigned int FONT8_n96[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 174 | const unsigned int FONT8_n97[5] = {6, 11, 0x00001C89, 0xE8A27800, 0x00000000}; 175 | const unsigned int FONT8_n98[5] = {6, 11, 0x02083C8A, 0x28A2F000, 0x00000000}; 176 | const unsigned int FONT8_n99[5] = {6, 11, 0x00001C8A, 0x08227000, 0x00000000}; 177 | const unsigned int FONT8_n100[5] = {6, 11, 0x00209E8A, 0x28A27800, 0x00000000}; 178 | const unsigned int FONT8_n101[5] = {6, 11, 0x00001C8B, 0xE8227000, 0x00000000}; 179 | const unsigned int FONT8_n102[5] = {6, 11, 0x00C21C20, 0x82082000, 0x00000000}; 180 | const unsigned int FONT8_n103[5] = {6, 11, 0x00001E8A, 0x289E0A27, 0x00000000}; 181 | const unsigned int FONT8_n104[5] = {6, 11, 0x02083C8A, 0x28A28800, 0x00000000}; 182 | const unsigned int FONT8_n105[5] = {6, 11, 0x00800820, 0x82082000, 0x00000000}; 183 | const unsigned int FONT8_n106[5] = {6, 11, 0x00800820, 0x82082084, 0x00000000}; 184 | const unsigned int FONT8_n107[5] = {6, 11, 0x020824A3, 0x0C289000, 0x00000000}; 185 | const unsigned int FONT8_n108[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 186 | const unsigned int FONT8_n109[5] = {6, 11, 0x000034AA, 0xAAAAA800, 0x00000000}; 187 | const unsigned int FONT8_n110[5] = {6, 11, 0x00003C8A, 0x28A28800, 0x00000000}; 188 | const unsigned int FONT8_n111[5] = {6, 11, 0x00001C8A, 0x28A27000, 0x00000000}; 189 | const unsigned int FONT8_n112[5] = {6, 11, 0x00003C8A, 0x28A2F208, 0x00000000}; 190 | const unsigned int FONT8_n113[5] = {6, 11, 0x00001E8A, 0x28A27820, 0x80000000}; 191 | const unsigned int FONT8_n114[5] = {6, 11, 0x00001C41, 0x04104000, 0x00000000}; 192 | const unsigned int FONT8_n115[5] = {6, 11, 0x00001C89, 0x81227000, 0x00000000}; 193 | const unsigned int FONT8_n116[5] = {6, 11, 0x00821C20, 0x82083000, 0x00000000}; 194 | const unsigned int FONT8_n117[5] = {6, 11, 0x0000228A, 0x28A27000, 0x00000000}; 195 | const unsigned int FONT8_n118[5] = {6, 11, 0x00002289, 0x45082000, 0x00000000}; 196 | const unsigned int FONT8_n119[5] = {6, 11, 0x00002AAA, 0xAA945000, 0x00000000}; 197 | const unsigned int FONT8_n120[5] = {6, 11, 0x00002250, 0x82148800, 0x00000000}; 198 | const unsigned int FONT8_n121[5] = {6, 11, 0x0000228A, 0x2514208C, 0x00000000}; 199 | const unsigned int FONT8_n122[5] = {6, 11, 0x00003C10, 0x8420F000, 0x00000000}; 200 | const unsigned int FONT8_n123[5] = {6, 11, 0x30820840, 0x820820C0, 0x00000000}; 201 | const unsigned int FONT8_n124[5] = {6, 11, 0x20820820, 0x82082080, 0x00000000}; 202 | const unsigned int FONT8_n125[5] = {6, 11, 0x60820810, 0x82082180, 0x00000000}; 203 | const unsigned int FONT8_n126[5] = {6, 11, 0x0000006A, 0x40000000, 0x00000000}; 204 | const unsigned int *FONT_8[95] = {FONT8_n32, FONT8_n33, FONT8_n34, FONT8_n35, FONT8_n36, FONT8_n37, FONT8_n38, FONT8_n39, FONT8_n40, FONT8_n41, FONT8_n42, FONT8_n43, FONT8_n44, FONT8_n45, FONT8_n46, FONT8_n47, FONT8_n48, FONT8_n49, FONT8_n50, FONT8_n51, FONT8_n52, FONT8_n53, FONT8_n54, FONT8_n55, FONT8_n56, FONT8_n57, FONT8_n58, FONT8_n59, FONT8_n60, FONT8_n61, FONT8_n62, FONT8_n63, FONT8_n64, FONT8_n65, FONT8_n66, FONT8_n67, FONT8_n68, FONT8_n69, FONT8_n70, FONT8_n71, FONT8_n72, FONT8_n73, FONT8_n74, FONT8_n75, FONT8_n76, FONT8_n77, FONT8_n78, FONT8_n79, FONT8_n80, FONT8_n81, FONT8_n82, FONT8_n83, FONT8_n84, FONT8_n85, FONT8_n86, FONT8_n87, FONT8_n88, FONT8_n89, FONT8_n90, FONT8_n91, FONT8_n92, FONT8_n93, FONT8_n94, FONT8_n95, FONT8_n96, FONT8_n97, FONT8_n98, FONT8_n99, FONT8_n100, FONT8_n101, FONT8_n102, FONT8_n103, FONT8_n104, FONT8_n105, FONT8_n106, FONT8_n107, FONT8_n108, FONT8_n109, FONT8_n110, FONT8_n111, FONT8_n112, FONT8_n113, FONT8_n114, FONT8_n115, FONT8_n116, FONT8_n117, FONT8_n118, FONT8_n119, FONT8_n120, FONT8_n121, FONT8_n122, FONT8_n123, FONT8_n124, FONT8_n125, FONT8_n126}; 205 | 206 | const unsigned int FONT2_n32[14] = {16, 24, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}; 207 | const unsigned int FONT2_n33[5] = {6, 11, 0x00820820, 0x82002000, 0x00000000}; 208 | const unsigned int FONT2_n34[5] = {6, 11, 0x01450000, 0x00000000, 0x00000000}; 209 | const unsigned int FONT2_n35[5] = {6, 11, 0x01453E51, 0x4F945000, 0x00000000}; 210 | const unsigned int FONT2_n36[5] = {6, 11, 0x21CAA860, 0xC2AA7080, 0x00000000}; 211 | const unsigned int FONT2_n37[5] = {6, 11, 0x00042AB1, 0x852AA840, 0x00000000}; 212 | const unsigned int FONT2_n38[5] = {6, 11, 0x01892462, 0xA9246800, 0x00000000}; 213 | const unsigned int FONT2_n39[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 214 | const unsigned int FONT2_n40[5] = {6, 11, 0x10821041, 0x04082040, 0x00000000}; 215 | const unsigned int FONT2_n41[5] = {6, 11, 0x40820410, 0x41082100, 0x00000000}; 216 | const unsigned int FONT2_n42[5] = {6, 11, 0x00000823, 0xE2140000, 0x00000000}; 217 | const unsigned int FONT2_n43[5] = {6, 11, 0x00000823, 0xE2080000, 0x00000000}; 218 | const unsigned int FONT2_n44[5] = {6, 11, 0x00000000, 0x00002084, 0x00000000}; 219 | const unsigned int FONT2_n45[14] = {16, 24, 0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x0ff00ff0,0x0ff00ff0,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000}; 220 | const unsigned int FONT2_n46[8] = {8, 24, 0x00000000,0x00000000,0x00000000,0x00000000,0x00003c3c,0x3c3c0000}; 221 | const unsigned int FONT2_n47[5] = {6, 11, 0x08210420, 0x84108200, 0x00000000}; 222 | const unsigned int FONT2_n48[14] = {16, 24, 0x00000000,0x07e01ff8,0x3ffc7ffe,0x7c3e7c3e,0xf81ff81f,0xf81ff81f,0xf81ff81f,0xf81ff81f,0x7c3e7c3e,0x7ffe3ffc,0x1ff807e0,0x00000000};//0 223 | const unsigned int FONT2_n49[14] = {16, 24, 0x00000000,0x01e003e0,0x07e03fe0,0x3fe03fe0,0x03e003e0,0x03e003e0,0x03e003e0,0x03e003e0,0x03e003e0,0x3ffe3ffe,0x3ffe3ffe,0x00000000};//1 224 | const unsigned int FONT2_n50[14] = {16, 24, 0x00000000,0x1fc07ff0,0x7ff87ffc,0x60fc407c,0x007c007c,0x007c00f8,0x01f003f0,0x07e00fc0,0x1f003e00,0xfffefffe,0xfffefffe,0x00000000};//2 225 | const unsigned int FONT2_n51[14] = {16, 24, 0x00000000,0x0fe07ff8,0x7ffc7ffe,0x707e403e,0x003e007c,0x07fc07f0,0x07f807fe,0x003e001f,0x403f707e,0x7ffe7ffc,0x7ff81fe0,0x00000000};///3 226 | const unsigned int FONT2_n52[14] = {16, 24, 0x00000000,0x00fc01fc,0x03fc03fc,0x07fc0f7c,0x1e7c3c7c,0x3c7c787c,0xf07cffff,0xffffffff,0xffff007c,0x007c007c,0x007c007c,0x00000000};///4 227 | const unsigned int FONT2_n53[14] = {16, 24, 0x00000000,0x3ffe3ffe,0x3ffe3ffe,0x3c003c00,0x3c003ff0,0x3ffc3ffe,0x3ffe207e,0x003f001f,0x403e707e,0x7ffe7ffc,0x7ff81fe0,0x00000000};///5 228 | const unsigned int FONT2_n54[14] = {16, 24, 0x00000000,0x01fc07fc,0x1ffc1ffc,0x3f047e00,0x7c007df0,0x7ffc7ffe,0xfffffc3f,0x781f781f,0x7c1f7c1f,0x3e3e3ffc,0x1ff807e0,0x00000000};//6 229 | const unsigned int FONT2_n55[14] = {16, 24, 0x00000000,0x7fff7fff,0x7fff7fff,0x003e003e,0x007c007c,0x00f801f8,0x01f003f0,0x03e007c0,0x07c00f80,0x1f801f00,0x3f003e00,0x00000000};//7 230 | const unsigned int FONT2_n56[14] = {16, 24, 0x00000000,0x07f01ffc,0x3ffe7c3e,0x781e781e,0x7c3e7f3c,0x3ff81ff8,0x3ffc7cfe,0xf83ff81f,0xf81ff81f,0xfc3e7ffe,0x3ffc0fe0,0x00000000};//8 231 | const unsigned int FONT2_n57[14] = {16, 24, 0x00000000,0x07e01ff8,0x3ffc7c7c,0xf83ef81e,0xf81ef81f,0xfc1fffff,0x7ffe3ffe,0x0fbe003e,0x007e20fc,0x3ff83ff8,0x3fe03f80,0x00000000};//9 232 | const unsigned int FONT2_n58[5] = {6, 11, 0x00000800, 0x00080000, 0x00000000}; 233 | const unsigned int FONT2_n59[5] = {6, 11, 0x00000800, 0x00084000, 0x00000000}; 234 | const unsigned int FONT2_n60[5] = {6, 11, 0x00000662, 0x06060000, 0x00000000}; 235 | const unsigned int FONT2_n61[5] = {6, 11, 0x000000F8, 0x0F800000, 0x00000000}; 236 | const unsigned int FONT2_n62[5] = {6, 11, 0x00003030, 0x23300000, 0x00000000}; 237 | const unsigned int FONT2_n63[5] = {6, 11, 0x01C88210, 0x82002000, 0x00000000}; 238 | const unsigned int FONT2_n64[5] = {6, 11, 0x01C8A6AA, 0xAAAE81C0, 0x00000000}; 239 | const unsigned int FONT2_n65[5] = {6, 11, 0x00821451, 0x4FA28800, 0x00000000}; 240 | const unsigned int FONT2_n66[5] = {6, 11, 0x03C8A2F2, 0x28A2F000, 0x00000000}; 241 | const unsigned int FONT2_n67[5] = {6, 11, 0x01C8A082, 0x08227000, 0x00000000}; 242 | const unsigned int FONT2_n68[5] = {6, 11, 0x03C8A28A, 0x28A2F000, 0x00000000}; 243 | const unsigned int FONT2_n69[5] = {6, 11, 0x03E820FA, 0x0820F800, 0x00000000}; 244 | const unsigned int FONT2_n70[5] = {6, 11, 0x03E820F2, 0x08208000, 0x00000000}; 245 | const unsigned int FONT2_n71[5] = {6, 11, 0x01C8A0BA, 0x28A66800, 0x00000000}; 246 | const unsigned int FONT2_n72[5] = {6, 11, 0x0228A2FA, 0x28A28800, 0x00000000}; 247 | const unsigned int FONT2_n73[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 248 | const unsigned int FONT2_n74[5] = {6, 11, 0x00410410, 0x49246000, 0x00000000}; 249 | const unsigned int FONT2_n75[5] = {6, 11, 0x022928C2, 0x89228800, 0x00000000}; 250 | const unsigned int FONT2_n76[5] = {6, 11, 0x02082082, 0x0820F800, 0x00000000}; 251 | const unsigned int FONT2_n77[5] = {6, 11, 0x0228B6DA, 0xAAAA8800, 0x00000000}; 252 | const unsigned int FONT2_n78[5] = {6, 11, 0x022CB2AA, 0xA9A68800, 0x00000000}; 253 | const unsigned int FONT2_n79[5] = {6, 11, 0x01C8A28A, 0x28A27000, 0x00000000}; 254 | const unsigned int FONT2_n80[5] = {6, 11, 0x03C8A28B, 0xC8208000, 0x00000000}; 255 | const unsigned int FONT2_n81[5] = {6, 11, 0x01C8A28A, 0x2AA67020, 0x00000000}; 256 | const unsigned int FONT2_n82[5] = {6, 11, 0x03C8A28B, 0xC8A28800, 0x00000000}; 257 | const unsigned int FONT2_n83[5] = {6, 11, 0x01C8A060, 0x40A27000, 0x00000000}; 258 | const unsigned int FONT2_n84[5] = {6, 11, 0x03E20820, 0x82082000, 0x00000000}; 259 | const unsigned int FONT2_n85[5] = {6, 11, 0x0228A28A, 0x28A27000, 0x00000000}; 260 | const unsigned int FONT2_n86[5] = {6, 11, 0x0228A251, 0x45082000, 0x00000000}; 261 | const unsigned int FONT2_n87[5] = {6, 11, 0x02AAAAAA, 0xA5145000, 0x00000000}; 262 | const unsigned int FONT2_n88[5] = {6, 11, 0x02289420, 0x85228800, 0x00000000}; 263 | const unsigned int FONT2_n89[5] = {6, 11, 0x02289450, 0x82082000, 0x00000000}; 264 | const unsigned int FONT2_n90[5] = {6, 11, 0x03E10420, 0x8410F800, 0x00000000}; 265 | const unsigned int FONT2_n91[5] = {6, 11, 0x30820820, 0x820820C0, 0x00000000}; 266 | const unsigned int FONT2_n92[5] = {6, 11, 0x01557F55, 0x528A2800, 0x00000000}; 267 | const unsigned int FONT2_n93[5] = {6, 11, 0x30410410, 0x410410C0, 0x00000000}; 268 | const unsigned int FONT2_n94[5] = {6, 11, 0x00852200, 0x00000000, 0x00000000}; 269 | const unsigned int FONT2_n95[5] = {6, 11, 0x00000000, 0x000003E0, 0x00000000}; 270 | const unsigned int FONT2_n96[5] = {6, 11, 0x00820000, 0x00000000, 0x00000000}; 271 | const unsigned int FONT2_n97[5] = {6, 11, 0x00001C89, 0xE8A27800, 0x00000000}; 272 | const unsigned int FONT2_n98[5] = {6, 11, 0x02083C8A, 0x28A2F000, 0x00000000}; 273 | const unsigned int FONT2_n99[5] = {6, 11, 0x00001C8A, 0x08227000, 0x00000000}; 274 | const unsigned int FONT2_n100[5] = {6, 11, 0x00209E8A, 0x28A27800, 0x00000000}; 275 | const unsigned int FONT2_n101[5] = {6, 11, 0x00001C8B, 0xE8227000, 0x00000000}; 276 | const unsigned int FONT2_n102[5] = {6, 11, 0x00C21C20, 0x82082000, 0x00000000}; 277 | const unsigned int FONT2_n103[5] = {6, 11, 0x00001E8A, 0x289E0A27, 0x00000000}; 278 | const unsigned int FONT2_n104[5] = {6, 11, 0x02083C8A, 0x28A28800, 0x00000000}; 279 | const unsigned int FONT2_n105[5] = {6, 11, 0x00800820, 0x82082000, 0x00000000}; 280 | const unsigned int FONT2_n106[5] = {6, 11, 0x00800820, 0x82082084, 0x00000000}; 281 | const unsigned int FONT2_n107[5] = {6, 11, 0x020824A3, 0x0C289000, 0x00000000}; 282 | const unsigned int FONT2_n108[5] = {6, 11, 0x00820820, 0x82082000, 0x00000000}; 283 | const unsigned int FONT2_n109[5] = {6, 11, 0x000034AA, 0xAAAAA800, 0x00000000}; 284 | const unsigned int FONT2_n110[5] = {6, 11, 0x00003C8A, 0x28A28800, 0x00000000}; 285 | const unsigned int FONT2_n111[5] = {6, 11, 0x00001C8A, 0x28A27000, 0x00000000}; 286 | const unsigned int FONT2_n112[5] = {6, 11, 0x00003C8A, 0x28A2F208, 0x00000000}; 287 | const unsigned int FONT2_n113[5] = {6, 11, 0x00001E8A, 0x28A27820, 0x80000000}; 288 | const unsigned int FONT2_n114[5] = {6, 11, 0x00001C41, 0x04104000, 0x00000000}; 289 | const unsigned int FONT2_n115[5] = {6, 11, 0x00001C89, 0x81227000, 0x00000000}; 290 | const unsigned int FONT2_n116[5] = {6, 11, 0x00821C20, 0x82083000, 0x00000000}; 291 | const unsigned int FONT2_n117[5] = {6, 11, 0x0000228A, 0x28A27000, 0x00000000}; 292 | const unsigned int FONT2_n118[5] = {6, 11, 0x00002289, 0x45082000, 0x00000000}; 293 | const unsigned int FONT2_n119[5] = {6, 11, 0x00002AAA, 0xAA945000, 0x00000000}; 294 | const unsigned int FONT2_n120[5] = {6, 11, 0x00002250, 0x82148800, 0x00000000}; 295 | const unsigned int FONT2_n121[5] = {6, 11, 0x0000228A, 0x2514208C, 0x00000000}; 296 | const unsigned int FONT2_n122[5] = {6, 11, 0x00003C10, 0x8420F000, 0x00000000}; 297 | const unsigned int FONT2_n123[5] = {6, 11, 0x30820840, 0x820820C0, 0x00000000}; 298 | const unsigned int FONT2_n124[5] = {6, 11, 0x20820820, 0x82082080, 0x00000000}; 299 | const unsigned int FONT2_n125[5] = {6, 11, 0x60820810, 0x82082180, 0x00000000}; 300 | const unsigned int FONT2_n126[5] = {6, 11, 0x0000006A, 0x40000000, 0x00000000}; 301 | const unsigned int *FONT_2[95] = {FONT2_n32, FONT2_n33, FONT2_n34, FONT2_n35, FONT2_n36, FONT2_n37, FONT2_n38, FONT2_n39, FONT2_n40, FONT2_n41, FONT2_n42, FONT2_n43, FONT2_n44, FONT2_n45, FONT2_n46, FONT2_n47, FONT2_n48, FONT2_n49, FONT2_n50, FONT2_n51, FONT2_n52, FONT2_n53, FONT2_n54, FONT2_n55, FONT2_n56, FONT2_n57, FONT2_n58, FONT2_n59, FONT2_n60, FONT2_n61, FONT2_n62, FONT2_n63, FONT2_n64, FONT2_n65, FONT2_n66, FONT2_n67, FONT2_n68, FONT2_n69, FONT2_n70, FONT2_n71, FONT2_n72, FONT2_n73, FONT2_n74, FONT2_n75, FONT2_n76, FONT2_n77, FONT2_n78, FONT2_n79, FONT2_n80, FONT2_n81, FONT2_n82, FONT2_n83, FONT2_n84, FONT2_n85, FONT2_n86, FONT2_n87, FONT2_n88, FONT2_n89, FONT2_n90, FONT2_n91, FONT2_n92, FONT2_n93, FONT2_n94, FONT2_n95, FONT2_n96, FONT2_n97, FONT2_n98, FONT2_n99, FONT2_n100, FONT2_n101, FONT2_n102, FONT2_n103, FONT2_n104, FONT2_n105, FONT2_n106, FONT2_n107, FONT2_n108, FONT2_n109, FONT2_n110, FONT2_n111, FONT2_n112, FONT2_n113, FONT2_n114, FONT2_n115, FONT2_n116, FONT2_n117, FONT2_n118, FONT2_n119, FONT2_n120, FONT2_n121, FONT2_n122, FONT2_n123, FONT2_n124, FONT2_n125, FONT2_n126}; 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | #endif /* FONT_H_ */ 315 | -------------------------------------------------------------------------------- /Watch/Inc/ST7789.h: -------------------------------------------------------------------------------- 1 | /* 2 | * 7789.h 3 | * 4 | * Created on: 2019. 2. 28. 5 | * Author: yoons 6 | */ 7 | 8 | #include "gpio.h" 9 | 10 | #define LCD_Width 240 11 | #define LCD_Height 240 12 | 13 | #define LCD_RST1 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_7,GPIO_PIN_SET) 14 | #define LCD_RST0 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_7,GPIO_PIN_RESET) 15 | 16 | #define LCD_DC1 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_10,GPIO_PIN_SET) 17 | #define LCD_DC0 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_10,GPIO_PIN_RESET) 18 | 19 | #define LCD_CS1 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_SET) 20 | #define LCD_CS0 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_8,GPIO_PIN_RESET) 21 | 22 | #define LCD_SCK1 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_9,GPIO_PIN_SET) 23 | #define LCD_SCK0 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_9,GPIO_PIN_RESET) 24 | 25 | #define LCD_MOSI1 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_11,GPIO_PIN_SET) 26 | #define LCD_MOSI0 HAL_GPIO_WritePin(GPIOE,GPIO_PIN_11,GPIO_PIN_RESET) 27 | 28 | void ST7789_Init(); 29 | void ST7789_senddata(unsigned char data); 30 | void ST7789_sendCmd(unsigned char cmd); 31 | void ST7789_sendData(unsigned char data); 32 | void ST7789_pix(unsigned char x,unsigned char y, unsigned int color); 33 | void ST7789_at(unsigned char startx,unsigned char starty,unsigned char stopx,unsigned char stopy); 34 | void ST7789_drawImage(uint32_t xs, uint32_t ys, const uint32_t *image, unsigned int color); 35 | void ST7789_drawChar(uint32_t xs, uint32_t ys, const uint32_t ** font, uint8_t ascii, unsigned int color); 36 | void ST7789_drawString(uint32_t xs, uint32_t ys, const uint32_t ** font, uint8_t *str, unsigned int color); 37 | void ST7789_drawInt(uint32_t xs, uint32_t ys, const uint32_t ** font, int n, unsigned int color); 38 | void ST7789_Clear(uint32_t x1,uint32_t x2,uint32_t y1,uint32_t y2); 39 | -------------------------------------------------------------------------------- /Watch/Inc/main.h: -------------------------------------------------------------------------------- 1 | /* USER CODE BEGIN Header */ 2 | /** 3 | ****************************************************************************** 4 | * @file : main.h 5 | * @brief : Header for main.c file. 6 | * This file contains the common defines of the application. 7 | ****************************************************************************** 8 | * @attention 9 | * 10 | *

© Copyright (c) 2019 STMicroelectronics. 11 | * All rights reserved.

12 | * 13 | * This software component is licensed by ST under Ultimate Liberty license 14 | * SLA0044, the "License"; You may not use this file except in compliance with 15 | * the License. You may obtain a copy of the License at: 16 | * www.st.com/SLA0044 17 | * 18 | ****************************************************************************** 19 | */ 20 | /* USER CODE END Header */ 21 | 22 | /* Define to prevent recursive inclusion -------------------------------------*/ 23 | #ifndef __MAIN_H 24 | #define __MAIN_H 25 | 26 | #ifdef __cplusplus 27 | extern "C" { 28 | #endif 29 | 30 | /* Includes ------------------------------------------------------------------*/ 31 | #include "stm32f4xx_hal.h" 32 | #include "stm32f4xx_hal.h" 33 | 34 | /* Private includes ----------------------------------------------------------*/ 35 | /* USER CODE BEGIN Includes */ 36 | 37 | /* USER CODE END Includes */ 38 | 39 | /* Exported types ------------------------------------------------------------*/ 40 | /* USER CODE BEGIN ET */ 41 | 42 | /* USER CODE END ET */ 43 | 44 | /* Exported constants --------------------------------------------------------*/ 45 | /* USER CODE BEGIN EC */ 46 | 47 | /* USER CODE END EC */ 48 | 49 | /* Exported macro ------------------------------------------------------------*/ 50 | /* USER CODE BEGIN EM */ 51 | 52 | /* USER CODE END EM */ 53 | 54 | /* Exported functions prototypes ---------------------------------------------*/ 55 | void Error_Handler(void); 56 | 57 | /* USER CODE BEGIN EFP */ 58 | 59 | /* USER CODE END EFP */ 60 | 61 | /* Private defines -----------------------------------------------------------*/ 62 | #define CS_I2C_SPI_Pin GPIO_PIN_3 63 | #define CS_I2C_SPI_GPIO_Port GPIOE 64 | #define PC14_OSC32_IN_Pin GPIO_PIN_14 65 | #define PC14_OSC32_IN_GPIO_Port GPIOC 66 | #define PC15_OSC32_OUT_Pin GPIO_PIN_15 67 | #define PC15_OSC32_OUT_GPIO_Port GPIOC 68 | #define PH0_OSC_IN_Pin GPIO_PIN_0 69 | #define PH0_OSC_IN_GPIO_Port GPIOH 70 | #define PH1_OSC_OUT_Pin GPIO_PIN_1 71 | #define PH1_OSC_OUT_GPIO_Port GPIOH 72 | #define OTG_FS_PowerSwitchOn_Pin GPIO_PIN_0 73 | #define OTG_FS_PowerSwitchOn_GPIO_Port GPIOC 74 | #define PDM_OUT_Pin GPIO_PIN_3 75 | #define PDM_OUT_GPIO_Port GPIOC 76 | #define I2S3_WS_Pin GPIO_PIN_4 77 | #define I2S3_WS_GPIO_Port GPIOA 78 | #define SPI1_SCK_Pin GPIO_PIN_5 79 | #define SPI1_SCK_GPIO_Port GPIOA 80 | #define SPI1_MISO_Pin GPIO_PIN_6 81 | #define SPI1_MISO_GPIO_Port GPIOA 82 | #define SPI1_MOSI_Pin GPIO_PIN_7 83 | #define SPI1_MOSI_GPIO_Port GPIOA 84 | #define BOOT1_Pin GPIO_PIN_2 85 | #define BOOT1_GPIO_Port GPIOB 86 | #define CLK_IN_Pin GPIO_PIN_10 87 | #define CLK_IN_GPIO_Port GPIOB 88 | #define LD4_Pin GPIO_PIN_12 89 | #define LD4_GPIO_Port GPIOD 90 | #define LD3_Pin GPIO_PIN_13 91 | #define LD3_GPIO_Port GPIOD 92 | #define LD5_Pin GPIO_PIN_14 93 | #define LD5_GPIO_Port GPIOD 94 | #define LD6_Pin GPIO_PIN_15 95 | #define LD6_GPIO_Port GPIOD 96 | #define I2S3_MCK_Pin GPIO_PIN_7 97 | #define I2S3_MCK_GPIO_Port GPIOC 98 | #define VBUS_FS_Pin GPIO_PIN_9 99 | #define VBUS_FS_GPIO_Port GPIOA 100 | #define OTG_FS_ID_Pin GPIO_PIN_10 101 | #define OTG_FS_ID_GPIO_Port GPIOA 102 | #define OTG_FS_DM_Pin GPIO_PIN_11 103 | #define OTG_FS_DM_GPIO_Port GPIOA 104 | #define OTG_FS_DP_Pin GPIO_PIN_12 105 | #define OTG_FS_DP_GPIO_Port GPIOA 106 | #define SWDIO_Pin GPIO_PIN_13 107 | #define SWDIO_GPIO_Port GPIOA 108 | #define SWCLK_Pin GPIO_PIN_14 109 | #define SWCLK_GPIO_Port GPIOA 110 | #define I2S3_SCK_Pin GPIO_PIN_10 111 | #define I2S3_SCK_GPIO_Port GPIOC 112 | #define I2S3_SD_Pin GPIO_PIN_12 113 | #define I2S3_SD_GPIO_Port GPIOC 114 | #define Audio_RST_Pin GPIO_PIN_4 115 | #define Audio_RST_GPIO_Port GPIOD 116 | #define OTG_FS_OverCurrent_Pin GPIO_PIN_5 117 | #define OTG_FS_OverCurrent_GPIO_Port GPIOD 118 | #define SWO_Pin GPIO_PIN_3 119 | #define SWO_GPIO_Port GPIOB 120 | #define Audio_SCL_Pin GPIO_PIN_6 121 | #define Audio_SCL_GPIO_Port GPIOB 122 | #define Audio_SDA_Pin GPIO_PIN_9 123 | #define Audio_SDA_GPIO_Port GPIOB 124 | #define MEMS_INT2_Pin GPIO_PIN_1 125 | #define MEMS_INT2_GPIO_Port GPIOE 126 | /* USER CODE BEGIN Private defines */ 127 | 128 | /* USER CODE END Private defines */ 129 | 130 | #ifdef __cplusplus 131 | } 132 | #endif 133 | 134 | #endif /* __MAIN_H */ 135 | 136 | /************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/ 137 | -------------------------------------------------------------------------------- /Watch/Src/ST7789.c: -------------------------------------------------------------------------------- 1 | #include "ST7789.h" 2 | /*uint8_t buffer[LCD_Height*LCD_Width/8]{ 3 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 4 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 5 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 6 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 7 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 8 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 9 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 10 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 11 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 12 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 13 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 14 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 15 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 16 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 17 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 18 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 20 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 21 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 22 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 23 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 24 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 25 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 26 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 27 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 28 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 29 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 30 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 31 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 32 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 33 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 34 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 35 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 36 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 37 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 38 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 39 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 40 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 41 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 42 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 43 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 44 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 45 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 46 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 47 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 48 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 49 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 50 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 51 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 52 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 53 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 54 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 55 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 56 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 57 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 58 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 59 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 60 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 61 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 62 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 63 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 64 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 65 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 66 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 67 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 68 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 69 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 70 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 71 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 72 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 73 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 74 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 75 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 76 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 77 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 78 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 79 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 80 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 81 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 82 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 83 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 84 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 85 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 86 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 87 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 88 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 89 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 90 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 91 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 92 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 93 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 94 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 95 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 96 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 97 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 98 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 99 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 100 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 101 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 102 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 103 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 104 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 105 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 106 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 107 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 108 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 109 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 110 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 111 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 112 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 113 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 114 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 115 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 116 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 117 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 118 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 119 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 120 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 121 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 122 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 123 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 124 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 125 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 126 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 127 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 128 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 129 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 130 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 131 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 132 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 133 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 134 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 135 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 136 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 137 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 138 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 139 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 140 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 141 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 142 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 143 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 144 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 145 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 146 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 147 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 148 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 149 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 150 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 151 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 152 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 153 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 154 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 155 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 156 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 157 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 158 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 159 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 160 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 161 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 162 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 163 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 164 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 165 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 166 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 167 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 168 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 169 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 170 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 171 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 172 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 173 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 174 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 175 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 176 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 177 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 178 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 179 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 180 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 181 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 182 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 183 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 184 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 185 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 186 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 187 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 188 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 189 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 190 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 191 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 192 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 193 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 194 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 195 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 196 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 197 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 198 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 199 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 200 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 201 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 202 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 203 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 204 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 205 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 206 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 207 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 208 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 209 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 210 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 211 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 212 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 213 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 214 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 215 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 216 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 217 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 218 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 219 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 220 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 221 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 222 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 223 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 224 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 225 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 226 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 227 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 228 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 229 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 230 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 231 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 232 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 233 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 234 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 235 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 236 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 237 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 238 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 239 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 240 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 241 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 242 | 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 243 | }; 244 | */ 245 | void ST7789_Init(){ 246 | 247 | LCD_SCK1; 248 | LCD_CS0; 249 | LCD_RST0; 250 | 251 | HAL_Delay(10); 252 | 253 | LCD_RST1; 254 | HAL_Delay(10); 255 | 256 | ST7789_sendCmd(0x11); 257 | 258 | HAL_Delay(10); 259 | ST7789_sendCmd(0x3A); 260 | ST7789_sendData(0x05); 261 | ST7789_sendCmd(0x29); 262 | 263 | } 264 | void ST7789_senddata(unsigned char data){ 265 | unsigned char i; 266 | LCD_CS0; 267 | for(i=0;i<8;i++){ 268 | if(data & 0x80){LCD_MOSI1;} 269 | else LCD_MOSI0; 270 | data=data<<1; 271 | LCD_SCK0; 272 | LCD_SCK1; 273 | } 274 | LCD_CS1; 275 | } 276 | void ST7789_sendCmd(unsigned char cmd){ 277 | LCD_DC0; 278 | ST7789_senddata(cmd); 279 | } 280 | void ST7789_sendData(unsigned char data){ 281 | LCD_DC1; 282 | ST7789_senddata(data); 283 | } 284 | void ST7789_pix(unsigned char x,unsigned char y, unsigned int color){ 285 | ST7789_sendCmd(0x2A); 286 | ST7789_sendData(0x00); 287 | ST7789_sendData(x); 288 | 289 | ST7789_sendCmd(0x2B); 290 | ST7789_sendData(0x00); 291 | ST7789_sendData(y); 292 | 293 | ST7789_sendCmd(0x2C); 294 | ST7789_sendData((color & 0xFF00)>>8); 295 | ST7789_sendData(color & 0x00FF); 296 | } 297 | void ST7789_at(unsigned char startx,unsigned char starty,unsigned char stopx,unsigned char stopy){ 298 | ST7789_sendCmd(0x2A); 299 | ST7789_sendData(0x00); 300 | ST7789_sendData(startx); 301 | ST7789_sendData(0x00); 302 | ST7789_sendData(stopx); 303 | 304 | ST7789_sendCmd(0x2B); 305 | ST7789_sendData(0x00); 306 | ST7789_sendData(starty); 307 | ST7789_sendData(0x00); 308 | ST7789_sendData(stopy); 309 | } 310 | void ST7789_drawImage(uint32_t xs, uint32_t ys, const uint32_t *image,unsigned int color) 311 | { 312 | uint32_t i, x, y, sx, sy; 313 | 314 | sx = image[0]; 315 | sy = image[1]; 316 | 317 | for (i = 0; i < sx * sy; i++) 318 | { 319 | x = xs + (i % sx); 320 | y = ys + (i / sx); 321 | 322 | if ((image[2 + (i / 32)] >> (31 - (i % 32))) & 0x1) 323 | ST7789_pix(x, y,color); 324 | else 325 | ST7789_pix(x, y,0x0); 326 | } 327 | } 328 | void ST7789_drawChar(uint32_t xs, uint32_t ys, const uint32_t ** font, uint8_t ascii,unsigned int color) 329 | { 330 | if ((ascii < 32) || (ascii > 126)) 331 | ascii = 0; 332 | else 333 | ascii -= 32; 334 | 335 | ST7789_drawImage(xs, ys, font[ascii],color); 336 | } 337 | void ST7789_drawInt(uint32_t xs, uint32_t ys, const uint32_t ** font, int n,unsigned int color) 338 | { 339 | int r = 1; 340 | int offset = 0; 341 | 342 | if (n == 0) 343 | { 344 | ST7789_drawChar(xs, ys, font, '0',color); 345 | return; 346 | } 347 | 348 | if (n < 0) 349 | { 350 | ST7789_drawChar(xs, ys, font, '-',color); 351 | offset += font[0][0]; 352 | n = -n; 353 | } 354 | 355 | while (n / r) 356 | r *= 10; 357 | 358 | while (r != 1) 359 | { 360 | r /= 10; 361 | ST7789_drawChar(xs + offset, ys, font, (uint8_t)((n % (r * 10)) / r + '0'),color); 362 | offset += font[0][0]; 363 | } 364 | } 365 | void ST7789_drawString(uint32_t xs, uint32_t ys, const uint32_t ** font, uint8_t *str,unsigned int color) 366 | { 367 | while (*str != 0) 368 | { 369 | ST7789_drawChar(xs, ys, font, *(str++),color); 370 | xs += font[0][0]; 371 | }; 372 | } 373 | void ST7789_Clear(uint32_t x1,uint32_t x2,uint32_t y1,uint32_t y2){ 374 | int y,x; 375 | for(y=y1;y