// simple project using Arduino UNO and 128x64 SSD1306 IIC OLED Display to display 3D menu

// created by upir, 2024
// youtube channel: https://www.youtube.com/upir_upir

// YouTube video: https://youtu.be/uEkksez7qvE
// Source files: https://github.com/upiir/arduino_3d_menu_oled

// Links from the video:
// Transparent OLED display: https://s.click.aliexpress.com/e/_DFcuIwr
// 128x64 SSD1306 OLED Display 1.54": https://s.click.aliexpress.com/e/_DCYdWXb 
// 128x64 SSD1306 OLED Display 0.96": https://s.click.aliexpress.com/e/_DCKdvnh
// 128x64 SSD1306 OLED Display 2.42": https://s.click.aliexpress.com/e/_DFdMoTh
// Arduino UNO: https://s.click.aliexpress.com/e/_AXDw1h
// Arduino breadboard prototyping shield: https://s.click.aliexpress.com/e/_ApbCwx
// Breadboard wires: https://s.click.aliexpress.com/e/_DlVFl3H
// Image2cpp (convert array to image): https://javl.github.io/image2cpp/
// Photopea (online graphics editor like Photoshop): https://www.photopea.com/

// Related videos with Arduino UNO and 128x64 OLED screen:
// Projects with OLED display: https://www.youtube.com/playlist?list=PLjQRaMdk7pBZ1UV3IL5ol8Qc7R9k-kwXA
// Arduno Menu Project: https://youtu.be/HVHVkKt-ldc



#include <Arduino.h>
#include <U8g2lib.h> // u8g2 library is required for drawing graphics on the display
#include <Wire.h> // library requires for IIC communication

// select one of the page modes - 1 = 128x8px page size, smaller memory, slower, 2 = 128x16px page size, more memory, faster
U8G2_SSD1306_128X64_NONAME_2_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // [page buffer, size = 128 bytes] 
//U8G2_SSD1306_128X64_NONAME_1_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // [page buffer, size = 256 bytes] 


// images below are generated using the image2cpp website

// 'icon_cube_00', 32x32px
const unsigned char epd_bitmap_icon_cube_00 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xf0, 0x1f, 0x00, 
  0x00, 0xfc, 0x7c, 0x00, 0x00, 0xdf, 0xf0, 0x01, 0xc0, 0xc7, 0xc0, 0x03, 0xf0, 0xc1, 0x00, 0x0f, 
  0x7c, 0xc0, 0x00, 0x3e, 0x1c, 0xc0, 0x00, 0x38, 0x8c, 0xc1, 0x00, 0x33, 0x8c, 0xc1, 0x00, 0x33, 
  0x0c, 0xd8, 0x36, 0x30, 0x0c, 0xd8, 0x36, 0x30, 0x0c, 0xc0, 0x00, 0x30, 0x0c, 0xc0, 0x00, 0x30, 
  0x0c, 0xd8, 0x30, 0x30, 0x0c, 0xd8, 0x30, 0x30, 0x0c, 0xc0, 0x00, 0x30, 0x0c, 0xc0, 0x00, 0x30, 
  0x0c, 0xd8, 0x36, 0x30, 0x0c, 0xd8, 0x36, 0x30, 0x8c, 0xc1, 0x00, 0x33, 0x8c, 0xc1, 0x00, 0x33, 
  0x0c, 0xc0, 0x00, 0x38, 0x3c, 0xc0, 0x00, 0x3e, 0xf8, 0xc0, 0x00, 0x0f, 0xe0, 0xc3, 0xc0, 0x03, 
  0x80, 0xcf, 0xf0, 0x01, 0x00, 0xfe, 0x7c, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xe0, 0x07, 0x00
};
// 'icon_cube_01', 32x32px
const unsigned char epd_bitmap_icon_cube_01 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xf0, 0x1f, 0x00, 
  0x00, 0xfc, 0x7c, 0x00, 0x00, 0xdf, 0xf0, 0x01, 0xc0, 0xc7, 0xc0, 0x03, 0xf0, 0xc1, 0x00, 0x0f, 
  0x7c, 0xc0, 0x00, 0x3e, 0x1c, 0xc0, 0x00, 0x38, 0x8c, 0xc1, 0x00, 0x33, 0x8c, 0xc1, 0x00, 0x33, 
  0x0c, 0xd8, 0x36, 0x30, 0x0c, 0xd8, 0x36, 0x30, 0x0c, 0xc0, 0x00, 0x30, 0x0c, 0xc0, 0x00, 0x30, 
  0x0c, 0xd8, 0x30, 0x30, 0x0c, 0xd8, 0x30, 0x30, 0x0c, 0xc0, 0x00, 0x30, 0x0c, 0xc0, 0x00, 0x30, 
  0x0c, 0xd8, 0x36, 0x30, 0x0c, 0xd8, 0x36, 0x30, 0x8c, 0xc1, 0x00, 0x33, 0x8c, 0xc1, 0x00, 0x33, 
  0x1c, 0xc0, 0x00, 0x38, 0x3c, 0xc0, 0x00, 0x3e, 0xf8, 0xc0, 0x00, 0x0f, 0xe0, 0xc3, 0xc0, 0x03, 
  0x80, 0xcf, 0xf0, 0x01, 0x00, 0xfe, 0x7c, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xe0, 0x07, 0x00
};
// 'icon_cube_02', 32x32px
const unsigned char epd_bitmap_icon_cube_02 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 
  0x00, 0xf0, 0x1f, 0x00, 0x00, 0xfc, 0x7c, 0x00, 0x00, 0xdf, 0xf0, 0x01, 0xc0, 0xc7, 0xc0, 0x03, 
  0xf0, 0xc1, 0x00, 0x0f, 0x78, 0xc0, 0x00, 0x1e, 0x18, 0xc1, 0x00, 0x19, 0x18, 0xc1, 0x80, 0x19, 
  0x18, 0xd8, 0x16, 0x18, 0x18, 0xd8, 0x36, 0x18, 0x18, 0xc0, 0x00, 0x18, 0x18, 0xc0, 0x00, 0x18, 
  0x18, 0xd8, 0x30, 0x18, 0x18, 0xd8, 0x30, 0x18, 0x18, 0xc0, 0x00, 0x18, 0x18, 0xc0, 0x00, 0x18, 
  0x18, 0xd8, 0x36, 0x18, 0x18, 0xd0, 0x12, 0x18, 0x18, 0xc1, 0x80, 0x19, 0x18, 0xc0, 0x00, 0x1c, 
  0x78, 0xc0, 0x00, 0x1e, 0xf0, 0xc0, 0x00, 0x07, 0xc0, 0xc3, 0xc0, 0x01, 0x00, 0xcf, 0xf0, 0x00, 
  0x00, 0xfe, 0x7c, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_cube_04', 32x32px
const unsigned char epd_bitmap_icon_cube_04 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0xf8, 0x1e, 0x00, 0x00, 0xfc, 0x78, 0x00, 
  0x00, 0xcf, 0xe0, 0x00, 0xe0, 0xc3, 0x80, 0x07, 0xe0, 0xc0, 0x00, 0x07, 0x20, 0xc3, 0x80, 0x04, 
  0x20, 0xc2, 0x80, 0x04, 0x20, 0xd0, 0x1b, 0x04, 0x20, 0xc0, 0x00, 0x04, 0x20, 0xc0, 0x00, 0x04, 
  0x20, 0xd0, 0x18, 0x04, 0x20, 0xd0, 0x18, 0x04, 0x20, 0xc0, 0x00, 0x04, 0x20, 0xd0, 0x1a, 0x04, 
  0x20, 0xd0, 0x1a, 0x04, 0x20, 0xc3, 0xc0, 0x04, 0x20, 0xc0, 0x80, 0x06, 0xe0, 0xc0, 0x00, 0x07, 
  0xc0, 0xc3, 0xc0, 0x03, 0x80, 0xc7, 0xe0, 0x00, 0x00, 0xfc, 0x3c, 0x00, 0x00, 0xf0, 0x0f, 0x00, 
  0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_cube_03', 32x32px
const unsigned char epd_bitmap_icon_cube_03 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0xc0, 0x07, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0xfc, 0x7c, 0x00, 0x80, 0xcf, 0xe0, 0x01, 
  0xc0, 0xc3, 0x80, 0x03, 0xf0, 0xc0, 0x00, 0x0f, 0x30, 0xc0, 0x00, 0x0c, 0x30, 0xc3, 0x80, 0x0d, 
  0x30, 0xc0, 0x92, 0x0c, 0x30, 0xd8, 0x1e, 0x0c, 0x30, 0xc0, 0x00, 0x0c, 0x30, 0xc0, 0x00, 0x0c, 
  0x30, 0xd8, 0x18, 0x0c, 0x30, 0xd0, 0x10, 0x0c, 0x30, 0xc0, 0x00, 0x0c, 0x30, 0xc0, 0x12, 0x0c, 
  0x30, 0xd8, 0x1e, 0x0c, 0x30, 0xc3, 0x80, 0x0d, 0x30, 0xc3, 0x80, 0x0d, 0x30, 0xc0, 0x00, 0x0e, 
  0x70, 0xc0, 0x00, 0x0f, 0xe0, 0xc3, 0xc0, 0x03, 0x00, 0xcf, 0xf0, 0x00, 0x00, 0xfc, 0x3c, 0x00, 
  0x00, 0xf0, 0x0f, 0x00, 0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_cube_06', 32x32px
