放出機構コントローラ用プログラム

Dependencies:   mbed BMP180

Committer:
scb01166
Date:
Wed Dec 16 13:13:15 2020 +0000
Revision:
3:52396b1b5867
Parent:
0:7bea87fe7ce1
Added "NoSignal" message; Improved the response when pushing the deploy button

Who changed what in which revision?

UserRevisionLine numberNew contents of line
scb01166 0:7bea87fe7ce1 1 #pragma once
scb01166 0:7bea87fe7ce1 2
scb01166 0:7bea87fe7ce1 3 #define SSD1306_BLACK 0 ///< Draw 'off' pixels
scb01166 0:7bea87fe7ce1 4 #define SSD1306_WHITE 1 ///< Draw 'on' pixels
scb01166 0:7bea87fe7ce1 5 #define SSD1306_INVERSE 2 ///< Invert pixels
scb01166 0:7bea87fe7ce1 6
scb01166 0:7bea87fe7ce1 7 #define SSD1306_MEMORYMODE 0x20 ///< See datasheet
scb01166 0:7bea87fe7ce1 8 #define SSD1306_COLUMNADDR 0x21 ///< See datasheet
scb01166 0:7bea87fe7ce1 9 #define SSD1306_PAGEADDR 0x22 ///< See datasheet
scb01166 0:7bea87fe7ce1 10 #define SSD1306_SETCONTRAST 0x81 ///< See datasheet
scb01166 0:7bea87fe7ce1 11 #define SSD1306_CHARGEPUMP 0x8D ///< See datasheet
scb01166 0:7bea87fe7ce1 12 #define SSD1306_SEGREMAP 0xA0 ///< See datasheet
scb01166 0:7bea87fe7ce1 13 #define SSD1306_DISPLAYALLON_RESUME 0xA4 ///< See datasheet
scb01166 0:7bea87fe7ce1 14 #define SSD1306_DISPLAYALLON 0xA5 ///< Not currently used
scb01166 0:7bea87fe7ce1 15 #define SSD1306_NORMALDISPLAY 0xA6 ///< See datasheet
scb01166 0:7bea87fe7ce1 16 #define SSD1306_INVERTDISPLAY 0xA7 ///< See datasheet
scb01166 0:7bea87fe7ce1 17 #define SSD1306_SETMULTIPLEX 0xA8 ///< See datasheet
scb01166 0:7bea87fe7ce1 18 #define SSD1306_DISPLAYOFF 0xAE ///< See datasheet
scb01166 0:7bea87fe7ce1 19 #define SSD1306_DISPLAYON 0xAF ///< See datasheet
scb01166 0:7bea87fe7ce1 20 #define SSD1306_COMSCANINC 0xC0 ///< Not currently used
scb01166 0:7bea87fe7ce1 21 #define SSD1306_COMSCANDEC 0xC8 ///< See datasheet
scb01166 0:7bea87fe7ce1 22 #define SSD1306_SETDISPLAYOFFSET 0xD3 ///< See datasheet
scb01166 0:7bea87fe7ce1 23 #define SSD1306_SETDISPLAYCLOCKDIV 0xD5 ///< See datasheet
scb01166 0:7bea87fe7ce1 24 #define SSD1306_SETPRECHARGE 0xD9 ///< See datasheet
scb01166 0:7bea87fe7ce1 25 #define SSD1306_SETCOMPINS 0xDA ///< See datasheet
scb01166 0:7bea87fe7ce1 26 #define SSD1306_SETVCOMDETECT 0xDB ///< See datasheet
scb01166 0:7bea87fe7ce1 27
scb01166 0:7bea87fe7ce1 28 #define SSD1306_SETLOWCOLUMN 0x00 ///< Not currently used
scb01166 0:7bea87fe7ce1 29 #define SSD1306_SETHIGHCOLUMN 0x10 ///< Not currently used
scb01166 0:7bea87fe7ce1 30 #define SSD1306_SETSTARTLINE 0x40 ///< See datasheet
scb01166 0:7bea87fe7ce1 31
scb01166 0:7bea87fe7ce1 32 #define SSD1306_EXTERNALVCC 0x01 ///< External display voltage source
scb01166 0:7bea87fe7ce1 33 #define SSD1306_SWITCHCAPVCC 0x02 ///< Gen. display voltage from 3.3V
scb01166 0:7bea87fe7ce1 34
scb01166 0:7bea87fe7ce1 35 #define SSD1306_RIGHT_HORIZONTAL_SCROLL 0x26 ///< Init rt scroll
scb01166 0:7bea87fe7ce1 36 #define SSD1306_LEFT_HORIZONTAL_SCROLL 0x27 ///< Init left scroll
scb01166 0:7bea87fe7ce1 37 #define SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL 0x29 ///< Init diag scroll
scb01166 0:7bea87fe7ce1 38 #define SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL 0x2A ///< Init diag scroll
scb01166 0:7bea87fe7ce1 39 #define SSD1306_DEACTIVATE_SCROLL 0x2E ///< Stop scroll
scb01166 0:7bea87fe7ce1 40 #define SSD1306_ACTIVATE_SCROLL 0x2F ///< Start scroll
scb01166 0:7bea87fe7ce1 41 #define SSD1306_SET_VERTICAL_SCROLL_AREA 0xA3 ///< Set scroll range
scb01166 0:7bea87fe7ce1 42
scb01166 0:7bea87fe7ce1 43 const char bitmap_64x42_digit[10][336] = {{
scb01166 0:7bea87fe7ce1 44 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 45 0x00,0x00,0x00,0x00,0x00,0xC0,0xF0,0xF8,0xFE,0xFF,0xFF,0xFF,0x7F,0x1F,0x0F,0x0F,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x0F,0x0F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFE,0xFC,0xF8,0xE0,0x80,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 46 0x00,0x00,0x80,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xE1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xC0,0x00,0x00,
scb01166 0:7bea87fe7ce1 47 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xE0,0xF0,0xF0,0xF8,0xFC,0xFE,0xFE,0xFF,0x7F,0x3F,0x1F,0x1F,0x0F,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
scb01166 0:7bea87fe7ce1 48 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,0xF0,0xF8,0xFC,0xFC,0xFE,0xFF,0x7F,0x7F,0x3F,0x1F,0x0F,0x0F,0x07,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
scb01166 0:7bea87fe7ce1 49 0x00,0x00,0x03,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0x87,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x03,0x00,0x00,
scb01166 0:7bea87fe7ce1 50 0x00,0x00,0x00,0x00,0x01,0x07,0x1F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFE,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xF0,0xF0,0xF8,0xFE,0xFF,0xFF,0xFF,0x7F,0x1F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 51 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 52 },
scb01166 0:7bea87fe7ce1 53 {
scb01166 0:7bea87fe7ce1 54 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 55 0x00,0x00,0x00,0x00,0xE0,0xE0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFC,0xFE,0x7E,0x7F,0x3F,0x1F,0x1F,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 56 0x00,0x00,0x00,0x00,0x00,0x07,0x0F,0x07,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 57 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 58 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 59 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 60 0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 61 0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 62 },
scb01166 0:7bea87fe7ce1 63 {
scb01166 0:7bea87fe7ce1 64 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 65 0x00,0x00,0x00,0x00,0x00,0x0E,0x1E,0x3F,0x7F,0x3F,0x1F,0x0F,0x0F,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x0F,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 66 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,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 67 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,0xC0,0xE0,0xF8,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 68 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0x7F,0x3F,0x1F,0x0F,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 69 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0x7F,0x3F,0x1F,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 70 0x00,0x00,0x00,0x00,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF7,0xF3,0xF1,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 71 0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 72 },
scb01166 0:7bea87fe7ce1 73 {
scb01166 0:7bea87fe7ce1 74 0x00,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 75 0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x0F,0x07,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x0F,0x1F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,0xFC,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 76 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,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 77 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFE,0xFF,0xFF,0x9F,0x9F,0x8F,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 78 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x07,0x0F,0x1F,0x1F,0x7F,0xFF,0xFF,0xFE,0xFE,0xFC,0xF8,0xE0,0x80,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 79 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,0xC1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 80 0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0x7F,0x3F,0x1F,0x07,0x03,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 81 0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x07,0x07,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 82 },
scb01166 0:7bea87fe7ce1 83 {
scb01166 0:7bea87fe7ce1 84 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 85 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF0,0xFC,0xFF,0xFF,0xFF,0x7F,0x1F,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 86 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,0xFC,0xFF,0xFF,0xFF,0x7F,0x1F,0x0F,0x03,0x01,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 87 0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,0xFC,0xFF,0xFF,0xFF,0x7F,0x1F,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 88 0x00,0xC0,0xE0,0xF8,0xFC,0xFF,0xFF,0xFF,0x3F,0x1F,0x07,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 89 0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x7E,0x00,
scb01166 0:7bea87fe7ce1 90 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,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 91 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,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 92 },
scb01166 0:7bea87fe7ce1 93 {
scb01166 0:7bea87fe7ce1 94 0x00,0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 95 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 96 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,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,
scb01166 0:7bea87fe7ce1 97 0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xF8,0xF8,0xF8,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 98 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x03,0x03,0x07,0x0F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0xC0,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 99 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,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x1F,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 100 0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF8,0xFC,0xFE,0xFF,0xFF,0x7F,0x3F,0x1F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 101 0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x07,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 102 },
scb01166 0:7bea87fe7ce1 103 {
scb01166 0:7bea87fe7ce1 104 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 105 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF0,0xF8,0xFC,0xFC,0xFE,0xFF,0x7F,0x3F,0x3F,0x1F,0x1F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 106 0x00,0x00,0x00,0x00,0x00,0xF0,0xFC,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0x03,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,
scb01166 0:7bea87fe7ce1 107 0x00,0x00,0x00,0xE0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xE0,0xF0,0xF0,0xF8,0xF8,0xF8,0xF8,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xFC,0xF8,0xF8,0xF8,0xF0,0xF0,0xE0,0xE0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 108 0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x03,0x03,0x03,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x07,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0x80,0x00,0x00,
scb01166 0:7bea87fe7ce1 109 0x00,0x00,0x00,0x03,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x3F,0x00,0x00,
scb01166 0:7bea87fe7ce1 110 0x00,0x00,0x00,0x00,0x00,0x03,0x0F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFE,0xFC,0xF8,0xF0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0x7F,0x3F,0x1F,0x07,0x01,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 111 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x07,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 112 },
scb01166 0:7bea87fe7ce1 113 {
scb01166 0:7bea87fe7ce1 114 0x00,0x00,0x00,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 115 0x00,0x00,0x00,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x8F,0xEF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x1F,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 116 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,0xE0,0xF8,0xFE,0xFF,0xFF,0xFF,0x7F,0x1F,0x07,0x01,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 117 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 118 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 119 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 120 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0xF8,0xFE,0xFF,0xFF,0xFF,0xFF,0x7F,0x1F,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 121 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x07,0x07,0x07,0x07,0x07,0x07,0x07,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,
scb01166 0:7bea87fe7ce1 122 },
scb01166 0:7bea87fe7ce1 123 {
scb01166 0:7bea87fe7ce1 124 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 125 0x00,0x00,0x00,0x00,0x80,0xF0,0xFC,0xFE,0xFF,0xFF,0xFF,0x7F,0x1F,0x0F,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x0F,0x1F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFE,0xF8,0xE0,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 126 0x00,0x00,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xF0,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x1F,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 127 0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x0F,0x1F,0x3F,0x3F,0x7F,0xFF,0xFE,0xFE,0xFC,0xFC,0xF8,0xF8,0xF0,0xF0,0xF8,0xFC,0xFC,0xFE,0xFF,0xBF,0x3F,0x1F,0x1F,0x0F,0x07,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 128 0x00,0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0xF8,0xFC,0xFE,0xFE,0xFF,0x7F,0x3F,0x1F,0x0F,0x0F,0x07,0x03,0x03,0x03,0x07,0x0F,0x0F,0x1F,0x1F,0x3F,0x7F,0xFF,0xFF,0xFE,0xFE,0xFC,0xF8,0xF0,0xE0,0x80,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 129 0x00,0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x9F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 130 0x00,0x00,0x00,0x03,0x1F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF8,0xFC,0xFF,0xFF,0xFF,0xFF,0x7F,0x3F,0x0F,0x03,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 131 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x03,0x07,0x07,0x07,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x0F,0x07,0x07,0x07,0x07,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 132 },
scb01166 0:7bea87fe7ce1 133 {
scb01166 0:7bea87fe7ce1 134 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0xC0,0xC0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xF0,0xE0,0xE0,0xE0,0xC0,0xC0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 135 0x00,0x00,0x00,0x80,0xE0,0xF8,0xFC,0xFE,0xFF,0xFF,0xFF,0x3F,0x1F,0x0F,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x07,0x07,0x0F,0x1F,0x3F,0xFF,0xFF,0xFF,0xFF,0xFC,0xF8,0xF0,0x80,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 136 0x00,0x00,0xFC,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x80,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 137 0x00,0x00,0x03,0x1F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF8,0xE0,0xC0,0xC0,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0xC0,0xC0,0xC0,0xE1,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 138 0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x07,0x07,0x0F,0x0F,0x1F,0x1F,0x1F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x3F,0x1F,0x1F,0x1F,0x1F,0x0F,0x0F,0x07,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 139 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,0xC0,0xF0,0xFE,0xFF,0xFF,0xFF,0xFF,0x3F,0x0F,0x01,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 140 0x00,0x00,0x00,0x00,0x00,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xE0,0xF0,0xF0,0xF0,0xF0,0xF8,0xF8,0xFC,0xFC,0xFE,0x7F,0x7F,0x3F,0x3F,0x1F,0x0F,0x07,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 141 0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x07,0x03,0x03,0x03,0x03,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 142 }
scb01166 0:7bea87fe7ce1 143 };
scb01166 0:7bea87fe7ce1 144 const char bitmap_64x42_m[336] = {
scb01166 0:7bea87fe7ce1 145 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,
scb01166 0:7bea87fe7ce1 146 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,
scb01166 0:7bea87fe7ce1 147 0x00,0x00,0xFC,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0xC0,0xF0,0xF8,0xFC,0xFC,0x7E,0x7E,0x7E,0xFE,0xFE,0xFC,0xFC,0xF8,0xE0,0x00,0x00,0xC0,0xF0,0xF8,0xFC,0xFC,0x7E,0x7E,0x7E,0xFE,0xFE,0xFC,0xFC,0xF8,0xF0,0x80,0x00,0x00,
scb01166 0:7bea87fe7ce1 148 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x3F,0x0F,0x03,0x01,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0x3F,0x0F,0x03,0x01,0x00,0x00,0x00,0x00,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
scb01166 0:7bea87fe7ce1 149 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
scb01166 0:7bea87fe7ce1 150 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
scb01166 0:7bea87fe7ce1 151 0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,
scb01166 0:7bea87fe7ce1 152 0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,0x07,0x07,0x07,0x07,0x00,0x00,
scb01166 0:7bea87fe7ce1 153 };
scb01166 0:7bea87fe7ce1 154 const char bitmap_64x42_minus[336] = {
scb01166 0:7bea87fe7ce1 155 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,
scb01166 0:7bea87fe7ce1 156 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,
scb01166 0:7bea87fe7ce1 157 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,
scb01166 0:7bea87fe7ce1 158 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,
scb01166 0:7bea87fe7ce1 159 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
scb01166 0:7bea87fe7ce1 160 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,
scb01166 0:7bea87fe7ce1 161 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,
scb01166 0:7bea87fe7ce1 162 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,
scb01166 0:7bea87fe7ce1 163 };
scb01166 0:7bea87fe7ce1 164 const char bitmap_64x42_space[336] = {};
scb01166 0:7bea87fe7ce1 165
scb01166 0:7bea87fe7ce1 166 const int ssd1306_i2c_addr = 0x78; // 0x7A
scb01166 0:7bea87fe7ce1 167
scb01166 0:7bea87fe7ce1 168 int ssd1306_write_data(const int is_command,const char *commands,const int len)
scb01166 0:7bea87fe7ce1 169 {
scb01166 0:7bea87fe7ce1 170 // mbedでException使うとバグるのでgoto
scb01166 0:7bea87fe7ce1 171 const char control = is_command ? 0x00 : 0x40;
scb01166 0:7bea87fe7ce1 172 i2c.start();
scb01166 0:7bea87fe7ce1 173 int ack = i2c.write(ssd1306_i2c_addr);
scb01166 0:7bea87fe7ce1 174 if(!ack) goto abort_i2c;
scb01166 0:7bea87fe7ce1 175 ack = i2c.write(control);
scb01166 0:7bea87fe7ce1 176 if(!ack) goto abort_i2c;
scb01166 0:7bea87fe7ce1 177 for(int i = 0; i < len; i++) {
scb01166 0:7bea87fe7ce1 178 ack = i2c.write(commands[i]);
scb01166 0:7bea87fe7ce1 179 if(!ack) goto abort_i2c;
scb01166 0:7bea87fe7ce1 180 }
scb01166 0:7bea87fe7ce1 181 i2c.stop();
scb01166 0:7bea87fe7ce1 182 return len;
scb01166 0:7bea87fe7ce1 183
scb01166 0:7bea87fe7ce1 184 abort_i2c:
scb01166 0:7bea87fe7ce1 185 i2c.stop();
scb01166 0:7bea87fe7ce1 186 return -1;
scb01166 0:7bea87fe7ce1 187 }
scb01166 0:7bea87fe7ce1 188
scb01166 0:7bea87fe7ce1 189 int ssd1306_write_commands(const char *commands,const int len)
scb01166 0:7bea87fe7ce1 190 {
scb01166 0:7bea87fe7ce1 191 return ssd1306_write_data(true,commands,len);
scb01166 0:7bea87fe7ce1 192 }
scb01166 0:7bea87fe7ce1 193 int ssd1306_write_gddram(const char *commands,const int len)
scb01166 0:7bea87fe7ce1 194 {
scb01166 0:7bea87fe7ce1 195 return ssd1306_write_data(false,commands,len);
scb01166 0:7bea87fe7ce1 196 }
scb01166 0:7bea87fe7ce1 197 int ssd1306_draw_bitmap(const int col_start,const int page_start,const int col_width,const int page_height,const char *bitmap)
scb01166 0:7bea87fe7ce1 198 {
scb01166 0:7bea87fe7ce1 199 char command[] = {
scb01166 0:7bea87fe7ce1 200 SSD1306_MEMORYMODE,0x00, // Horizontal Mode
scb01166 0:7bea87fe7ce1 201 SSD1306_COLUMNADDR,col_start&0xFF,(col_start + col_width -1)&0xFF,
scb01166 0:7bea87fe7ce1 202 SSD1306_PAGEADDR,page_start&0xFF,(page_start + page_height -1)&0xFF
scb01166 0:7bea87fe7ce1 203 };
scb01166 0:7bea87fe7ce1 204 int ret;
scb01166 0:7bea87fe7ce1 205 ret = ssd1306_write_commands(command,sizeof(command));
scb01166 0:7bea87fe7ce1 206 if(ret==-1) {
scb01166 0:7bea87fe7ce1 207 return -1;
scb01166 0:7bea87fe7ce1 208 }
scb01166 0:7bea87fe7ce1 209 return ssd1306_write_gddram(bitmap,col_width * page_height);
scb01166 0:7bea87fe7ce1 210 }
scb01166 0:7bea87fe7ce1 211 int ssd1306_init()
scb01166 0:7bea87fe7ce1 212 {
scb01166 0:7bea87fe7ce1 213 const char init_command[] = {
scb01166 0:7bea87fe7ce1 214 SSD1306_DISPLAYOFF,
scb01166 0:7bea87fe7ce1 215 SSD1306_SETDISPLAYCLOCKDIV,
scb01166 0:7bea87fe7ce1 216 0x80,
scb01166 0:7bea87fe7ce1 217 SSD1306_SETMULTIPLEX,
scb01166 0:7bea87fe7ce1 218 0x3f,
scb01166 0:7bea87fe7ce1 219 SSD1306_SETDISPLAYOFFSET,
scb01166 0:7bea87fe7ce1 220 0x00,
scb01166 0:7bea87fe7ce1 221 SSD1306_SETSTARTLINE | 0x0,
scb01166 0:7bea87fe7ce1 222 SSD1306_CHARGEPUMP,
scb01166 0:7bea87fe7ce1 223 0x14,
scb01166 0:7bea87fe7ce1 224 SSD1306_MEMORYMODE,
scb01166 0:7bea87fe7ce1 225 0x00,
scb01166 0:7bea87fe7ce1 226 SSD1306_SEGREMAP | 0x1,
scb01166 0:7bea87fe7ce1 227 SSD1306_COMSCANDEC,
scb01166 0:7bea87fe7ce1 228 SSD1306_SETCOMPINS,
scb01166 0:7bea87fe7ce1 229 0x12,
scb01166 0:7bea87fe7ce1 230 SSD1306_SETCONTRAST,
scb01166 0:7bea87fe7ce1 231 0x7f,
scb01166 0:7bea87fe7ce1 232 SSD1306_SETPRECHARGE,
scb01166 0:7bea87fe7ce1 233 0xf1,
scb01166 0:7bea87fe7ce1 234 SSD1306_SETVCOMDETECT,
scb01166 0:7bea87fe7ce1 235 0x40,
scb01166 0:7bea87fe7ce1 236 SSD1306_DISPLAYALLON_RESUME,
scb01166 0:7bea87fe7ce1 237 SSD1306_NORMALDISPLAY,
scb01166 0:7bea87fe7ce1 238 SSD1306_DISPLAYON
scb01166 0:7bea87fe7ce1 239 };
scb01166 0:7bea87fe7ce1 240 return ssd1306_write_commands(init_command,sizeof(init_command));
scb01166 0:7bea87fe7ce1 241 }
scb01166 0:7bea87fe7ce1 242 void ssd1306_init_meter_display()
scb01166 0:7bea87fe7ce1 243 {
scb01166 0:7bea87fe7ce1 244 char display_buffer[86*8] = {};
scb01166 0:7bea87fe7ce1 245 ssd1306_draw_bitmap(0,0,86,8,display_buffer);
scb01166 0:7bea87fe7ce1 246 ssd1306_draw_bitmap(86,0,42,8,bitmap_64x42_m);
scb01166 0:7bea87fe7ce1 247 }
scb01166 0:7bea87fe7ce1 248 void ssd1306_draw_meter(int meter)
scb01166 0:7bea87fe7ce1 249 {
scb01166 0:7bea87fe7ce1 250 if(meter < -9) meter = -9;
scb01166 0:7bea87fe7ce1 251 if(meter > 99) meter = 99;
scb01166 0:7bea87fe7ce1 252
scb01166 0:7bea87fe7ce1 253 char const *digit10,*digit1;
scb01166 0:7bea87fe7ce1 254 if(meter < 0) {
scb01166 0:7bea87fe7ce1 255 digit10 = bitmap_64x42_minus;
scb01166 0:7bea87fe7ce1 256 digit1 = bitmap_64x42_digit[-meter%10];
scb01166 0:7bea87fe7ce1 257 } else if(meter < 10) {
scb01166 0:7bea87fe7ce1 258 digit10 = bitmap_64x42_space;
scb01166 0:7bea87fe7ce1 259 digit1 = bitmap_64x42_digit[meter];
scb01166 0:7bea87fe7ce1 260 } else {
scb01166 0:7bea87fe7ce1 261 digit10 = bitmap_64x42_digit[meter/10];
scb01166 0:7bea87fe7ce1 262 digit1 = bitmap_64x42_digit[meter%10];
scb01166 0:7bea87fe7ce1 263 }
scb01166 0:7bea87fe7ce1 264 ssd1306_draw_bitmap(0,0,42,8,digit10);
scb01166 0:7bea87fe7ce1 265 ssd1306_draw_bitmap(43,0,42,8,digit1);
scb01166 0:7bea87fe7ce1 266 }