「バッテリー残量のアニメーション」を作る(STM32C011J4M7)(SSD1306(128x32))


「バッテリー残量のアニメーション」を作る(STM32C011J4M7)(SSD1306(128x32))


Arduino oled ssd1306 AL12832AWWB-H-U02 STM32C011




参考


https://qiita.com/caa45040/items/fa1965d2a5f3583348fb


https://qiita.com/caa45040/items/5252e4cc123a370804e8


https://qiita.com/caa45040/items/cd68a75fc28079514f81







目的
OLEDのテスト




結果

![o_cop955.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/840352/3ee087f0-e6b6-276d-9c67-f86b1f41658e.jpeg)


プログラム


```c++



//有機ELのSSD1306で「デカ文字」キャラクターを描画
//秋月のOLEDとアイテンドウの売り切れ?OLEDのアドレスは3C
//SSD1306_128x32_battery_C011_1


//ヘッダー
#include <Arduino.h>
#include <Wire.h>
#include "battery_128x32.h"


//定義
#define MAX_PAGE                   (7)
#define MAX_COL                    (127)

#define COMMAND_MODE               0x80 // continuation bit is set!
#define DATA_MODE                  0x40

#define SET_COLUMN_ADDRESS         0x21 // takes two bytes, start address and end address of display data RAM
#define SET_PAGE_ADDRESS           0x22 // takes two bytes, start address and end address of display data RAM

#define SET_MEMORY_ADDRESSING_MODE 0x20 // takes one byte as given above
#define HORIZONTAL_ADDRESSING_MODE 0x00


//I2Cに配列を転送する
void write_s(uint8_t *str1, uint8_t len1) {

  Wire.beginTransmission(  0x3c  );

  for (int ii = 0; ii < len1; ii++) {

    //一文字出力
    Wire.write(*str1 ++);

  }//for

  Wire.endTransmission();

}//write_s


//セットページアドレス
void setPageAddress(uint8_t start, uint8_t end)
{
  uint8_t databytes[6] = {COMMAND_MODE, SET_PAGE_ADDRESS, COMMAND_MODE, start, COMMAND_MODE, end};
  write_s(databytes, 6);
}//setPageAddress


//セットカラムアクセス
void setColumnAddress(uint8_t start, uint8_t end)
{
  uint8_t databytes[6] = {COMMAND_MODE, SET_COLUMN_ADDRESS, COMMAND_MODE, start, COMMAND_MODE, end};
  write_s(databytes, 6);
}//setColumnAddress


//セットメモリーアドレシングモード
void setMemoryAddressingMode()
{
  uint8_t databytes[4] = {COMMAND_MODE, SET_MEMORY_ADDRESSING_MODE, COMMAND_MODE, HORIZONTAL_ADDRESSING_MODE};
  write_s(databytes, 4);
}//setMemoryAddressingMode


uint8_t buff_a[((128 / 8) * 64)]; //バッファー
//memset(buff_a, 0, ((128 / 8) * 64) ); //バッファーのクリア


//バッファのクリア
void clearDisplay(void) {
  memset(buff_a, 0, (128 / 8) * 64);
}//clearDisplay


int start_x = 0; //xの開始位置
int start_y = 0; //yの開始位置


//デカ文字を1文字書く
void BIG_char(char char_i) {

  //char_i = char_i - '0';

  //int char_i = 0;   //キャラクター番号
  //int start_x = 20; //xの開始位置
  //int start_y = 10; //yの開始位置
  int dot_1;        //ドットのオン、オフ
  //キャラクターを描画
  for (int x = 0; x < (128); x++) {
    for (int y = 0; y <  32; y++) {

      dot_1 =
        ( databytes[ (y * ((128) / 8)) + (x / 8 ) + (char_i * ((128) * 32 / 8)) ] >> (7 - (x & 7)) ) & 0x01;
      if (dot_1 != 0) {
        buff_a[(start_x + x) + ((start_y + (y*2)) / 8) * (128)] |= (1 << ((start_y + (y*2)) & 7));
      }

    }//for y
  }//for x

  //start_x = start_x + (32);

}//BIG_char


// テキストの開始位置を設定
void setCursor(int x, int y) {
  start_x = x; //xの開始位置
  start_y = y; //yの開始位置
}//setCursor


//文字列の表示 nana_seg
void ns_printf(char *str1) {
  //文字の中身がゼロか
  while (*str1) {

    //一文字出力
    BIG_char( *str1 ++ );

  } //while
}//ns_printf


//再表示
void display(void) {
  //範囲の設定
  setPageAddress(0, MAX_PAGE);  // all pages
  setColumnAddress(0, MAX_COL); // all columns

  //128x64の再描画
  uint8_t databytes_d[2] = {DATA_MODE, 0x00};
  for (int icount = 0; icount < ((128 / 8) * 64); icount++) {
    databytes_d[1] = buff_a[icount];
    write_s(databytes_d, 2);
  }//for icount
}//display


//SSD1306の初期化
void display_begin(void) {
  //I2Cのポートの変更
  Wire.setSDA(19); //PA10
  Wire.setSCL(18); //PA9

  //I2Cの初期化
  Wire.begin(); //C011
  delay(200);

  //SSD1306の初期化スペル(魔法)
  //0x80,0x8d,0x80,0x14,0x80,0xAF
  write_s( (uint8_t*) "\200\215\200\024\200\257", 6);
  delay(100);

  //セットメモリーアドレシングモード
  setMemoryAddressingMode();
}//display_begin

//初期化
void setup() {

  delay(3000); //not Delete (絶対消すな)(消しちゃィゃーん)

  //SSD1306の初期化
  display_begin();

}//setup


//メインループ
void loop() {

  static int i = 5;


  //バッファのクリア
  clearDisplay();

  // テキストの開始位置を設定
  setCursor(0,0);

  //デカ文字を1文字書く
  BIG_char(i);

  //再表示
  display();



  i = i - 1;
  if(i == -1){i = 5;}

 delay(1000); //1秒待つ
  
}//loop



```

battery_128x32.h


```c++:battery_128x32.h



// ビットマップデータ
// 'soiya96', 200x96px
static const unsigned char PROGMEM databytes[] = {



// 'x_Edge1', 128x192px


  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, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0f, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xf3, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x03, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcc, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x0c, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xcf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0xff, 
  0xff, 0xff, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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







};




```