const unsigned char epd_bitmap_icon_cube_06 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x07, 0x00, 
  0x00, 0xf0, 0x0e, 0x00, 0x00, 0x8e, 0x70, 0x00, 0x80, 0x87, 0xc0, 0x01, 0xc0, 0x81, 0x80, 0x03, 
  0xc0, 0x86, 0x60, 0x03, 0xc0, 0x90, 0x09, 0x03, 0xc0, 0x90, 0x09, 0x03, 0xc0, 0x80, 0x00, 0x03, 
  0xc0, 0xb0, 0x08, 0x03, 0xc0, 0x80, 0x00, 0x03, 0xc0, 0x80, 0x00, 0x03, 0xc0, 0xb0, 0x0b, 0x03, 
  0xc0, 0x86, 0x40, 0x03, 0xc0, 0x80, 0x40, 0x03, 0xc0, 0x81, 0x80, 0x03, 0x00, 0x8e, 0x70, 0x00, 
  0x00, 0xfc, 0x3c, 0x00, 0x00, 0xf0, 0x0e, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_cube_05', 32x32px
const unsigned char epd_bitmap_icon_cube_05 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0xf8, 0x1c, 0x00, 
  0x00, 0xde, 0x78, 0x00, 0x00, 0xc7, 0xe0, 0x00, 0xe0, 0xc1, 0x80, 0x07, 0x60, 0xc0, 0x40, 0x06, 
  0x60, 0xc2, 0xc0, 0x06, 0x60, 0xd0, 0x1b, 0x06, 0x60, 0xc0, 0x08, 0x06, 0x60, 0xc0, 0x00, 0x06, 
  0x60, 0xd0, 0x18, 0x06, 0x60, 0xc0, 0x08, 0x06, 0x60, 0xc0, 0x00, 0x06, 0x60, 0xd0, 0x1b, 0x06, 
  0x60, 0xc0, 0x48, 0x06, 0x60, 0xc2, 0xc0, 0x06, 0xe0, 0xc0, 0x00, 0x07, 0xc0, 0xc3, 0xc0, 0x03, 
  0x00, 0xc7, 0xe0, 0x00, 0x00, 0xf8, 0x1c, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xc0, 0x03, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_cube_07', 32x32px
const unsigned char epd_bitmap_icon_cube_07 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 
  0x00, 0xe0, 0x07, 0x00, 0x00, 0xf0, 0x0c, 0x00, 0x00, 0x8c, 0x30, 0x00, 0x80, 0x83, 0xc0, 0x01, 
  0x80, 0x85, 0xa0, 0x01, 0x80, 0x81, 0xa0, 0x01, 0x80, 0x91, 0x89, 0x01, 0x80, 0x81, 0x80, 0x01, 
  0x80, 0xb1, 0x8c, 0x01, 0x80, 0x81, 0x80, 0x01, 0x80, 0x81, 0x80, 0x01, 0x80, 0x91, 0x89, 0x01, 
  0x80, 0x85, 0xa0, 0x01, 0x80, 0x83, 0xc0, 0x01, 0x00, 0x8e, 0x70, 0x00, 0x00, 0xdc, 0x38, 0x00, 
  0x00, 0xf0, 0x0e, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_cube_08', 32x32px
const unsigned char epd_bitmap_icon_cube_08 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x80, 0x01, 0x00, 0x00, 0xe0, 0x06, 0x00, 0x00, 0x9c, 0x38, 0x00, 0x00, 0x87, 0xe0, 0x00, 
  0x00, 0x83, 0xc0, 0x00, 0x00, 0x85, 0xa0, 0x00, 0x00, 0xa1, 0x85, 0x00, 0x00, 0x81, 0x80, 0x00, 
  0x00, 0xa1, 0x84, 0x00, 0x00, 0x81, 0x80, 0x00, 0x00, 0xa1, 0x85, 0x00, 0x00, 0x81, 0x80, 0x00, 
  0x00, 0x87, 0xe0, 0x00, 0x00, 0x83, 0xc0, 0x00, 0x00, 0x9c, 0x38, 0x00, 0x00, 0xf0, 0x0e, 0x00, 
  0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_cube_09', 32x32px
const unsigned char epd_bitmap_icon_cube_09 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0xe0, 0x06, 0x00, 0x00, 0x98, 0x18, 0x00, 
  0x00, 0x86, 0x60, 0x00, 0x00, 0x8a, 0x50, 0x00, 0x00, 0xa2, 0x45, 0x00, 0x00, 0x82, 0x40, 0x00, 
  0x00, 0xa2, 0x44, 0x00, 0x00, 0x82, 0x40, 0x00, 0x00, 0xa2, 0x45, 0x00, 0x00, 0x8a, 0x50, 0x00, 
  0x00, 0x86, 0x60, 0x00, 0x00, 0x98, 0x18, 0x00, 0x00, 0xe0, 0x06, 0x00, 0x00, 0x80, 0x01, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_cube_10', 16x16px
const unsigned char epd_bitmap_icon_cube_10 [] PROGMEM = {
  0x00, 0x00, 0x80, 0x01, 0xe0, 0x06, 0x98, 0x18, 0x86, 0x60, 0x8a, 0x50, 0xa2, 0x45, 0x82, 0x40, 
  0xa2, 0x44, 0x82, 0x40, 0xa2, 0x45, 0x8a, 0x50, 0x86, 0x60, 0x98, 0x18, 0xe0, 0x06, 0x80, 0x01
};
// 'icon_gauge_00', 32x32px
const unsigned char epd_bitmap_icon_gauge_00 [] PROGMEM = {
  0x00, 0xf0, 0x0f, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x80, 0x1f, 0xf8, 0x01, 0xc0, 0x03, 0xc0, 0x03, 
  0xe0, 0x80, 0x20, 0x07, 0x70, 0x80, 0x10, 0x0e, 0x38, 0x00, 0x00, 0x1c, 0x9c, 0x01, 0x00, 0x38, 
  0x8c, 0x03, 0x00, 0x32, 0x0e, 0x07, 0x00, 0x71, 0x06, 0x0e, 0x00, 0x60, 0x06, 0x1c, 0x00, 0x60, 
  0x07, 0xf8, 0x03, 0xe0, 0x03, 0xf0, 0x07, 0xc0, 0x03, 0x70, 0x0e, 0xc0, 0x33, 0x30, 0x0c, 0xcc, 
  0x03, 0x30, 0x0c, 0xc0, 0x03, 0x70, 0x0e, 0xc0, 0x03, 0xe0, 0x07, 0xc0, 0x07, 0xc0, 0x03, 0xe0, 
  0x26, 0x00, 0x00, 0x64, 0x16, 0x00, 0x00, 0x68, 0x0e, 0x00, 0x00, 0x70, 0x0c, 0x00, 0x00, 0x30, 
  0x1c, 0xf2, 0x4f, 0x38, 0x38, 0xf1, 0x8f, 0x1c, 0x70, 0xf0, 0x0f, 0x0e, 0xe0, 0xc0, 0x03, 0x07, 
  0xc0, 0x03, 0xc0, 0x03, 0x80, 0x1f, 0xf8, 0x01, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0xf0, 0x0f, 0x00
};
// 'icon_gauge_01', 32x32px
const unsigned char epd_bitmap_icon_gauge_01 [] PROGMEM = {
  0x00, 0xf0, 0x0f, 0x00, 0x00, 0xfe, 0x7f, 0x00, 0x80, 0x1f, 0xf8, 0x01, 0xc0, 0x03, 0xc0, 0x03, 
  0xe0, 0x80, 0x20, 0x07, 0x70, 0x80, 0x10, 0x0e, 0x38, 0x00, 0x00, 0x1c, 0x9c, 0x01, 0x00, 0x38, 
  0x8c, 0x03, 0x00, 0x32, 0x0e, 0x07, 0x00, 0x71, 0x06, 0x0e, 0x00, 0x60, 0x06, 0x1c, 0x00, 0x60, 
  0x07, 0xf8, 0x03, 0xe0, 0x03, 0xf0, 0x07, 0xc0, 0x03, 0x70, 0x0e, 0xc0, 0x33, 0x30, 0x0c, 0xcc, 
  0x03, 0x30, 0x0c, 0xc0, 0x03, 0x70, 0x0e, 0xc0, 0x03, 0xe0, 0x07, 0xc0, 0x07, 0xc0, 0x03, 0xe0, 
  0x26, 0x00, 0x00, 0x64, 0x16, 0x00, 0x00, 0x68, 0x0e, 0x00, 0x00, 0x70, 0x0c, 0x00, 0x00, 0x30, 
  0x1c, 0xf2, 0x4f, 0x38, 0x38, 0xf1, 0x8f, 0x1c, 0x70, 0xf0, 0x0f, 0x0e, 0xe0, 0xc0, 0x03, 0x07, 
  0xc0, 0x03, 0xc0, 0x03, 0x80, 0x1f, 0xf8, 0x01, 0x00, 0xfe, 0x7f, 0x00, 0x00, 0xf0, 0x0f, 0x00
};
// 'icon_gauge_02', 32x32px
const unsigned char epd_bitmap_icon_gauge_02 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0x1f, 0xf8, 0x00, 
  0x80, 0x03, 0xc0, 0x01, 0xc0, 0x80, 0x00, 0x03, 0x60, 0x80, 0x00, 0x06, 0x30, 0x00, 0x00, 0x0c, 
  0x18, 0x03, 0x00, 0x18, 0x18, 0x07, 0x00, 0x19, 0x0c, 0x0e, 0x00, 0x30, 0x0c, 0x1c, 0x00, 0x30, 
  0x0e, 0xf8, 0x03, 0x70, 0x06, 0xf0, 0x07, 0x60, 0x06, 0x70, 0x0e, 0x60, 0x66, 0x30, 0x0c, 0x66, 
  0x06, 0x30, 0x0c, 0x60, 0x06, 0x70, 0x0e, 0x60, 0x06, 0xe0, 0x07, 0x60, 0x0e, 0xc0, 0x03, 0x70, 
  0x0c, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00, 0x30, 0x18, 0x00, 0x00, 0x18, 0x18, 0xe0, 0x07, 0x18, 
  0x30, 0xf2, 0x4f, 0x0c, 0x60, 0xf0, 0x0f, 0x06, 0xc0, 0xc0, 0x03, 0x03, 0x80, 0x03, 0xc0, 0x01, 
  0x00, 0x1f, 0xf8, 0x00, 0x00, 0xfc, 0x3f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gauge_03', 32x32px
