#include "SPI.h"
#include "Adafruit_GFX.h"
#include "Adafruit_ILI9341.h"
#include <OneWire.h>
#include <DallasTemperature.h>
// === TFT ===
#define TFT_DC 9
#define TFT_CS 10
Adafruit_ILI9341 tft = Adafruit_ILI9341(TFT_CS, TFT_DC);
// === DS18B20 ===
#define ONE_WIRE_BUS 2 // DS18B20 on pin 2
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature sensors(&oneWire);
/*
for future myself,
-- 1 is just position for gauges(the text tho).
-- 2's just declaring center for each needles and gauges.
-- 3 declares each maximum value for gauges.
-- 4's used to remove old needles, saving the previous position.
-- 5, the name says it all tbh.
-- 6, positions each text on the log/console thingy, yk?
-- 7's just random bools.
WORK ON V2 IF YOU'RE SO BORED LOOKING AT YOUR OLD CREATIONS.
*/
int textX1 = 110; // -- 1
int textY1 = 120;
int textX2 = 58;
int textY2 = 220;
int textX3 = 58;
int textY3 = 300;
int cx = 120; // -- 2
int cy = 160;
int cx2 = 60;
int cy2 = 240;
int cx3 = 60;
int cy3 = 318;
int r = 100;
int r2 = 50;
int maxLimitedSpeed = 40;// -- 3
float maxSpeed = 130;
int maxTemp = 120; // scale for gauge
int maxVolt = 42; // scale for gauge
int oldAngle = 0; // -- 4
int oldTempAngle = 0;
int oldVoltAngle = 0;
int textWidth = 50; // -- 5
int textHeight = 20;
int position = 0; // -- 6
bool tempErrorPrev = false; // -- 7
bool overchargeShown = false;
bool lowShown = false;
bool criticalShown = false;
bool overSpeedShown = false;
bool limiterOffShown = false;
// 'pixil-frame-0', 240x12px
const unsigned char epd_bitmap_pixil_frame_0 [] PROGMEM = {
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07
};
// 'pixil-frame-1', 240x12px
const unsigned char epd_bitmap_pixil_frame_1 [] PROGMEM = {
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03
};
// 'pixil-frame-2', 240x12px
const unsigned char epd_bitmap_pixil_frame_2 [] PROGMEM = {
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81
};
// 'pixil-frame-3', 240x12px
const unsigned char epd_bitmap_pixil_frame_3 [] PROGMEM = {
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81
};
// 'pixil-frame-4', 240x12px
const unsigned char epd_bitmap_pixil_frame_4 [] PROGMEM = {
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7c,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0
};
// 'pixil-frame-5', 240x12px
const unsigned char epd_bitmap_pixil_frame_5 [] PROGMEM = {
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0
};
// 'pixil-frame-6', 240x12px
const unsigned char epd_bitmap_pixil_frame_6 [] PROGMEM = {
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7c,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7c, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0
};
// 'pixil-frame-7', 240x12px
const unsigned char epd_bitmap_pixil_frame_7 [] PROGMEM = {
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x83, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8
};
// 'pixil-frame-8', 240x12px
const unsigned char epd_bitmap_pixil_frame_8 [] PROGMEM = {
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc1, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc
};
// 'pixil-frame-9', 240x12px
const unsigned char epd_bitmap_pixil_frame_9 [] PROGMEM = {
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e
};
// 'pixil-frame-10', 240x12px
const unsigned char epd_bitmap_pixil_frame_10 [] PROGMEM = {
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc,
0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f
};
// 'pixil-frame-11', 240x12px
const unsigned char epd_bitmap_pixil_frame_11 [] PROGMEM = {
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f,
0x81, 0xf8, 0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8,
0x1f, 0x81, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xc0, 0xfc, 0x0f, 0xc0,
0xfc, 0x0f, 0xc0, 0xfc, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f,
0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0,
0x3f, 0x03, 0xf0, 0x3f, 0x03, 0xf0, 0x3e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07,
0xe0, 0x7e, 0x07, 0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xe0, 0x7e, 0x07, 0xe0,
0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e, 0x07, 0xe0, 0x7e,
0x07, 0xe0, 0x7c, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f,
0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0, 0xfc, 0x0f, 0xc0,
0xf8, 0x1f, 0x81, 0xf8, 0x1f, 0x81, 0xf8, 0x1f
};
// Array of all bitmaps for convenience. (Total bytes used to store images in PROGMEM = 4608)
const int epd_bitmap_allArray_LEN = 12;
const unsigned char* epd_bitmap_allArray[12] = {
epd_bitmap_pixil_frame_0,
epd_bitmap_pixil_frame_1,
epd_bitmap_pixil_frame_2,
epd_bitmap_pixil_frame_3,
epd_bitmap_pixil_frame_4,
epd_bitmap_pixil_frame_5,
epd_bitmap_pixil_frame_6,
epd_bitmap_pixil_frame_7,
epd_bitmap_pixil_frame_8,
epd_bitmap_pixil_frame_9,
epd_bitmap_pixil_frame_10,
epd_bitmap_pixil_frame_11
};
// 'pixilart-drawing', 60x30px
const unsigned char epd_bitmap_pixilart_drawing [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xfc, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xf8, 0x03, 0x9f, 0xf0, 0xfe, 0x03, 0xe7, 0x90, 0xf9, 0xc3, 0x9f, 0xf0, 0xfc, 0x07, 0xe7, 0x90,
0xf1, 0xff, 0x1f, 0xe6, 0x7c, 0x7f, 0xcf, 0x30, 0xf1, 0xff, 0x3f, 0xc6, 0x3c, 0xff, 0xcf, 0x30,
0xf3, 0xff, 0x3f, 0xcf, 0x3c, 0xff, 0xcf, 0x30, 0xe0, 0x7f, 0x3f, 0x8f, 0x1c, 0x7f, 0xcf, 0x30,
0xe0, 0x0e, 0x3f, 0x9f, 0x9c, 0x0f, 0x9e, 0x70, 0xe7, 0x8e, 0x7f, 0x9f, 0x9f, 0x07, 0x80, 0x70,
0xe7, 0xfc, 0x7f, 0x80, 0x1f, 0xc3, 0x80, 0x70, 0xc7, 0xfc, 0xff, 0x00, 0x0f, 0xf3, 0x3c, 0xf0,
0xc7, 0xf8, 0xff, 0x3f, 0xcf, 0xf3, 0x3c, 0xf0, 0xcf, 0xf9, 0xfe, 0x3f, 0xe7, 0xe3, 0x3c, 0xf0,
0x8f, 0xf8, 0x02, 0x7f, 0xe6, 0x03, 0x3c, 0xf0, 0x9f, 0xfc, 0x06, 0x7f, 0xe4, 0x07, 0x3c, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe7, 0x9e, 0xed, 0x8f, 0xfb, 0xfe, 0x7b, 0xf0,
0xdb, 0x5d, 0xdb, 0xbf, 0x6d, 0xff, 0x75, 0xf0, 0xdb, 0x1d, 0xdb, 0x1f, 0xbd, 0xeb, 0x75, 0xf0,
0xb6, 0xbb, 0xb7, 0x7f, 0x6d, 0xeb, 0x75, 0xf0, 0x8e, 0xdb, 0xce, 0x3f, 0xfb, 0xf7, 0x5b, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0
};
// 'pixil-frame-0 (1)', 120x120px
const unsigned char epd_bitmap_pixil_seb [] PROGMEM = {
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xff, 0xff,
0xff, 0xfe, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff,
0xfe, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0xff, 0xff, 0xc0, 0xff, 0xfe,
0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00, 0x00, 0x3f, 0xf8, 0x00, 0xff, 0xfe, 0x00,
0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0x00, 0x08, 0x00, 0x1f, 0xe0, 0x00, 0xff, 0xfe, 0x00, 0x00,
0x7f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x79, 0xe0, 0x1f, 0xe0, 0x00, 0xff, 0xfe, 0x10, 0x00, 0x3f,
0xff, 0xff, 0xff, 0xfe, 0x00, 0xf9, 0xf0, 0x1f, 0xe0, 0x07, 0xff, 0xfe, 0x1e, 0x00, 0x1f, 0xff,
0xff, 0xff, 0xfc, 0x00, 0xf9, 0xfc, 0x1f, 0xe0, 0x4f, 0xff, 0xfe, 0x1c, 0x00, 0x1f, 0xff, 0xff,
0xff, 0xf8, 0x0c, 0xf9, 0xff, 0xff, 0xe1, 0xcf, 0xff, 0xfe, 0x1c, 0xc8, 0x1f, 0xff, 0xff, 0xff,
0xf8, 0x1c, 0xf9, 0xff, 0xff, 0xe1, 0xef, 0xff, 0xfe, 0x1c, 0xcc, 0x1f, 0xff, 0xff, 0xff, 0xf8,
0x1c, 0xf9, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xfe, 0x1d, 0xcc, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x3e,
0xf9, 0xff, 0xff, 0xe1, 0xff, 0xff, 0xfe, 0x1d, 0xe8, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x7f, 0xfd,
0xff, 0xff, 0xe1, 0xff, 0xff, 0xfe, 0x1f, 0xf0, 0x1f, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xff, 0xff,
0xff, 0xe1, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff,
0xe1, 0xff, 0xff, 0xfc, 0x00, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xf8, 0x0f, 0xff, 0xff, 0xff, 0xe1,
0xfc, 0x3f, 0xfc, 0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xf8, 0x03, 0xff, 0xff, 0xff, 0xe1, 0xc0,
0x3f, 0xfc, 0x00, 0x01, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x00, 0x0f, 0xff, 0xff, 0xe0, 0x00, 0x3f,
0xfc, 0x20, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0xff, 0xff, 0xe0, 0x00, 0x3f, 0xfc,
0x38, 0x00, 0x3f, 0xff, 0xff, 0xff, 0xff, 0x00, 0x00, 0x01, 0xff, 0xc0, 0x00, 0x3f, 0xfc, 0x39,
0x80, 0x3f, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x1f, 0xc0, 0x00, 0x7f, 0xfc, 0x39, 0xe0,
0x3f, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x00, 0x00, 0x0f, 0xc1, 0x9c, 0x7f, 0xfc, 0x39, 0xf0, 0x3f,
0xff, 0xff, 0xff, 0xff, 0xf3, 0xf8, 0x00, 0x0f, 0xc3, 0xd9, 0x7f, 0xfc, 0x3d, 0xf0, 0x3f, 0xff,
0xff, 0xff, 0xff, 0xf3, 0xfe, 0x70, 0x0f, 0xc3, 0xbb, 0x7f, 0xfc, 0x3b, 0xe0, 0x3f, 0xff, 0xff,
0xff, 0xff, 0xf3, 0xfe, 0x7e, 0x0f, 0xc3, 0xbf, 0xff, 0xfc, 0x3f, 0xc0, 0x7f, 0xff, 0xff, 0xff,
0xff, 0xfb, 0xfe, 0x7f, 0x0f, 0x83, 0xbf, 0xff, 0xfc, 0x3f, 0x80, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf7, 0xff, 0x7f, 0x0f, 0x83, 0xff, 0xff, 0xfc, 0x3f, 0x01, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xff, 0x0f, 0x83, 0xff, 0xff, 0xfc, 0x3f, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0x0f, 0x83, 0xff, 0xff, 0xfc, 0x3e, 0x00, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
0x0f, 0x83, 0xff, 0xff, 0xfc, 0x3c, 0x04, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x0f,
0x87, 0xff, 0x0f, 0xfc, 0x38, 0x0c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x0f, 0x87,
0x80, 0x0f, 0xfc, 0x20, 0x1c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x0f, 0x80, 0x00,
0x0f, 0xfc, 0x00, 0x3c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x0f, 0x80, 0x00, 0x0f,
0xfc, 0x00, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xe0, 0xff, 0xe0, 0x00, 0x4f, 0x80, 0x00, 0x0f, 0xfc,
0x00, 0x7c, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x00, 0xcf, 0x80, 0x03, 0xff, 0xfc, 0x01,
0xfe, 0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x03, 0xcf, 0x80, 0xe3, 0xff, 0xfc, 0x07, 0xfd,
0xff, 0xff, 0xff, 0xff, 0xe0, 0x00, 0x00, 0x1b, 0xcf, 0xcf, 0xe3, 0xff, 0xfe, 0x3f, 0xff, 0xff,
0xff, 0xff, 0xff, 0xf8, 0x00, 0x01, 0xf3, 0xef, 0xcf, 0xe7, 0xff, 0xfe, 0x3f, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x39, 0x8f, 0xe7, 0xff, 0xef, 0xf7, 0xff, 0xfe, 0xbf, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xb9, 0x8f, 0xe7, 0xff, 0xdf, 0xef, 0xff, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
0xfe, 0xb3, 0x8f, 0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xb3, 0xcf, 0xd7, 0xff, 0xff, 0xfe, 0x1f, 0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xb7,
0xcf, 0xd7, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xf7, 0xef,
0xff, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xdf, 0xff,
0xff, 0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe0, 0x07, 0xff, 0xff,
0xff, 0xf8, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe0, 0x00, 0xff, 0xff, 0xff,
0xe0, 0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0xe0, 0x00, 0x3f, 0xff, 0xff, 0xe0,
0x1f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x60, 0x00, 0x0f, 0xff, 0xff, 0xc0, 0x1f,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0x80, 0x07, 0xff, 0xff, 0x80, 0x1f, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf0, 0x7f, 0x80, 0x01, 0xff, 0xff, 0x00, 0x0f, 0xff, 0xc1,
0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xce, 0x00, 0xff, 0xfe, 0x00, 0x0f, 0xff, 0x80, 0x7c,
0x01, 0xff, 0xff, 0xff, 0xf8, 0x3f, 0xcf, 0x00, 0x7f, 0xfe, 0x06, 0x0f, 0xff, 0x3c, 0x38, 0x00,
0xff, 0xff, 0xff, 0xf8, 0x3f, 0x9f, 0xc0, 0x3f, 0xfc, 0x0e, 0x07, 0xfe, 0x6f, 0x81, 0xfe, 0x7f,
0xff, 0xff, 0xfc, 0x3f, 0xdf, 0xc0, 0x3f, 0xf8, 0x1f, 0x07, 0xfc, 0xcb, 0x8f, 0xff, 0x3f, 0xff,
0xff, 0xfc, 0x3f, 0xff, 0xc0, 0x3f, 0xf8, 0x1f, 0x03, 0xfc, 0xef, 0x27, 0xc7, 0xbf, 0xff, 0xff,
0xfc, 0x3f, 0xff, 0xc8, 0x3f, 0xf0, 0x1f, 0x81, 0xfe, 0x1c, 0x31, 0xff, 0xbf, 0xff, 0xff, 0xfc,
0x1f, 0xff, 0x8c, 0x3f, 0xf0, 0x00, 0x01, 0xff, 0x00, 0xb0, 0x7f, 0x1f, 0xff, 0xff, 0xfc, 0x1f,
0xff, 0xd8, 0x3f, 0xe0, 0x00, 0x00, 0xff, 0xef, 0x76, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x1f, 0xff,
0xf8, 0x3f, 0xc0, 0x00, 0x00, 0xff, 0xef, 0x7f, 0x81, 0xdf, 0xff, 0xff, 0xfc, 0x1f, 0xff, 0xe0,
0x3f, 0xc0, 0x00, 0x00, 0xff, 0xdf, 0x7f, 0xfd, 0xdf, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0xe0, 0x3f,
0x81, 0xef, 0xe0, 0xff, 0xdf, 0x7f, 0xfd, 0xdf, 0xff, 0xff, 0xfe, 0x1f, 0xff, 0x80, 0x7f, 0x83,
0xef, 0xf3, 0xff, 0xff, 0xff, 0xfd, 0xdf, 0xff, 0xff, 0xfe, 0x1f, 0xfc, 0x00, 0xff, 0x83, 0xcf,
0xf3, 0xff, 0xff, 0xff, 0xfd, 0xdf, 0xff, 0xff, 0xfe, 0x1f, 0xe0, 0x01, 0xff, 0x87, 0xcf, 0xf1,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x1e, 0x00, 0x03, 0xff, 0x87, 0xcf, 0xf9, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x0f, 0xff, 0x87, 0xcf, 0xf9, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x00, 0x1f, 0xff, 0xff, 0xcf, 0xf9, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xfe, 0x00, 0x03, 0x9f, 0xff, 0xff, 0xef, 0xfb, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xfe, 0x00, 0x07, 0x9f, 0xff, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0x03, 0xe7, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xf3, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf3, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xf7, 0xe7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x3f,
0xf7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x7c, 0x3f, 0xf0, 0x1f, 0xff, 0xff, 0xfc, 0x3f, 0xff,
0xff, 0xff, 0xf0, 0x00, 0x0f, 0xf8, 0x7c, 0x3f, 0xe0, 0x0f, 0xff, 0xff, 0xfc, 0x3f, 0xff, 0xff,
0xff, 0xf0, 0x00, 0x0f, 0xf8, 0x78, 0x3f, 0xc0, 0x0f, 0xff, 0xff, 0xfc, 0x1e, 0x00, 0x03, 0xff,
0xf0, 0x00, 0x0f, 0xf8, 0x78, 0x3f, 0x80, 0x0f, 0xff, 0xff, 0xfc, 0x1e, 0x00, 0x00, 0x3f, 0xf0,
0x00, 0x0f, 0xf8, 0x78, 0x3f, 0x00, 0x8f, 0xff, 0xff, 0xfc, 0x1e, 0x00, 0x00, 0x1f, 0xf0, 0x7f,
0x87, 0xf8, 0x70, 0x3c, 0x01, 0x8f, 0xff, 0xff, 0xfc, 0x1e, 0x00, 0x00, 0x0f, 0xf0, 0x7f, 0x8f,
0xf8, 0x70, 0x7c, 0x07, 0xdf, 0xff, 0xff, 0xfe, 0x1f, 0xf3, 0xe0, 0x0f, 0xf8, 0x7f, 0xcf, 0xf8,
0x70, 0x7c, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xf3, 0xfc, 0x07, 0xf8, 0x7f, 0xef, 0xf8, 0x60,
0xfc, 0x07, 0xff, 0xff, 0xff, 0xfe, 0x1f, 0xf3, 0xfe, 0x07, 0xf8, 0x3f, 0xff, 0xf8, 0x60, 0x7c,
0x01, 0xff, 0xff, 0xff, 0xfe, 0x0f, 0xf3, 0xff, 0x07, 0xf8, 0x3c, 0x07, 0xf8, 0x60, 0x7c, 0x00,
0x3f, 0xff, 0xff, 0xfe, 0x0f, 0xfb, 0xff, 0x87, 0xf8, 0x00, 0x07, 0xf8, 0x40, 0x7c, 0x00, 0x0f,
0xff, 0xff, 0xfe, 0x0f, 0xff, 0xff, 0x87, 0xf8, 0x00, 0x07, 0xf8, 0x00, 0x7c, 0xc0, 0x07, 0xff,
0xff, 0xff, 0x0f, 0xff, 0xff, 0x07, 0xfc, 0x00, 0x07, 0xf8, 0x00, 0x7e, 0xf0, 0x07, 0xff, 0xff,
0xff, 0x0f, 0xff, 0xfe, 0x07, 0xfc, 0x00, 0x3f, 0xf8, 0x02, 0x7e, 0xfc, 0x07, 0xff, 0xff, 0xff,
0x0f, 0xff, 0xfc, 0x07, 0xfc, 0x0f, 0xff, 0xf8, 0x02, 0x7e, 0xfc, 0x07, 0xff, 0xff, 0xff, 0x0f,
0xff, 0xf8, 0x07, 0xfe, 0x0f, 0xff, 0xf8, 0x06, 0x7f, 0xf8, 0x07, 0xff, 0xff, 0xff, 0x07, 0xff,
0xe0, 0x0f, 0xfe, 0x07, 0xe0, 0x78, 0x06, 0x7f, 0xe0, 0x07, 0xff, 0xff, 0xff, 0x07, 0xff, 0xc0,
0x1f, 0xff, 0x00, 0x00, 0x78, 0x0e, 0x70, 0x00, 0x07, 0xff, 0xff, 0xff, 0x07, 0xff, 0x80, 0x3f,
0xff, 0x00, 0x00, 0x78, 0x1e, 0xf0, 0x00, 0x27, 0xff, 0xff, 0xff, 0x03, 0xf0, 0x00, 0x7f, 0xff,
0x00, 0x00, 0x78, 0x3e, 0xf0, 0x00, 0xe7, 0xff, 0xff, 0xff, 0x80, 0x80, 0x00, 0x7f, 0xff, 0x80,
0x01, 0xfc, 0xfe, 0xf0, 0x01, 0xe7, 0xff, 0xff, 0xff, 0x80, 0x00, 0x02, 0x7f, 0xff, 0x83, 0x3f,
0xfc, 0xfe, 0xff, 0xe7, 0xe7, 0xff, 0xff, 0xff, 0x80, 0x00, 0x0e, 0x7f, 0xff, 0xff, 0x3f, 0xfc,
0xfe, 0xff, 0xe7, 0xe7, 0xff, 0xff, 0xff, 0x80, 0x00, 0xfe, 0x7f, 0xff, 0xff, 0x3f, 0xf9, 0xff,
0xff, 0xe7, 0xe7, 0xff, 0xff, 0xff, 0xf8, 0x07, 0xfe, 0xff, 0xff, 0xff, 0xbf, 0xf9, 0xff, 0xff,
0xe7, 0xf7, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xfe, 0xff, 0xff, 0xff, 0x7f, 0xfd, 0xff, 0xff, 0xe7,
0xf7, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe7, 0xfb,
0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xff, 0xff,
0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
};
void setup() {
Serial.begin(9600);
tft.begin();
sensors.begin(); // init DS18B20
logo();
tft.fillScreen(ILI9341_BLACK);
// Speedometer semicircle
refreshSemi();
console("init complete", ILI9341_GREEN);
}
void loop() {
tft.fillRect(0, 179, 240, 3, ILI9341_BLUE);
tft.fillRect(119, 179, 3, 180, ILI9341_BLUE);
tft.fillRect(textX1, textY1, textWidth, textHeight, ILI9341_BLACK);
tft.fillRect(textX2, textY2, 25, 7, ILI9341_BLACK);
tft.fillRect(textX3, textY3, 30, 7, ILI9341_BLACK);
// Read DS18B20 temperature
// Read DS18B20 temperature
sensors.requestTemperatures();
int temp = sensors.getTempCByIndex(0); // first sensor
bool tempErrorNow = (temp == DEVICE_DISCONNECTED_C);
if (tempErrorNow && !tempErrorPrev) {
console("Temp sensor dead", ILI9341_RED);
Serial.println("Logged DS18B20 error");
}
// Reset flag if sensor comes back
if (!tempErrorNow && tempErrorPrev) {
console("Temp OK", ILI9341_YELLOW);
Serial.println("Sensor reconnected");
}
tempErrorPrev = tempErrorNow; // update state
int toggle = digitalRead(7);
int pot = analogRead(A0);
int speed = map(pot, 0, 1023, 0, maxSpeed);
int rawVolt = analogRead(A1);
float volt = map(rawVolt, 0, 1023, 0, maxVolt);
int n = random(0, 3);
if (volt > maxVolt) {
if (!overchargeShown) {
console("Battery Overcharged", ILI9341_RED);
overchargeShown = true;
}
} else {
overchargeShown = false; // reset if voltage normal again
}
if (volt <= 35 && volt > 33) {
if (!lowShown) {
console("Battery Low", ILI9341_YELLOW);
lowShown = true;
criticalShown = false; // prevent both showing
}
} else if (volt <= 33) {
if (!criticalShown) {
console("Battery Critical", ILI9341_RED);
criticalShown = true;
lowShown = false; // prevent both showing
}
} else {
// reset if voltage normal again
lowShown = false;
criticalShown = false;
}
if (speed > 25 && toggle == 0) {
if (!overSpeedShown) {
console("dude, slow down", ILI9341_RED);
overSpeedShown = true;
}
} else {
overSpeedShown = false; // reset if voltage normal again
}
if (toggle == 1) {
if (!limiterOffShown) {
console("speed limit off.", ILI9341_YELLOW);
pula(n);
limiterOffShown = true;
}
} else {
limiterOffShown = false; // reset if voltage normal again
}
if (speed <= 9) {
textX1 = 115;
} else if (speed <= 99) {
textX1 = 110;
} else {
textX1 = 103;
}
if (volt <= 9) {
textX3 = 52;
} else if (volt <= 99) {
textX3 = 46;
} else {
textX3 = 39;
}
Serial.println(n);
// Update gauges
updateTNeedle(temp, maxTemp);
updateVNeedle(volt, maxVolt);
tft.setCursor(textX1, textY1);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(2);
tft.print(speed);
tft.setCursor(112, 140);
tft.setTextSize(1);
tft.print("kph");
if (!tempErrorNow) {
tft.setCursor(textX2, textY2);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(1);
tft.print(temp);
} else {
tft.setCursor(textX2, textY2);
tft.setTextColor(ILI9341_RED);
tft.setTextSize(1);
tft.print("N/A");
}
tft.setCursor(58, 230);
tft.setTextSize(1);
tft.print("C");
tft.setCursor(textX3, textY3);
tft.setTextColor(ILI9341_WHITE);
tft.setTextSize(1);
tft.print(volt);
tft.setCursor(58, 308);
tft.setTextSize(1);
tft.print("V");
if (toggle == HIGH) {
updateSNeedle(speed, maxSpeed);
} else {
updateLimitedSNeedle(speed, maxLimitedSpeed);
}
delay(50);
}
void updateSNeedle(int speed, int maxSpeed) {
int angle = map(speed, 0, maxSpeed, 0, 180);
float radOld = oldAngle * PI / 180;
float radNew = angle * PI / 180;
int oldX = cx - (r - 15) * cos(radOld);
int oldY = cy - (r - 15) * sin(radOld);
int newX = cx - (r - 15) * cos(radNew);
int newY = cy - (r - 15) * sin(radNew);
tft.drawLine(cx, cy, oldX, oldY, ILI9341_BLACK);
tft.drawLine(cx, cy, newX, newY, ILI9341_RED);
oldAngle = angle;
}
void updateLimitedSNeedle(int speed, int maxSpeed) {
int angle = map(speed, 0, maxSpeed, 0, 180);
float radOld = oldAngle * PI / 180;
float radNew = angle * PI / 180;
int oldX = cx - (r - 15) * cos(radOld);
int oldY = cy - (r - 15) * sin(radOld);
int newX = cx - (r - 15) * cos(radNew);
int newY = cy - (r - 15) * sin(radNew);
tft.drawLine(cx, cy, oldX, oldY, ILI9341_BLACK);
tft.drawLine(cx, cy, newX, newY, ILI9341_WHITE);
oldAngle = angle;
}
void updateTNeedle(float temp, int maxTemp) {
int angle = map(temp, 0, maxTemp, 0, 180);
float radOld = oldTempAngle * PI / 180;
float radNew = angle * PI / 180;
int oldX = cx2 - (r2 - 15) * cos(radOld);
int oldY = cy2 - (r2 - 15) * sin(radOld);
int newX = cx2 - (r2 - 15) * cos(radNew);
int newY = cy2 - (r2 - 15) * sin(radNew);
tft.drawLine(cx2, cy2, oldX, oldY, ILI9341_BLACK);
tft.drawLine(cx2, cy2, newX, newY, ILI9341_YELLOW);
oldTempAngle = angle;
}
void updateVNeedle(float volt, int maxVolt) {
int angle = map(volt, 0, maxVolt, 0, 180);
float radOld = oldVoltAngle * PI / 180;
float radNew = angle * PI / 180;
int oldX = cx3 - (r2 - 15) * cos(radOld);
int oldY = cy3 - (r2 - 15) * sin(radOld);
int newX = cx3 - (r2 - 15) * cos(radNew);
int newY = cy3 - (r2 - 15) * sin(radNew);
tft.drawLine(cx3, cy3, oldX, oldY, ILI9341_BLACK);
tft.drawLine(cx3, cy3, newX, newY, ILI9341_YELLOW);
oldVoltAngle = angle;
}
void console(String errorMessage, uint16_t color) {
if (position == 0) {
tft.fillRect(125, 185, 240, 240, ILI9341_BLACK);
}
tft.fillRect(125, 185 + position * 9, 240, 8, ILI9341_BLACK);
tft.setCursor(125, 185 + position * 9);
tft.setTextColor(color);
tft.setTextSize(1);
tft.print(errorMessage);
Serial.println("logged");
position = (position + 1) % 15;
}
void logo() {
for (int x = 0; x < 3; x++) {
for (int i = 0; i < 12; i++) {
tft.fillRect(0, 0, 240, 12, ILI9341_BLACK);
tft.fillRect(0, 308, 240, 12, ILI9341_BLACK);
tft.drawBitmap(0, 0, epd_bitmap_allArray[i], 240, 12, ILI9341_ORANGE);
tft.drawBitmap(0, 308, epd_bitmap_allArray[i], 240, 12, ILI9341_ORANGE);
delay(50);
}
if(x == 0) {
tft.drawBitmap(90, 145, epd_bitmap_pixilart_drawing, 60, 30, ILI9341_ORANGE);
} else if(x == 1) {
tft.fillRect(60, 100, 120, 120, ILI9341_BLACK);
tft.drawBitmap(60, 100, epd_bitmap_pixil_seb, 120, 120, ILI9341_ORANGE);
}
}
}
void refreshSemi() {
for (int i = 0; i <= 180; i++) {
float rad = i * PI / 180;
int x0 = cx + r * cos(rad);
int y0 = cy - r * sin(rad);
tft.drawPixel(x0, y0, ILI9341_ORANGE);
}
for (int i = 0; i <= 180; i += 20) {
float rad = i * PI / 180;
int x0 = cx + (r - 10) * cos(rad);
int y0 = cy - (r - 10) * sin(rad);
int x1 = cx + r * cos(rad);
int y1 = cy - r * sin(rad);
tft.drawLine(x0, y0, x1, y1, ILI9341_ORANGE);
}
// Temp semicircle
for (int i = 0; i <= 180; i++) {
float rad = i * PI / 180;
int x0 = cx2 + r2 * cos(rad);
int y0 = cy2 - r2 * sin(rad);
tft.drawPixel(x0, y0, ILI9341_ORANGE);
}
for (int i = 0; i <= 180; i += 20) {
float rad = i * PI / 180;
int x0 = cx2 + (r2 - 10) * cos(rad);
int y0 = cy2 - (r2 - 10) * sin(rad);
int x1 = cx2 + r2 * cos(rad);
int y1 = cy2 - r2 * sin(rad);
tft.drawLine(x0, y0, x1, y1, ILI9341_ORANGE);
}
// Volt semicircle
for (int i = 0; i <= 180; i++) {
float rad = i * PI / 180;
int x0 = cx3 + r2 * cos(rad);
int y0 = cy3 - r2 * sin(rad);
tft.drawPixel(x0, y0, ILI9341_ORANGE);
}
for (int i = 0; i <= 180; i += 20) {
float rad = i * PI / 180;
int x0 = cx3 + (r2 - 10) * cos(rad);
int y0 = cy3 - (r2 - 10) * sin(rad);
int x1 = cx3 + r2 * cos(rad);
int y1 = cy3 - r2 * sin(rad);
tft.drawLine(x0, y0, x1, y1, ILI9341_ORANGE);
}
}
void pula(int n) {
switch (n) {
case 0:
console("MIKU MIKU BEAM>:)", ILI9341_CYAN);
break;
case 1:
console("watch out for cops", ILI9341_GREEN);
break;
case 2:
console("VROOMY VROOM>:3", ILI9341_GREEN);
break;
default:
console("*insert initial d*", ILI9341_GREEN);
}
}