#include <Arduino.h>
#include <U8g2lib.h>
#include <Wire.h> // library requires for IIC communication
U8G2_SSD1306_128X64_NONAME_F_HW_I2C u8g2(U8G2_R0, /* reset=*/ U8X8_PIN_NONE); // initialization for the used OLED display
void setup(void) {
Serial.begin(115200);
u8g2.begin(); // start the u8g2 library
}
void loop(void) {
static const unsigned char image_weather_cloud_lightning_bolt_bits[] U8X8_PROGMEM = {0x00,0x00,0x00,0xe0,0x03,0x00,0x10,0x04,0x00,0x08,0x08,0x00,0x0c,0x10,0x00,0x02,0x70,0x00,0x01,0x81,0x00,0x81,0x00,0x01,0xc2,0x00,0x01,0x64,0xfc,0x00,0xf0,0x01,0x00,0x80,0x01,0x00,0xc0,0x00,0x00,0x40,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00};
static const unsigned char image_weather_cloud_rain_bits[] U8X8_PROGMEM = {0x00,0x00,0x00,0xe0,0x03,0x00,0x10,0x04,0x00,0x08,0x08,0x00,0x0c,0x10,0x00,0x02,0x70,0x00,0x01,0x80,0x00,0x01,0x00,0x01,0x02,0x00,0x01,0xfc,0xff,0x00,0x80,0x08,0x00,0x44,0x44,0x00,0x22,0x21,0x00,0x89,0x14,0x00,0x44,0x02,0x00,0x00,0x01,0x00};
static const unsigned char image_weather_sun_bits[] U8X8_PROGMEM = {0x80,0x00,0x84,0x10,0x08,0x08,0xc0,0x01,0x31,0x46,0x12,0x24,0x08,0x08,0x08,0x08,0x08,0x08,0x12,0x24,0x31,0x46,0xc0,0x01,0x08,0x08,0x84,0x10,0x80,0x00,0x00,0x00};
static const unsigned char image_weather_frost_bits[] U8X8_PROGMEM = {0x80,0x00,0xc8,0x09,0x8c,0x18,0xce,0x39,0x90,0x04,0xa0,0x02,0xca,0x29,0x7f,0x7f,0xca,0x29,0xa0,0x02,0x90,0x04,0xce,0x39,0x8c,0x18,0xc8,0x09,0x80,0x00,0x00,0x00};
static const unsigned char image_paint_0_bits[] U8X8_PROGMEM = {0x01,0x03,0x07,0x03,0x01};
static const unsigned char image_weather_cloud_sunny_bits[] U8X8_PROGMEM = {0x00,0x04,0x00,0x40,0x40,0x00,0x00,0x0e,0x00,0x80,0x31,0x00,0x90,0x20,0x01,0x40,0x40,0x00,0x40,0x40,0x00,0xe0,0x41,0x00,0x10,0x22,0x01,0x08,0x34,0x00,0x0c,0x0c,0x00,0x06,0x78,0x00,0x01,0xc0,0x00,0x01,0x80,0x00,0x01,0x80,0x00,0xfe,0x7f,0x00};
u8g2.clearBuffer();
u8g2.setFontMode(1);
u8g2.setBitmapMode(1);
u8g2.drawXBMP(7, 86, 17, 16, image_weather_cloud_lightning_bolt_bits);
u8g2.drawXBMP(8, 67, 17, 16, image_weather_cloud_rain_bits);
u8g2.drawXBMP(8, 48, 15, 16, image_weather_sun_bits);
u8g2.drawXBMP(8, 28, 15, 16, image_weather_frost_bits);
u8g2.drawPixel(101, 44);
u8g2.drawXBMP(188, 26, 3, 5, image_paint_0_bits);
u8g2.drawXBMP(6, 106, 17, 16, image_weather_cloud_sunny_bits);
u8g2.sendBuffer();
delay(1000); // one second delay, but we are only displaying a static text, so it makes no difference
}