const unsigned char epd_bitmap_icon_gauge_03 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0xfc, 0x3f, 0x00, 
  0x00, 0x1f, 0xf8, 0x00, 0x80, 0x03, 0xe0, 0x01, 0xc0, 0x80, 0x10, 0x03, 0xe0, 0x00, 0x00, 0x06, 
  0x30, 0x03, 0x00, 0x0c, 0x30, 0x07, 0x00, 0x0d, 0x18, 0x0e, 0x80, 0x18, 0x18, 0x1c, 0x00, 0x18, 
  0x1c, 0x38, 0x00, 0x38, 0x0c, 0xf0, 0x03, 0x30, 0x0c, 0x60, 0x06, 0x30, 0x4c, 0x20, 0x04, 0x32, 
  0x0c, 0x20, 0x04, 0x30, 0x0c, 0x60, 0x06, 0x30, 0x0c, 0xc0, 0x03, 0x30, 0x1c, 0x00, 0x00, 0x38, 
  0x58, 0x00, 0x00, 0x1a, 0x38, 0x00, 0x00, 0x1c, 0x30, 0x00, 0x00, 0x0c, 0x30, 0xe4, 0x27, 0x0c, 
  0x60, 0xe2, 0x47, 0x06, 0xc0, 0xe0, 0x07, 0x03, 0x80, 0x03, 0xc0, 0x01, 0x00, 0x1f, 0xf8, 0x00, 
  0x00, 0xfc, 0x3f, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gauge_04', 32x32px
const unsigned char epd_bitmap_icon_gauge_04 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 
  0x00, 0xfc, 0x3f, 0x00, 0x00, 0x07, 0xe0, 0x00, 0x80, 0x81, 0x90, 0x01, 0xc0, 0x80, 0x08, 0x03, 
  0x60, 0x00, 0x00, 0x06, 0x20, 0x06, 0x00, 0x04, 0x30, 0x06, 0x80, 0x0c, 0x10, 0x18, 0x00, 0x08, 
  0x18, 0x38, 0x00, 0x18, 0x18, 0xf0, 0x03, 0x18, 0x18, 0x60, 0x06, 0x18, 0xd8, 0x20, 0x04, 0x1b, 
  0x18, 0x20, 0x04, 0x18, 0x18, 0x60, 0x06, 0x18, 0x18, 0xc0, 0x03, 0x18, 0x98, 0x00, 0x00, 0x19, 
  0x50, 0x00, 0x00, 0x0a, 0x30, 0x00, 0x00, 0x0c, 0x20, 0xe0, 0x07, 0x04, 0x60, 0xe4, 0x27, 0x06, 
  0xc0, 0xe0, 0x07, 0x03, 0x80, 0xc1, 0x83, 0x01, 0x00, 0x07, 0xe0, 0x00, 0x00, 0xfc, 0x3f, 0x00, 
  0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gauge_05', 32x32px
const unsigned char epd_bitmap_icon_gauge_05 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0xf0, 0x0f, 0x00, 0x00, 0x3c, 0x3c, 0x00, 0x00, 0x0e, 0x70, 0x00, 0x80, 0x81, 0x88, 0x01, 
  0x80, 0x01, 0x80, 0x01, 0x40, 0x02, 0x00, 0x02, 0x60, 0x0c, 0x40, 0x06, 0x60, 0x1c, 0x00, 0x06, 
  0x30, 0x18, 0x00, 0x0c, 0x30, 0xe0, 0x03, 0x0c, 0x10, 0xe0, 0x07, 0x08, 0x90, 0x60, 0x06, 0x09, 
  0x30, 0x60, 0x06, 0x0c, 0x10, 0xe0, 0x07, 0x08, 0x30, 0xc0, 0x03, 0x0c, 0xb0, 0x00, 0x00, 0x0d, 
  0x60, 0x00, 0x00, 0x06, 0x60, 0x00, 0x00, 0x06, 0x40, 0xe4, 0x27, 0x02, 0x80, 0xe1, 0x87, 0x01, 
  0x80, 0xe1, 0x87, 0x01, 0x00, 0x0e, 0x70, 0x00, 0x00, 0x3c, 0x3c, 0x00, 0x00, 0xf0, 0x0f, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gauge_06', 32x32px
const unsigned char epd_bitmap_icon_gauge_06 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x3c, 0x3c, 0x00, 0x00, 0x0e, 0x70, 0x00, 
  0x00, 0x81, 0x88, 0x00, 0x80, 0x02, 0x00, 0x01, 0xc0, 0x04, 0x00, 0x03, 0xc0, 0x08, 0x40, 0x03, 
  0x60, 0x10, 0x00, 0x06, 0x60, 0xe0, 0x01, 0x06, 0x20, 0xe0, 0x03, 0x04, 0x20, 0x61, 0x86, 0x04, 
  0x20, 0x60, 0x06, 0x04, 0x20, 0xc0, 0x03, 0x04, 0x60, 0x80, 0x01, 0x06, 0x60, 0x01, 0x80, 0x06, 
  0xc0, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x03, 0x80, 0xe8, 0x17, 0x01, 0x00, 0xe1, 0x87, 0x00, 
  0x00, 0x0e, 0x70, 0x00, 0x00, 0x3c, 0x3c, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gauge_07', 32x32px
const unsigned char epd_bitmap_icon_gauge_07 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x0c, 0x30, 0x00, 
  0x00, 0x06, 0x68, 0x00, 0x00, 0x83, 0xc0, 0x00, 0x80, 0x05, 0x80, 0x01, 0x80, 0x08, 0x20, 0x01, 
  0x40, 0x10, 0x00, 0x02, 0x40, 0xe0, 0x01, 0x02, 0x40, 0xe0, 0x01, 0x02, 0x40, 0x62, 0x46, 0x02, 
  0x40, 0x60, 0x06, 0x02, 0x40, 0x80, 0x01, 0x02, 0x40, 0x80, 0x01, 0x02, 0x40, 0x01, 0x80, 0x02, 
  0x80, 0x00, 0x00, 0x01, 0x80, 0xc9, 0x93, 0x01, 0x00, 0xe3, 0xc7, 0x00, 0x00, 0x86, 0x61, 0x00, 
  0x00, 0x0c, 0x30, 0x00, 0x00, 0xf0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gauge_08', 32x32px
const unsigned char epd_bitmap_icon_gauge_08 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x07, 0x00, 
  0x00, 0x1c, 0x38, 0x00, 0x00, 0x82, 0x44, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x09, 0x80, 0x00, 
  0x00, 0x11, 0x80, 0x00, 0x80, 0x20, 0x00, 0x01, 0x80, 0xc0, 0x01, 0x01, 0x80, 0x42, 0x42, 0x01, 
  0x80, 0x40, 0x02, 0x01, 0x80, 0x80, 0x01, 0x01, 0x80, 0x02, 0x40, 0x01, 0x00, 0x01, 0x80, 0x00, 
  0x00, 0x01, 0x80, 0x00, 0x00, 0xc1, 0x83, 0x00, 0x00, 0xc2, 0x43, 0x00, 0x00, 0x1c, 0x38, 0x00, 
  0x00, 0xe0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gauge_09', 32x32px
