#include "U8glib.h"
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_DEV_0 | U8G_I2C_OPT_NO_ACK | U8G_I2C_OPT_FAST); // Fast I2C / TWI
// ' boost', 78x10px
const unsigned char epd_bitmap__boost [] PROGMEM = {
0xff, 0xf0, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xf0, 0xff, 0xfc, 0xff, 0xfc,
0xff, 0xfc, 0xff, 0xfc, 0xc0, 0x30, 0xc0, 0x0c, 0xc0, 0x0c, 0xc0, 0x00, 0x03, 0x00, 0xc0, 0x30,
0xc0, 0x0c, 0xc0, 0x0c, 0xc0, 0x00, 0x03, 0x00, 0xff, 0xfc, 0xc0, 0x0c, 0xc0, 0x0c, 0xff, 0xfc,
0x03, 0x00, 0xff, 0xfc, 0xc0, 0x0c, 0xc0, 0x0c, 0xff, 0xfc, 0x03, 0x00, 0xc0, 0x0c, 0xc0, 0x0c,
0xc0, 0x0c, 0x00, 0x0c, 0x03, 0x00, 0xc0, 0x0c, 0xc0, 0x0c, 0xc0, 0x0c, 0x00, 0x0c, 0x03, 0x00,
0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc, 0x03, 0x00, 0xff, 0xfc, 0xff, 0xfc, 0xff, 0xfc,
0xff, 0xfc, 0x03, 0x00
};
// ' turbo_outside', 32x24px
const unsigned char epd_bitmap__turbo_outside [] PROGMEM = {
0x00, 0x00, 0x00, 0x1e, 0x00, 0x1f, 0xff, 0xe1, 0x00, 0x60, 0x00, 0x21, 0x01, 0x80, 0x00, 0x21,
0x02, 0x00, 0x00, 0x21, 0x04, 0x00, 0x00, 0x21, 0x04, 0x00, 0x00, 0x21, 0x08, 0x0f, 0x87, 0xe1,
0x08, 0x10, 0x40, 0x9e, 0x10, 0x20, 0x20, 0x80, 0x10, 0x40, 0x10, 0x40, 0x10, 0x40, 0x10, 0x40,
0x10, 0x40, 0x10, 0x40, 0x10, 0x40, 0x10, 0x40, 0x10, 0x40, 0x10, 0x40, 0x10, 0x20, 0x20, 0x40,
0x08, 0x10, 0x40, 0x80, 0x08, 0x0f, 0x80, 0x80, 0x04, 0x00, 0x01, 0x00, 0x04, 0x00, 0x01, 0x00,
0x02, 0x00, 0x02, 0x00, 0x01, 0x80, 0x0c, 0x00, 0x00, 0x60, 0x30, 0x00, 0x00, 0x1f, 0xc0, 0x00
};
// ' psi', 17x5px
const unsigned char epd_bitmap__psi [] PROGMEM = {
0xfe, 0xfe, 0x80, 0x82, 0x80, 0x80, 0xfe, 0xfe, 0x80, 0x80, 0x02, 0x80, 0x80, 0xfe, 0x80
};
// ' digit_0', 40x25px
const unsigned char epd_bitmap__digit_0 [] PROGMEM = {
0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00,
0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00,
0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00,
0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8,
0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e,
0x00, 0x00, 0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8
};
// ' digit_1', 40x25px
const unsigned char epd_bitmap__digit_1 [] PROGMEM = {
0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00,
0x0f, 0xfc, 0x00, 0x00, 0x00, 0x0f, 0xfc, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00,
0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c,
0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00,
0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00,
0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00,
0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00,
0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x00, 0x00
};
// ' digit_2', 40x25px
const unsigned char epd_bitmap__digit_2 [] PROGMEM = {
0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0x00,
0x3e, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x3e,
0x00, 0x00, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8
};
// ' digit_3', 40x25px
const unsigned char epd_bitmap__digit_3 [] PROGMEM = {
0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8
};
// ' digit_4', 40x25px
const unsigned char epd_bitmap__digit_4 [] PROGMEM = {
0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e,
0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00,
0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00,
0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8
};
// ' digit_5', 40x25px
const unsigned char epd_bitmap__digit_5 [] PROGMEM = {
0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00,
0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8
};
// ' digit_6', 40x25px
const unsigned char epd_bitmap__digit_6 [] PROGMEM = {
0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00,
0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x00, 0x00,
0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8,
0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e,
0x00, 0x00, 0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8
};
// ' digit_7', 40x25px
const unsigned char epd_bitmap__digit_7 [] PROGMEM = {
0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00,
0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00,
0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00,
0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8
};
// ' digit_8', 40x25px
const unsigned char epd_bitmap__digit_8 [] PROGMEM = {
0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00,
0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00,
0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8,
0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e,
0x00, 0x00, 0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8
};
// ' digit_9', 40x25px
const unsigned char epd_bitmap__digit_9 [] PROGMEM = {
0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00,
0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0xf8, 0x3e, 0x00, 0x00,
0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff,
0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8,
0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x00,
0x00, 0x00, 0x00, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff,
0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff, 0xff, 0xf8
};
// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 1440)
const int epd_bitmap_allArray_LEN = 10;
const unsigned char* epd_bitmap_allArray[10] = {
epd_bitmap__digit_0,
epd_bitmap__digit_1,
epd_bitmap__digit_2,
epd_bitmap__digit_3,
epd_bitmap__digit_4,
epd_bitmap__digit_5,
epd_bitmap__digit_6,
epd_bitmap__digit_7,
epd_bitmap__digit_8,
epd_bitmap__digit_9
};
// ' turbo_inside_0', 16x9px
const unsigned char epd_bitmap__turbo_inside_0 [] PROGMEM = {
0x08, 0x00, 0x49, 0x00, 0x2a, 0x00, 0x1c, 0x00, 0xff, 0x80, 0x1c, 0x00, 0x2a, 0x00, 0x49, 0x00,
0x08, 0x00
};
// ' turbo_inside_20', 16x9px
const unsigned char epd_bitmap__turbo_inside_20 [] PROGMEM = {
0x24, 0x00, 0x14, 0x00, 0x14, 0x80, 0xff, 0x00, 0x1c, 0x00, 0x7f, 0x80, 0x94, 0x00, 0x14, 0x00,
0x12, 0x00
};
// ' turbo_inside_36', 16x9px
const unsigned char epd_bitmap__turbo_inside_36 [] PROGMEM = {
0x10, 0x00, 0x0a, 0x00, 0x66, 0x00, 0x3c, 0x80, 0x5d, 0x00, 0x9e, 0x00, 0x33, 0x00, 0x28, 0x00,
0x04, 0x00
};
// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 144)
const int epd_bitmap_inside_Array_LEN = 3;
const unsigned char* epd_bitmap_inside_Array[3] = {
epd_bitmap__turbo_inside_0,
epd_bitmap__turbo_inside_20,
epd_bitmap__turbo_inside_36
};
// ' turbo_puff_1', 16x8px
const unsigned char epd_bitmap__turbo_puff_1 [] PROGMEM = {
0x18, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x7c, 0x00, 0x7c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x18, 0x00
};
// ' turbo_puff_2', 16x8px
const unsigned char epd_bitmap__turbo_puff_2 [] PROGMEM = {
0x03, 0x00, 0x01, 0x80, 0x01, 0x80, 0x0f, 0x80, 0x0f, 0x80, 0x01, 0x80, 0x01, 0x80, 0x03, 0x00
};
// ' turbo_puff_3', 16x8px
const unsigned char epd_bitmap__turbo_puff_3 [] PROGMEM = {
0x00, 0x60, 0x00, 0x30, 0x00, 0x30, 0x01, 0xf0, 0x01, 0xf0, 0x00, 0x30, 0x00, 0x30, 0x00, 0x60
};
// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 96)
const int epd_bitmap_puff_Array_LEN = 3;
const unsigned char* epd_bitmap_puff_Array[3] = {
epd_bitmap__turbo_puff_1,
epd_bitmap__turbo_puff_2,
epd_bitmap__turbo_puff_3
};
int puff_frame = 0;
int inside_frame = 0;
int boost = 0;
int boost_string_length; // length of the speed_string
int boost_string_start_pos; // start x position for the big numbers - calculated based on the number of digits
char boost_string[10]; // speed number value converted to c-style string (array of characters)
void setup() {
pinMode(A0, INPUT);
u8g.setColorIndex(1); // set the color to white
}
void loop() {
boost = map(analogRead(A0), 0, 1023, 0, 20);
itoa (boost, boost_string, 10); // convert speed integer to c-style string speed_string, decimal format
boost_string_length = strlen(boost_string); // get speed_string length
boost_string_start_pos = 83 - boost_string_length * 20; // start x position of the big numbers
u8g.firstPage();
do {
for (int i = 0; i < boost_string_length; i++) { // loop for every speed_string character
// draw the big digit
// subtract value 45 from the character value, since the ASCII value of digit "0" is 48
u8g.drawBitmapP(boost_string_start_pos + 42 * i, 25, 40/8, 25, epd_bitmap_allArray[boost_string[i] - 48]);
}
u8g.setColorIndex(1); // white color
u8g.drawBitmapP( 10, 36, 16/8, 9, epd_bitmap_inside_Array[inside_frame]); // draw the animated inside part of the icon
u8g.drawBitmapP( 32, 28, 16/8, 8, epd_bitmap_puff_Array[puff_frame]); // draw the animated inside part of the icon
u8g.drawBitmapP( 0, 28, 32/8, 24, epd_bitmap__turbo_outside); // fullscreen image
u8g.drawBitmapP( 24, 7, 80/8, 10, epd_bitmap__boost); // fullscreen image
u8g.drawBitmapP( 74, 54, 24/8, 5, epd_bitmap__psi); // fullscreen image
} while ( u8g.nextPage() );
inside_frame = inside_frame+1; // increase the frame for the inner part of the icon
if (inside_frame > 2) {inside_frame = 0;} // there are total of 3 frames for the animation
puff_frame = puff_frame+1; // increase the frame for the inner part of the icon
if (puff_frame > 2) {puff_frame = 0;} // there are total of 3 frames for the animation
}