// ---> Libraries
#include <Wire.h>
#include <U8g2lib.h>
// #include <Arduino.h>
// ---> Pin connections
// Software I2C is slow
// --------------------
// #define SCL_OLED A5
// #define SDA_OLED A4
//
// //[page buffer, size = 128 bytes]
// U8G2_SH1106_128X64_NONAME_1_SW_I2C OLED(U8G2_R0, SCL_OLED, SDA_OLED, /*reset=*/U8X8_PIN_NONE );
// Using the hardware I2C bus
// --------------------------
U8G2_SH1106_128X64_NONAME_1_HW_I2C OLED(U8G2_R0);
// 'water level', 128x64px
const unsigned char epd_bitmap_water_level [] 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, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xaa, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x50, 0x55, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xa8, 0xaa, 0x2a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x54, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0x31, 0xef, 0x45, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x22, 0x29, 0x25, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x1f, 0x00, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0x21, 0x29, 0x11, 0x00, 0x00, 0x00, 0x00, 0x06, 0x18, 0x00, 0x00,
0x00, 0x80, 0x2a, 0x00, 0xa8, 0x22, 0x29, 0x59, 0x00, 0x00, 0x00, 0x00, 0x06, 0x18, 0x00, 0x00,
0x00, 0x00, 0x05, 0x55, 0x41, 0x71, 0xef, 0x4d, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00,
0x00, 0x80, 0xa0, 0xaa, 0x0a, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf8, 0x07, 0x00, 0x00,
0x00, 0x00, 0x54, 0x55, 0x55, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00,
0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0xff, 0x7f, 0x00, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0xf1, 0x5e, 0x04, 0x00, 0x00, 0x00, 0x80, 0x01, 0x60, 0x00, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x92, 0x52, 0x02, 0x00, 0x00, 0x00, 0x80, 0x01, 0x60, 0x00, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0xf1, 0x12, 0x01, 0x00, 0x00, 0x00, 0x60, 0x00, 0x80, 0x01, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0x92, 0x92, 0x05, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x15, 0x00, 0x50, 0xf1, 0xde, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0x82, 0xaa, 0x82, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x50, 0x55, 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xaa, 0xaa, 0xaa, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0xf2, 0x5e, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0x31, 0x52, 0x02, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xaa, 0xaa, 0xaa, 0xf2, 0x12, 0x01, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0x55, 0x55, 0x55, 0xb1, 0x92, 0x05, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0x0a, 0x00, 0xa0, 0xf2, 0xde, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xc1, 0xff, 0x07, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xfc, 0xff, 0x7f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xc3, 0x5e, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xa3, 0x52, 0x02, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xb3, 0x12, 0x01, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xf3, 0x92, 0x05, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x83, 0xde, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0x07, 0x00, 0xe0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xe0, 0xff, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xf3, 0x5e, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xc3, 0x52, 0x02, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x33, 0x12, 0x01, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x33, 0x92, 0x05, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0xf3, 0xde, 0x04, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0x01, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x00, 0xf8, 0xff, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x33, 0x2f, 0x02, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x23, 0x29, 0x01, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x23, 0x89, 0x00, 0x00, 0x00, 0x00, 0x60, 0xff, 0xbf, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x23, 0xc9, 0x02, 0x00, 0x00, 0x00, 0x60, 0x00, 0x80, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x73, 0x6f, 0x02, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x01, 0x00,
0x00, 0x80, 0xff, 0xff, 0xff, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0xff, 0xff, 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, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
void setup() {
// put your setup code here, to run once:
OLED.begin();
OLED.setFont(u8g2_font_t0_12b_mf);
OLED.setColorIndex(1);
}
void loop() {
// put your main code here, to run repeatedly:
OLED.firstPage();
do {
OLED.drawXBMP(0, 0, 128, 64, epd_bitmap_water_level);
} while ( OLED.nextPage() );
}