const unsigned char epd_bitmap_icon_gauge_09 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0xe0, 0x07, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x84, 0x24, 0x00, 0x00, 0x0a, 0x40, 0x00, 
  0x00, 0x12, 0x50, 0x00, 0x00, 0x21, 0x80, 0x00, 0x00, 0xc1, 0x81, 0x00, 0x00, 0x45, 0xa2, 0x00, 
  0x00, 0x41, 0x82, 0x00, 0x00, 0x81, 0x81, 0x00, 0x00, 0x05, 0xa0, 0x00, 0x00, 0x02, 0x40, 0x00, 
  0x00, 0xd2, 0x4b, 0x00, 0x00, 0xc4, 0x23, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0xe0, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gauge_10', 16x16px
const unsigned char epd_bitmap_icon_gauge_10 [] PROGMEM = {
  0xe0, 0x07, 0x18, 0x18, 0x84, 0x24, 0x0a, 0x40, 0x12, 0x50, 0x21, 0x80, 0xc1, 0x81, 0x45, 0xa2, 
  0x41, 0x82, 0x81, 0x81, 0x05, 0xa0, 0x02, 0x40, 0xd2, 0x4b, 0xc4, 0x23, 0x18, 0x18, 0xe0, 0x07
};
// 'icon_gps_00', 32x32px
const unsigned char epd_bitmap_icon_gps_00 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xf0, 0xff, 0x01, 
  0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x0e, 0x00, 0xc0, 0x1f, 0x0c, 0x00, 0xc0, 0x7f, 0x18, 
  0x00, 0x00, 0xc0, 0x18, 0x00, 0x00, 0x80, 0x31, 0x00, 0x00, 0x0f, 0x31, 0x00, 0x00, 0x1f, 0x33, 
  0x00, 0x1c, 0x38, 0x33, 0x00, 0x3c, 0x30, 0x33, 0x00, 0x7c, 0x30, 0x33, 0x00, 0xfc, 0x30, 0x33, 
  0x00, 0xfc, 0x01, 0x33, 0x00, 0xfc, 0x03, 0x33, 0x00, 0xfc, 0x07, 0x30, 0x00, 0xfc, 0x0f, 0x30, 
  0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 
  0x80, 0x7f, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x60, 0x80, 0x01, 0x00, 0x30, 0x00, 0x03, 0x00, 
  0xf8, 0xff, 0x07, 0x00, 0xfc, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_01', 32x32px
const unsigned char epd_bitmap_icon_gps_01 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, 0x00, 0x00, 0xf0, 0xff, 0x01, 
  0x00, 0x00, 0x80, 0x07, 0x00, 0x00, 0x00, 0x0e, 0x00, 0xc0, 0x1f, 0x0c, 0x00, 0xc0, 0x7f, 0x18, 
  0x00, 0x00, 0xc0, 0x18, 0x00, 0x00, 0x80, 0x31, 0x00, 0x00, 0x0f, 0x31, 0x00, 0x00, 0x1f, 0x33, 
  0x00, 0x1c, 0x38, 0x33, 0x00, 0x3c, 0x30, 0x33, 0x00, 0x7c, 0x30, 0x33, 0x00, 0xfc, 0x30, 0x33, 
  0x00, 0xfc, 0x01, 0x33, 0x00, 0xfc, 0x03, 0x33, 0x00, 0xfc, 0x07, 0x30, 0x00, 0xfc, 0x0f, 0x30, 
  0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 
  0x80, 0x7f, 0x00, 0x00, 0xc0, 0xff, 0x00, 0x00, 0x60, 0x80, 0x01, 0x00, 0x70, 0x00, 0x03, 0x00, 
  0xf8, 0xff, 0x07, 0x00, 0xf8, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_02', 32x32px
const unsigned char epd_bitmap_icon_gps_02 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f, 0x00, 
  0x00, 0xf0, 0xff, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x07, 0x00, 0xc0, 0x1f, 0x06, 
  0x00, 0xc0, 0x7f, 0x0c, 0x00, 0x00, 0xc0, 0x18, 0x00, 0x00, 0x87, 0x18, 0x00, 0x00, 0x8f, 0x19, 
  0x00, 0x18, 0x98, 0x19, 0x00, 0x3c, 0xb0, 0x19, 0x00, 0x7c, 0xb0, 0x19, 0x00, 0xfc, 0xb0, 0x19, 
  0x00, 0xfc, 0x81, 0x19, 0x00, 0xfc, 0x83, 0x19, 0x00, 0xfc, 0x07, 0x18, 0x00, 0xfc, 0x0f, 0x18, 
  0x00, 0xfc, 0x0f, 0x00, 0x00, 0xfc, 0x07, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 
  0x80, 0xff, 0x00, 0x00, 0xc0, 0x80, 0x01, 0x00, 0x60, 0x00, 0x03, 0x00, 0xf0, 0xff, 0x07, 0x00, 
  0xf8, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_05', 32x32px
const unsigned char epd_bitmap_icon_gps_05 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0x00, 0xc0, 0x00, 
  0x00, 0x80, 0x87, 0x01, 0x00, 0xc0, 0x1f, 0x01, 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x47, 0x06, 
  0x00, 0x00, 0x47, 0x06, 0x00, 0x38, 0xd8, 0x06, 0x00, 0x78, 0xd8, 0x06, 0x00, 0xf8, 0xd8, 0x06, 
  0x00, 0xf8, 0xc1, 0x06, 0x00, 0xf8, 0x43, 0x06, 0x00, 0xf8, 0x07, 0x06, 0x00, 0xf8, 0x07, 0x00, 
  0x00, 0xf8, 0x07, 0x00, 0x00, 0x2c, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 
  0x80, 0x01, 0x01, 0x00, 0xc0, 0xff, 0x07, 0x00, 0xc0, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_03', 32x32px
const unsigned char epd_bitmap_icon_gps_03 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0xf0, 0x7f, 0x00, 0x00, 0xe0, 0xff, 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0xc0, 0x0f, 0x02, 
  0x00, 0xc0, 0x3f, 0x06, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x8f, 0x0c, 
  0x00, 0x18, 0x9f, 0x0d, 0x00, 0x38, 0x98, 0x0d, 0x00, 0x78, 0x98, 0x0d, 0x00, 0xf8, 0x98, 0x0d, 
  0x00, 0xf8, 0x81, 0x0d, 0x00, 0xf8, 0x83, 0x0d, 0x00, 0xf8, 0x07, 0x0c, 0x00, 0xf8, 0x0f, 0x08, 
  0x00, 0xf8, 0x0f, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x36, 0x00, 0x00, 0x00, 0x7f, 0x00, 0x00, 
  0x80, 0xff, 0x00, 0x00, 0xc0, 0x00, 0x01, 0x00, 0xe0, 0xff, 0x03, 0x00, 0xf0, 0xff, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_04', 32x32px
const unsigned char epd_bitmap_icon_gps_04 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0x01, 0x00, 0x00, 0x80, 0x03, 
  0x00, 0xc0, 0x1f, 0x03, 0x00, 0x80, 0x3f, 0x06, 0x00, 0x00, 0x60, 0x04, 0x00, 0x00, 0xc7, 0x04, 
  0x00, 0x00, 0xcf, 0x04, 0x00, 0x38, 0xd8, 0x04, 0x00, 0x78, 0xd8, 0x04, 0x00, 0xf8, 0xd8, 0x04, 
  0x00, 0xf8, 0xc1, 0x04, 0x00, 0xf8, 0x83, 0x04, 0x00, 0xf8, 0x07, 0x04, 0x00, 0xf8, 0x07, 0x00, 
  0x00, 0xf8, 0x07, 0x00, 0x00, 0x3c, 0x00, 0x00, 0x00, 0x7e, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, 
  0x80, 0x81, 0x01, 0x00, 0xc0, 0x00, 0x03, 0x00, 0xe0, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_06', 32x32px
const unsigned char epd_bitmap_icon_gps_06 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 
  0x00, 0x00, 0x60, 0x00, 0x00, 0x80, 0x8f, 0x00, 0x00, 0x80, 0x9f, 0x01, 0x00, 0x00, 0x30, 0x03, 
  0x00, 0x00, 0x67, 0x03, 0x00, 0x30, 0x6c, 0x03, 0x00, 0x70, 0x68, 0x03, 0x00, 0xf0, 0x68, 0x03, 
  0x00, 0xf0, 0x61, 0x03, 0x00, 0xf0, 0x03, 0x03, 0x00, 0xf0, 0x07, 0x03, 0x00, 0xf0, 0x07, 0x00, 
  0x00, 0x68, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 
  0x80, 0xff, 0x03, 0x00, 0x80, 0xff, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_07', 32x32px
const unsigned char epd_bitmap_icon_gps_07 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x1f, 0x00, 
  0x00, 0xc0, 0x3f, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x80, 0xcf, 0x00, 0x00, 0x00, 0x90, 0x01, 
  0x00, 0x00, 0xa3, 0x01, 0x00, 0x20, 0xa7, 0x01, 0x00, 0x70, 0xac, 0x01, 0x00, 0xf0, 0xac, 0x01, 
  0x00, 0xf0, 0xa1, 0x01, 0x00, 0xf0, 0x83, 0x01, 0x00, 0xf0, 0x07, 0x00, 0x00, 0xf0, 0x03, 0x00, 
  0x00, 0x68, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xff, 0x03, 0x00, 
  0x80, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_08', 32x32px
