Components and supplies
Solderless Breadboard Half Size
Single Turn Potentiometer- 10k ohms
Arduino UNO
PTS 645 Series Switch
Resistor 10k ohm
Graphic LCD 128x64 STN LED Backlight
Apps and platforms
GEM Library
U8g2 Library
Arduino IDE
Project description
Code
Party Hard! Example (animation sprites)
Supplementary file for example of usage of U8g2 version of GEM library (contains frames of animation) on GitHub
Party Hard! Example (primary sketch)
Example of usage of U8g2 version of GEM library on GitHub
Party Hard! Example (animation sprites)
c_cpp
Supplementary file for example of usage of U8g2 version of GEM library (contains frames of animation)
1/* 2 Party Hard menu example using GEM library. 3 4 Sprites of the animation frames used in the example. 5 6 Additional info (including the breadboard view) available on GitHub: 7 https://github.com/Spirik/GEM 8 9 This example code is in the public domain. 10*/ 11 12#define partyFrame1_width 128 13#define partyFrame1_height 64 14static const unsigned char partyFrame1_bits [] U8X8_PROGMEM = { 15 0x00, 0x00, 0x00, 0x90, 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 16 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xE4, 0x00, 0x00, 0x00, 17 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 18 0xA4, 0x01, 0x00, 0x00, 0x16, 0xFF, 0x0F, 0x00, 0x01, 0x00, 0x00, 0x00, 19 0x00, 0x00, 0x00, 0x98, 0x34, 0x01, 0x00, 0x00, 0xDE, 0x05, 0xF9, 0x03, 20 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x14, 0x01, 0x00, 0x84, 21 0x7F, 0x00, 0x80, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 22 0x14, 0x01, 0x00, 0xC6, 0x37, 0x00, 0x00, 0x90, 0x0D, 0x00, 0x00, 0x00, 23 0x00, 0x00, 0x00, 0xC8, 0x1F, 0x01, 0x30, 0x4A, 0x2B, 0xFC, 0x05, 0xE0, 24 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x10, 0x01, 0x28, 0x6A, 25 0xFF, 0xFF, 0x7F, 0x80, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 26 0x10, 0x01, 0x28, 0x1A, 0xEF, 0x55, 0xFF, 0xC1, 0x0F, 0x00, 0x00, 0x00, 27 0x00, 0x00, 0x00, 0x08, 0x1C, 0x01, 0x24, 0x11, 0x77, 0xDB, 0xF6, 0x67, 28 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x07, 0x01, 0x44, 0xE1, 29 0xFF, 0x7E, 0xDF, 0xFE, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 30 0x03, 0x01, 0x42, 0x82, 0xFF, 0xFB, 0x5F, 0xBD, 0x87, 0x00, 0x00, 0x00, 31 0x00, 0x00, 0x00, 0x08, 0x01, 0x01, 0xC2, 0x05, 0x28, 0x00, 0xFA, 0xFE, 32 0x86, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x01, 0x01, 0x05, 33 0x00, 0x00, 0xE0, 0x79, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 34 0x01, 0x01, 0x03, 0x06, 0x00, 0x00, 0x00, 0xD7, 0x07, 0x02, 0x00, 0x00, 35 0x00, 0x00, 0x00, 0x18, 0x81, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xFC, 36 0x0F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x06, 0x00, 37 0x00, 0x00, 0x40, 0x50, 0x0F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 38 0xC0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x60, 0xE0, 0x1F, 0x04, 0x00, 0x00, 39 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x04, 0x00, 0x00, 0x00, 0x50, 0x80, 40 0x3F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x00, 0x0C, 0x00, 41 0x00, 0x00, 0x98, 0x00, 0x77, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 42 0x08, 0x00, 0x28, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x7E, 0x10, 0x00, 0x00, 43 0x00, 0x00, 0x00, 0x80, 0x18, 0x00, 0x58, 0x00, 0x00, 0x00, 0x81, 0x00, 44 0xEC, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x90, 0x03, 45 0x00, 0xF8, 0x00, 0x01, 0xD8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 46 0x10, 0x00, 0x10, 0x1E, 0xF7, 0x1F, 0x00, 0x02, 0xD0, 0x10, 0x00, 0x00, 47 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x08, 0xFB, 0x1D, 0x00, 0x80, 0x03, 48 0x80, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x38, 0x71, 49 0x00, 0x02, 0x50, 0x02, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 50 0x10, 0x00, 0xF8, 0xC1, 0x07, 0x26, 0x7D, 0x0C, 0x00, 0x23, 0x00, 0x00, 51 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x88, 0x01, 0x02, 0xFC, 0x0F, 0x18, 52 0xC0, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x26, 0x03, 53 0x38, 0x58, 0x01, 0xF0, 0xDF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 54 0x30, 0x00, 0xC6, 0x05, 0x2F, 0x00, 0x00, 0x04, 0xB5, 0x21, 0x00, 0x00, 55 0x00, 0x00, 0x00, 0x80, 0x30, 0x00, 0xE2, 0x9C, 0x43, 0x0C, 0x00, 0x83, 56 0xF8, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x32, 0xF2, 57 0x00, 0x18, 0xC0, 0x43, 0xD8, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 58 0x20, 0x00, 0x1A, 0x48, 0x00, 0x70, 0x79, 0x40, 0xD8, 0x40, 0x00, 0x00, 59 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x6E, 0x66, 0x18, 0xF0, 0x0F, 0x80, 60 0xFC, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0xF6, 0x20, 61 0x77, 0x9C, 0x0D, 0x40, 0xE4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 62 0x20, 0x00, 0xFE, 0xC0, 0xC5, 0x80, 0x08, 0x80, 0xA7, 0x41, 0x00, 0x00, 63 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0xFF, 0x60, 0x84, 0xC1, 0x08, 0x07, 64 0x9D, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x7F, 0x50, 65 0x84, 0x43, 0x9C, 0x0F, 0x96, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 66 0x60, 0x80, 0x3D, 0x50, 0x84, 0x02, 0xBC, 0x0F, 0x92, 0x44, 0x00, 0x00, 67 0x00, 0x00, 0x00, 0x80, 0x60, 0x80, 0x3D, 0x78, 0x84, 0x02, 0xFE, 0x0F, 68 0x92, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x09, 0xD8, 69 0x8C, 0x03, 0xFE, 0x0F, 0x93, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 70 0x40, 0x80, 0x00, 0x94, 0x7B, 0x02, 0xFC, 0x07, 0x91, 0x44, 0x00, 0x00, 71 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x04, 0x11, 0x00, 0xF8, 0x03, 72 0x91, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x01, 0x80, 73 0x10, 0x00, 0xF0, 0x01, 0x91, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 74 0x40, 0x80, 0x01, 0x00, 0x00, 0x00, 0xE0, 0xC0, 0x89, 0x44, 0x00, 0x00, 75 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x60, 76 0x49, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x03, 0x00, 77 0x00, 0x00, 0x00, 0x20, 0x49, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 78 0x40, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x49, 0x44, 0x00, 0x00, 79 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 80 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x06, 0x00, 81 0x00, 0x00, 0x00, 0x20, 0xD9, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 82 0x40, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x20, 0xF9, 0x45, 0x00, 0x00, 83 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x30, 84 0x01, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x00, 0x32, 0x00, 85 0x00, 0x00, 0x00, 0x30, 0x01, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 86 0xE0, 0x01, 0x61, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x44, 0x00, 0x00, 87 0x00, 0x00, 0x00, 0x80, 0x20, 0xBF, 0xC3, 0x01, 0x00, 0x00, 0x00, 0x17, 88 0x21, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xF0, 0x80, 0x03, 89 0x00, 0x00, 0xC0, 0x13, 0x38, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 90 0x00, 0xC0, 0x01, 0x1E, 0x00, 0x00, 0x7E, 0x10, 0x08, 0x44, 0x00, 0x00, 91 0x00, 0x00, 0x00, 0x80, 0x03, 0x80, 0x05, 0xF0, 0x01, 0xE0, 0x0F, 0x10, 92 0x08, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x1E, 0x80, 93 0xFF, 0x7F, 0x00, 0x20, 0x0C, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 94 0x3C, 0x00, 0xF0, 0x00, 0x70, 0x19, 0x00, 0x20, 0x0C, 0x42, 0x00, 0x00, 95 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x80, 0x0B, 0x10, 0x08, 0x00, 0x60, 96 0x08, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x0E, 97 0x1C, 0x0C, 0x00, 0xC0, 0x80, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 98 0x00, 0x0F, 0x00, 0x30, 0x04, 0x06, 0x00, 0x80, 0xC3, 0x80, 0x00, 0x00, 99 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x60, 0x07, 0x06, 0x00, 0x00, 100 0xAE, 0x80, 0x00, 0x00 101}; 102 103#define partyFrame2_width 128 104#define partyFrame2_height 64 105static const unsigned char partyFrame2_bits [] U8X8_PROGMEM = { 106 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 107 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 108 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 111 0x27, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 112 0x00, 0x00, 0x00, 0x80, 0x25, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 113 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x80, 0x24, 0x11, 0x00, 0x00, 114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xFF, 0x07, 0x30, 0x80, 115 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x79, 116 0x01, 0xFC, 0x71, 0x80, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 117 0x00, 0x00, 0xB0, 0x0F, 0x00, 0x00, 0x7F, 0x80, 0x64, 0x11, 0x00, 0x00, 118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0xD8, 0x80, 119 0xF4, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0xF3, 120 0xFF, 0x01, 0xF8, 0x80, 0x04, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 121 0x00, 0xC0, 0x7E, 0xFF, 0xFF, 0x0F, 0xEC, 0xC1, 0x04, 0x10, 0x00, 0x00, 122 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x72, 0x6F, 0x5D, 0x7F, 0xDE, 0xC2, 123 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0xB2, 0xDF, 124 0xF3, 0xFD, 0xEF, 0x4C, 0x84, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 125 0x80, 0x29, 0xFA, 0xF7, 0xBF, 0xAA, 0x77, 0x48, 0x60, 0x10, 0x00, 0x00, 126 0x00, 0x00, 0x00, 0x00, 0x80, 0x2C, 0xFC, 0xBF, 0xFF, 0xEF, 0x6D, 0x50, 127 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x58, 0x80, 0x02, 128 0x80, 0xBF, 0x7B, 0x60, 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 129 0x60, 0xF0, 0x00, 0x00, 0x00, 0xF8, 0x3F, 0x40, 0x30, 0x08, 0x00, 0x00, 130 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x40, 131 0x30, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 132 0x00, 0x00, 0xFF, 0x80, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 133 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x81, 0x01, 0x06, 0x00, 0x00, 134 0x00, 0x00, 0x00, 0x80, 0x19, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB8, 0x03, 135 0x0F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x79, 0x00, 0x00, 0x00, 136 0x00, 0x0B, 0x70, 0x07, 0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 137 0x49, 0x00, 0x00, 0x00, 0x80, 0x09, 0xE0, 0x06, 0xB8, 0x03, 0x00, 0x00, 138 0x00, 0x00, 0x00, 0xB0, 0xC9, 0x00, 0x00, 0x00, 0x60, 0x08, 0xC0, 0x0D, 139 0x7C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xCC, 0x01, 0x00, 0x00, 140 0x38, 0x10, 0x00, 0x0F, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 141 0x4C, 0x27, 0x00, 0x00, 0x06, 0x10, 0x00, 0x18, 0xCE, 0x1E, 0x00, 0x00, 142 0x00, 0x00, 0x00, 0x90, 0x4C, 0xF8, 0x00, 0xF8, 0x01, 0x20, 0x00, 0x60, 143 0xCC, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x6C, 0xE0, 0xD7, 0x07, 144 0x00, 0x78, 0x00, 0x20, 0x1C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 145 0xE4, 0x21, 0x17, 0x00, 0x00, 0xCF, 0x00, 0x18, 0xFC, 0x03, 0x00, 0x00, 146 0x00, 0x00, 0x00, 0x98, 0x34, 0x27, 0xFC, 0xC0, 0xF4, 0x03, 0x01, 0x1C, 147 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xB4, 0x3B, 0x40, 0xC0, 148 0x7F, 0x00, 0xEE, 0x1B, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 149 0x9C, 0x30, 0x00, 0x02, 0x04, 0x80, 0x10, 0x1F, 0x08, 0x06, 0x00, 0x00, 150 0x00, 0x00, 0x00, 0xC8, 0xDF, 0x54, 0x40, 0x07, 0x00, 0x40, 0x10, 0x1B, 151 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD0, 0x88, 0xB1, 0x84, 152 0x01, 0x30, 0x18, 0x1B, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 153 0x70, 0x4C, 0x3F, 0x00, 0x03, 0x3C, 0x08, 0x1F, 0x08, 0x04, 0x00, 0x00, 154 0x00, 0x00, 0x00, 0x08, 0x7C, 0x43, 0x0F, 0x00, 0xFE, 0x07, 0x08, 0x1F, 155 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xC6, 0x81, 0x09, 0x00, 156 0xFE, 0x01, 0xC8, 0x19, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 157 0xC3, 0x0E, 0xC4, 0x87, 0x11, 0x01, 0x70, 0x30, 0x08, 0x04, 0x00, 0x00, 158 0x00, 0x00, 0x00, 0x08, 0xC1, 0x1E, 0xB0, 0x1C, 0x10, 0xE1, 0x30, 0x20, 159 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xE1, 0x1F, 0x8C, 0x30, 160 0x98, 0xF3, 0x01, 0x67, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 161 0xE1, 0x1F, 0x84, 0x70, 0x88, 0xF7, 0x01, 0x69, 0x08, 0x04, 0x00, 0x00, 162 0x00, 0x00, 0x00, 0x18, 0xE1, 0x0F, 0x0E, 0x51, 0xC0, 0xFF, 0x81, 0x61, 163 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xA0, 0x07, 0x0A, 0x51, 164 0xC0, 0xFF, 0x01, 0x60, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 165 0xA0, 0x03, 0x8E, 0x71, 0x80, 0xFF, 0x80, 0x63, 0x08, 0x04, 0x00, 0x00, 166 0x00, 0x00, 0x00, 0x60, 0x30, 0x01, 0xFB, 0x0F, 0x00, 0x7F, 0x00, 0x60, 167 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x38, 0x80, 0x31, 0x06, 168 0x00, 0x3E, 0x00, 0x20, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 169 0x28, 0x00, 0x20, 0x00, 0x00, 0x1C, 0x00, 0x30, 0x08, 0x04, 0x00, 0x00, 170 0x00, 0x00, 0x00, 0x40, 0x28, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x18, 171 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x68, 0x00, 0x00, 0x00, 172 0x00, 0x00, 0x00, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 173 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0F, 0x08, 0x04, 0x00, 0x00, 174 0x00, 0x00, 0x00, 0x40, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 175 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xD8, 0x00, 0x00, 0x00, 176 0x00, 0x00, 0x30, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 177 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x08, 0x04, 0x00, 0x00, 178 0x00, 0x00, 0x00, 0x40, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 179 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x90, 0x03, 0x00, 0x00, 180 0x00, 0x00, 0x06, 0x00, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 181 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x00, 182 0x00, 0x00, 0x00, 0x40, 0x10, 0x06, 0x00, 0x00, 0x00, 0x80, 0x01, 0xC0, 183 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x1E, 0x00, 0x00, 184 0x00, 0xF0, 0x00, 0x70, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 185 0x30, 0x7C, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x00, 186 0x00, 0x00, 0x00, 0x40, 0x30, 0xC4, 0x01, 0x00, 0x80, 0x0F, 0x00, 0x07, 187 0xC0, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0x8C, 0x1F, 0x00, 188 0xFC, 0x01, 0xC0, 0x01, 0x70, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 189 0x30, 0x08, 0xF8, 0xFF, 0xDF, 0x00, 0x70, 0x00, 0x1C, 0x0C, 0x00, 0x00, 190 0x00, 0x00, 0x00, 0x40, 0x20, 0x08, 0x00, 0x94, 0x81, 0x00, 0x0C, 0x00, 191 0x07, 0x18, 0x00, 0x00 192}; 193 194#define partyFrame3_width 128 195#define partyFrame3_height 64 196static const unsigned char partyFrame3_bits [] U8X8_PROGMEM = { 197 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 198 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 199 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x11, 0x00, 0x00, 201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 202 0x25, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 203 0x00, 0x00, 0x00, 0x80, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 204 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x24, 0x11, 0x00, 0x00, 205 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x80, 206 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 207 0x00, 0x00, 0x00, 0x80, 0x64, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 208 0x00, 0x00, 0x3C, 0xF8, 0xFF, 0x00, 0x06, 0x80, 0xF4, 0x13, 0x00, 0x00, 209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x2F, 0x80, 0x3F, 0x0E, 0x80, 210 0x04, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x01, 211 0x00, 0xE0, 0x0F, 0xC0, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 212 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x1B, 0xC0, 0x04, 0x10, 0x00, 0x00, 213 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x76, 0xFE, 0x3F, 0x00, 0x1F, 0x40, 214 0x84, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xEF, 0xFF, 215 0xFF, 0x81, 0x3D, 0x40, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 216 0x00, 0x44, 0xEE, 0xAD, 0xEB, 0xCF, 0x5B, 0x40, 0x60, 0x10, 0x00, 0x00, 217 0x00, 0x00, 0x00, 0x00, 0xC0, 0x44, 0xF6, 0x7B, 0xBE, 0xFF, 0x9D, 0x41, 218 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x45, 0xFF, 0xFE, 219 0x57, 0xF5, 0x0E, 0x41, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 220 0x90, 0x85, 0xFF, 0xF7, 0xFF, 0xBD, 0x0D, 0x42, 0x30, 0x0C, 0x00, 0x00, 221 0x00, 0x00, 0x00, 0x00, 0x08, 0x0B, 0x50, 0x00, 0xF0, 0x77, 0x0F, 0x84, 222 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1E, 0x00, 0x00, 223 0x00, 0xFF, 0x07, 0x88, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 224 0x04, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0F, 0x08, 0x0F, 0x02, 0x00, 0x00, 225 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0x10, 226 0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 227 0x00, 0x80, 0x3D, 0x20, 0xB8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 228 0x03, 0x00, 0x00, 0x00, 0x80, 0x00, 0x77, 0x20, 0x7C, 0x07, 0x00, 0x00, 229 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x60, 0x01, 0xEE, 0x60, 230 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x09, 0x00, 0x00, 0x00, 231 0x30, 0x01, 0xDC, 0x40, 0xCE, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 232 0x19, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB8, 0x41, 0xCC, 0x0E, 0x00, 0x00, 233 0x00, 0x00, 0x00, 0x20, 0x39, 0x00, 0x00, 0x00, 0x07, 0x02, 0xE0, 0x81, 234 0x1C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xE9, 0x04, 0x00, 0xC0, 235 0x00, 0x02, 0x00, 0x83, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 236 0x0D, 0x1F, 0x00, 0x3F, 0x00, 0x04, 0x00, 0x8C, 0x08, 0x02, 0x00, 0x00, 237 0x00, 0x00, 0x00, 0x90, 0x0C, 0xFC, 0xFA, 0x00, 0x00, 0x0F, 0x00, 0x84, 238 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x3C, 0xE4, 0x02, 0x00, 239 0xE0, 0x19, 0x00, 0x83, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 240 0xE4, 0x84, 0x1F, 0x98, 0x7E, 0x20, 0x80, 0x83, 0x08, 0x04, 0x00, 0x00, 241 0x00, 0x00, 0x00, 0x98, 0x74, 0x07, 0x08, 0xF8, 0x0F, 0xC0, 0x7D, 0x83, 242 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x13, 0x06, 0x40, 0x80, 243 0x00, 0x10, 0xE2, 0x83, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 244 0x98, 0x0A, 0xE8, 0x00, 0x00, 0x08, 0x62, 0x83, 0x09, 0x04, 0x00, 0x00, 245 0x00, 0x00, 0x00, 0x08, 0x18, 0x31, 0x96, 0x30, 0x00, 0x06, 0x63, 0x03, 246 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x8C, 0xE9, 0x07, 0x60, 247 0x80, 0x07, 0xE1, 0x03, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 248 0x6E, 0xE8, 0x01, 0xC0, 0xFF, 0x00, 0xE1, 0x03, 0x09, 0x04, 0x00, 0x00, 249 0x00, 0x00, 0x00, 0x08, 0x3A, 0x30, 0x01, 0xC0, 0x3F, 0x00, 0x39, 0x03, 250 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xDB, 0x81, 0xF8, 0x30, 251 0x22, 0x00, 0x0E, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 252 0xD9, 0x03, 0x96, 0x03, 0x22, 0x1C, 0x06, 0x04, 0x09, 0x04, 0x00, 0x00, 253 0x00, 0x00, 0x00, 0x08, 0xFD, 0x83, 0x11, 0x06, 0x73, 0x3E, 0xE0, 0x0C, 254 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xFD, 0x83, 0x10, 0x0E, 255 0xF1, 0x3E, 0x20, 0x0D, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 256 0xFC, 0xC1, 0x21, 0x0A, 0xF8, 0x3F, 0x30, 0x0C, 0x0A, 0x04, 0x00, 0x00, 257 0x00, 0x00, 0x00, 0x30, 0xF4, 0x40, 0x21, 0x0A, 0xF8, 0x3F, 0x00, 0x0C, 258 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x74, 0xC0, 0x31, 0x0E, 259 0xF0, 0x1F, 0x70, 0x0C, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 260 0x24, 0x60, 0xFF, 0x01, 0xE0, 0x0F, 0x00, 0x0C, 0x09, 0x04, 0x00, 0x00, 261 0x00, 0x00, 0x00, 0x40, 0x04, 0x30, 0xC6, 0x00, 0xC0, 0x07, 0x00, 0x04, 262 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x04, 0x00, 263 0x80, 0x03, 0x00, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 264 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x09, 0x04, 0x00, 0x00, 265 0x00, 0x00, 0x00, 0x40, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 266 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0C, 0x00, 0x00, 0x00, 267 0x00, 0x00, 0xEC, 0x81, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 268 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x80, 0x08, 0x04, 0x00, 0x00, 269 0x00, 0x00, 0x00, 0x40, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 270 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 271 0x00, 0x00, 0x03, 0x80, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 272 0x30, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xC0, 0x01, 0x06, 0x00, 0x00, 273 0x00, 0x00, 0x00, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x70, 274 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x70, 0x00, 0x00, 0x00, 275 0x00, 0x60, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 276 0xD0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x07, 0xC0, 0x01, 0x00, 0x00, 277 0x00, 0x00, 0x00, 0x40, 0xD0, 0x03, 0x00, 0x00, 0x00, 0x1E, 0xC0, 0x01, 278 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x90, 0x0F, 0x00, 0x00, 279 0x80, 0x07, 0x70, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 280 0xB0, 0x38, 0x00, 0x00, 0xF0, 0x01, 0x1C, 0x00, 0x07, 0x00, 0x00, 0x00, 281 0x00, 0x00, 0x00, 0x40, 0xA0, 0xF1, 0x03, 0x80, 0x3F, 0x00, 0x03, 0xC0, 282 0x01, 0x00, 0x00, 0x00 283}; 284 285#define partyFrame4_width 128 286#define partyFrame4_height 64 287static const unsigned char partyFrame4_bits [] U8X8_PROGMEM = { 288 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 289 0x68, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 290 0x00, 0x00, 0x00, 0x00, 0x2C, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 291 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 292 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 293 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 294 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 295 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x11, 0x00, 0x00, 296 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x80, 297 0x25, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xF0, 298 0xFF, 0x01, 0x0C, 0x80, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 299 0x00, 0x00, 0x78, 0x5E, 0x00, 0x7F, 0x1C, 0x80, 0x24, 0x11, 0x00, 0x00, 300 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x03, 0x00, 0xC0, 0x1F, 0x80, 301 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 302 0x00, 0x00, 0x36, 0x80, 0x64, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 303 0x00, 0x00, 0xEC, 0xFC, 0x7F, 0x00, 0x3E, 0x80, 0xF4, 0x13, 0x00, 0x00, 304 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xDF, 0xFF, 0xFF, 0x03, 0x7B, 0x80, 305 0x04, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xDD, 0x5B, 306 0xD7, 0x9F, 0xB7, 0xC0, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 307 0x40, 0x64, 0xEC, 0xF7, 0x7C, 0xFF, 0x3B, 0xC3, 0x04, 0x10, 0x00, 0x00, 308 0x00, 0x00, 0x00, 0x00, 0x60, 0xC4, 0xFF, 0xFD, 0xAF, 0xEA, 0x1D, 0x42, 309 0x84, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x04, 0xFE, 0xEF, 310 0xFF, 0x7B, 0x1B, 0x44, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 311 0x97, 0x05, 0xA0, 0x00, 0xE0, 0xEF, 0x1E, 0x48, 0x60, 0x10, 0x00, 0x00, 312 0x00, 0x00, 0x00, 0xC0, 0x15, 0x0B, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x50, 313 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0D, 0x1E, 0x00, 0x00, 314 0x00, 0xF0, 0x1F, 0x50, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 315 0x0D, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x50, 0x30, 0x0C, 0x00, 0x00, 316 0x00, 0x00, 0x00, 0xB0, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x90, 317 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x04, 0x00, 0x00, 0x00, 318 0x00, 0x01, 0xEE, 0xA0, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 319 0x1C, 0x00, 0x00, 0x00, 0xC0, 0x02, 0xDC, 0x21, 0x0F, 0x02, 0x00, 0x00, 320 0x00, 0x00, 0x00, 0x90, 0x18, 0x00, 0x00, 0x00, 0x60, 0x02, 0xB8, 0x61, 321 0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x3C, 0x00, 0x00, 0x00, 322 0x18, 0x02, 0x70, 0x43, 0xB8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 323 0x74, 0x00, 0x00, 0x00, 0x0E, 0x04, 0xC0, 0x43, 0x7C, 0x07, 0x00, 0x00, 324 0x00, 0x00, 0x00, 0x98, 0xD4, 0x09, 0x00, 0x80, 0x01, 0x04, 0x80, 0x81, 325 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x14, 0x3E, 0x00, 0x7E, 326 0x00, 0x08, 0x00, 0x83, 0xCE, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 327 0x1F, 0xF8, 0xF5, 0x01, 0x00, 0x1E, 0x00, 0x8C, 0xCC, 0x0E, 0x00, 0x00, 328 0x00, 0x00, 0x00, 0x48, 0x70, 0xC8, 0x05, 0x00, 0xC0, 0x13, 0x00, 0x84, 329 0x1C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xC0, 0x09, 0x3F, 0x30, 330 0xFD, 0x20, 0x00, 0x84, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 331 0xEC, 0x0E, 0x10, 0xF0, 0x1F, 0x20, 0x80, 0x87, 0x08, 0x02, 0x00, 0x00, 332 0x00, 0x00, 0x00, 0x08, 0x26, 0x0C, 0x80, 0x00, 0x01, 0xC0, 0xFD, 0x87, 333 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x33, 0x15, 0xD0, 0x01, 334 0x00, 0x10, 0xC2, 0x86, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 335 0x31, 0x62, 0x2C, 0x61, 0x00, 0x0C, 0xC2, 0x86, 0x09, 0x04, 0x00, 0x00, 336 0x00, 0x00, 0x00, 0x08, 0x19, 0xD3, 0x0F, 0xC0, 0x00, 0x0F, 0xC2, 0x07, 337 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xD9, 0xD0, 0x03, 0x80, 338 0xFF, 0x01, 0xC2, 0x07, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 339 0x71, 0x60, 0x02, 0x80, 0x7F, 0x00, 0x72, 0x06, 0x09, 0x04, 0x00, 0x00, 340 0x00, 0x00, 0x00, 0x18, 0xB2, 0x03, 0xF1, 0x61, 0x44, 0x00, 0x1C, 0x0C, 341 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xB2, 0x07, 0x2C, 0x07, 342 0x44, 0x38, 0x0C, 0x08, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 343 0xF8, 0x07, 0x23, 0x0C, 0xE6, 0x7C, 0xC0, 0x19, 0x09, 0x04, 0x00, 0x00, 344 0x00, 0x00, 0x00, 0x20, 0xF8, 0x07, 0x21, 0x1C, 0xE2, 0x7D, 0x40, 0x1A, 345 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xF8, 0x83, 0x43, 0x14, 346 0xF0, 0x7F, 0x60, 0x18, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 347 0xE8, 0x81, 0x42, 0x14, 0xF0, 0x7F, 0x00, 0x18, 0x0A, 0x04, 0x00, 0x00, 348 0x00, 0x00, 0x00, 0x20, 0xE8, 0x80, 0x63, 0x1C, 0xE0, 0x3F, 0xE0, 0x18, 349 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x48, 0xC0, 0xFE, 0x03, 350 0xC0, 0x1F, 0x00, 0x18, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 351 0x08, 0x60, 0x8C, 0x01, 0x80, 0x0F, 0x00, 0x08, 0x09, 0x04, 0x00, 0x00, 352 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x08, 0x00, 0x00, 0x07, 0x00, 0x0C, 353 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 354 0x00, 0x02, 0x00, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 355 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x09, 0x04, 0x00, 0x00, 356 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x83, 357 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x00, 358 0x00, 0x00, 0xF8, 0x80, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 359 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x08, 0x04, 0x00, 0x00, 360 0x00, 0x00, 0x00, 0x20, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 361 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x68, 0x00, 0x00, 0x00, 362 0x00, 0x00, 0x03, 0x80, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 363 0xF8, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x0C, 0x04, 0x00, 0x00, 364 0x00, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x80, 365 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x90, 0x01, 0x00, 0x00, 366 0x00, 0x60, 0x00, 0xE0, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 367 0x90, 0x07, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x02, 0x00, 0x00, 368 0x00, 0x00, 0x00, 0x20, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x06, 369 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x71, 0x00, 0x00, 370 0xE0, 0x03, 0x80, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 371 0x10, 0xE3, 0x07, 0x00, 0x7F, 0x00, 0xF0, 0x00, 0x30, 0x00, 0x00, 0x00, 372 0x00, 0x00, 0x00, 0x20, 0x10, 0x02, 0xFE, 0xFF, 0x37, 0x00, 0x1E, 0x00, 373 0x0F, 0x00, 0x00, 0x00 374}; 375 376#define partyFrame5_width 128 377#define partyFrame5_height 64 378static const unsigned char partyFrame5_bits [] U8X8_PROGMEM = { 379 0x00, 0x00, 0x00, 0x90, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 380 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xE4, 0x00, 0x00, 0x00, 381 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 382 0xA4, 0x01, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 383 0x00, 0x00, 0x00, 0x98, 0x34, 0x01, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 384 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x14, 0x01, 0x00, 0x60, 385 0xF1, 0xFF, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 386 0x14, 0x01, 0x00, 0xE0, 0x5D, 0x90, 0x3F, 0x30, 0x00, 0x00, 0x00, 0x00, 387 0x00, 0x00, 0x00, 0xC8, 0x1F, 0x01, 0x40, 0xF8, 0x07, 0x00, 0xE8, 0x70, 388 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x10, 0x01, 0x60, 0x7C, 389 0x03, 0x00, 0x00, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 390 0x10, 0x01, 0xA3, 0xB4, 0xC2, 0x5F, 0x00, 0xDE, 0x00, 0x00, 0x00, 0x00, 391 0x00, 0x00, 0x00, 0x08, 0x1C, 0x81, 0xA2, 0xF6, 0xFF, 0xFF, 0x07, 0xD8, 392 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x07, 0x81, 0xA2, 0xF1, 393 0x5E, 0xF5, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 394 0x03, 0x41, 0x12, 0x71, 0xB7, 0x6D, 0x7F, 0xF6, 0x01, 0x00, 0x00, 0x00, 395 0x00, 0x00, 0x00, 0x08, 0x01, 0x41, 0x14, 0xFE, 0xEF, 0xF7, 0xED, 0x7F, 396 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x21, 0x24, 0xF8, 397 0xBF, 0xFF, 0xD5, 0x7B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 398 0x01, 0x21, 0x5C, 0x80, 0x02, 0xA0, 0xEF, 0x6F, 0x18, 0x00, 0x00, 0x00, 399 0x00, 0x00, 0x00, 0x18, 0x81, 0x10, 0x50, 0x00, 0x00, 0x00, 0x9E, 0x37, 400 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x30, 0x60, 0x00, 401 0x00, 0x00, 0x70, 0x7D, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 402 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x60, 0x00, 0x00, 0x00, 403 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0xF5, 404 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x40, 0x00, 0x00, 405 0x00, 0x00, 0x06, 0xFE, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 406 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x05, 0xF8, 0x83, 0x00, 0x00, 0x00, 407 0x00, 0x00, 0x00, 0x80, 0x18, 0xC0, 0x00, 0x00, 0x00, 0x80, 0x09, 0x70, 408 0x87, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x80, 0x02, 0x00, 409 0x00, 0xE0, 0x08, 0xE0, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 410 0x10, 0x80, 0x05, 0x00, 0x00, 0x10, 0x08, 0xC0, 0x8E, 0x00, 0x00, 0x00, 411 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x39, 0x00, 0x80, 0x0F, 0x10, 0x80, 412 0x0D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0xE1, 0x71, 413 0xFF, 0x01, 0x20, 0x00, 0x0D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 414 0x10, 0x80, 0xB0, 0xDF, 0x01, 0x00, 0x38, 0x00, 0x38, 0x01, 0x00, 0x00, 415 0x00, 0x00, 0x00, 0x80, 0x10, 0x80, 0x13, 0x07, 0x20, 0x00, 0x25, 0x00, 416 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x80, 0x1F, 0x7C, 417 0x60, 0xD2, 0xC7, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 418 0x30, 0x80, 0x18, 0x20, 0xC0, 0xFF, 0x80, 0x01, 0x1C, 0x06, 0x00, 0x00, 419 0x00, 0x00, 0x00, 0x80, 0x30, 0x60, 0x32, 0x80, 0x83, 0x15, 0x00, 0xFF, 420 0x0D, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x60, 0x5C, 0xF0, 421 0x02, 0x00, 0x40, 0x50, 0x1B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 422 0x20, 0x20, 0xCE, 0x39, 0xC4, 0x00, 0x30, 0x88, 0x1F, 0x02, 0x00, 0x00, 423 0x00, 0x00, 0x00, 0x80, 0x20, 0x20, 0x23, 0x0F, 0x80, 0x01, 0x3C, 0x84, 424 0x1D, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0xA0, 0x81, 0x04, 425 0x00, 0x97, 0x07, 0x84, 0xED, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 426 0x20, 0xE0, 0x66, 0x86, 0x01, 0xFF, 0x00, 0xC8, 0xAF, 0x05, 0x00, 0x00, 427 0x00, 0x00, 0x00, 0x80, 0x20, 0x60, 0x0F, 0x72, 0xC7, 0xD9, 0x00, 0x44, 428 0x9C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0xE0, 0x0F, 0x5C, 429 0x0C, 0x88, 0x00, 0x78, 0x96, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 430 0x60, 0xF0, 0x0F, 0x46, 0x18, 0x8C, 0x70, 0x10, 0x92, 0x04, 0x00, 0x00, 431 0x00, 0x00, 0x00, 0x80, 0x60, 0xF0, 0x07, 0x45, 0x38, 0xC4, 0xF9, 0x00, 432 0x92, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xD8, 0x03, 0x45, 433 0x28, 0xC0, 0xFB, 0x00, 0x93, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 434 0x40, 0xD8, 0x83, 0x47, 0x28, 0xE0, 0xFF, 0x00, 0x91, 0x04, 0x00, 0x00, 435 0x00, 0x00, 0x00, 0x80, 0x40, 0x98, 0x80, 0xCD, 0x38, 0xE0, 0xFF, 0x00, 436 0x91, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x08, 0x40, 0xB9, 437 0x27, 0xC0, 0x7F, 0x00, 0x91, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 438 0x40, 0x08, 0x40, 0x10, 0x01, 0x80, 0x3F, 0xC0, 0x89, 0x04, 0x00, 0x00, 439 0x00, 0x00, 0x00, 0x80, 0x40, 0x18, 0x00, 0x08, 0x01, 0x00, 0x1F, 0x60, 440 0x49, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x18, 0x00, 0x00, 441 0x00, 0x00, 0x0E, 0x20, 0x49, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 442 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x49, 0x04, 0x00, 0x00, 443 0x00, 0x00, 0x00, 0x80, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 444 0x49, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x30, 0x00, 0x00, 445 0x00, 0x00, 0x00, 0x30, 0xD9, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 446 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF9, 0x05, 0x00, 0x00, 447 0x00, 0x00, 0x00, 0x80, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 448 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0xC0, 0x00, 0x00, 449 0x00, 0x00, 0x00, 0x36, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 450 0xE0, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x13, 0x41, 0x04, 0x00, 0x00, 451 0x00, 0x00, 0x00, 0x80, 0x20, 0xBF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x11, 452 0x21, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xF0, 0x06, 0x00, 453 0x00, 0x00, 0xC0, 0x10, 0x38, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 454 0x00, 0xC0, 0x19, 0x00, 0x00, 0x00, 0x70, 0x10, 0x08, 0x04, 0x00, 0x00, 455 0x00, 0x00, 0x00, 0x80, 0x03, 0x80, 0x35, 0x00, 0x00, 0x00, 0x3E, 0x10, 456 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0xDE, 0x01, 457 0x00, 0xE0, 0x01, 0x20, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 458 0x3C, 0x00, 0xF0, 0x1E, 0x00, 0xFE, 0x00, 0x20, 0x0C, 0x02, 0x00, 0x00, 459 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x80, 0xFB, 0xFF, 0x07, 0x00, 0x60, 460 0x08, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x0E, 461 0x97, 0x01, 0x00, 0xC0, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 462 0x00, 0x0F, 0x00, 0x30, 0x81, 0x00, 0x00, 0x80, 0xC3, 0x00, 0x00, 0x00, 463 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x60, 0xC1, 0x00, 0x00, 0x00, 464 0xAE, 0x00, 0x00, 0x00 465}; 466 467// Splash is the custom type used internally in GEM library for convenient way of storing XBM graphics of Splash screen 468const Splash partyFrame1 = {partyFrame1_width, partyFrame1_height, partyFrame1_bits}; 469const Splash partyFrame2 = {partyFrame2_width, partyFrame2_height, partyFrame2_bits}; 470const Splash partyFrame3 = {partyFrame3_width, partyFrame3_height, partyFrame3_bits}; 471const Splash partyFrame4 = {partyFrame4_width, partyFrame4_height, partyFrame4_bits}; 472const Splash partyFrame5 = {partyFrame5_width, partyFrame5_height, partyFrame5_bits}; 473 474const Splash frames[] = {partyFrame1, partyFrame2, partyFrame3, partyFrame4, partyFrame5}; 475
Party Hard! Example (primary sketch)
arduino
Example of usage of U8g2 version of GEM library
1/* 2 Party Hard menu example using GEM library. Explores creation of option select with callback (for preset selection), 3 editable menu items with validation callbacks, setting readonly mode, creation of context with context.allowExit set to false 4 in order to use push-buttons to control scene within context's loop routine. 5 6 Simple one page menu with one editable menu item associated with int variable, one with boolean variable, one option select, 7 and a button, pressing of which will launch an animation sequence drawn to the screen. Delay between frames 8 is determined by value of int variable, setting of which to 0 will enable manual control of the frames through 9 navigation push-buttons. 10 11 U8g2lib library is used to draw menu and to detect push-buttons presses. 12 13 Additional info (including the breadboard view) available on GitHub: 14 https://github.com/Spirik/GEM 15 16 This example code is in the public domain. 17*/ 18 19#include <GEM_u8g2.h> 20 21// Include sprites of animation frames 22// (moved to separate file to save space) 23#include "frames.h" 24 25// Create an instance of the U8g2 library. 26// Use constructor that matches your setup (see https://github.com/olikraus/u8g2/wiki/u8g2setupcpp for details). 27// This instance is used to call all the subsequent U8g2 functions (internally from GEM library, 28// or manually in your sketch if it is required). 29// Please update the pin numbers according to your setup. Use U8X8_PIN_NONE if the reset pin is not connected 30U8G2_KS0108_128X64_2 u8g2(U8G2_R0, 8, 9, 10, 11, 12, 13, 18, 19, /*enable=*/ A0, /*dc=*/ A1, /*cs0=*/ A3, /*cs1=*/ A2, /*cs2=*/ U8X8_PIN_NONE, /* reset=*/ U8X8_PIN_NONE); // Set R/W to low! 31 32// Create variables that will be editable through the menu and assign them initial values 33int interval = 200; 34boolean strobe = false; 35 36// Create variable that will be editable through option select and create associated option select 37byte tempo = 0; 38SelectOptionByte selectTempoOptions[] = {{"Meh:(", 0}, {"Smooth", 1}, {"Hard", 2}, {"XTREME", 3}, {"Manual", 4}, {"Custom", 5}}; 39GEMSelect selectTempo(sizeof(selectTempoOptions)/sizeof(SelectOptionByte), selectTempoOptions); 40 41// Values of interval variable associated with each select option 42int tempoInterval[] = {400, 250, 120, 100, 0, 200}; 43 44// Supplementary variables used for animation control 45unsigned long previousMillis = 0; 46byte framesCount = 5; 47byte currentFrame = framesCount; 48 49// Create menu item objects of class GEMItem, linked to interval and strobe variables 50// with validateInterval() callback function attached to interval menu item, 51// that will make sure that interval variable is within allowable range (i.e. >= 0) 52void validateInterval(); // Forward declaration 53GEMItem menuItemInt("Interval:", interval, validateInterval); 54GEMItem menuItemStrobe("Strobe:", strobe); 55 56// Create menu item for option select with applyTempo() callback function 57void applyTempo(); // Forward declaration 58GEMItem menuItemTempo("Tempo:", tempo, selectTempo, applyTempo); 59 60// Create menu button that will trigger rock() function. It will run animation sequence. 61// We will write (define) this function later. However, we should 62// forward-declare it in order to pass to GEMItem constructor 63void rock(); // Forward declaration 64GEMItem menuItemButton("Let's Rock!", rock); 65 66// Create menu page object of class GEMPage. Menu page holds menu items (GEMItem) and represents menu level. 67// Menu can have multiple menu pages (linked to each other) with multiple menu items each 68GEMPage menuPageMain("Party Hard"); 69 70// Create menu object of class GEM_u8g2. Supply its constructor with reference to u8g2 object we created earlier 71GEM_u8g2 menu(u8g2); 72 73void setup() { 74 // Serial communication setup 75 Serial.begin(115200); 76 77 // U8g2 library init. Pass pin numbers the buttons are connected to. 78 // The push-buttons should be wired with pullup resistors (so the LOW means that the button is pressed) 79 u8g2.begin(/*Select/OK=*/ 7, /*Right/Next=*/ 4, /*Left/Prev=*/ 3, /*Up=*/ 5, /*Down=*/ 2, /*Home/Cancel=*/ 6); 80 81 // Load initial preset selected through tempo option select 82 applyTempo(); 83 84 // Menu init, setup and draw 85 menu.init(); 86 setupMenu(); 87 menu.drawMenu(); 88} 89 90void setupMenu() { 91 // Add menu items to menu page 92 menuPageMain.addMenuItem(menuItemTempo); 93 menuPageMain.addMenuItem(menuItemInt); 94 menuPageMain.addMenuItem(menuItemStrobe); 95 menuPageMain.addMenuItem(menuItemButton); 96 97 // Add menu page to menu and set it as current 98 menu.setMenuPageCurrent(menuPageMain); 99} 100 101void loop() { 102 // If menu is ready to accept button press... 103 if (menu.readyForKey()) { 104 // ...detect key press using U8g2 library 105 // and pass pressed button to menu 106 menu.registerKeyPress(u8g2.getMenuEvent()); 107 } 108} 109 110// --- 111 112// Validation routine of interval variable 113void validateInterval() { 114 // Check if interval variable is within allowable range (i.e. >= 0) 115 if (interval < 0) { 116 interval = 0; 117 } 118 // Print interval variable to Serial 119 Serial.print("Interval set: "); 120 Serial.println(interval); 121} 122 123// Apply preset based on tempo variable value 124void applyTempo() { 125 if (tempo != 5) { 126 // Set readonly mode for interval menu item 127 menuItemInt.setReadonly(); 128 // Apply interval value based on preset selection 129 interval = tempoInterval[tempo]; 130 // Turn on strobe effect for "XTREME" preset 131 strobe = tempo == 3; 132 } else { 133 // Disable readonly mode of interval menu item for "Custom" preset 134 menuItemInt.setReadonly(false); 135 } 136 // Print tempo variable to Serial 137 Serial.print("Tempo option set: "); 138 Serial.println(tempo); 139} 140 141// --- Animation draw routines 142 143// Draw sprite on screen 144// (note that Splash is the custom type used internally in GEM library for convenient way of storing XBM graphics of Splash screen) 145void drawSprite(Splash _splash) { 146 u8g2.drawXBMP((u8g2.getDisplayWidth() - _splash.width) / 2, (u8g2.getDisplayHeight() - _splash.height) / 2, _splash.width, _splash.height, _splash.image); 147} 148 149// Draw frame based on direction of animation 150void drawFrame(boolean forward) { 151 if (forward) { 152 // Next frame 153 currentFrame = (currentFrame == framesCount ? 1 : currentFrame+1); 154 } else { 155 // Previous frame 156 currentFrame = (currentFrame == 1 ? framesCount : currentFrame-1); 157 } 158 // Set inversed mode based on strobe effect and frame number 159 byte mode = strobe && (currentFrame % 2 == 0) ? 0 : 1; 160 // Draw on screen 161 u8g2.firstPage(); 162 do { 163 u8g2.setDrawColor(mode); 164 // Draw frame on screen 165 drawSprite(frames[currentFrame-1]); 166 } while (u8g2.nextPage()); 167} 168 169// --- Animation context routines 170 171// Setup context 172void rock() { 173 menu.context.loop = rockContextLoop; 174 menu.context.enter = rockContextEnter; 175 menu.context.exit = rockContextExit; 176 menu.context.allowExit = false; // Setting to false will require manual exit from the loop 177 menu.context.enter(); 178} 179 180// Invoked once when the button is pressed 181void rockContextEnter() { 182 // Clear sreen 183 u8g2.clear(); 184 // Draw initial frame for the case of manual navigation ("Manual" tempo preset) 185 if (interval == 0) { 186 drawFrame(true); 187 } 188 Serial.println("Partying hard is in progress!"); 189} 190 191// Invoked every loop iteration 192void rockContextLoop() { 193 // Detect key press manually using U8g2 library 194 byte key = u8g2.getMenuEvent(); 195 if (key == GEM_KEY_CANCEL) { 196 // Exit animation routine if GEM_KEY_CANCEL key was pressed 197 menu.context.exit(); 198 } else { 199 if (interval > 0) { 200 // Autoplay mode. 201 // Test millis timer and draw frame accordingly 202 unsigned long currentMillis = millis(); 203 if (currentMillis - previousMillis >= interval) { 204 previousMillis = currentMillis; 205 drawFrame(true); 206 } 207 } else { 208 // Manual mode. 209 // Check pressed keys and navigate through frames accordingly 210 switch (key) { 211 case GEM_KEY_RIGHT: 212 Serial.println("Next frame"); 213 drawFrame(true); 214 break; 215 case GEM_KEY_LEFT: 216 Serial.println("Previous frame"); 217 drawFrame(false); 218 break; 219 } 220 } 221 } 222} 223 224// Invoked once when the GEM_KEY_CANCEL key is pressed 225void rockContextExit() { 226 // Reset variables 227 previousMillis = 0; 228 currentFrame = framesCount; 229 230 // Draw menu back on screen and clear context 231 menu.reInit(); 232 menu.drawMenu(); 233 menu.clearContext(); 234} 235
Party Hard! Example (animation sprites)
Supplementary file for example of usage of U8g2 version of GEM library (contains frames of animation) on GitHub
Party Hard! Example (primary sketch)
Example of usage of U8g2 version of GEM library on GitHub
Party Hard! Example (primary sketch)
arduino
Example of usage of U8g2 version of GEM library
1/* 2 Party Hard menu example using GEM library. Explores creation of 3 option select with callback (for preset selection), 4 editable menu items with 5 validation callbacks, setting readonly mode, creation of context with context.allowExit 6 set to false 7 in order to use push-buttons to control scene within context's 8 loop routine. 9 10 Simple one page menu with one editable menu item associated 11 with int variable, one with boolean variable, one option select, 12 and a button, 13 pressing of which will launch an animation sequence drawn to the screen. Delay between 14 frames 15 is determined by value of int variable, setting of which to 0 will enable 16 manual control of the frames through 17 navigation push-buttons. 18 19 U8g2lib 20 library is used to draw menu and to detect push-buttons presses. 21 22 Additional 23 info (including the breadboard view) available on GitHub: 24 https://github.com/Spirik/GEM 25 26 27 This example code is in the public domain. 28*/ 29 30#include <GEM_u8g2.h> 31 32// 33 Include sprites of animation frames 34// (moved to separate file to save space) 35#include 36 "frames.h" 37 38// Create an instance of the U8g2 library. 39// Use constructor 40 that matches your setup (see https://github.com/olikraus/u8g2/wiki/u8g2setupcpp 41 for details). 42// This instance is used to call all the subsequent U8g2 functions 43 (internally from GEM library, 44// or manually in your sketch if it is required). 45// 46 Please update the pin numbers according to your setup. Use U8X8_PIN_NONE if the 47 reset pin is not connected 48U8G2_KS0108_128X64_2 u8g2(U8G2_R0, 8, 9, 10, 11, 12, 49 13, 18, 19, /*enable=*/ A0, /*dc=*/ A1, /*cs0=*/ A3, /*cs1=*/ A2, /*cs2=*/ U8X8_PIN_NONE, 50 /* reset=*/ U8X8_PIN_NONE); // Set R/W to low! 51 52// Create variables that 53 will be editable through the menu and assign them initial values 54int interval 55 = 200; 56boolean strobe = false; 57 58// Create variable that will be editable 59 through option select and create associated option select 60byte tempo = 0; 61SelectOptionByte 62 selectTempoOptions[] = {{"Meh:(", 0}, {"Smooth", 1}, {"Hard", 2}, {"XTREME", 63 3}, {"Manual", 4}, {"Custom", 5}}; 64GEMSelect selectTempo(sizeof(selectTempoOptions)/sizeof(SelectOptionByte), 65 selectTempoOptions); 66 67// Values of interval variable associated with each 68 select option 69int tempoInterval[] = {400, 250, 120, 100, 0, 200}; 70 71// Supplementary 72 variables used for animation control 73unsigned long previousMillis = 0; 74byte 75 framesCount = 5; 76byte currentFrame = framesCount; 77 78// Create menu item 79 objects of class GEMItem, linked to interval and strobe variables 80// with validateInterval() 81 callback function attached to interval menu item, 82// that will make sure that 83 interval variable is within allowable range (i.e. >= 0) 84void validateInterval(); 85 // Forward declaration 86GEMItem menuItemInt("Interval:", interval, validateInterval); 87GEMItem 88 menuItemStrobe("Strobe:", strobe); 89 90// Create menu item for option select 91 with applyTempo() callback function 92void applyTempo(); // Forward declaration 93GEMItem 94 menuItemTempo("Tempo:", tempo, selectTempo, applyTempo); 95 96// Create menu 97 button that will trigger rock() function. It will run animation sequence. 98// 99 We will write (define) this function later. However, we should 100// forward-declare 101 it in order to pass to GEMItem constructor 102void rock(); // Forward declaration 103GEMItem 104 menuItemButton("Let's Rock!", rock); 105 106// Create menu page object of class 107 GEMPage. Menu page holds menu items (GEMItem) and represents menu level. 108// Menu 109 can have multiple menu pages (linked to each other) with multiple menu items each 110GEMPage 111 menuPageMain("Party Hard"); 112 113// Create menu object of class GEM_u8g2. Supply 114 its constructor with reference to u8g2 object we created earlier 115GEM_u8g2 menu(u8g2); 116 117void 118 setup() { 119 // Serial communication setup 120 Serial.begin(115200); 121 122 123 // U8g2 library init. Pass pin numbers the buttons are connected to. 124 // The 125 push-buttons should be wired with pullup resistors (so the LOW means that the button 126 is pressed) 127 u8g2.begin(/*Select/OK=*/ 7, /*Right/Next=*/ 4, /*Left/Prev=*/ 128 3, /*Up=*/ 5, /*Down=*/ 2, /*Home/Cancel=*/ 6); 129 130 // Load initial preset 131 selected through tempo option select 132 applyTempo(); 133 134 // Menu init, setup 135 and draw 136 menu.init(); 137 setupMenu(); 138 menu.drawMenu(); 139} 140 141void 142 setupMenu() { 143 // Add menu items to menu page 144 menuPageMain.addMenuItem(menuItemTempo); 145 146 menuPageMain.addMenuItem(menuItemInt); 147 menuPageMain.addMenuItem(menuItemStrobe); 148 149 menuPageMain.addMenuItem(menuItemButton); 150 151 // Add menu page to menu and 152 set it as current 153 menu.setMenuPageCurrent(menuPageMain); 154} 155 156void loop() 157 { 158 // If menu is ready to accept button press... 159 if (menu.readyForKey()) 160 { 161 // ...detect key press using U8g2 library 162 // and pass pressed button 163 to menu 164 menu.registerKeyPress(u8g2.getMenuEvent()); 165 } 166} 167 168// 169 --- 170 171// Validation routine of interval variable 172void validateInterval() 173 { 174 // Check if interval variable is within allowable range (i.e. >= 0) 175 if 176 (interval < 0) { 177 interval = 0; 178 } 179 // Print interval variable to 180 Serial 181 Serial.print("Interval set: "); 182 Serial.println(interval); 183} 184 185// 186 Apply preset based on tempo variable value 187void applyTempo() { 188 if (tempo 189 != 5) { 190 // Set readonly mode for interval menu item 191 menuItemInt.setReadonly(); 192 193 // Apply interval value based on preset selection 194 interval = tempoInterval[tempo]; 195 196 // Turn on strobe effect for "XTREME" preset 197 strobe = tempo == 3; 198 199 } else { 200 // Disable readonly mode of interval menu item for "Custom" 201 preset 202 menuItemInt.setReadonly(false); 203 } 204 // Print tempo variable 205 to Serial 206 Serial.print("Tempo option set: "); 207 Serial.println(tempo); 208} 209 210// 211 --- Animation draw routines 212 213// Draw sprite on screen 214// (note that Splash 215 is the custom type used internally in GEM library for convenient way of storing 216 XBM graphics of Splash screen) 217void drawSprite(Splash _splash) { 218 u8g2.drawXBMP((u8g2.getDisplayWidth() 219 - _splash.width) / 2, (u8g2.getDisplayHeight() - _splash.height) / 2, _splash.width, 220 _splash.height, _splash.image); 221} 222 223// Draw frame based on direction of 224 animation 225void drawFrame(boolean forward) { 226 if (forward) { 227 // Next 228 frame 229 currentFrame = (currentFrame == framesCount ? 1 : currentFrame+1); 230 231 } else { 232 // Previous frame 233 currentFrame = (currentFrame == 1 ? framesCount 234 : currentFrame-1); 235 } 236 // Set inversed mode based on strobe effect and frame 237 number 238 byte mode = strobe && (currentFrame % 2 == 0) ? 0 : 1; 239 // Draw 240 on screen 241 u8g2.firstPage(); 242 do { 243 u8g2.setDrawColor(mode); 244 // 245 Draw frame on screen 246 drawSprite(frames[currentFrame-1]); 247 } while (u8g2.nextPage()); 248} 249 250// 251 --- Animation context routines 252 253// Setup context 254void rock() { 255 menu.context.loop 256 = rockContextLoop; 257 menu.context.enter = rockContextEnter; 258 menu.context.exit 259 = rockContextExit; 260 menu.context.allowExit = false; // Setting to false will 261 require manual exit from the loop 262 menu.context.enter(); 263} 264 265// Invoked 266 once when the button is pressed 267void rockContextEnter() { 268 // Clear sreen 269 270 u8g2.clear(); 271 // Draw initial frame for the case of manual navigation ("Manual" 272 tempo preset) 273 if (interval == 0) { 274 drawFrame(true); 275 } 276 Serial.println("Partying 277 hard is in progress!"); 278} 279 280// Invoked every loop iteration 281void rockContextLoop() 282 { 283 // Detect key press manually using U8g2 library 284 byte key = u8g2.getMenuEvent(); 285 286 if (key == GEM_KEY_CANCEL) { 287 // Exit animation routine if GEM_KEY_CANCEL 288 key was pressed 289 menu.context.exit(); 290 } else { 291 if (interval > 292 0) { 293 // Autoplay mode. 294 // Test millis timer and draw frame accordingly 295 296 unsigned long currentMillis = millis(); 297 if (currentMillis - previousMillis 298 >= interval) { 299 previousMillis = currentMillis; 300 drawFrame(true); 301 302 } 303 } else { 304 // Manual mode. 305 // Check pressed keys 306 and navigate through frames accordingly 307 switch (key) { 308 case 309 GEM_KEY_RIGHT: 310 Serial.println("Next frame"); 311 drawFrame(true); 312 313 break; 314 case GEM_KEY_LEFT: 315 Serial.println("Previous 316 frame"); 317 drawFrame(false); 318 break; 319 } 320 } 321 322 } 323} 324 325// Invoked once when the GEM_KEY_CANCEL key is pressed 326void rockContextExit() 327 { 328 // Reset variables 329 previousMillis = 0; 330 currentFrame = framesCount; 331 332 333 // Draw menu back on screen and clear context 334 menu.reInit(); 335 menu.drawMenu(); 336 337 menu.clearContext(); 338} 339
GEM Library
GEM - Good Enough Menu for Arduino
Party Hard! Example (animation sprites)
c_cpp
Supplementary file for example of usage of U8g2 version of GEM library (contains frames of animation)
1/* 2 Party Hard menu example using GEM library. 3 4 Sprites of the animation frames used in the example. 5 6 Additional info (including the breadboard view) available on GitHub: 7 https://github.com/Spirik/GEM 8 9 This example code is in the public domain. 10*/ 11 12#define partyFrame1_width 128 13#define partyFrame1_height 64 14static const unsigned char partyFrame1_bits [] U8X8_PROGMEM = { 15 0x00, 0x00, 0x00, 0x90, 0x4C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 16 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xE4, 0x00, 0x00, 0x00, 17 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 18 0xA4, 0x01, 0x00, 0x00, 0x16, 0xFF, 0x0F, 0x00, 0x01, 0x00, 0x00, 0x00, 19 0x00, 0x00, 0x00, 0x98, 0x34, 0x01, 0x00, 0x00, 0xDE, 0x05, 0xF9, 0x03, 20 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x14, 0x01, 0x00, 0x84, 21 0x7F, 0x00, 0x80, 0x0E, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 22 0x14, 0x01, 0x00, 0xC6, 0x37, 0x00, 0x00, 0x90, 0x0D, 0x00, 0x00, 0x00, 23 0x00, 0x00, 0x00, 0xC8, 0x1F, 0x01, 0x30, 0x4A, 0x2B, 0xFC, 0x05, 0xE0, 24 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x10, 0x01, 0x28, 0x6A, 25 0xFF, 0xFF, 0x7F, 0x80, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 26 0x10, 0x01, 0x28, 0x1A, 0xEF, 0x55, 0xFF, 0xC1, 0x0F, 0x00, 0x00, 0x00, 27 0x00, 0x00, 0x00, 0x08, 0x1C, 0x01, 0x24, 0x11, 0x77, 0xDB, 0xF6, 0x67, 28 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x07, 0x01, 0x44, 0xE1, 29 0xFF, 0x7E, 0xDF, 0xFE, 0xE7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 30 0x03, 0x01, 0x42, 0x82, 0xFF, 0xFB, 0x5F, 0xBD, 0x87, 0x00, 0x00, 0x00, 31 0x00, 0x00, 0x00, 0x08, 0x01, 0x01, 0xC2, 0x05, 0x28, 0x00, 0xFA, 0xFE, 32 0x86, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x01, 0x01, 0x05, 33 0x00, 0x00, 0xE0, 0x79, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 34 0x01, 0x01, 0x03, 0x06, 0x00, 0x00, 0x00, 0xD7, 0x07, 0x02, 0x00, 0x00, 35 0x00, 0x00, 0x00, 0x18, 0x81, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0xFC, 36 0x0F, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x00, 0x06, 0x00, 37 0x00, 0x00, 0x40, 0x50, 0x0F, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 38 0xC0, 0x00, 0x04, 0x00, 0x00, 0x00, 0x60, 0xE0, 0x1F, 0x04, 0x00, 0x00, 39 0x00, 0x00, 0x00, 0x60, 0x60, 0x00, 0x04, 0x00, 0x00, 0x00, 0x50, 0x80, 40 0x3F, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x00, 0x0C, 0x00, 41 0x00, 0x00, 0x98, 0x00, 0x77, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 42 0x08, 0x00, 0x28, 0x00, 0x00, 0x00, 0x8E, 0x00, 0x7E, 0x10, 0x00, 0x00, 43 0x00, 0x00, 0x00, 0x80, 0x18, 0x00, 0x58, 0x00, 0x00, 0x00, 0x81, 0x00, 44 0xEC, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x90, 0x03, 45 0x00, 0xF8, 0x00, 0x01, 0xD8, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 46 0x10, 0x00, 0x10, 0x1E, 0xF7, 0x1F, 0x00, 0x02, 0xD0, 0x10, 0x00, 0x00, 47 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x08, 0xFB, 0x1D, 0x00, 0x80, 0x03, 48 0x80, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x38, 0x71, 49 0x00, 0x02, 0x50, 0x02, 0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 50 0x10, 0x00, 0xF8, 0xC1, 0x07, 0x26, 0x7D, 0x0C, 0x00, 0x23, 0x00, 0x00, 51 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x88, 0x01, 0x02, 0xFC, 0x0F, 0x18, 52 0xC0, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x26, 0x03, 53 0x38, 0x58, 0x01, 0xF0, 0xDF, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 54 0x30, 0x00, 0xC6, 0x05, 0x2F, 0x00, 0x00, 0x04, 0xB5, 0x21, 0x00, 0x00, 55 0x00, 0x00, 0x00, 0x80, 0x30, 0x00, 0xE2, 0x9C, 0x43, 0x0C, 0x00, 0x83, 56 0xF8, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x32, 0xF2, 57 0x00, 0x18, 0xC0, 0x43, 0xD8, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 58 0x20, 0x00, 0x1A, 0x48, 0x00, 0x70, 0x79, 0x40, 0xD8, 0x40, 0x00, 0x00, 59 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x6E, 0x66, 0x18, 0xF0, 0x0F, 0x80, 60 0xFC, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0xF6, 0x20, 61 0x77, 0x9C, 0x0D, 0x40, 0xE4, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 62 0x20, 0x00, 0xFE, 0xC0, 0xC5, 0x80, 0x08, 0x80, 0xA7, 0x41, 0x00, 0x00, 63 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0xFF, 0x60, 0x84, 0xC1, 0x08, 0x07, 64 0x9D, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x00, 0x7F, 0x50, 65 0x84, 0x43, 0x9C, 0x0F, 0x96, 0x46, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 66 0x60, 0x80, 0x3D, 0x50, 0x84, 0x02, 0xBC, 0x0F, 0x92, 0x44, 0x00, 0x00, 67 0x00, 0x00, 0x00, 0x80, 0x60, 0x80, 0x3D, 0x78, 0x84, 0x02, 0xFE, 0x0F, 68 0x92, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x09, 0xD8, 69 0x8C, 0x03, 0xFE, 0x0F, 0x93, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 70 0x40, 0x80, 0x00, 0x94, 0x7B, 0x02, 0xFC, 0x07, 0x91, 0x44, 0x00, 0x00, 71 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x00, 0x04, 0x11, 0x00, 0xF8, 0x03, 72 0x91, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x80, 0x01, 0x80, 73 0x10, 0x00, 0xF0, 0x01, 0x91, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 74 0x40, 0x80, 0x01, 0x00, 0x00, 0x00, 0xE0, 0xC0, 0x89, 0x44, 0x00, 0x00, 75 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x01, 0x00, 0x00, 0x00, 0x40, 0x60, 76 0x49, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x03, 0x00, 77 0x00, 0x00, 0x00, 0x20, 0x49, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 78 0x40, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x20, 0x49, 0x44, 0x00, 0x00, 79 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x20, 80 0x49, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x06, 0x00, 81 0x00, 0x00, 0x00, 0x20, 0xD9, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 82 0x40, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x20, 0xF9, 0x45, 0x00, 0x00, 83 0x00, 0x00, 0x00, 0x80, 0x40, 0x00, 0x1A, 0x00, 0x00, 0x00, 0x00, 0x30, 84 0x01, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0x00, 0x32, 0x00, 85 0x00, 0x00, 0x00, 0x30, 0x01, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 86 0xE0, 0x01, 0x61, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x41, 0x44, 0x00, 0x00, 87 0x00, 0x00, 0x00, 0x80, 0x20, 0xBF, 0xC3, 0x01, 0x00, 0x00, 0x00, 0x17, 88 0x21, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xF0, 0x80, 0x03, 89 0x00, 0x00, 0xC0, 0x13, 0x38, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 90 0x00, 0xC0, 0x01, 0x1E, 0x00, 0x00, 0x7E, 0x10, 0x08, 0x44, 0x00, 0x00, 91 0x00, 0x00, 0x00, 0x80, 0x03, 0x80, 0x05, 0xF0, 0x01, 0xE0, 0x0F, 0x10, 92 0x08, 0x44, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x1E, 0x80, 93 0xFF, 0x7F, 0x00, 0x20, 0x0C, 0x82, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 94 0x3C, 0x00, 0xF0, 0x00, 0x70, 0x19, 0x00, 0x20, 0x0C, 0x42, 0x00, 0x00, 95 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x80, 0x0B, 0x10, 0x08, 0x00, 0x60, 96 0x08, 0x43, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x0E, 97 0x1C, 0x0C, 0x00, 0xC0, 0x80, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 98 0x00, 0x0F, 0x00, 0x30, 0x04, 0x06, 0x00, 0x80, 0xC3, 0x80, 0x00, 0x00, 99 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x60, 0x07, 0x06, 0x00, 0x00, 100 0xAE, 0x80, 0x00, 0x00 101}; 102 103#define partyFrame2_width 128 104#define partyFrame2_height 64 105static const unsigned char partyFrame2_bits [] U8X8_PROGMEM = { 106 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 107 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 108 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 111 0x27, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 112 0x00, 0x00, 0x00, 0x80, 0x25, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 113 0x00, 0x00, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x80, 0x24, 0x11, 0x00, 0x00, 114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0xC1, 0xFF, 0x07, 0x30, 0x80, 115 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x79, 116 0x01, 0xFC, 0x71, 0x80, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 117 0x00, 0x00, 0xB0, 0x0F, 0x00, 0x00, 0x7F, 0x80, 0x64, 0x11, 0x00, 0x00, 118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x03, 0x00, 0x00, 0xD8, 0x80, 119 0xF4, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0xF3, 120 0xFF, 0x01, 0xF8, 0x80, 0x04, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 121 0x00, 0xC0, 0x7E, 0xFF, 0xFF, 0x0F, 0xEC, 0xC1, 0x04, 0x10, 0x00, 0x00, 122 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x72, 0x6F, 0x5D, 0x7F, 0xDE, 0xC2, 123 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x26, 0xB2, 0xDF, 124 0xF3, 0xFD, 0xEF, 0x4C, 0x84, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 125 0x80, 0x29, 0xFA, 0xF7, 0xBF, 0xAA, 0x77, 0x48, 0x60, 0x10, 0x00, 0x00, 126 0x00, 0x00, 0x00, 0x00, 0x80, 0x2C, 0xFC, 0xBF, 0xFF, 0xEF, 0x6D, 0x50, 127 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x58, 0x80, 0x02, 128 0x80, 0xBF, 0x7B, 0x60, 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 129 0x60, 0xF0, 0x00, 0x00, 0x00, 0xF8, 0x3F, 0x40, 0x30, 0x08, 0x00, 0x00, 130 0x00, 0x00, 0x00, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x7F, 0x40, 131 0x30, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 132 0x00, 0x00, 0xFF, 0x80, 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 133 0x19, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x81, 0x01, 0x06, 0x00, 0x00, 134 0x00, 0x00, 0x00, 0x80, 0x19, 0x00, 0x00, 0x00, 0x00, 0x04, 0xB8, 0x03, 135 0x0F, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x79, 0x00, 0x00, 0x00, 136 0x00, 0x0B, 0x70, 0x07, 0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 137 0x49, 0x00, 0x00, 0x00, 0x80, 0x09, 0xE0, 0x06, 0xB8, 0x03, 0x00, 0x00, 138 0x00, 0x00, 0x00, 0xB0, 0xC9, 0x00, 0x00, 0x00, 0x60, 0x08, 0xC0, 0x0D, 139 0x7C, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xCC, 0x01, 0x00, 0x00, 140 0x38, 0x10, 0x00, 0x0F, 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 141 0x4C, 0x27, 0x00, 0x00, 0x06, 0x10, 0x00, 0x18, 0xCE, 0x1E, 0x00, 0x00, 142 0x00, 0x00, 0x00, 0x90, 0x4C, 0xF8, 0x00, 0xF8, 0x01, 0x20, 0x00, 0x60, 143 0xCC, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x6C, 0xE0, 0xD7, 0x07, 144 0x00, 0x78, 0x00, 0x20, 0x1C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 145 0xE4, 0x21, 0x17, 0x00, 0x00, 0xCF, 0x00, 0x18, 0xFC, 0x03, 0x00, 0x00, 146 0x00, 0x00, 0x00, 0x98, 0x34, 0x27, 0xFC, 0xC0, 0xF4, 0x03, 0x01, 0x1C, 147 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0xB4, 0x3B, 0x40, 0xC0, 148 0x7F, 0x00, 0xEE, 0x1B, 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 149 0x9C, 0x30, 0x00, 0x02, 0x04, 0x80, 0x10, 0x1F, 0x08, 0x06, 0x00, 0x00, 150 0x00, 0x00, 0x00, 0xC8, 0xDF, 0x54, 0x40, 0x07, 0x00, 0x40, 0x10, 0x1B, 151 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0xD0, 0x88, 0xB1, 0x84, 152 0x01, 0x30, 0x18, 0x1B, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 153 0x70, 0x4C, 0x3F, 0x00, 0x03, 0x3C, 0x08, 0x1F, 0x08, 0x04, 0x00, 0x00, 154 0x00, 0x00, 0x00, 0x08, 0x7C, 0x43, 0x0F, 0x00, 0xFE, 0x07, 0x08, 0x1F, 155 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xC6, 0x81, 0x09, 0x00, 156 0xFE, 0x01, 0xC8, 0x19, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 157 0xC3, 0x0E, 0xC4, 0x87, 0x11, 0x01, 0x70, 0x30, 0x08, 0x04, 0x00, 0x00, 158 0x00, 0x00, 0x00, 0x08, 0xC1, 0x1E, 0xB0, 0x1C, 0x10, 0xE1, 0x30, 0x20, 159 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xE1, 0x1F, 0x8C, 0x30, 160 0x98, 0xF3, 0x01, 0x67, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 161 0xE1, 0x1F, 0x84, 0x70, 0x88, 0xF7, 0x01, 0x69, 0x08, 0x04, 0x00, 0x00, 162 0x00, 0x00, 0x00, 0x18, 0xE1, 0x0F, 0x0E, 0x51, 0xC0, 0xFF, 0x81, 0x61, 163 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0xA0, 0x07, 0x0A, 0x51, 164 0xC0, 0xFF, 0x01, 0x60, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 165 0xA0, 0x03, 0x8E, 0x71, 0x80, 0xFF, 0x80, 0x63, 0x08, 0x04, 0x00, 0x00, 166 0x00, 0x00, 0x00, 0x60, 0x30, 0x01, 0xFB, 0x0F, 0x00, 0x7F, 0x00, 0x60, 167 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x38, 0x80, 0x31, 0x06, 168 0x00, 0x3E, 0x00, 0x20, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 169 0x28, 0x00, 0x20, 0x00, 0x00, 0x1C, 0x00, 0x30, 0x08, 0x04, 0x00, 0x00, 170 0x00, 0x00, 0x00, 0x40, 0x28, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x18, 171 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x68, 0x00, 0x00, 0x00, 172 0x00, 0x00, 0x00, 0x08, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 173 0x68, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0F, 0x08, 0x04, 0x00, 0x00, 174 0x00, 0x00, 0x00, 0x40, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x03, 175 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0xD8, 0x00, 0x00, 0x00, 176 0x00, 0x00, 0x30, 0x00, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 177 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x08, 0x04, 0x00, 0x00, 178 0x00, 0x00, 0x00, 0x40, 0x90, 0x01, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x00, 179 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x90, 0x03, 0x00, 0x00, 180 0x00, 0x00, 0x06, 0x00, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 181 0x10, 0x03, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x07, 0x06, 0x00, 0x00, 182 0x00, 0x00, 0x00, 0x40, 0x10, 0x06, 0x00, 0x00, 0x00, 0x80, 0x01, 0xC0, 183 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x1E, 0x00, 0x00, 184 0x00, 0xF0, 0x00, 0x70, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 185 0x30, 0x7C, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x00, 186 0x00, 0x00, 0x00, 0x40, 0x30, 0xC4, 0x01, 0x00, 0x80, 0x0F, 0x00, 0x07, 187 0xC0, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x30, 0x8C, 0x1F, 0x00, 188 0xFC, 0x01, 0xC0, 0x01, 0x70, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 189 0x30, 0x08, 0xF8, 0xFF, 0xDF, 0x00, 0x70, 0x00, 0x1C, 0x0C, 0x00, 0x00, 190 0x00, 0x00, 0x00, 0x40, 0x20, 0x08, 0x00, 0x94, 0x81, 0x00, 0x0C, 0x00, 191 0x07, 0x18, 0x00, 0x00 192}; 193 194#define partyFrame3_width 128 195#define partyFrame3_height 64 196static const unsigned char partyFrame3_bits [] U8X8_PROGMEM = { 197 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 198 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 199 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x11, 0x00, 0x00, 201 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 202 0x25, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 203 0x00, 0x00, 0x00, 0x80, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 204 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x80, 0x24, 0x11, 0x00, 0x00, 205 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x80, 206 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x00, 207 0x00, 0x00, 0x00, 0x80, 0x64, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 208 0x00, 0x00, 0x3C, 0xF8, 0xFF, 0x00, 0x06, 0x80, 0xF4, 0x13, 0x00, 0x00, 209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x2F, 0x80, 0x3F, 0x0E, 0x80, 210 0x04, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF6, 0x01, 211 0x00, 0xE0, 0x0F, 0xC0, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 212 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x1B, 0xC0, 0x04, 0x10, 0x00, 0x00, 213 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x76, 0xFE, 0x3F, 0x00, 0x1F, 0x40, 214 0x84, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0xEF, 0xFF, 215 0xFF, 0x81, 0x3D, 0x40, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 216 0x00, 0x44, 0xEE, 0xAD, 0xEB, 0xCF, 0x5B, 0x40, 0x60, 0x10, 0x00, 0x00, 217 0x00, 0x00, 0x00, 0x00, 0xC0, 0x44, 0xF6, 0x7B, 0xBE, 0xFF, 0x9D, 0x41, 218 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x45, 0xFF, 0xFE, 219 0x57, 0xF5, 0x0E, 0x41, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 220 0x90, 0x85, 0xFF, 0xF7, 0xFF, 0xBD, 0x0D, 0x42, 0x30, 0x0C, 0x00, 0x00, 221 0x00, 0x00, 0x00, 0x00, 0x08, 0x0B, 0x50, 0x00, 0xF0, 0x77, 0x0F, 0x84, 222 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x1E, 0x00, 0x00, 223 0x00, 0xFF, 0x07, 0x88, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 224 0x04, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0F, 0x08, 0x0F, 0x02, 0x00, 0x00, 225 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0xE0, 0x1F, 0x10, 226 0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 227 0x00, 0x80, 0x3D, 0x20, 0xB8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 228 0x03, 0x00, 0x00, 0x00, 0x80, 0x00, 0x77, 0x20, 0x7C, 0x07, 0x00, 0x00, 229 0x00, 0x00, 0x00, 0xC0, 0x0F, 0x00, 0x00, 0x00, 0x60, 0x01, 0xEE, 0x60, 230 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x09, 0x00, 0x00, 0x00, 231 0x30, 0x01, 0xDC, 0x40, 0xCE, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 232 0x19, 0x00, 0x00, 0x00, 0x0C, 0x01, 0xB8, 0x41, 0xCC, 0x0E, 0x00, 0x00, 233 0x00, 0x00, 0x00, 0x20, 0x39, 0x00, 0x00, 0x00, 0x07, 0x02, 0xE0, 0x81, 234 0x1C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0xE9, 0x04, 0x00, 0xC0, 235 0x00, 0x02, 0x00, 0x83, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 236 0x0D, 0x1F, 0x00, 0x3F, 0x00, 0x04, 0x00, 0x8C, 0x08, 0x02, 0x00, 0x00, 237 0x00, 0x00, 0x00, 0x90, 0x0C, 0xFC, 0xFA, 0x00, 0x00, 0x0F, 0x00, 0x84, 238 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x3C, 0xE4, 0x02, 0x00, 239 0xE0, 0x19, 0x00, 0x83, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 240 0xE4, 0x84, 0x1F, 0x98, 0x7E, 0x20, 0x80, 0x83, 0x08, 0x04, 0x00, 0x00, 241 0x00, 0x00, 0x00, 0x98, 0x74, 0x07, 0x08, 0xF8, 0x0F, 0xC0, 0x7D, 0x83, 242 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 0x13, 0x06, 0x40, 0x80, 243 0x00, 0x10, 0xE2, 0x83, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 244 0x98, 0x0A, 0xE8, 0x00, 0x00, 0x08, 0x62, 0x83, 0x09, 0x04, 0x00, 0x00, 245 0x00, 0x00, 0x00, 0x08, 0x18, 0x31, 0x96, 0x30, 0x00, 0x06, 0x63, 0x03, 246 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x8C, 0xE9, 0x07, 0x60, 247 0x80, 0x07, 0xE1, 0x03, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 248 0x6E, 0xE8, 0x01, 0xC0, 0xFF, 0x00, 0xE1, 0x03, 0x09, 0x04, 0x00, 0x00, 249 0x00, 0x00, 0x00, 0x08, 0x3A, 0x30, 0x01, 0xC0, 0x3F, 0x00, 0x39, 0x03, 250 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xDB, 0x81, 0xF8, 0x30, 251 0x22, 0x00, 0x0E, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 252 0xD9, 0x03, 0x96, 0x03, 0x22, 0x1C, 0x06, 0x04, 0x09, 0x04, 0x00, 0x00, 253 0x00, 0x00, 0x00, 0x08, 0xFD, 0x83, 0x11, 0x06, 0x73, 0x3E, 0xE0, 0x0C, 254 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xFD, 0x83, 0x10, 0x0E, 255 0xF1, 0x3E, 0x20, 0x0D, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 256 0xFC, 0xC1, 0x21, 0x0A, 0xF8, 0x3F, 0x30, 0x0C, 0x0A, 0x04, 0x00, 0x00, 257 0x00, 0x00, 0x00, 0x30, 0xF4, 0x40, 0x21, 0x0A, 0xF8, 0x3F, 0x00, 0x0C, 258 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x74, 0xC0, 0x31, 0x0E, 259 0xF0, 0x1F, 0x70, 0x0C, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 260 0x24, 0x60, 0xFF, 0x01, 0xE0, 0x0F, 0x00, 0x0C, 0x09, 0x04, 0x00, 0x00, 261 0x00, 0x00, 0x00, 0x40, 0x04, 0x30, 0xC6, 0x00, 0xC0, 0x07, 0x00, 0x04, 262 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x04, 0x00, 263 0x80, 0x03, 0x00, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 264 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, 0x09, 0x04, 0x00, 0x00, 265 0x00, 0x00, 0x00, 0x40, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 266 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x0C, 0x00, 0x00, 0x00, 267 0x00, 0x00, 0xEC, 0x81, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 268 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x80, 0x08, 0x04, 0x00, 0x00, 269 0x00, 0x00, 0x00, 0x40, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 270 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x10, 0x00, 0x00, 0x00, 271 0x00, 0x00, 0x03, 0x80, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 272 0x30, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0xC0, 0x01, 0x06, 0x00, 0x00, 273 0x00, 0x00, 0x00, 0x40, 0x70, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x70, 274 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x70, 0x00, 0x00, 0x00, 275 0x00, 0x60, 0x00, 0x1C, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 276 0xD0, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x07, 0xC0, 0x01, 0x00, 0x00, 277 0x00, 0x00, 0x00, 0x40, 0xD0, 0x03, 0x00, 0x00, 0x00, 0x1E, 0xC0, 0x01, 278 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x90, 0x0F, 0x00, 0x00, 279 0x80, 0x07, 0x70, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 280 0xB0, 0x38, 0x00, 0x00, 0xF0, 0x01, 0x1C, 0x00, 0x07, 0x00, 0x00, 0x00, 281 0x00, 0x00, 0x00, 0x40, 0xA0, 0xF1, 0x03, 0x80, 0x3F, 0x00, 0x03, 0xC0, 282 0x01, 0x00, 0x00, 0x00 283}; 284 285#define partyFrame4_width 128 286#define partyFrame4_height 64 287static const unsigned char partyFrame4_bits [] U8X8_PROGMEM = { 288 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 289 0x68, 0x1B, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 290 0x00, 0x00, 0x00, 0x00, 0x2C, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 291 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 292 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 293 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 294 0x00, 0x00, 0x00, 0x00, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 295 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x27, 0x11, 0x00, 0x00, 296 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x80, 297 0x25, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0xF0, 298 0xFF, 0x01, 0x0C, 0x80, 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 299 0x00, 0x00, 0x78, 0x5E, 0x00, 0x7F, 0x1C, 0x80, 0x24, 0x11, 0x00, 0x00, 300 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x03, 0x00, 0xC0, 0x1F, 0x80, 301 0x24, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0x00, 302 0x00, 0x00, 0x36, 0x80, 0x64, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 303 0x00, 0x00, 0xEC, 0xFC, 0x7F, 0x00, 0x3E, 0x80, 0xF4, 0x13, 0x00, 0x00, 304 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0xDF, 0xFF, 0xFF, 0x03, 0x7B, 0x80, 305 0x04, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0xDD, 0x5B, 306 0xD7, 0x9F, 0xB7, 0xC0, 0x04, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 307 0x40, 0x64, 0xEC, 0xF7, 0x7C, 0xFF, 0x3B, 0xC3, 0x04, 0x10, 0x00, 0x00, 308 0x00, 0x00, 0x00, 0x00, 0x60, 0xC4, 0xFF, 0xFD, 0xAF, 0xEA, 0x1D, 0x42, 309 0x84, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB3, 0x04, 0xFE, 0xEF, 310 0xFF, 0x7B, 0x1B, 0x44, 0x60, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 311 0x97, 0x05, 0xA0, 0x00, 0xE0, 0xEF, 0x1E, 0x48, 0x60, 0x10, 0x00, 0x00, 312 0x00, 0x00, 0x00, 0xC0, 0x15, 0x0B, 0x00, 0x00, 0x00, 0xFE, 0x0F, 0x50, 313 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x0D, 0x1E, 0x00, 0x00, 314 0x00, 0xF0, 0x1F, 0x50, 0x30, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 315 0x0D, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x3F, 0x50, 0x30, 0x0C, 0x00, 0x00, 316 0x00, 0x00, 0x00, 0xB0, 0x0D, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7B, 0x90, 317 0x20, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB0, 0x04, 0x00, 0x00, 0x00, 318 0x00, 0x01, 0xEE, 0xA0, 0x01, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 319 0x1C, 0x00, 0x00, 0x00, 0xC0, 0x02, 0xDC, 0x21, 0x0F, 0x02, 0x00, 0x00, 320 0x00, 0x00, 0x00, 0x90, 0x18, 0x00, 0x00, 0x00, 0x60, 0x02, 0xB8, 0x61, 321 0x18, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x3C, 0x00, 0x00, 0x00, 322 0x18, 0x02, 0x70, 0x43, 0xB8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 323 0x74, 0x00, 0x00, 0x00, 0x0E, 0x04, 0xC0, 0x43, 0x7C, 0x07, 0x00, 0x00, 324 0x00, 0x00, 0x00, 0x98, 0xD4, 0x09, 0x00, 0x80, 0x01, 0x04, 0x80, 0x81, 325 0x0E, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x14, 0x3E, 0x00, 0x7E, 326 0x00, 0x08, 0x00, 0x83, 0xCE, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC8, 327 0x1F, 0xF8, 0xF5, 0x01, 0x00, 0x1E, 0x00, 0x8C, 0xCC, 0x0E, 0x00, 0x00, 328 0x00, 0x00, 0x00, 0x48, 0x70, 0xC8, 0x05, 0x00, 0xC0, 0x13, 0x00, 0x84, 329 0x1C, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xC0, 0x09, 0x3F, 0x30, 330 0xFD, 0x20, 0x00, 0x84, 0xFC, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 331 0xEC, 0x0E, 0x10, 0xF0, 0x1F, 0x20, 0x80, 0x87, 0x08, 0x02, 0x00, 0x00, 332 0x00, 0x00, 0x00, 0x08, 0x26, 0x0C, 0x80, 0x00, 0x01, 0xC0, 0xFD, 0x87, 333 0x08, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x33, 0x15, 0xD0, 0x01, 334 0x00, 0x10, 0xC2, 0x86, 0x08, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 335 0x31, 0x62, 0x2C, 0x61, 0x00, 0x0C, 0xC2, 0x86, 0x09, 0x04, 0x00, 0x00, 336 0x00, 0x00, 0x00, 0x08, 0x19, 0xD3, 0x0F, 0xC0, 0x00, 0x0F, 0xC2, 0x07, 337 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0xD9, 0xD0, 0x03, 0x80, 338 0xFF, 0x01, 0xC2, 0x07, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 339 0x71, 0x60, 0x02, 0x80, 0x7F, 0x00, 0x72, 0x06, 0x09, 0x04, 0x00, 0x00, 340 0x00, 0x00, 0x00, 0x18, 0xB2, 0x03, 0xF1, 0x61, 0x44, 0x00, 0x1C, 0x0C, 341 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0xB2, 0x07, 0x2C, 0x07, 342 0x44, 0x38, 0x0C, 0x08, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 343 0xF8, 0x07, 0x23, 0x0C, 0xE6, 0x7C, 0xC0, 0x19, 0x09, 0x04, 0x00, 0x00, 344 0x00, 0x00, 0x00, 0x20, 0xF8, 0x07, 0x21, 0x1C, 0xE2, 0x7D, 0x40, 0x1A, 345 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xF8, 0x83, 0x43, 0x14, 346 0xF0, 0x7F, 0x60, 0x18, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 347 0xE8, 0x81, 0x42, 0x14, 0xF0, 0x7F, 0x00, 0x18, 0x0A, 0x04, 0x00, 0x00, 348 0x00, 0x00, 0x00, 0x20, 0xE8, 0x80, 0x63, 0x1C, 0xE0, 0x3F, 0xE0, 0x18, 349 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x48, 0xC0, 0xFE, 0x03, 350 0xC0, 0x1F, 0x00, 0x18, 0x0A, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 351 0x08, 0x60, 0x8C, 0x01, 0x80, 0x0F, 0x00, 0x08, 0x09, 0x04, 0x00, 0x00, 352 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x08, 0x00, 0x00, 0x07, 0x00, 0x0C, 353 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x00, 354 0x00, 0x02, 0x00, 0x06, 0x09, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 355 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x09, 0x04, 0x00, 0x00, 356 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD8, 0x83, 357 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x18, 0x00, 0x00, 0x00, 358 0x00, 0x00, 0xF8, 0x80, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 359 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x80, 0x08, 0x04, 0x00, 0x00, 360 0x00, 0x00, 0x00, 0x20, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x80, 361 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x68, 0x00, 0x00, 0x00, 362 0x00, 0x00, 0x03, 0x80, 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 363 0xF8, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x80, 0x0C, 0x04, 0x00, 0x00, 364 0x00, 0x00, 0x00, 0x20, 0xD0, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x80, 365 0x03, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x90, 0x01, 0x00, 0x00, 366 0x00, 0x60, 0x00, 0xE0, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 367 0x90, 0x07, 0x00, 0x00, 0x00, 0x3C, 0x00, 0x38, 0x00, 0x02, 0x00, 0x00, 368 0x00, 0x00, 0x00, 0x20, 0x10, 0x1F, 0x00, 0x00, 0x00, 0x0F, 0x00, 0x06, 369 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x10, 0x71, 0x00, 0x00, 370 0xE0, 0x03, 0x80, 0x03, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 371 0x10, 0xE3, 0x07, 0x00, 0x7F, 0x00, 0xF0, 0x00, 0x30, 0x00, 0x00, 0x00, 372 0x00, 0x00, 0x00, 0x20, 0x10, 0x02, 0xFE, 0xFF, 0x37, 0x00, 0x1E, 0x00, 373 0x0F, 0x00, 0x00, 0x00 374}; 375 376#define partyFrame5_width 128 377#define partyFrame5_height 64 378static const unsigned char partyFrame5_bits [] U8X8_PROGMEM = { 379 0x00, 0x00, 0x00, 0x90, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 380 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0xE4, 0x00, 0x00, 0x00, 381 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x98, 382 0xA4, 0x01, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 383 0x00, 0x00, 0x00, 0x98, 0x34, 0x01, 0x00, 0xC0, 0x01, 0x00, 0x00, 0x00, 384 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x14, 0x01, 0x00, 0x60, 385 0xF1, 0xFF, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 386 0x14, 0x01, 0x00, 0xE0, 0x5D, 0x90, 0x3F, 0x30, 0x00, 0x00, 0x00, 0x00, 387 0x00, 0x00, 0x00, 0xC8, 0x1F, 0x01, 0x40, 0xF8, 0x07, 0x00, 0xE8, 0x70, 388 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x48, 0x10, 0x01, 0x60, 0x7C, 389 0x03, 0x00, 0x00, 0xD9, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 390 0x10, 0x01, 0xA3, 0xB4, 0xC2, 0x5F, 0x00, 0xDE, 0x00, 0x00, 0x00, 0x00, 391 0x00, 0x00, 0x00, 0x08, 0x1C, 0x81, 0xA2, 0xF6, 0xFF, 0xFF, 0x07, 0xD8, 392 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x07, 0x81, 0xA2, 0xF1, 393 0x5E, 0xF5, 0x1F, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 394 0x03, 0x41, 0x12, 0x71, 0xB7, 0x6D, 0x7F, 0xF6, 0x01, 0x00, 0x00, 0x00, 395 0x00, 0x00, 0x00, 0x08, 0x01, 0x41, 0x14, 0xFE, 0xEF, 0xF7, 0xED, 0x7F, 396 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x01, 0x21, 0x24, 0xF8, 397 0xBF, 0xFF, 0xD5, 0x7B, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 398 0x01, 0x21, 0x5C, 0x80, 0x02, 0xA0, 0xEF, 0x6F, 0x18, 0x00, 0x00, 0x00, 399 0x00, 0x00, 0x00, 0x18, 0x81, 0x10, 0x50, 0x00, 0x00, 0x00, 0x9E, 0x37, 400 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x80, 0x30, 0x60, 0x00, 401 0x00, 0x00, 0x70, 0x7D, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 402 0xC0, 0x20, 0x00, 0x00, 0x00, 0x00, 0xC0, 0xFF, 0x60, 0x00, 0x00, 0x00, 403 0x00, 0x00, 0x00, 0x60, 0x60, 0x60, 0x00, 0x00, 0x00, 0x00, 0x04, 0xF5, 404 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x38, 0x40, 0x00, 0x00, 405 0x00, 0x00, 0x06, 0xFE, 0x41, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 406 0x08, 0x40, 0x00, 0x00, 0x00, 0x00, 0x05, 0xF8, 0x83, 0x00, 0x00, 0x00, 407 0x00, 0x00, 0x00, 0x80, 0x18, 0xC0, 0x00, 0x00, 0x00, 0x80, 0x09, 0x70, 408 0x87, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x80, 0x02, 0x00, 409 0x00, 0xE0, 0x08, 0xE0, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 410 0x10, 0x80, 0x05, 0x00, 0x00, 0x10, 0x08, 0xC0, 0x8E, 0x00, 0x00, 0x00, 411 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x39, 0x00, 0x80, 0x0F, 0x10, 0x80, 412 0x0D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0xE1, 0x71, 413 0xFF, 0x01, 0x20, 0x00, 0x0D, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 414 0x10, 0x80, 0xB0, 0xDF, 0x01, 0x00, 0x38, 0x00, 0x38, 0x01, 0x00, 0x00, 415 0x00, 0x00, 0x00, 0x80, 0x10, 0x80, 0x13, 0x07, 0x20, 0x00, 0x25, 0x00, 416 0x20, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x80, 0x1F, 0x7C, 417 0x60, 0xD2, 0xC7, 0x00, 0x30, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 418 0x30, 0x80, 0x18, 0x20, 0xC0, 0xFF, 0x80, 0x01, 0x1C, 0x06, 0x00, 0x00, 419 0x00, 0x00, 0x00, 0x80, 0x30, 0x60, 0x32, 0x80, 0x83, 0x15, 0x00, 0xFF, 420 0x0D, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0x60, 0x5C, 0xF0, 421 0x02, 0x00, 0x40, 0x50, 0x1B, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 422 0x20, 0x20, 0xCE, 0x39, 0xC4, 0x00, 0x30, 0x88, 0x1F, 0x02, 0x00, 0x00, 423 0x00, 0x00, 0x00, 0x80, 0x20, 0x20, 0x23, 0x0F, 0x80, 0x01, 0x3C, 0x84, 424 0x1D, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0xA0, 0x81, 0x04, 425 0x00, 0x97, 0x07, 0x84, 0xED, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 426 0x20, 0xE0, 0x66, 0x86, 0x01, 0xFF, 0x00, 0xC8, 0xAF, 0x05, 0x00, 0x00, 427 0x00, 0x00, 0x00, 0x80, 0x20, 0x60, 0x0F, 0x72, 0xC7, 0xD9, 0x00, 0x44, 428 0x9C, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x20, 0xE0, 0x0F, 0x5C, 429 0x0C, 0x88, 0x00, 0x78, 0x96, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 430 0x60, 0xF0, 0x0F, 0x46, 0x18, 0x8C, 0x70, 0x10, 0x92, 0x04, 0x00, 0x00, 431 0x00, 0x00, 0x00, 0x80, 0x60, 0xF0, 0x07, 0x45, 0x38, 0xC4, 0xF9, 0x00, 432 0x92, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0xD8, 0x03, 0x45, 433 0x28, 0xC0, 0xFB, 0x00, 0x93, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 434 0x40, 0xD8, 0x83, 0x47, 0x28, 0xE0, 0xFF, 0x00, 0x91, 0x04, 0x00, 0x00, 435 0x00, 0x00, 0x00, 0x80, 0x40, 0x98, 0x80, 0xCD, 0x38, 0xE0, 0xFF, 0x00, 436 0x91, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x08, 0x40, 0xB9, 437 0x27, 0xC0, 0x7F, 0x00, 0x91, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 438 0x40, 0x08, 0x40, 0x10, 0x01, 0x80, 0x3F, 0xC0, 0x89, 0x04, 0x00, 0x00, 439 0x00, 0x00, 0x00, 0x80, 0x40, 0x18, 0x00, 0x08, 0x01, 0x00, 0x1F, 0x60, 440 0x49, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x18, 0x00, 0x00, 441 0x00, 0x00, 0x0E, 0x20, 0x49, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 442 0x40, 0x10, 0x00, 0x00, 0x00, 0x00, 0x04, 0x20, 0x49, 0x04, 0x00, 0x00, 443 0x00, 0x00, 0x00, 0x80, 0x40, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 444 0x49, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x40, 0x30, 0x00, 0x00, 445 0x00, 0x00, 0x00, 0x30, 0xD9, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 446 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0xF9, 0x05, 0x00, 0x00, 447 0x00, 0x00, 0x00, 0x80, 0x40, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 448 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x60, 0xC0, 0x00, 0x00, 449 0x00, 0x00, 0x00, 0x36, 0x01, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 450 0xE0, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x13, 0x41, 0x04, 0x00, 0x00, 451 0x00, 0x00, 0x00, 0x80, 0x20, 0xBF, 0x03, 0x00, 0x00, 0x00, 0x00, 0x11, 452 0x21, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xF0, 0x06, 0x00, 453 0x00, 0x00, 0xC0, 0x10, 0x38, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 454 0x00, 0xC0, 0x19, 0x00, 0x00, 0x00, 0x70, 0x10, 0x08, 0x04, 0x00, 0x00, 455 0x00, 0x00, 0x00, 0x80, 0x03, 0x80, 0x35, 0x00, 0x00, 0x00, 0x3E, 0x10, 456 0x08, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x00, 0xDE, 0x01, 457 0x00, 0xE0, 0x01, 0x20, 0x0C, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 458 0x3C, 0x00, 0xF0, 0x1E, 0x00, 0xFE, 0x00, 0x20, 0x0C, 0x02, 0x00, 0x00, 459 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x80, 0xFB, 0xFF, 0x07, 0x00, 0x60, 460 0x08, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x0E, 461 0x97, 0x01, 0x00, 0xC0, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 462 0x00, 0x0F, 0x00, 0x30, 0x81, 0x00, 0x00, 0x80, 0xC3, 0x00, 0x00, 0x00, 463 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x00, 0x60, 0xC1, 0x00, 0x00, 0x00, 464 0xAE, 0x00, 0x00, 0x00 465}; 466 467// Splash is the custom type used internally in GEM library for convenient way of storing XBM graphics of Splash screen 468const Splash partyFrame1 = {partyFrame1_width, partyFrame1_height, partyFrame1_bits}; 469const Splash partyFrame2 = {partyFrame2_width, partyFrame2_height, partyFrame2_bits}; 470const Splash partyFrame3 = {partyFrame3_width, partyFrame3_height, partyFrame3_bits}; 471const Splash partyFrame4 = {partyFrame4_width, partyFrame4_height, partyFrame4_bits}; 472const Splash partyFrame5 = {partyFrame5_width, partyFrame5_height, partyFrame5_bits}; 473 474const Splash frames[] = {partyFrame1, partyFrame2, partyFrame3, partyFrame4, partyFrame5}; 475
Downloadable files
Test Bench Breadboard (for U8g2 version of GEM)
Basic configuration that can be prepared in order to follow along with the examples provided with the library
Test Bench Breadboard (for U8g2 version of GEM)
Test Bench Schematic (for U8g2 version of GEM)
Basic configuration that can be prepared in order to follow along with the examples provided with the library
Test Bench Schematic (for U8g2 version of GEM)
Test Bench Breadboard (for U8g2 version of GEM)
Basic configuration that can be prepared in order to follow along with the examples provided with the library
Test Bench Breadboard (for U8g2 version of GEM)
Test Bench Schematic (for U8g2 version of GEM)
Basic configuration that can be prepared in order to follow along with the examples provided with the library
Test Bench Schematic (for U8g2 version of GEM)
Comments
Only logged in users can leave comments
Spirik
0 Followers
•0 Projects
Table of contents
Intro
2
0