const unsigned char epd_bitmap_icon_gps_08 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0xc0, 0x1f, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x80, 0x47, 0x00, 0x00, 0x00, 0xc8, 0x00, 
  0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0xa3, 0x00, 0x00, 0x60, 0xa4, 0x00, 0x00, 0xe0, 0xa4, 0x00, 
  0x00, 0xe0, 0xa1, 0x00, 0x00, 0xe0, 0x83, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x70, 0x00, 0x00, 
  0x00, 0x78, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0xff, 0x03, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_09', 32x32px
const unsigned char epd_bitmap_icon_gps_09 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x80, 0x27, 0x00, 
  0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x53, 0x00, 0x00, 0x60, 0x54, 0x00, 0x00, 0xe0, 0x54, 0x00, 
  0x00, 0xe0, 0x51, 0x00, 0x00, 0xe0, 0x43, 0x00, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x50, 0x00, 0x00, 
  0x00, 0xf8, 0x00, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0xfe, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_gps_10', 16x16px
const unsigned char epd_bitmap_icon_gps_10 [] PROGMEM = {
  0x00, 0x00, 0xc0, 0x0f, 0x00, 0x10, 0x80, 0x27, 0x00, 0x48, 0x00, 0x53, 0x60, 0x54, 0xe0, 0x54, 
  0xe0, 0x51, 0xe0, 0x43, 0xe0, 0x03, 0x50, 0x00, 0xf8, 0x00, 0x04, 0x01, 0xfe, 0x03, 0x00, 0x00
};
// 'icon_park_00', 32x32px
const unsigned char epd_bitmap_icon_park_00 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x00, 
  0x30, 0x30, 0x00, 0x00, 0x30, 0x70, 0x00, 0x00, 0x30, 0xd8, 0x00, 0x00, 0x30, 0xcc, 0x00, 0x00, 
  0xff, 0xc7, 0x01, 0x00, 0xff, 0x83, 0x01, 0x60, 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x03, 0xc6, 
  0x00, 0x0f, 0x03, 0xc6, 0x80, 0x1f, 0x63, 0xcc, 0xc0, 0x39, 0x63, 0xcc, 0xc0, 0x30, 0xc3, 0xcc, 
  0xcf, 0x30, 0xc3, 0xcc, 0xcf, 0x39, 0x63, 0xcc, 0x80, 0x1f, 0x60, 0xcc, 0x00, 0x0f, 0x00, 0xc6, 
  0x00, 0x00, 0x00, 0xc6, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_01', 32x32px
const unsigned char epd_bitmap_icon_park_01 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xff, 0x1f, 0x00, 0x00, 
  0x30, 0x30, 0x00, 0x00, 0x30, 0x70, 0x00, 0x00, 0x30, 0xd8, 0x00, 0x00, 0x30, 0xcc, 0x00, 0x00, 
  0xff, 0xc7, 0x01, 0x00, 0xff, 0x83, 0x01, 0x60, 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x03, 0xc6, 
  0x00, 0x0f, 0x03, 0xc6, 0x80, 0x1f, 0x63, 0xcc, 0xc0, 0x39, 0x63, 0xcc, 0xc0, 0x30, 0xc3, 0xcc, 
  0xcf, 0x30, 0xc3, 0xcc, 0xcf, 0x39, 0x63, 0xcc, 0x80, 0x1f, 0x60, 0xcc, 0x00, 0x0f, 0x00, 0xc6, 
  0x00, 0x00, 0x00, 0xe6, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_02', 32x32px
const unsigned char epd_bitmap_icon_park_02 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 
  0xfe, 0x3f, 0x00, 0x00, 0x60, 0x70, 0x00, 0x00, 0x60, 0xf0, 0x00, 0x00, 0x60, 0xd8, 0x00, 0x00, 
  0xfe, 0xcf, 0x01, 0x00, 0xfe, 0x87, 0x01, 0x30, 0x00, 0x00, 0x03, 0x30, 0x00, 0x00, 0x03, 0x63, 
  0x00, 0x0f, 0x03, 0x63, 0x00, 0x1f, 0x23, 0x66, 0x80, 0x31, 0x63, 0x66, 0x80, 0x31, 0x43, 0x66, 
  0x9e, 0x31, 0x63, 0x66, 0x9e, 0x3b, 0x63, 0x66, 0x00, 0x1f, 0x00, 0x66, 0x00, 0x00, 0x00, 0x63, 
  0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_03', 32x32px
const unsigned char epd_bitmap_icon_park_03 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x0f, 0x00, 0x00, 
  0xfc, 0x1f, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0x60, 0x70, 0x00, 0x00, 0x60, 0xd8, 0x00, 0x00, 
  0xfc, 0xcf, 0x00, 0x00, 0xfc, 0x87, 0x01, 0x10, 0x00, 0x00, 0x03, 0x18, 0x00, 0x00, 0x03, 0x31, 
  0x00, 0x1e, 0x03, 0x33, 0x00, 0x3f, 0x33, 0x36, 0x80, 0x31, 0x63, 0x36, 0x9c, 0x31, 0x63, 0x36, 
  0xbc, 0x31, 0x63, 0x36, 0x00, 0x3f, 0x30, 0x36, 0x00, 0x1e, 0x00, 0x33, 0x00, 0x00, 0x00, 0x31, 
  0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_04', 32x32px
const unsigned char epd_bitmap_icon_park_04 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0xf8, 0x1f, 0x00, 0x00, 0xf8, 0x3f, 0x00, 0x00, 0xc0, 0x60, 0x00, 0x00, 0xc0, 0xd0, 0x00, 0x00, 
  0xc0, 0xd8, 0x00, 0x00, 0xf8, 0x87, 0x01, 0x00, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x03, 0x19, 
  0x00, 0x1e, 0x03, 0x19, 0x00, 0x3f, 0x33, 0x1b, 0x00, 0x23, 0x23, 0x1b, 0x38, 0x23, 0x63, 0x1b, 
  0x38, 0x33, 0x33, 0x1b, 0x00, 0x1e, 0x00, 0x1b, 0x00, 0x0c, 0x00, 0x19, 0x00, 0x00, 0x00, 0x18, 
  0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_05', 32x32px
const unsigned char epd_bitmap_icon_park_05 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0xf0, 0x1f, 0x00, 0x00, 0xf0, 0x1f, 0x00, 0x00, 0x80, 0x61, 0x00, 0x00, 0x80, 0xe1, 0x00, 0x00, 
  0x80, 0xd1, 0x00, 0x00, 0xf0, 0x8f, 0x00, 0x00, 0xf0, 0x07, 0x01, 0x04, 0x00, 0x00, 0x03, 0x0c, 
  0x00, 0x1c, 0x83, 0x0d, 0x00, 0x3e, 0x93, 0x0d, 0x00, 0x63, 0xb3, 0x0d, 0x70, 0x63, 0xb3, 0x0d, 
  0x70, 0x3e, 0x91, 0x0d, 0x00, 0x1c, 0x80, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x04, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_06', 32x32px
const unsigned char epd_bitmap_icon_park_06 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0xe0, 0x1f, 0x00, 0x00, 0xe0, 0x3f, 0x00, 0x00, 0x00, 0x61, 0x00, 0x00, 
  0x00, 0x91, 0x00, 0x00, 0xe0, 0x8f, 0x00, 0x00, 0xe0, 0x8f, 0x01, 0x00, 0x00, 0x00, 0x01, 0x04, 
  0x00, 0x1c, 0x81, 0x04, 0x00, 0x36, 0x91, 0x04, 0x00, 0x66, 0xb1, 0x04, 0xe0, 0x66, 0x91, 0x04, 
  0x00, 0x3c, 0x80, 0x04, 0x00, 0x18, 0x80, 0x04, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_08', 32x32px
const unsigned char epd_bitmap_icon_park_08 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00, 0x00, 0x66, 0x00, 0x00, 
  0x00, 0x62, 0x00, 0x00, 0x00, 0xb6, 0x00, 0x00, 0x80, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 
  0x00, 0x38, 0x41, 0x01, 0x00, 0x4c, 0x49, 0x01, 0x80, 0x45, 0x59, 0x01, 0x00, 0x38, 0x40, 0x01, 
  0x00, 0x10, 0x40, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_07', 32x32px
const unsigned char epd_bitmap_icon_park_07 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x3f, 0x00, 0x00, 0x00, 0x63, 0x00, 0x00, 
  0x00, 0xb3, 0x00, 0x00, 0xc0, 0x9f, 0x00, 0x00, 0xc0, 0x8f, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 
  0x00, 0x38, 0xc1, 0x02, 0x00, 0x64, 0xd1, 0x02, 0xc0, 0x64, 0xd1, 0x02, 0xc0, 0x64, 0xd1, 0x02, 
  0x00, 0x38, 0xc0, 0x02, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_09', 32x32px
const unsigned char epd_bitmap_icon_park_09 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 
  0x00, 0x44, 0x00, 0x00, 0x00, 0xa4, 0x00, 0x00, 0x00, 0x9f, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, 
  0x00, 0x30, 0xa1, 0x00, 0x00, 0x48, 0xa9, 0x00, 0x00, 0x4b, 0xa9, 0x00, 0x00, 0x30, 0xa0, 0x00, 
  0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_park_10', 16x16px
const unsigned char epd_bitmap_icon_park_10 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3f, 0x00, 0x44, 0x00, 0xa4, 0x00, 0x9f, 0x00, 0x00, 0x81, 
  0x30, 0xa1, 0x48, 0xa9, 0x4b, 0xa9, 0x30, 0xa0, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_turbo_00', 32x32px
const unsigned char epd_bitmap_icon_turbo_00 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x80, 0x7f, 0x00, 0xf8, 0xff, 0xe1, 0x00, 0xff, 0xff, 0xc0, 
  0x80, 0x0f, 0x00, 0xc0, 0xe0, 0x01, 0x00, 0xc0, 0xf0, 0x00, 0x00, 0xc0, 0x38, 0x00, 0x00, 0xc0, 
  0x18, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, 0xc0, 0x0e, 0xf0, 0xff, 0xc0, 0x06, 0xf8, 0xff, 0xe1, 
  0x06, 0x1c, 0x8e, 0x7f, 0x07, 0x1e, 0x1e, 0x3f, 0x03, 0x3f, 0x3f, 0x00, 0x03, 0xf3, 0x33, 0x00, 
  0x03, 0xe3, 0x31, 0x30, 0x03, 0xe3, 0x31, 0x30, 0x03, 0xf3, 0x33, 0x30, 0x03, 0x3f, 0x3f, 0x30, 
  0x07, 0x1e, 0x1e, 0x38, 0x06, 0x1c, 0x0e, 0x18, 0x06, 0xf8, 0x07, 0x18, 0x0e, 0xf0, 0x03, 0x1c, 
  0x1c, 0x00, 0x00, 0x0e, 0x18, 0x00, 0x00, 0x06, 0x38, 0x00, 0x00, 0x07, 0xf0, 0x00, 0xc0, 0x03, 
  0xe0, 0x01, 0xe0, 0x01, 0x80, 0x0f, 0x7c, 0x00, 0x00, 0xff, 0x3f, 0x00, 0x00, 0xf8, 0x07, 0x00
};
// 'icon_turbo_02', 32x32px
const unsigned char epd_bitmap_icon_turbo_02 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x1f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0xf8, 0xff, 0x70, 
  0x00, 0xfe, 0x7f, 0x60, 0x80, 0x0f, 0x00, 0x60, 0xc0, 0x01, 0x00, 0x60, 0xe0, 0x00, 0x00, 0x60, 
  0x30, 0x00, 0x00, 0x60, 0x38, 0x00, 0x00, 0x60, 0x18, 0xe0, 0x7f, 0x60, 0x0c, 0xf0, 0xff, 0x70, 
  0x0c, 0x18, 0xce, 0x3f, 0x0e, 0x1c, 0x8e, 0x1f, 0x06, 0x3e, 0x1f, 0x00, 0x06, 0xf2, 0x33, 0x00, 
  0x06, 0xe2, 0x31, 0x18, 0x06, 0xe2, 0x31, 0x18, 0x06, 0xf6, 0x33, 0x18, 0x06, 0x3e, 0x1f, 0x18, 
  0x0e, 0x1c, 0x0e, 0x1c, 0x0c, 0x38, 0x06, 0x0c, 0x0c, 0xf0, 0x03, 0x0c, 0x18, 0x00, 0x00, 0x06, 
  0x30, 0x00, 0x00, 0x07, 0x70, 0x00, 0x00, 0x03, 0xe0, 0x00, 0xc0, 0x01, 0xc0, 0x01, 0xe0, 0x00, 
  0x00, 0x0f, 0x7c, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_turbo_01', 32x32px
const unsigned char epd_bitmap_icon_turbo_01 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x3f, 0x00, 0x00, 0x80, 0x3f, 0x00, 0xf8, 0xff, 0xf1, 0x00, 0xff, 0xff, 0xe0, 
  0x80, 0x0f, 0x00, 0xc0, 0xe0, 0x01, 0x00, 0xc0, 0xf0, 0x00, 0x00, 0xc0, 0x38, 0x00, 0x00, 0xc0, 
  0x18, 0x00, 0x00, 0xc0, 0x1c, 0x00, 0x00, 0xc0, 0x0e, 0xf0, 0xff, 0xc0, 0x06, 0xf8, 0xff, 0xe1, 
  0x06, 0x1c, 0x8e, 0x7f, 0x07, 0x1e, 0x1e, 0x3f, 0x03, 0x3f, 0x3f, 0x00, 0x03, 0xf3, 0x33, 0x00, 
  0x03, 0xe3, 0x31, 0x30, 0x03, 0xe3, 0x31, 0x30, 0x03, 0xf3, 0x33, 0x30, 0x03, 0x3f, 0x3f, 0x30, 
  0x07, 0x1e, 0x1e, 0x38, 0x06, 0x1c, 0x0e, 0x18, 0x06, 0xf8, 0x07, 0x18, 0x0c, 0xf0, 0x03, 0x1c, 
  0x1c, 0x00, 0x00, 0x0e, 0x18, 0x00, 0x00, 0x06, 0x30, 0x00, 0x00, 0x07, 0xe0, 0x00, 0xc0, 0x03, 
  0xc0, 0x01, 0xe0, 0x01, 0x80, 0x0f, 0x7c, 0x00, 0x00, 0xfe, 0x3f, 0x00, 0x00, 0xf8, 0x07, 0x00
};
// 'icon_turbo_03', 32x32px
const unsigned char epd_bitmap_icon_turbo_03 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x00, 0x00, 0xc0, 0x1f, 
  0x00, 0xf8, 0x7f, 0x30, 0x00, 0xfe, 0x7f, 0x30, 0x80, 0x03, 0x00, 0x30, 0xc0, 0x01, 0x00, 0x30, 
  0x60, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x30, 0x18, 0xf0, 0x7f, 0x30, 
  0x18, 0xf8, 0xff, 0x38, 0x1c, 0x1c, 0x8e, 0x0f, 0x0c, 0x3e, 0x1f, 0x00, 0x0c, 0xf6, 0x1b, 0x00, 
  0x0c, 0xc6, 0x19, 0x0c, 0x0c, 0xe6, 0x19, 0x0c, 0x0c, 0x76, 0x1b, 0x0c, 0x0c, 0x3e, 0x1f, 0x0c, 
  0x1c, 0x18, 0x0e, 0x0c, 0x18, 0xf0, 0x07, 0x04, 0x18, 0xf0, 0x03, 0x06, 0x30, 0x00, 0x00, 0x03, 
  0x20, 0x00, 0x00, 0x03, 0x60, 0x00, 0x80, 0x01, 0xc0, 0x01, 0xe0, 0x00, 0x00, 0x0f, 0x7c, 0x00, 
  0x00, 0xfe, 0x1f, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_turbo_04', 32x32px
const unsigned char epd_bitmap_icon_turbo_04 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x07, 
  0x00, 0x00, 0xc0, 0x0f, 0x00, 0xf8, 0x7f, 0x18, 0x00, 0x1e, 0x00, 0x18, 0x80, 0x07, 0x00, 0x18, 
  0xc0, 0x00, 0x00, 0x18, 0x60, 0x00, 0x00, 0x18, 0x60, 0x00, 0x00, 0x18, 0x30, 0xe0, 0x3f, 0x18, 
  0x30, 0xf0, 0x7f, 0x18, 0x18, 0x18, 0xc6, 0x0f, 0x18, 0x3c, 0x1f, 0x00, 0x18, 0xe4, 0x1b, 0x00, 
  0x18, 0xc4, 0x19, 0x04, 0x18, 0xe4, 0x19, 0x04, 0x18, 0x74, 0x1b, 0x04, 0x18, 0x3c, 0x0e, 0x06, 
  0x10, 0x18, 0x06, 0x06, 0x30, 0xf0, 0x03, 0x03, 0x30, 0x00, 0x00, 0x03, 0x60, 0x00, 0x00, 0x01, 
  0xc0, 0x00, 0x80, 0x01, 0xc0, 0x01, 0xe0, 0x00, 0x00, 0x07, 0x78, 0x00, 0x00, 0xfe, 0x1f, 0x00, 
  0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_turbo_07', 32x32px
const unsigned char epd_bitmap_icon_turbo_07 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x01, 0x00, 0xf0, 0x1f, 0x02, 
  0x00, 0x38, 0x00, 0x02, 0x00, 0x0c, 0x00, 0x02, 0x00, 0x03, 0x00, 0x02, 0x80, 0x01, 0x00, 0x02, 
  0x80, 0xc0, 0x1f, 0x02, 0x80, 0x20, 0xf7, 0x03, 0x40, 0x30, 0xe6, 0x01, 0x40, 0x68, 0x0d, 0x00, 
  0x40, 0x88, 0x08, 0x01, 0x40, 0x48, 0x09, 0x01, 0x40, 0x38, 0x87, 0x01, 0x40, 0x30, 0x82, 0x01, 
  0x80, 0xe0, 0xc1, 0x00, 0x80, 0x01, 0x40, 0x00, 0x00, 0x03, 0x20, 0x00, 0x00, 0x06, 0x30, 0x00, 
  0x00, 0x0c, 0x1c, 0x00, 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_turbo_05', 32x32px
const unsigned char epd_bitmap_icon_turbo_05 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0xc0, 0x07, 0x00, 0x00, 0x60, 0x0e, 0x00, 0xf8, 0x3f, 0x0c, 0x00, 0x0e, 0x00, 0x08, 
  0x80, 0x03, 0x00, 0x08, 0x80, 0x01, 0x00, 0x08, 0x40, 0x00, 0x00, 0x08, 0x60, 0x00, 0x00, 0x08, 
  0x60, 0xe0, 0x3f, 0x0c, 0x30, 0x18, 0xc6, 0x07, 0x30, 0x3c, 0x0f, 0x00, 0x10, 0x6c, 0x0b, 0x00, 
  0x10, 0xc4, 0x08, 0x02, 0x10, 0xe4, 0x09, 0x02, 0x10, 0x6c, 0x0b, 0x02, 0x30, 0x18, 0x06, 0x02, 
  0x20, 0x30, 0x07, 0x03, 0x60, 0xe0, 0x03, 0x01, 0x40, 0x00, 0x80, 0x01, 0xc0, 0x00, 0xc0, 0x00, 
  0x80, 0x01, 0xc0, 0x00, 0x00, 0x07, 0x38, 0x00, 0x00, 0x1c, 0x1e, 0x00, 0x00, 0xf0, 0x07, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_turbo_08', 32x32px
const unsigned char epd_bitmap_icon_turbo_08 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, 
  0x00, 0xe0, 0x1f, 0x01, 0x00, 0x1c, 0x00, 0x01, 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 
  0x00, 0x01, 0x00, 0x01, 0x00, 0xc1, 0x1f, 0x01, 0x80, 0x20, 0xe2, 0x00, 0x80, 0x58, 0x05, 0x00, 
  0x80, 0x98, 0x84, 0x00, 0x80, 0x58, 0x85, 0x00, 0x80, 0x30, 0x82, 0x00, 0x00, 0xe1, 0x41, 0x00, 
  0x00, 0xc1, 0x41, 0x00, 0x00, 0x01, 0x40, 0x00, 0x00, 0x02, 0x20, 0x00, 0x00, 0x1c, 0x1c, 0x00, 
  0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_turbo_06', 32x32px
const unsigned char epd_bitmap_icon_turbo_06 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x00, 0xf0, 0x3f, 0x06, 0x00, 0xf8, 0x1f, 0x04, 
  0x00, 0x0e, 0x00, 0x04, 0x00, 0x01, 0x00, 0x04, 0x80, 0x01, 0x00, 0x04, 0xc0, 0x00, 0x00, 0x04, 
  0xc0, 0xe0, 0x3f, 0x04, 0x60, 0x30, 0xe6, 0x03, 0x60, 0x38, 0xc6, 0x01, 0x20, 0x68, 0x09, 0x00, 
  0x20, 0xc8, 0x08, 0x03, 0x20, 0xc8, 0x09, 0x03, 0x20, 0x28, 0x0f, 0x03, 0x60, 0x10, 0x06, 0x03, 
  0x40, 0xe0, 0x83, 0x01, 0xc0, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00, 0x01, 0x60, 0x00, 
  0x00, 0x06, 0x38, 0x00, 0x00, 0x1c, 0x1e, 0x00, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_turbo_09', 32x32px
const unsigned char epd_bitmap_icon_turbo_09 [] PROGMEM = {
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x70, 0x00, 0x00, 0xe0, 0x8f, 0x00, 0x00, 0x18, 0x80, 0x00, 0x00, 0x04, 0x80, 0x00, 
  0x00, 0x02, 0x80, 0x00, 0x00, 0xc2, 0x8f, 0x00, 0x00, 0x21, 0x72, 0x00, 0x00, 0x51, 0x05, 0x00, 
  0x00, 0x91, 0x44, 0x00, 0x00, 0x51, 0x45, 0x00, 0x00, 0x21, 0x42, 0x00, 0x00, 0xc2, 0x21, 0x00, 
  0x00, 0x02, 0x20, 0x00, 0x00, 0x04, 0x10, 0x00, 0x00, 0x18, 0x0c, 0x00, 0x00, 0xe0, 0x03, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
// 'icon_turbo_10', 16x16px
const unsigned char epd_bitmap_icon_turbo_10 [] PROGMEM = {
  0x00, 0x70, 0xe0, 0x8f, 0x18, 0x80, 0x04, 0x80, 0x02, 0x80, 0xc2, 0x8f, 0x21, 0x72, 0x51, 0x05, 
  0x91, 0x44, 0x51, 0x45, 0x21, 0x42, 0xc2, 0x21, 0x02, 0x20, 0x04, 0x10, 0x18, 0x0c, 0xe0, 0x03
};

// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 7440)
const int epd_bitmap_allArray_LEN = 55;
const unsigned char* bitmap_icons_array[55] = {
  epd_bitmap_icon_cube_00,
  epd_bitmap_icon_cube_01,
  epd_bitmap_icon_cube_02,
  epd_bitmap_icon_cube_03,
  epd_bitmap_icon_cube_04,
  epd_bitmap_icon_cube_05,
  epd_bitmap_icon_cube_06,
  epd_bitmap_icon_cube_07,
  epd_bitmap_icon_cube_08,
  epd_bitmap_icon_cube_09,
  epd_bitmap_icon_cube_10,
  epd_bitmap_icon_gauge_00,
  epd_bitmap_icon_gauge_01,
  epd_bitmap_icon_gauge_02,
  epd_bitmap_icon_gauge_03,
  epd_bitmap_icon_gauge_04,
  epd_bitmap_icon_gauge_05,
  epd_bitmap_icon_gauge_06,
  epd_bitmap_icon_gauge_07,
  epd_bitmap_icon_gauge_08,
  epd_bitmap_icon_gauge_09,
  epd_bitmap_icon_gauge_10,
  epd_bitmap_icon_gps_00,
  epd_bitmap_icon_gps_01,
  epd_bitmap_icon_gps_02,
  epd_bitmap_icon_gps_03,
  epd_bitmap_icon_gps_04,
  epd_bitmap_icon_gps_05,
  epd_bitmap_icon_gps_06,
  epd_bitmap_icon_gps_07,
  epd_bitmap_icon_gps_08,
  epd_bitmap_icon_gps_09,
  epd_bitmap_icon_gps_10,
  epd_bitmap_icon_park_00,
  epd_bitmap_icon_park_01,
  epd_bitmap_icon_park_02,
  epd_bitmap_icon_park_03,
  epd_bitmap_icon_park_04,
  epd_bitmap_icon_park_05,
  epd_bitmap_icon_park_06,
  epd_bitmap_icon_park_07,
  epd_bitmap_icon_park_08,
  epd_bitmap_icon_park_09,
  epd_bitmap_icon_park_10,
  epd_bitmap_icon_turbo_00,
  epd_bitmap_icon_turbo_01,
  epd_bitmap_icon_turbo_02,
  epd_bitmap_icon_turbo_03,
  epd_bitmap_icon_turbo_04,
  epd_bitmap_icon_turbo_05,
  epd_bitmap_icon_turbo_06,
  epd_bitmap_icon_turbo_07,
  epd_bitmap_icon_turbo_08,
  epd_bitmap_icon_turbo_09,
  epd_bitmap_icon_turbo_10
};


// menu icon position for each frame 0-150
const byte menu_positions[151][2] =     
{     
{/*frame 0*/ 64, 37}, 
{/*frame 1*/ 64, 37}, 
{/*frame 2*/ 64, 37}, 
{/*frame 3*/ 63, 37}, 
{/*frame 4*/ 63, 37}, 
{/*frame 5*/ 62, 37}, 
{/*frame 6*/ 61, 37}, 
{/*frame 7*/ 60, 37}, 
{/*frame 8*/ 59, 37}, 
{/*frame 9*/ 57, 37}, 
{/*frame 10*/ 55, 37}, 
{/*frame 11*/ 52, 37}, 
{/*frame 12*/ 49, 36}, 
{/*frame 13*/ 46, 35}, 
{/*frame 14*/ 43, 35}, 
{/*frame 15*/ 39, 33}, 
{/*frame 16*/ 36, 32}, 
{/*frame 17*/ 34, 31}, 
{/*frame 18*/ 32, 30}, 
{/*frame 19*/ 31, 29}, 
{/*frame 20*/ 30, 28}, 
{/*frame 21*/ 29, 27}, 
{/*frame 22*/ 29, 26}, 
{/*frame 23*/ 28, 26}, 
{/*frame 24*/ 28, 26}, 
{/*frame 25*/ 28, 25}, 
{/*frame 26*/ 28, 25}, 
{/*frame 27*/ 28, 25}, 
{/*frame 28*/ 28, 25}, 
{/*frame 29*/ 28, 25}, 
{/*frame 30*/ 28, 25}, 
{/*frame 31*/ 28, 25}, 
{/*frame 32*/ 28, 25}, 
{/*frame 33*/ 28, 24}, 
{/*frame 34*/ 28, 24}, 
{/*frame 35*/ 28, 24}, 
{/*frame 36*/ 27, 24}, 
{/*frame 37*/ 27, 23}, 
{/*frame 38*/ 27, 23}, 
{/*frame 39*/ 27, 22}, 
{/*frame 40*/ 28, 22}, 
{/*frame 41*/ 28, 21}, 
{/*frame 42*/ 28, 20}, 
{/*frame 43*/ 29, 18}, 
{/*frame 44*/ 30, 17}, 
{/*frame 45*/ 32, 16}, 
{/*frame 46*/ 33, 15}, 
{/*frame 47*/ 35, 14}, 
{/*frame 48*/ 37, 13}, 
{/*frame 49*/ 39, 12}, 
{/*frame 50*/ 40, 12}, 
{/*frame 51*/ 41, 11}, 
{/*frame 52*/ 42, 11}, 
{/*frame 53*/ 43, 11}, 
{/*frame 54*/ 44, 10}, 
{/*frame 55*/ 44, 10}, 
{/*frame 56*/ 45, 10}, 
{/*frame 57*/ 45, 10}, 
{/*frame 58*/ 45, 10}, 
{/*frame 59*/ 45, 10}, 
{/*frame 60*/ 46, 10}, 
{/*frame 61*/ 46, 10}, 
{/*frame 62*/ 46, 10}, 
{/*frame 63*/ 46, 10}, 
{/*frame 64*/ 46, 10}, 
{/*frame 65*/ 47, 10}, 
{/*frame 66*/ 47, 10}, 
{/*frame 67*/ 48, 9}, 
{/*frame 68*/ 49, 9}, 
{/*frame 69*/ 50, 9}, 
{/*frame 70*/ 51, 9}, 
{/*frame 71*/ 53, 9}, 
{/*frame 72*/ 55, 8}, 
{/*frame 73*/ 58, 8}, 
{/*frame 74*/ 61, 8}, 
{/*frame 75*/ 64, 8}, 
{/*frame 76*/ 67, 8}, 
{/*frame 77*/ 70, 8}, 
{/*frame 78*/ 73, 8}, 
{/*frame 79*/ 75, 9}, 
{/*frame 80*/ 77, 9}, 
{/*frame 81*/ 78, 9}, 
{/*frame 82*/ 79, 9}, 
{/*frame 83*/ 80, 9}, 
{/*frame 84*/ 81, 10}, 
{/*frame 85*/ 81, 10}, 
{/*frame 86*/ 82, 10}, 
{/*frame 87*/ 82, 10}, 
{/*frame 88*/ 82, 10}, 
{/*frame 89*/ 82, 10}, 
{/*frame 90*/ 82, 10}, 
{/*frame 91*/ 83, 10}, 
{/*frame 92*/ 83, 10}, 
{/*frame 93*/ 83, 10}, 
{/*frame 94*/ 83, 10}, 
{/*frame 95*/ 84, 10}, 
{/*frame 96*/ 84, 10}, 
{/*frame 97*/ 85, 11}, 
{/*frame 98*/ 86, 11}, 
{/*frame 99*/ 87, 11}, 
{/*frame 100*/ 88, 12}, 
{/*frame 101*/ 89, 12}, 
{/*frame 102*/ 91, 13}, 
{/*frame 103*/ 93, 14}, 
{/*frame 104*/ 95, 15}, 
{/*frame 105*/ 96, 16}, 
{/*frame 106*/ 98, 17}, 
{/*frame 107*/ 99, 18}, 
{/*frame 108*/ 100, 20}, 
{/*frame 109*/ 100, 21}, 
{/*frame 110*/ 100, 22}, 
{/*frame 111*/ 101, 22}, 
{/*frame 112*/ 101, 23}, 
{/*frame 113*/ 101, 23}, 
{/*frame 114*/ 101, 24}, 
{/*frame 115*/ 100, 24}, 
{/*frame 116*/ 100, 24}, 
{/*frame 117*/ 100, 24}, 
{/*frame 118*/ 100, 25}, 
{/*frame 119*/ 100, 25}, 
{/*frame 120*/ 100, 25}, 
{/*frame 121*/ 100, 25}, 
{/*frame 122*/ 100, 25}, 
{/*frame 123*/ 100, 25}, 
{/*frame 124*/ 100, 25}, 
{/*frame 125*/ 100, 25}, 
{/*frame 126*/ 100, 26}, 
{/*frame 127*/ 100, 26}, 
{/*frame 128*/ 99, 26}, 
{/*frame 129*/ 99, 27}, 
{/*frame 130*/ 98, 28}, 
{/*frame 131*/ 97, 29}, 
{/*frame 132*/ 96, 30}, 
{/*frame 133*/ 94, 31}, 
{/*frame 134*/ 92, 32}, 
{/*frame 135*/ 89, 33}, 
{/*frame 136*/ 85, 35}, 
{/*frame 137*/ 82, 35}, 
{/*frame 138*/ 79, 36}, 
{/*frame 139*/ 76, 37}, 
{/*frame 140*/ 73, 37}, 
{/*frame 141*/ 71, 37}, 
{/*frame 142*/ 69, 37}, 
{/*frame 143*/ 68, 37}, 
{/*frame 144*/ 67, 37}, 
{/*frame 145*/ 66, 37}, 
{/*frame 146*/ 65, 37}, 
{/*frame 147*/ 65, 37}, 
{/*frame 148*/ 64, 37}, 
{/*frame 149*/ 64, 37}, 
{/*frame 150*/ 64, 37}
};

const unsigned char upir_logo [] PROGMEM = {  
  0xEA, 0x3A, 0xAA, 0x28, 0x6A, 0x1A, 0x26, 0x2A, };


void setup(void) {
  u8g2.begin(); // start the u8g2 library
  u8g2.setDrawColor(1); // draw color white
  u8g2.setBitmapMode(1); // transparent bitmaps
  u8g2.setFontMode(1); // activate transparent font mode 
}


byte xpos = 0; // x position for the current icon
byte ypos = 0; // y position for the current icon
int frame = 0; // frame 0 - 150
byte item_scale_frame = 0; // which image to display
byte icon_size = 0; // icon size
char current_message[20] = "Dashboard"; // current label 
char selected_item_name[20] = "---"; // selected item name


void loop(void) {

  frame++; // increment the frame
  if (frame > 150) {frame = 0;} // if the frame is 150, jump back to 0

  // set the corresponding item name based on the frame number
  if (frame == 15) {strcpy(selected_item_name, "Turbo Gauge");}
  if (frame == 45) {strcpy(selected_item_name, "Park Sensor");}
  if (frame == 75) {strcpy(selected_item_name, "GPS Gauge");}
  if (frame == 105) {strcpy(selected_item_name, "Dashboard");}
  if (frame == 135) {strcpy(selected_item_name, "3D Cube");}  
  
  
	// go over every single page and draw stuff, required for page mode for u8g2 library
  u8g2.firstPage();
  do {


  for (int i = 0; i < 5; i++) { // for all the icons

    int item_frame = (frame + (30*i)) % 150; // each item is spaced by 30 frames, when it´s over 150, jump back to 0

    if ((item_frame >= 0) && (item_frame <= 18)) { // icon around the center, show the scaling
      item_scale_frame = (item_frame / 2);
      icon_size = 32;
    } else if ((item_frame > 132) && (item_frame <= 150)) { // icon around the center, show the scaling
      item_scale_frame = (150 - item_frame) / 2;
      icon_size = 32;
    } else { // icon not in the center, show the small 16x16 version instead
      item_scale_frame = 10;
      icon_size = 16; 
    }

    // get the item X and Y positions from the lookup table
    xpos = menu_positions[item_frame][0];
    ypos = menu_positions[item_frame][1];

    // draw the icon
    u8g2.drawXBMP( xpos-icon_size/2, ypos-icon_size/2, icon_size, icon_size, bitmap_icons_array[item_scale_frame + (i * 11)]);
  }

  // draw the label
  u8g2.setFont(u8g2_font_helvR08_tr); // set the font
  strcpy(current_message, selected_item_name); // copy the item name to the current_message variable
  int cut_string_length = round(abs(cos(frame * 3.141592654 / 30.0 )) * 11); // how long should be the label? (for animation)
  current_message[cut_string_length] = 0x00; // set the string lenght by setting a null character at some position, null character = end of string
  int w = u8g2.getStrWidth(current_message); // calculate the string width
  u8g2.drawStr(64 - w/2, 64, current_message); // draw the string centered on the bottom of the screen

	u8g2.drawXBMP(128-16-4, 0, 16, 4, upir_logo);   // draw upir logo   

  } while ( u8g2.nextPage() ); // for every single page, required for u8g2 page mode 
}