├── Arduino ├── Nano-Pin.txt ├── PKE_METER │ └── PKE_METER.ino └── libraries │ ├── Adafruit_GFX_Library │ ├── Adafruit_GFX.cpp │ ├── Adafruit_GFX.h │ ├── Fonts │ │ ├── FreeMono12pt7b.h │ │ ├── FreeMono18pt7b.h │ │ ├── FreeMono24pt7b.h │ │ ├── FreeMono9pt7b.h │ │ ├── FreeMonoBold12pt7b.h │ │ ├── FreeMonoBold18pt7b.h │ │ ├── FreeMonoBold24pt7b.h │ │ ├── FreeMonoBold9pt7b.h │ │ ├── FreeMonoBoldOblique12pt7b.h │ │ ├── FreeMonoBoldOblique18pt7b.h │ │ ├── FreeMonoBoldOblique24pt7b.h │ │ ├── FreeMonoBoldOblique9pt7b.h │ │ ├── FreeMonoOblique12pt7b.h │ │ ├── FreeMonoOblique18pt7b.h │ │ ├── FreeMonoOblique24pt7b.h │ │ ├── FreeMonoOblique9pt7b.h │ │ ├── FreeSans12pt7b.h │ │ ├── FreeSans18pt7b.h │ │ ├── FreeSans24pt7b.h │ │ ├── FreeSans9pt7b.h │ │ ├── FreeSansBold12pt7b.h │ │ ├── FreeSansBold18pt7b.h │ │ ├── FreeSansBold24pt7b.h │ │ ├── FreeSansBold9pt7b.h │ │ ├── FreeSansBoldOblique12pt7b.h │ │ ├── FreeSansBoldOblique18pt7b.h │ │ ├── FreeSansBoldOblique24pt7b.h │ │ ├── FreeSansBoldOblique9pt7b.h │ │ ├── FreeSansOblique12pt7b.h │ │ ├── FreeSansOblique18pt7b.h │ │ ├── FreeSansOblique24pt7b.h │ │ ├── FreeSansOblique9pt7b.h │ │ ├── FreeSerif12pt7b.h │ │ ├── FreeSerif18pt7b.h │ │ ├── FreeSerif24pt7b.h │ │ ├── FreeSerif9pt7b.h │ │ ├── FreeSerifBold12pt7b.h │ │ ├── FreeSerifBold18pt7b.h │ │ ├── FreeSerifBold24pt7b.h │ │ ├── FreeSerifBold9pt7b.h │ │ ├── FreeSerifBoldItalic12pt7b.h │ │ ├── FreeSerifBoldItalic18pt7b.h │ │ ├── FreeSerifBoldItalic24pt7b.h │ │ ├── FreeSerifBoldItalic9pt7b.h │ │ ├── FreeSerifItalic12pt7b.h │ │ ├── FreeSerifItalic18pt7b.h │ │ ├── FreeSerifItalic24pt7b.h │ │ ├── FreeSerifItalic9pt7b.h │ │ ├── Org_01.h │ │ ├── Picopixel.h │ │ └── TomThumb.h │ ├── README.md │ ├── fontconvert │ │ ├── Makefile │ │ ├── fontconvert.c │ │ ├── fontconvert_win.md │ │ └── makefonts.sh │ ├── gfxfont.h │ ├── glcdfont.c │ ├── library.properties │ └── license.txt │ └── Adafruit_SSD1306 │ ├── Adafruit_SSD1306.cpp │ ├── Adafruit_SSD1306.h │ └── library.properties ├── Eagle ├── LED_board.brd ├── LED_board.sch ├── layout.png └── schematic.png ├── Fritzing └── PKE_Metere.fzz ├── LICENSE ├── Model ├── back_bottom.stl ├── back_one_piece.stl ├── back_top.stl ├── buttons_filled.stl ├── front_bottom.stl ├── front_one_piece.stl ├── front_top.stl ├── screen_holder.stl ├── wings_cover_left.stl ├── wings_cover_right.stl ├── wings_left.stl └── wings_right.stl ├── PKE_Meter_Breadboard.png └── README.md /Arduino/Nano-Pin.txt: -------------------------------------------------------------------------------- 1 | vin/gnd - to power 2 | 5v/gnd - to rail 3 | A4 - SDA on Display 4 | A5 - SLC on Display 5 | D3 - Button 1 6 | D4 - Button 2 7 | D5 - Buzzer 8 | D6 - LED 1 9 | D7 - LED 2 10 | D8 - LED 3 11 | D9 - LED 4 12 | D10 - LED 5 13 | D11 - LED 6 14 | D12 - LED 7 15 | D13 - Servo Signal 16 | -------------------------------------------------------------------------------- /Arduino/PKE_METER/PKE_METER.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | 5 | #define OLED_RESET 4 6 | Adafruit_SSD1306 display(OLED_RESET); 7 | 8 | Servo SERVO1; 9 | 10 | int LEDNum = 0; // current LED that is lit 11 | unsigned long previousMillis; // will store last time LED was updated 12 | 13 | const int LED1 = 12; 14 | const int LED2 = 11; 15 | const int LED3 = 10; 16 | const int LED4 = 9; 17 | const int LED5 = 8; 18 | const int LED6 = 7; 19 | const int LED7 = 6; 20 | 21 | int FILM; 22 | bool SOUND; 23 | 24 | const int GB1_PATTERN[7] = { 25 | LED3, LED5, LED7, LED4, LED1, LED6, LED2 26 | }; 27 | const int GB2_PATTERN[7] = { 28 | LED3, LED1, LED6, LED4, LED7, LED5, LED2 29 | }; 30 | 31 | const int DISPLAY_PATTERN[][2] = { 32 | {21, 5}, 33 | {18, 20}, 34 | {15, 30}, 35 | {12, 45}, 36 | {9, 50}, 37 | {6, 55}, 38 | {3, 65} 39 | }; 40 | 41 | const int BUZZER = 5; 42 | const int BUTTON1 = 3; 43 | const int BUTTON2 = 4; 44 | 45 | // know thy button state 46 | bool medium_state = false; 47 | bool high_state = false; 48 | bool button1_down = false; 49 | bool button2_down = false; 50 | 51 | void setup() { 52 | pinMode(LED1, OUTPUT); 53 | pinMode(LED2, OUTPUT); 54 | pinMode(LED3, OUTPUT); 55 | pinMode(LED4, OUTPUT); 56 | pinMode(LED5, OUTPUT); 57 | pinMode(LED6, OUTPUT); 58 | pinMode(LED7, OUTPUT); 59 | pinMode(BUZZER, OUTPUT); 60 | pinMode(BUTTON1, INPUT); 61 | pinMode(BUTTON2, INPUT); 62 | 63 | digitalWrite(BUTTON1, HIGH); 64 | digitalWrite(BUTTON2, HIGH); 65 | 66 | // The following lines are because my PKE setup 67 | // is currently running without the buck converter. 68 | // Pin D2 acts as VCC for the OLED screen 69 | // PN June 12, 2018d 70 | pinMode(2, OUTPUT); 71 | digitalWrite(2, HIGH); 72 | 73 | display.begin(SSD1306_SWITCHCAPVCC, 0x3C); 74 | display.display(); 75 | 76 | // Clear the buffer. 77 | display.clearDisplay(); 78 | initialSetup(); 79 | 80 | SERVO1.attach(13); 81 | SERVO1.write(90); 82 | } 83 | 84 | // current display val 85 | int currentVal = 0; 86 | void loop() { 87 | int button1 = digitalRead(BUTTON1); 88 | int button2 = digitalRead(BUTTON2); 89 | 90 | if ( button1 == LOW && button1_down == false ) { 91 | button1_down = true; 92 | 93 | if ( medium_state == true) { 94 | medium_state = false; 95 | high_state = false; 96 | currentVal = 0; 97 | } else { 98 | medium_state = true; 99 | high_state = false; 100 | currentVal = 40; 101 | } 102 | } else { 103 | if (button1 == HIGH && button1_down == true ) { 104 | button1_down = false; 105 | } 106 | } 107 | 108 | if ( button2 == LOW && button2_down == false ) { 109 | button2_down = true; 110 | 111 | if (high_state == true) { 112 | medium_state = false; 113 | high_state = false; 114 | currentVal = 0; 115 | } else { 116 | medium_state = false; 117 | high_state = true; 118 | currentVal = 90; 119 | } 120 | } else { 121 | if (button2 == HIGH && button2_down == true ) { 122 | button2_down = false; 123 | } 124 | } 125 | 126 | // do the led stuff 127 | LEDLoop(currentVal); 128 | 129 | // do the servo stuff 130 | ServoLoop(currentVal); 131 | 132 | // delay in between reads for stability 133 | delay(1); 134 | } 135 | 136 | void initialSetup(){ 137 | String headings[] = {"WHICH PATTERN?", "SOUNDS?"}; 138 | String labels[][2] = { 139 | {"GB1", "GB2"}, 140 | {"NO", "YES"} 141 | }; 142 | for (int i = 0; i < 2; i++){ 143 | int button1 = digitalRead(BUTTON1); 144 | int button2 = digitalRead(BUTTON2); 145 | while (button1 == HIGH && button2 == HIGH){ 146 | display.setTextSize(1); 147 | display.setTextColor(WHITE); 148 | display.setCursor(22, 5); 149 | display.print(headings[i]); 150 | display.setCursor(10, 30); 151 | display.print(labels[i][0]); 152 | display.setCursor(100, 30); 153 | display.print(labels[i][1]); 154 | display.display(); 155 | button1 = digitalRead(BUTTON1); 156 | button2 = digitalRead(BUTTON2); 157 | } 158 | if (button1 == LOW && i == 0){ 159 | FILM = 1; 160 | } else if (button2 == LOW && i == 0){ 161 | FILM = 2; 162 | } else if (button1 == LOW && i == 1) { 163 | SOUND = false; 164 | } else if (button2 == LOW && i == 1) { 165 | SOUND = true; 166 | } 167 | digitalWrite(BUTTON1, HIGH); 168 | digitalWrite(BUTTON2, HIGH); 169 | delay(500); 170 | display.clearDisplay(); 171 | } 172 | } 173 | 174 | int prevB = 0; 175 | void drawDisplay(int level, int bar) { 176 | display.setTextSize(1); 177 | display.setTextColor(WHITE); 178 | display.setCursor(29, 5); 179 | String display_str = String("GHOSTBUSTERS"); 180 | display.print(display_str); 181 | 182 | int b1 = random(prevB, bar); 183 | int b2 = random(prevB, bar); 184 | int b3 = random(prevB, bar); 185 | int b4 = random(prevB, bar); 186 | int b5 = random(prevB / 2, bar / 2); 187 | int b6 = random(prevB / 2, bar / 2); 188 | prevB = bar; 189 | 190 | display.fillRect(2, display.height() - (5 + b1), 5, b1, WHITE); 191 | display.fillRect(10, display.height() - (5 + b2), 5, b2, WHITE); 192 | display.fillRect(18, display.height() - (5 + b5), 5, b5, WHITE); 193 | display.fillRect(display.width() - 23, display.height() - (5 + b6), 5, b6, WHITE); 194 | display.fillRect(display.width() - 15, display.height() - (5 + b4), 5, b4, WHITE); 195 | display.fillRect(display.width() - 7, display.height() - (5 + b3), 5, b3, WHITE); 196 | 197 | display.drawCircle(display.width() / 2, display.height() / 2 + 7, level, WHITE); 198 | 199 | display.display(); 200 | } 201 | 202 | void clearLoop() { 203 | display.clearDisplay(); 204 | prevB = 0; 205 | } 206 | 207 | void LEDLoop(int convertedVal) { 208 | unsigned long ledSpeed = map(convertedVal, 0, 100, 500, 20); 209 | 210 | // check to see if it's time to change the state of the LED 211 | unsigned long currentMillis = millis(); 212 | 213 | if ((unsigned long)(currentMillis - previousMillis) >= ledSpeed) 214 | { 215 | previousMillis = millis(); 216 | if (SOUND) { 217 | TriggerBuzzer(); 218 | } 219 | if (FILM == 1){ 220 | if (LEDNum == 0){ 221 | clearLoop(); 222 | digitalWrite(GB1_PATTERN[6], LOW); 223 | } else { 224 | digitalWrite(GB1_PATTERN[LEDNum - 1], LOW); 225 | } 226 | digitalWrite(GB1_PATTERN[LEDNum], HIGH); 227 | } else { 228 | if (LEDNum == 0){ 229 | clearLoop(); 230 | digitalWrite(GB2_PATTERN[6], LOW); 231 | } else { 232 | digitalWrite(GB2_PATTERN[LEDNum - 1], LOW); 233 | } 234 | digitalWrite(GB2_PATTERN[LEDNum], HIGH); 235 | } 236 | drawDisplay(DISPLAY_PATTERN[LEDNum][0], DISPLAY_PATTERN[LEDNum][1]); 237 | LEDNum = (LEDNum + 1) % 7; 238 | } 239 | } 240 | 241 | void TriggerBuzzer() { 242 | tone(BUZZER, 2000); // Send 2KHz sound signal... 243 | delay(20); // ...for 20 msec 244 | noTone(BUZZER); 245 | } 246 | 247 | void ServoLoop(int convertedVal) { 248 | int servoVal = map(convertedVal, 0, 100, 110, 40); 249 | SERVO1.write(servoVal); 250 | } 251 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Adafruit_GFX.h: -------------------------------------------------------------------------------- 1 | #ifndef _ADAFRUIT_GFX_H 2 | #define _ADAFRUIT_GFX_H 3 | 4 | #if ARDUINO >= 100 5 | #include "Arduino.h" 6 | #include "Print.h" 7 | #else 8 | #include "WProgram.h" 9 | #endif 10 | #include "gfxfont.h" 11 | 12 | class Adafruit_GFX : public Print { 13 | 14 | public: 15 | 16 | Adafruit_GFX(int16_t w, int16_t h); // Constructor 17 | 18 | // This MUST be defined by the subclass: 19 | virtual void drawPixel(int16_t x, int16_t y, uint16_t color) = 0; 20 | 21 | // TRANSACTION API / CORE DRAW API 22 | // These MAY be overridden by the subclass to provide device-specific 23 | // optimized code. Otherwise 'generic' versions are used. 24 | virtual void startWrite(void); 25 | virtual void writePixel(int16_t x, int16_t y, uint16_t color); 26 | virtual void writeFillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); 27 | virtual void writeFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color); 28 | virtual void writeFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); 29 | virtual void writeLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color); 30 | virtual void endWrite(void); 31 | 32 | // CONTROL API 33 | // These MAY be overridden by the subclass to provide device-specific 34 | // optimized code. Otherwise 'generic' versions are used. 35 | virtual void setRotation(uint8_t r); 36 | virtual void invertDisplay(boolean i); 37 | 38 | // BASIC DRAW API 39 | // These MAY be overridden by the subclass to provide device-specific 40 | // optimized code. Otherwise 'generic' versions are used. 41 | virtual void 42 | // It's good to implement those, even if using transaction API 43 | drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color), 44 | drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color), 45 | fillRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color), 46 | fillScreen(uint16_t color), 47 | // Optional and probably not necessary to change 48 | drawLine(int16_t x0, int16_t y0, int16_t x1, int16_t y1, uint16_t color), 49 | drawRect(int16_t x, int16_t y, int16_t w, int16_t h, uint16_t color); 50 | 51 | // These exist only with Adafruit_GFX (no subclass overrides) 52 | void 53 | drawCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color), 54 | drawCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, 55 | uint16_t color), 56 | fillCircle(int16_t x0, int16_t y0, int16_t r, uint16_t color), 57 | fillCircleHelper(int16_t x0, int16_t y0, int16_t r, uint8_t cornername, 58 | int16_t delta, uint16_t color), 59 | drawTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, 60 | int16_t x2, int16_t y2, uint16_t color), 61 | fillTriangle(int16_t x0, int16_t y0, int16_t x1, int16_t y1, 62 | int16_t x2, int16_t y2, uint16_t color), 63 | drawRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, 64 | int16_t radius, uint16_t color), 65 | fillRoundRect(int16_t x0, int16_t y0, int16_t w, int16_t h, 66 | int16_t radius, uint16_t color), 67 | drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[], 68 | int16_t w, int16_t h, uint16_t color), 69 | drawBitmap(int16_t x, int16_t y, const uint8_t bitmap[], 70 | int16_t w, int16_t h, uint16_t color, uint16_t bg), 71 | drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, 72 | int16_t w, int16_t h, uint16_t color), 73 | drawBitmap(int16_t x, int16_t y, uint8_t *bitmap, 74 | int16_t w, int16_t h, uint16_t color, uint16_t bg), 75 | drawXBitmap(int16_t x, int16_t y, const uint8_t bitmap[], 76 | int16_t w, int16_t h, uint16_t color), 77 | drawGrayscaleBitmap(int16_t x, int16_t y, const uint8_t bitmap[], 78 | int16_t w, int16_t h), 79 | drawGrayscaleBitmap(int16_t x, int16_t y, uint8_t *bitmap, 80 | int16_t w, int16_t h), 81 | drawGrayscaleBitmap(int16_t x, int16_t y, 82 | const uint8_t bitmap[], const uint8_t mask[], 83 | int16_t w, int16_t h), 84 | drawGrayscaleBitmap(int16_t x, int16_t y, 85 | uint8_t *bitmap, uint8_t *mask, int16_t w, int16_t h), 86 | drawRGBBitmap(int16_t x, int16_t y, const uint16_t bitmap[], 87 | int16_t w, int16_t h), 88 | drawRGBBitmap(int16_t x, int16_t y, uint16_t *bitmap, 89 | int16_t w, int16_t h), 90 | drawRGBBitmap(int16_t x, int16_t y, 91 | const uint16_t bitmap[], const uint8_t mask[], 92 | int16_t w, int16_t h), 93 | drawRGBBitmap(int16_t x, int16_t y, 94 | uint16_t *bitmap, uint8_t *mask, int16_t w, int16_t h), 95 | drawChar(int16_t x, int16_t y, unsigned char c, uint16_t color, 96 | uint16_t bg, uint8_t size), 97 | setCursor(int16_t x, int16_t y), 98 | setTextColor(uint16_t c), 99 | setTextColor(uint16_t c, uint16_t bg), 100 | setTextSize(uint8_t s), 101 | setTextWrap(boolean w), 102 | cp437(boolean x=true), 103 | setFont(const GFXfont *f = NULL), 104 | getTextBounds(char *string, int16_t x, int16_t y, 105 | int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h), 106 | getTextBounds(const __FlashStringHelper *s, int16_t x, int16_t y, 107 | int16_t *x1, int16_t *y1, uint16_t *w, uint16_t *h); 108 | 109 | #if ARDUINO >= 100 110 | virtual size_t write(uint8_t); 111 | #else 112 | virtual void write(uint8_t); 113 | #endif 114 | 115 | int16_t height(void) const; 116 | int16_t width(void) const; 117 | 118 | uint8_t getRotation(void) const; 119 | 120 | // get current cursor position (get rotation safe maximum values, using: width() for x, height() for y) 121 | int16_t getCursorX(void) const; 122 | int16_t getCursorY(void) const; 123 | 124 | protected: 125 | void 126 | charBounds(char c, int16_t *x, int16_t *y, 127 | int16_t *minx, int16_t *miny, int16_t *maxx, int16_t *maxy); 128 | const int16_t 129 | WIDTH, HEIGHT; // This is the 'raw' display w/h - never changes 130 | int16_t 131 | _width, _height, // Display w/h as modified by current rotation 132 | cursor_x, cursor_y; 133 | uint16_t 134 | textcolor, textbgcolor; 135 | uint8_t 136 | textsize, 137 | rotation; 138 | boolean 139 | wrap, // If set, 'wrap' text at right edge of display 140 | _cp437; // If set, use correct CP437 charset (default is off) 141 | GFXfont 142 | *gfxFont; 143 | }; 144 | 145 | class Adafruit_GFX_Button { 146 | 147 | public: 148 | Adafruit_GFX_Button(void); 149 | // "Classic" initButton() uses center & size 150 | void initButton(Adafruit_GFX *gfx, int16_t x, int16_t y, 151 | uint16_t w, uint16_t h, uint16_t outline, uint16_t fill, 152 | uint16_t textcolor, char *label, uint8_t textsize); 153 | // New/alt initButton() uses upper-left corner & size 154 | void initButtonUL(Adafruit_GFX *gfx, int16_t x1, int16_t y1, 155 | uint16_t w, uint16_t h, uint16_t outline, uint16_t fill, 156 | uint16_t textcolor, char *label, uint8_t textsize); 157 | void drawButton(boolean inverted = false); 158 | boolean contains(int16_t x, int16_t y); 159 | 160 | void press(boolean p); 161 | boolean isPressed(); 162 | boolean justPressed(); 163 | boolean justReleased(); 164 | 165 | private: 166 | Adafruit_GFX *_gfx; 167 | int16_t _x1, _y1; // Coordinates of top-left corner 168 | uint16_t _w, _h; 169 | uint8_t _textsize; 170 | uint16_t _outlinecolor, _fillcolor, _textcolor; 171 | char _label[10]; 172 | 173 | boolean currstate, laststate; 174 | }; 175 | 176 | class GFXcanvas1 : public Adafruit_GFX { 177 | public: 178 | GFXcanvas1(uint16_t w, uint16_t h); 179 | ~GFXcanvas1(void); 180 | void drawPixel(int16_t x, int16_t y, uint16_t color), 181 | fillScreen(uint16_t color); 182 | uint8_t *getBuffer(void); 183 | private: 184 | uint8_t *buffer; 185 | }; 186 | 187 | class GFXcanvas8 : public Adafruit_GFX { 188 | public: 189 | GFXcanvas8(uint16_t w, uint16_t h); 190 | ~GFXcanvas8(void); 191 | void drawPixel(int16_t x, int16_t y, uint16_t color), 192 | fillScreen(uint16_t color), 193 | writeFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); 194 | 195 | uint8_t *getBuffer(void); 196 | private: 197 | uint8_t *buffer; 198 | }; 199 | 200 | class GFXcanvas16 : public Adafruit_GFX { 201 | public: 202 | GFXcanvas16(uint16_t w, uint16_t h); 203 | ~GFXcanvas16(void); 204 | void drawPixel(int16_t x, int16_t y, uint16_t color), 205 | fillScreen(uint16_t color); 206 | uint16_t *getBuffer(void); 207 | private: 208 | uint16_t *buffer; 209 | }; 210 | 211 | #endif // _ADAFRUIT_GFX_H 212 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeMono9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeMono9pt7bBitmaps[] PROGMEM = { 2 | 0xAA, 0xA8, 0x0C, 0xED, 0x24, 0x92, 0x48, 0x24, 0x48, 0x91, 0x2F, 0xE4, 3 | 0x89, 0x7F, 0x28, 0x51, 0x22, 0x40, 0x08, 0x3E, 0x62, 0x40, 0x30, 0x0E, 4 | 0x01, 0x81, 0xC3, 0xBE, 0x08, 0x08, 0x71, 0x12, 0x23, 0x80, 0x23, 0xB8, 5 | 0x0E, 0x22, 0x44, 0x70, 0x38, 0x81, 0x02, 0x06, 0x1A, 0x65, 0x46, 0xC8, 6 | 0xEC, 0xE9, 0x24, 0x5A, 0xAA, 0xA9, 0x40, 0xA9, 0x55, 0x5A, 0x80, 0x10, 7 | 0x22, 0x4B, 0xE3, 0x05, 0x11, 0x00, 0x10, 0x20, 0x47, 0xF1, 0x02, 0x04, 8 | 0x00, 0x6B, 0x48, 0xFF, 0x00, 0xF0, 0x02, 0x08, 0x10, 0x60, 0x81, 0x04, 9 | 0x08, 0x20, 0x41, 0x02, 0x08, 0x00, 0x38, 0x8A, 0x0C, 0x18, 0x30, 0x60, 10 | 0xC1, 0x82, 0x88, 0xE0, 0x27, 0x28, 0x42, 0x10, 0x84, 0x21, 0x3E, 0x38, 11 | 0x8A, 0x08, 0x10, 0x20, 0x82, 0x08, 0x61, 0x03, 0xF8, 0x7C, 0x06, 0x02, 12 | 0x02, 0x1C, 0x06, 0x01, 0x01, 0x01, 0x42, 0x3C, 0x18, 0xA2, 0x92, 0x8A, 13 | 0x28, 0xBF, 0x08, 0x21, 0xC0, 0x7C, 0x81, 0x03, 0xE4, 0x40, 0x40, 0x81, 14 | 0x03, 0x88, 0xE0, 0x1E, 0x41, 0x04, 0x0B, 0x98, 0xB0, 0xC1, 0xC2, 0x88, 15 | 0xE0, 0xFE, 0x04, 0x08, 0x20, 0x40, 0x82, 0x04, 0x08, 0x20, 0x40, 0x38, 16 | 0x8A, 0x0C, 0x14, 0x47, 0x11, 0x41, 0x83, 0x8C, 0xE0, 0x38, 0x8A, 0x1C, 17 | 0x18, 0x68, 0xCE, 0x81, 0x04, 0x13, 0xC0, 0xF0, 0x0F, 0x6C, 0x00, 0xD2, 18 | 0xD2, 0x00, 0x03, 0x04, 0x18, 0x60, 0x60, 0x18, 0x04, 0x03, 0xFF, 0x80, 19 | 0x00, 0x1F, 0xF0, 0x40, 0x18, 0x03, 0x00, 0x60, 0x20, 0x60, 0xC0, 0x80, 20 | 0x3D, 0x84, 0x08, 0x30, 0xC2, 0x00, 0x00, 0x00, 0x30, 0x3C, 0x46, 0x82, 21 | 0x8E, 0xB2, 0xA2, 0xA2, 0x9F, 0x80, 0x80, 0x40, 0x3C, 0x3C, 0x01, 0x40, 22 | 0x28, 0x09, 0x01, 0x10, 0x42, 0x0F, 0xC1, 0x04, 0x40, 0x9E, 0x3C, 0xFE, 23 | 0x21, 0x90, 0x48, 0x67, 0xE2, 0x09, 0x02, 0x81, 0x41, 0xFF, 0x80, 0x3E, 24 | 0xB0, 0xF0, 0x30, 0x08, 0x04, 0x02, 0x00, 0x80, 0x60, 0x8F, 0x80, 0xFE, 25 | 0x21, 0x90, 0x68, 0x14, 0x0A, 0x05, 0x02, 0x83, 0x43, 0x7F, 0x00, 0xFF, 26 | 0x20, 0x90, 0x08, 0x87, 0xC2, 0x21, 0x00, 0x81, 0x40, 0xFF, 0xC0, 0xFF, 27 | 0xA0, 0x50, 0x08, 0x87, 0xC2, 0x21, 0x00, 0x80, 0x40, 0x78, 0x00, 0x1E, 28 | 0x98, 0x6C, 0x0A, 0x00, 0x80, 0x20, 0xF8, 0x0B, 0x02, 0x60, 0x87, 0xC0, 29 | 0xE3, 0xA0, 0x90, 0x48, 0x27, 0xF2, 0x09, 0x04, 0x82, 0x41, 0x71, 0xC0, 30 | 0xF9, 0x08, 0x42, 0x10, 0x84, 0x27, 0xC0, 0x1F, 0x02, 0x02, 0x02, 0x02, 31 | 0x02, 0x82, 0x82, 0xC6, 0x78, 0xE3, 0xA1, 0x11, 0x09, 0x05, 0x83, 0x21, 32 | 0x08, 0x84, 0x41, 0x70, 0xC0, 0xE0, 0x40, 0x40, 0x40, 0x40, 0x40, 0x41, 33 | 0x41, 0x41, 0xFF, 0xE0, 0xEC, 0x19, 0x45, 0x28, 0xA4, 0xA4, 0x94, 0x91, 34 | 0x12, 0x02, 0x40, 0x5C, 0x1C, 0xC3, 0xB0, 0x94, 0x4A, 0x24, 0x92, 0x49, 35 | 0x14, 0x8A, 0x43, 0x70, 0x80, 0x1E, 0x31, 0x90, 0x50, 0x18, 0x0C, 0x06, 36 | 0x02, 0x82, 0x63, 0x0F, 0x00, 0xFE, 0x43, 0x41, 0x41, 0x42, 0x7C, 0x40, 37 | 0x40, 0x40, 0xF0, 0x1C, 0x31, 0x90, 0x50, 0x18, 0x0C, 0x06, 0x02, 0x82, 38 | 0x63, 0x1F, 0x04, 0x07, 0x92, 0x30, 0xFE, 0x21, 0x90, 0x48, 0x24, 0x23, 39 | 0xE1, 0x10, 0x84, 0x41, 0x70, 0xC0, 0x3A, 0xCD, 0x0A, 0x03, 0x01, 0x80, 40 | 0xC1, 0xC7, 0x78, 0xFF, 0xC4, 0x62, 0x21, 0x00, 0x80, 0x40, 0x20, 0x10, 41 | 0x08, 0x1F, 0x00, 0xE3, 0xA0, 0x90, 0x48, 0x24, 0x12, 0x09, 0x04, 0x82, 42 | 0x22, 0x0E, 0x00, 0xF1, 0xE8, 0x10, 0x82, 0x10, 0x42, 0x10, 0x22, 0x04, 43 | 0x80, 0x50, 0x0C, 0x00, 0x80, 0xF1, 0xE8, 0x09, 0x11, 0x25, 0x44, 0xA8, 44 | 0x55, 0x0C, 0xA1, 0x8C, 0x31, 0x84, 0x30, 0xE3, 0xA0, 0x88, 0x82, 0x80, 45 | 0x80, 0xC0, 0x90, 0x44, 0x41, 0x71, 0xC0, 0xE3, 0xA0, 0x88, 0x82, 0x81, 46 | 0x40, 0x40, 0x20, 0x10, 0x08, 0x1F, 0x00, 0xFD, 0x0A, 0x20, 0x81, 0x04, 47 | 0x10, 0x21, 0x83, 0xFC, 0xEA, 0xAA, 0xAA, 0xC0, 0x80, 0x81, 0x03, 0x02, 48 | 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0xD5, 0x55, 0x55, 0xC0, 49 | 0x10, 0x51, 0x22, 0x28, 0x20, 0xFF, 0xE0, 0x88, 0x80, 0x7E, 0x00, 0x80, 50 | 0x47, 0xEC, 0x14, 0x0A, 0x0C, 0xFB, 0xC0, 0x20, 0x10, 0x0B, 0xC6, 0x12, 51 | 0x05, 0x02, 0x81, 0x40, 0xB0, 0xB7, 0x80, 0x3A, 0x8E, 0x0C, 0x08, 0x10, 52 | 0x10, 0x9E, 0x03, 0x00, 0x80, 0x47, 0xA4, 0x34, 0x0A, 0x05, 0x02, 0x81, 53 | 0x21, 0x8F, 0x60, 0x3C, 0x43, 0x81, 0xFF, 0x80, 0x80, 0x61, 0x3E, 0x3D, 54 | 0x04, 0x3E, 0x41, 0x04, 0x10, 0x41, 0x0F, 0x80, 0x3D, 0xA1, 0xA0, 0x50, 55 | 0x28, 0x14, 0x09, 0x0C, 0x7A, 0x01, 0x01, 0x87, 0x80, 0xC0, 0x20, 0x10, 56 | 0x0B, 0xC6, 0x32, 0x09, 0x04, 0x82, 0x41, 0x20, 0xB8, 0xE0, 0x10, 0x01, 57 | 0xC0, 0x81, 0x02, 0x04, 0x08, 0x11, 0xFC, 0x10, 0x3E, 0x10, 0x84, 0x21, 58 | 0x08, 0x42, 0x3F, 0x00, 0xC0, 0x40, 0x40, 0x4F, 0x44, 0x58, 0x70, 0x48, 59 | 0x44, 0x42, 0xC7, 0x70, 0x20, 0x40, 0x81, 0x02, 0x04, 0x08, 0x10, 0x23, 60 | 0xF8, 0xB7, 0x64, 0x62, 0x31, 0x18, 0x8C, 0x46, 0x23, 0x91, 0x5E, 0x31, 61 | 0x90, 0x48, 0x24, 0x12, 0x09, 0x05, 0xC7, 0x3E, 0x31, 0xA0, 0x30, 0x18, 62 | 0x0C, 0x05, 0x8C, 0x7C, 0xDE, 0x30, 0x90, 0x28, 0x14, 0x0A, 0x05, 0x84, 63 | 0xBC, 0x40, 0x20, 0x38, 0x00, 0x3D, 0xA1, 0xA0, 0x50, 0x28, 0x14, 0x09, 64 | 0x0C, 0x7A, 0x01, 0x00, 0x80, 0xE0, 0xCE, 0xA1, 0x82, 0x04, 0x08, 0x10, 65 | 0x7C, 0x3A, 0x8D, 0x0B, 0x80, 0xF0, 0x70, 0xDE, 0x40, 0x40, 0xFC, 0x40, 66 | 0x40, 0x40, 0x40, 0x40, 0x41, 0x3E, 0xC3, 0x41, 0x41, 0x41, 0x41, 0x41, 67 | 0x43, 0x3D, 0xE3, 0xA0, 0x90, 0x84, 0x42, 0x20, 0xA0, 0x50, 0x10, 0xE3, 68 | 0xC0, 0x92, 0x4B, 0x25, 0x92, 0xA9, 0x98, 0x44, 0xE3, 0x31, 0x05, 0x01, 69 | 0x01, 0x41, 0x11, 0x05, 0xC7, 0xE3, 0xA0, 0x90, 0x84, 0x42, 0x40, 0xA0, 70 | 0x60, 0x10, 0x10, 0x08, 0x3E, 0x00, 0xFD, 0x08, 0x20, 0x82, 0x08, 0x10, 71 | 0xBF, 0x29, 0x24, 0xA2, 0x49, 0x26, 0xFF, 0xF8, 0x89, 0x24, 0x8A, 0x49, 72 | 0x2C, 0x61, 0x24, 0x30 }; 73 | 74 | const GFXglyph FreeMono9pt7bGlyphs[] PROGMEM = { 75 | { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' 76 | { 0, 2, 11, 11, 4, -10 }, // 0x21 '!' 77 | { 3, 6, 5, 11, 2, -10 }, // 0x22 '"' 78 | { 7, 7, 12, 11, 2, -10 }, // 0x23 '#' 79 | { 18, 8, 12, 11, 1, -10 }, // 0x24 '$' 80 | { 30, 7, 11, 11, 2, -10 }, // 0x25 '%' 81 | { 40, 7, 10, 11, 2, -9 }, // 0x26 '&' 82 | { 49, 3, 5, 11, 4, -10 }, // 0x27 ''' 83 | { 51, 2, 13, 11, 5, -10 }, // 0x28 '(' 84 | { 55, 2, 13, 11, 4, -10 }, // 0x29 ')' 85 | { 59, 7, 7, 11, 2, -10 }, // 0x2A '*' 86 | { 66, 7, 7, 11, 2, -8 }, // 0x2B '+' 87 | { 73, 3, 5, 11, 2, -1 }, // 0x2C ',' 88 | { 75, 9, 1, 11, 1, -5 }, // 0x2D '-' 89 | { 77, 2, 2, 11, 4, -1 }, // 0x2E '.' 90 | { 78, 7, 13, 11, 2, -11 }, // 0x2F '/' 91 | { 90, 7, 11, 11, 2, -10 }, // 0x30 '0' 92 | { 100, 5, 11, 11, 3, -10 }, // 0x31 '1' 93 | { 107, 7, 11, 11, 2, -10 }, // 0x32 '2' 94 | { 117, 8, 11, 11, 1, -10 }, // 0x33 '3' 95 | { 128, 6, 11, 11, 3, -10 }, // 0x34 '4' 96 | { 137, 7, 11, 11, 2, -10 }, // 0x35 '5' 97 | { 147, 7, 11, 11, 2, -10 }, // 0x36 '6' 98 | { 157, 7, 11, 11, 2, -10 }, // 0x37 '7' 99 | { 167, 7, 11, 11, 2, -10 }, // 0x38 '8' 100 | { 177, 7, 11, 11, 2, -10 }, // 0x39 '9' 101 | { 187, 2, 8, 11, 4, -7 }, // 0x3A ':' 102 | { 189, 3, 11, 11, 3, -7 }, // 0x3B ';' 103 | { 194, 8, 8, 11, 1, -8 }, // 0x3C '<' 104 | { 202, 9, 4, 11, 1, -6 }, // 0x3D '=' 105 | { 207, 9, 8, 11, 1, -8 }, // 0x3E '>' 106 | { 216, 7, 10, 11, 2, -9 }, // 0x3F '?' 107 | { 225, 8, 12, 11, 2, -10 }, // 0x40 '@' 108 | { 237, 11, 10, 11, 0, -9 }, // 0x41 'A' 109 | { 251, 9, 10, 11, 1, -9 }, // 0x42 'B' 110 | { 263, 9, 10, 11, 1, -9 }, // 0x43 'C' 111 | { 275, 9, 10, 11, 1, -9 }, // 0x44 'D' 112 | { 287, 9, 10, 11, 1, -9 }, // 0x45 'E' 113 | { 299, 9, 10, 11, 1, -9 }, // 0x46 'F' 114 | { 311, 10, 10, 11, 1, -9 }, // 0x47 'G' 115 | { 324, 9, 10, 11, 1, -9 }, // 0x48 'H' 116 | { 336, 5, 10, 11, 3, -9 }, // 0x49 'I' 117 | { 343, 8, 10, 11, 2, -9 }, // 0x4A 'J' 118 | { 353, 9, 10, 11, 1, -9 }, // 0x4B 'K' 119 | { 365, 8, 10, 11, 2, -9 }, // 0x4C 'L' 120 | { 375, 11, 10, 11, 0, -9 }, // 0x4D 'M' 121 | { 389, 9, 10, 11, 1, -9 }, // 0x4E 'N' 122 | { 401, 9, 10, 11, 1, -9 }, // 0x4F 'O' 123 | { 413, 8, 10, 11, 1, -9 }, // 0x50 'P' 124 | { 423, 9, 13, 11, 1, -9 }, // 0x51 'Q' 125 | { 438, 9, 10, 11, 1, -9 }, // 0x52 'R' 126 | { 450, 7, 10, 11, 2, -9 }, // 0x53 'S' 127 | { 459, 9, 10, 11, 1, -9 }, // 0x54 'T' 128 | { 471, 9, 10, 11, 1, -9 }, // 0x55 'U' 129 | { 483, 11, 10, 11, 0, -9 }, // 0x56 'V' 130 | { 497, 11, 10, 11, 0, -9 }, // 0x57 'W' 131 | { 511, 9, 10, 11, 1, -9 }, // 0x58 'X' 132 | { 523, 9, 10, 11, 1, -9 }, // 0x59 'Y' 133 | { 535, 7, 10, 11, 2, -9 }, // 0x5A 'Z' 134 | { 544, 2, 13, 11, 5, -10 }, // 0x5B '[' 135 | { 548, 7, 13, 11, 2, -11 }, // 0x5C '\' 136 | { 560, 2, 13, 11, 4, -10 }, // 0x5D ']' 137 | { 564, 7, 5, 11, 2, -10 }, // 0x5E '^' 138 | { 569, 11, 1, 11, 0, 2 }, // 0x5F '_' 139 | { 571, 3, 3, 11, 3, -11 }, // 0x60 '`' 140 | { 573, 9, 8, 11, 1, -7 }, // 0x61 'a' 141 | { 582, 9, 11, 11, 1, -10 }, // 0x62 'b' 142 | { 595, 7, 8, 11, 2, -7 }, // 0x63 'c' 143 | { 602, 9, 11, 11, 1, -10 }, // 0x64 'd' 144 | { 615, 8, 8, 11, 1, -7 }, // 0x65 'e' 145 | { 623, 6, 11, 11, 3, -10 }, // 0x66 'f' 146 | { 632, 9, 11, 11, 1, -7 }, // 0x67 'g' 147 | { 645, 9, 11, 11, 1, -10 }, // 0x68 'h' 148 | { 658, 7, 10, 11, 2, -9 }, // 0x69 'i' 149 | { 667, 5, 13, 11, 3, -9 }, // 0x6A 'j' 150 | { 676, 8, 11, 11, 2, -10 }, // 0x6B 'k' 151 | { 687, 7, 11, 11, 2, -10 }, // 0x6C 'l' 152 | { 697, 9, 8, 11, 1, -7 }, // 0x6D 'm' 153 | { 706, 9, 8, 11, 1, -7 }, // 0x6E 'n' 154 | { 715, 9, 8, 11, 1, -7 }, // 0x6F 'o' 155 | { 724, 9, 11, 11, 1, -7 }, // 0x70 'p' 156 | { 737, 9, 11, 11, 1, -7 }, // 0x71 'q' 157 | { 750, 7, 8, 11, 3, -7 }, // 0x72 'r' 158 | { 757, 7, 8, 11, 2, -7 }, // 0x73 's' 159 | { 764, 8, 10, 11, 2, -9 }, // 0x74 't' 160 | { 774, 8, 8, 11, 1, -7 }, // 0x75 'u' 161 | { 782, 9, 8, 11, 1, -7 }, // 0x76 'v' 162 | { 791, 9, 8, 11, 1, -7 }, // 0x77 'w' 163 | { 800, 9, 8, 11, 1, -7 }, // 0x78 'x' 164 | { 809, 9, 11, 11, 1, -7 }, // 0x79 'y' 165 | { 822, 7, 8, 11, 2, -7 }, // 0x7A 'z' 166 | { 829, 3, 13, 11, 4, -10 }, // 0x7B '{' 167 | { 834, 1, 13, 11, 5, -10 }, // 0x7C '|' 168 | { 836, 3, 13, 11, 4, -10 }, // 0x7D '}' 169 | { 841, 7, 3, 11, 2, -6 } }; // 0x7E '~' 170 | 171 | const GFXfont FreeMono9pt7b PROGMEM = { 172 | (uint8_t *)FreeMono9pt7bBitmaps, 173 | (GFXglyph *)FreeMono9pt7bGlyphs, 174 | 0x20, 0x7E, 18 }; 175 | 176 | // Approx. 1516 bytes 177 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeMonoBold9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeMonoBold9pt7bBitmaps[] PROGMEM = { 2 | 0xFF, 0xFF, 0xD2, 0x1F, 0x80, 0xEC, 0x89, 0x12, 0x24, 0x40, 0x36, 0x36, 3 | 0x36, 0x7F, 0x7F, 0x36, 0xFF, 0xFF, 0x3C, 0x3C, 0x3C, 0x00, 0x18, 0xFF, 4 | 0xFE, 0x3C, 0x1F, 0x1F, 0x83, 0x46, 0x8D, 0xF0, 0xC1, 0x83, 0x00, 0x61, 5 | 0x22, 0x44, 0x86, 0x67, 0x37, 0x11, 0x22, 0x4C, 0x70, 0x3C, 0x7E, 0x60, 6 | 0x60, 0x30, 0x7B, 0xDF, 0xCE, 0xFF, 0x7F, 0xC9, 0x24, 0x37, 0x66, 0xCC, 7 | 0xCC, 0xCC, 0x66, 0x31, 0xCE, 0x66, 0x33, 0x33, 0x33, 0x66, 0xC8, 0x18, 8 | 0x18, 0xFF, 0xFF, 0x3C, 0x3C, 0x66, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 9 | 0x18, 0x18, 0x18, 0x6B, 0x48, 0xFF, 0xFF, 0xC0, 0xF0, 0x02, 0x0C, 0x18, 10 | 0x60, 0xC3, 0x06, 0x0C, 0x30, 0x61, 0x83, 0x0C, 0x18, 0x20, 0x00, 0x38, 11 | 0xFB, 0xBE, 0x3C, 0x78, 0xF1, 0xE3, 0xC7, 0xDD, 0xF1, 0xC0, 0x38, 0xF3, 12 | 0x60, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0xFD, 0xF8, 0x3C, 0xFE, 0xC7, 0x03, 13 | 0x03, 0x06, 0x0C, 0x18, 0x70, 0xE3, 0xFF, 0xFF, 0x7C, 0xFE, 0x03, 0x03, 14 | 0x03, 0x1E, 0x1E, 0x07, 0x03, 0x03, 0xFE, 0x7C, 0x1C, 0x38, 0xB1, 0x64, 15 | 0xD9, 0xBF, 0xFF, 0x3E, 0x7C, 0x7E, 0x3F, 0x18, 0x0F, 0xC7, 0xF3, 0x1C, 16 | 0x06, 0x03, 0xC3, 0xFF, 0x9F, 0x80, 0x0F, 0x3F, 0x30, 0x60, 0x60, 0xDC, 17 | 0xFE, 0xE3, 0xC3, 0x63, 0x7E, 0x3C, 0xFF, 0xFF, 0xC3, 0x03, 0x06, 0x06, 18 | 0x06, 0x0C, 0x0C, 0x0C, 0x18, 0x38, 0xFB, 0x1E, 0x3C, 0x6F, 0x9F, 0x63, 19 | 0xC7, 0x8F, 0xF1, 0xC0, 0x3C, 0x7E, 0xE6, 0xC3, 0xC3, 0xE7, 0x7F, 0x3B, 20 | 0x06, 0x0E, 0xFC, 0xF0, 0xF0, 0x0F, 0x6C, 0x00, 0x1A, 0xD2, 0x00, 0x01, 21 | 0x83, 0x87, 0x0E, 0x0F, 0x80, 0xE0, 0x1C, 0x03, 0xFF, 0xFF, 0xC0, 0x00, 22 | 0x0F, 0xFF, 0xFC, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0xF9, 0xE3, 0xC1, 0x80, 23 | 0x7C, 0xFE, 0xC7, 0x03, 0x0E, 0x1C, 0x00, 0x00, 0x00, 0x30, 0x30, 0x1E, 24 | 0x1F, 0x1C, 0xDC, 0x6C, 0x76, 0x7B, 0x6D, 0xB6, 0xDB, 0x6F, 0xF3, 0xFC, 25 | 0x06, 0x33, 0xF8, 0x78, 0x3C, 0x07, 0xC0, 0x38, 0x05, 0x81, 0xB0, 0x36, 26 | 0x0F, 0xE1, 0xFC, 0x71, 0xDF, 0x7F, 0xEF, 0x80, 0xFF, 0x3F, 0xE6, 0x19, 27 | 0x86, 0x7F, 0x1F, 0xE6, 0x1D, 0x83, 0x60, 0xFF, 0xFF, 0xF0, 0x1F, 0xBF, 28 | 0xD8, 0xF8, 0x3C, 0x06, 0x03, 0x01, 0x80, 0x61, 0xBF, 0xC7, 0xC0, 0xFE, 29 | 0x3F, 0xE6, 0x19, 0x83, 0x60, 0xD8, 0x36, 0x0D, 0x83, 0x61, 0xBF, 0xEF, 30 | 0xE0, 0xFF, 0xFF, 0xD8, 0x6D, 0xB7, 0xC3, 0xE1, 0xB0, 0xC3, 0x61, 0xFF, 31 | 0xFF, 0xE0, 0xFF, 0xFF, 0xD8, 0x6D, 0xB7, 0xC3, 0xE1, 0xB0, 0xC0, 0x60, 32 | 0x7C, 0x3E, 0x00, 0x1F, 0x9F, 0xE6, 0x1B, 0x06, 0xC0, 0x30, 0x0C, 0x7F, 33 | 0x1F, 0xE1, 0x9F, 0xE3, 0xF0, 0xF7, 0xFB, 0xD8, 0xCC, 0x66, 0x33, 0xF9, 34 | 0xFC, 0xC6, 0x63, 0x7B, 0xFD, 0xE0, 0xFF, 0xF3, 0x0C, 0x30, 0xC3, 0x0C, 35 | 0x33, 0xFF, 0xC0, 0x1F, 0xC7, 0xF0, 0x30, 0x0C, 0x03, 0x00, 0xCC, 0x33, 36 | 0x0C, 0xC7, 0x3F, 0x87, 0xC0, 0xF7, 0xBD, 0xE6, 0x61, 0xB0, 0x78, 0x1F, 37 | 0x06, 0xE1, 0x98, 0x63, 0x3C, 0xFF, 0x3C, 0xFC, 0x7E, 0x0C, 0x06, 0x03, 38 | 0x01, 0x80, 0xC6, 0x63, 0x31, 0xFF, 0xFF, 0xE0, 0xE0, 0xFE, 0x3D, 0xC7, 39 | 0x3D, 0xE7, 0xBC, 0xD7, 0x9B, 0xB3, 0x76, 0x60, 0xDE, 0x3F, 0xC7, 0x80, 40 | 0xE1, 0xFE, 0x3D, 0xE3, 0x3C, 0x66, 0xCC, 0xDD, 0x99, 0xB3, 0x1E, 0x63, 41 | 0xDE, 0x3B, 0xC3, 0x00, 0x1F, 0x07, 0xF1, 0xC7, 0x70, 0x7C, 0x07, 0x80, 42 | 0xF0, 0x1F, 0x07, 0x71, 0xC7, 0xF0, 0x7C, 0x00, 0xFE, 0x7F, 0x98, 0x6C, 43 | 0x36, 0x1B, 0xF9, 0xF8, 0xC0, 0x60, 0x7C, 0x3E, 0x00, 0x1F, 0x07, 0xF1, 44 | 0xC7, 0x70, 0x7C, 0x07, 0x80, 0xF0, 0x1F, 0x07, 0x71, 0xC7, 0xF0, 0x7C, 45 | 0x0C, 0x33, 0xFE, 0x7F, 0x80, 0xFC, 0x7F, 0x18, 0xCC, 0x66, 0x73, 0xF1, 46 | 0xF0, 0xCC, 0x63, 0x7D, 0xFE, 0x60, 0x3F, 0xBF, 0xF0, 0x78, 0x0F, 0x03, 47 | 0xF8, 0x3F, 0x83, 0xC3, 0xFF, 0xBF, 0x80, 0xFF, 0xFF, 0xF6, 0x7B, 0x3D, 48 | 0x98, 0xC0, 0x60, 0x30, 0x18, 0x3F, 0x1F, 0x80, 0xF1, 0xFE, 0x3D, 0x83, 49 | 0x30, 0x66, 0x0C, 0xC1, 0x98, 0x33, 0x06, 0x60, 0xC7, 0xF0, 0x7C, 0x00, 50 | 0xFB, 0xFF, 0x7D, 0xC3, 0x18, 0xC3, 0x18, 0x36, 0x06, 0xC0, 0x50, 0x0E, 51 | 0x01, 0xC0, 0x10, 0x00, 0xFB, 0xFE, 0xF6, 0x0D, 0x93, 0x6E, 0xDB, 0xB7, 52 | 0xAD, 0xEE, 0x7B, 0x8E, 0xE3, 0x18, 0xF3, 0xFC, 0xF7, 0x38, 0xFC, 0x1E, 53 | 0x03, 0x01, 0xE0, 0xCC, 0x73, 0xBC, 0xFF, 0x3C, 0xF3, 0xFC, 0xF7, 0x38, 54 | 0xCC, 0x1E, 0x07, 0x80, 0xC0, 0x30, 0x0C, 0x0F, 0xC3, 0xF0, 0xFE, 0xFE, 55 | 0xC6, 0xCC, 0x18, 0x18, 0x30, 0x63, 0xC3, 0xFF, 0xFF, 0xFF, 0xCC, 0xCC, 56 | 0xCC, 0xCC, 0xCC, 0xFF, 0x01, 0x03, 0x06, 0x06, 0x0C, 0x0C, 0x18, 0x18, 57 | 0x30, 0x30, 0x60, 0x60, 0xC0, 0x80, 0xFF, 0x33, 0x33, 0x33, 0x33, 0x33, 58 | 0xFF, 0x10, 0x71, 0xE3, 0x6C, 0x70, 0x40, 0xFF, 0xFF, 0xFC, 0x88, 0x80, 59 | 0x7E, 0x3F, 0x8F, 0xCF, 0xEE, 0x36, 0x1B, 0xFE, 0xFF, 0xE0, 0x38, 0x06, 60 | 0x01, 0xBC, 0x7F, 0x9C, 0x76, 0x0D, 0x83, 0x71, 0xFF, 0xEE, 0xF0, 0x3F, 61 | 0xBF, 0xF8, 0x78, 0x3C, 0x07, 0x05, 0xFE, 0x7E, 0x03, 0x80, 0xE0, 0x18, 62 | 0xF6, 0x7F, 0xB8, 0xEC, 0x1B, 0x06, 0xE3, 0x9F, 0xF3, 0xFC, 0x3E, 0x3F, 63 | 0xB0, 0xFF, 0xFF, 0xFE, 0x01, 0xFE, 0x7E, 0x1F, 0x3F, 0x30, 0x7E, 0x7E, 64 | 0x30, 0x30, 0x30, 0x30, 0xFE, 0xFE, 0x3F, 0xBF, 0xF9, 0xD8, 0x6C, 0x37, 65 | 0x39, 0xFC, 0x76, 0x03, 0x01, 0x8F, 0xC7, 0xC0, 0xE0, 0x70, 0x18, 0x0D, 66 | 0xC7, 0xF3, 0x99, 0x8C, 0xC6, 0x63, 0x7B, 0xFD, 0xE0, 0x18, 0x18, 0x00, 67 | 0x78, 0x78, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0x18, 0x60, 0x3F, 0xFC, 68 | 0x30, 0xC3, 0x0C, 0x30, 0xC3, 0x0F, 0xFF, 0x80, 0xE0, 0x70, 0x18, 0x0D, 69 | 0xE6, 0xF3, 0xE1, 0xE0, 0xF8, 0x6E, 0x73, 0xF9, 0xE0, 0x78, 0x78, 0x18, 70 | 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0xFF, 0xFF, 0xFD, 0x9F, 0xF9, 0x9B, 71 | 0x33, 0x66, 0x6C, 0xCD, 0xBD, 0xFF, 0xBF, 0xEE, 0x7F, 0x98, 0xCC, 0x66, 72 | 0x33, 0x1B, 0xDF, 0xEF, 0x3E, 0x3F, 0xB8, 0xF8, 0x3C, 0x1F, 0x1D, 0xFC, 73 | 0x7C, 0xEF, 0x1F, 0xF9, 0xC3, 0xB0, 0x36, 0x06, 0xE1, 0xDF, 0xF3, 0x78, 74 | 0x60, 0x0C, 0x03, 0xE0, 0x7C, 0x00, 0x1E, 0xEF, 0xFF, 0x87, 0x60, 0x6C, 75 | 0x0D, 0xC3, 0x9F, 0xF0, 0xF6, 0x00, 0xC0, 0x18, 0x0F, 0x81, 0xF0, 0x77, 76 | 0xBF, 0xCF, 0x06, 0x03, 0x01, 0x83, 0xF9, 0xFC, 0x3F, 0xFF, 0xC3, 0xFC, 77 | 0x3F, 0xC3, 0xFF, 0xFC, 0x60, 0x60, 0x60, 0xFE, 0xFE, 0x60, 0x60, 0x60, 78 | 0x61, 0x7F, 0x3E, 0xE7, 0x73, 0x98, 0xCC, 0x66, 0x33, 0x19, 0xFE, 0x7F, 79 | 0xFB, 0xFF, 0x7C, 0xC6, 0x18, 0xC1, 0xB0, 0x36, 0x03, 0x80, 0x70, 0xF1, 80 | 0xFE, 0x3D, 0xBB, 0x37, 0x63, 0xF8, 0x77, 0x0E, 0xE1, 0x8C, 0xF7, 0xFB, 81 | 0xCD, 0x83, 0x83, 0xC3, 0xBB, 0xDF, 0xEF, 0xF3, 0xFC, 0xF6, 0x18, 0xCC, 82 | 0x33, 0x07, 0x81, 0xE0, 0x30, 0x0C, 0x06, 0x0F, 0xC3, 0xF0, 0xFF, 0xFF, 83 | 0x30, 0xC3, 0x0C, 0x7F, 0xFF, 0x37, 0x66, 0x66, 0xCC, 0x66, 0x66, 0x73, 84 | 0xFF, 0xFF, 0xFF, 0xF0, 0xCE, 0x66, 0x66, 0x33, 0x66, 0x66, 0xEC, 0x70, 85 | 0x7C, 0xF3, 0xC0, 0xC0 }; 86 | 87 | const GFXglyph FreeMonoBold9pt7bGlyphs[] PROGMEM = { 88 | { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' 89 | { 0, 3, 11, 11, 4, -10 }, // 0x21 '!' 90 | { 5, 7, 5, 11, 2, -10 }, // 0x22 '"' 91 | { 10, 8, 12, 11, 1, -10 }, // 0x23 '#' 92 | { 22, 7, 14, 11, 2, -11 }, // 0x24 '$' 93 | { 35, 7, 11, 11, 2, -10 }, // 0x25 '%' 94 | { 45, 8, 10, 11, 1, -9 }, // 0x26 '&' 95 | { 55, 3, 5, 11, 4, -10 }, // 0x27 ''' 96 | { 57, 4, 14, 11, 5, -10 }, // 0x28 '(' 97 | { 64, 4, 14, 11, 2, -10 }, // 0x29 ')' 98 | { 71, 8, 7, 11, 2, -10 }, // 0x2A '*' 99 | { 78, 8, 9, 11, 2, -8 }, // 0x2B '+' 100 | { 87, 3, 5, 11, 3, -1 }, // 0x2C ',' 101 | { 89, 9, 2, 11, 1, -5 }, // 0x2D '-' 102 | { 92, 2, 2, 11, 4, -1 }, // 0x2E '.' 103 | { 93, 7, 15, 11, 2, -12 }, // 0x2F '/' 104 | { 107, 7, 12, 11, 2, -11 }, // 0x30 '0' 105 | { 118, 7, 11, 11, 2, -10 }, // 0x31 '1' 106 | { 128, 8, 12, 11, 1, -11 }, // 0x32 '2' 107 | { 140, 8, 12, 11, 2, -11 }, // 0x33 '3' 108 | { 152, 7, 10, 11, 2, -9 }, // 0x34 '4' 109 | { 161, 9, 11, 11, 1, -10 }, // 0x35 '5' 110 | { 174, 8, 12, 11, 2, -11 }, // 0x36 '6' 111 | { 186, 8, 11, 11, 1, -10 }, // 0x37 '7' 112 | { 197, 7, 12, 11, 2, -11 }, // 0x38 '8' 113 | { 208, 8, 12, 11, 2, -11 }, // 0x39 '9' 114 | { 220, 2, 8, 11, 4, -7 }, // 0x3A ':' 115 | { 222, 3, 11, 11, 3, -7 }, // 0x3B ';' 116 | { 227, 9, 8, 11, 1, -8 }, // 0x3C '<' 117 | { 236, 9, 6, 11, 1, -7 }, // 0x3D '=' 118 | { 243, 9, 8, 11, 1, -8 }, // 0x3E '>' 119 | { 252, 8, 11, 11, 2, -10 }, // 0x3F '?' 120 | { 263, 9, 15, 11, 1, -11 }, // 0x40 '@' 121 | { 280, 11, 11, 11, 0, -10 }, // 0x41 'A' 122 | { 296, 10, 11, 11, 1, -10 }, // 0x42 'B' 123 | { 310, 9, 11, 11, 1, -10 }, // 0x43 'C' 124 | { 323, 10, 11, 11, 0, -10 }, // 0x44 'D' 125 | { 337, 9, 11, 11, 1, -10 }, // 0x45 'E' 126 | { 350, 9, 11, 11, 1, -10 }, // 0x46 'F' 127 | { 363, 10, 11, 11, 1, -10 }, // 0x47 'G' 128 | { 377, 9, 11, 11, 1, -10 }, // 0x48 'H' 129 | { 390, 6, 11, 11, 3, -10 }, // 0x49 'I' 130 | { 399, 10, 11, 11, 1, -10 }, // 0x4A 'J' 131 | { 413, 10, 11, 11, 1, -10 }, // 0x4B 'K' 132 | { 427, 9, 11, 11, 1, -10 }, // 0x4C 'L' 133 | { 440, 11, 11, 11, 0, -10 }, // 0x4D 'M' 134 | { 456, 11, 11, 11, 0, -10 }, // 0x4E 'N' 135 | { 472, 11, 11, 11, 0, -10 }, // 0x4F 'O' 136 | { 488, 9, 11, 11, 1, -10 }, // 0x50 'P' 137 | { 501, 11, 14, 11, 0, -10 }, // 0x51 'Q' 138 | { 521, 9, 11, 11, 1, -10 }, // 0x52 'R' 139 | { 534, 9, 11, 11, 1, -10 }, // 0x53 'S' 140 | { 547, 9, 11, 11, 1, -10 }, // 0x54 'T' 141 | { 560, 11, 11, 11, 0, -10 }, // 0x55 'U' 142 | { 576, 11, 11, 11, 0, -10 }, // 0x56 'V' 143 | { 592, 10, 11, 11, 0, -10 }, // 0x57 'W' 144 | { 606, 10, 11, 11, 0, -10 }, // 0x58 'X' 145 | { 620, 10, 11, 11, 0, -10 }, // 0x59 'Y' 146 | { 634, 8, 11, 11, 2, -10 }, // 0x5A 'Z' 147 | { 645, 4, 14, 11, 5, -10 }, // 0x5B '[' 148 | { 652, 7, 15, 11, 2, -12 }, // 0x5C '\' 149 | { 666, 4, 14, 11, 2, -10 }, // 0x5D ']' 150 | { 673, 7, 6, 11, 2, -11 }, // 0x5E '^' 151 | { 679, 11, 2, 11, 0, 3 }, // 0x5F '_' 152 | { 682, 3, 3, 11, 3, -11 }, // 0x60 '`' 153 | { 684, 9, 8, 11, 1, -7 }, // 0x61 'a' 154 | { 693, 10, 11, 11, 0, -10 }, // 0x62 'b' 155 | { 707, 9, 8, 11, 1, -7 }, // 0x63 'c' 156 | { 716, 10, 11, 11, 1, -10 }, // 0x64 'd' 157 | { 730, 9, 8, 11, 1, -7 }, // 0x65 'e' 158 | { 739, 8, 11, 11, 2, -10 }, // 0x66 'f' 159 | { 750, 9, 12, 11, 1, -7 }, // 0x67 'g' 160 | { 764, 9, 11, 11, 1, -10 }, // 0x68 'h' 161 | { 777, 8, 11, 11, 2, -10 }, // 0x69 'i' 162 | { 788, 6, 15, 11, 2, -10 }, // 0x6A 'j' 163 | { 800, 9, 11, 11, 1, -10 }, // 0x6B 'k' 164 | { 813, 8, 11, 11, 2, -10 }, // 0x6C 'l' 165 | { 824, 11, 8, 11, 0, -7 }, // 0x6D 'm' 166 | { 835, 9, 8, 11, 1, -7 }, // 0x6E 'n' 167 | { 844, 9, 8, 11, 1, -7 }, // 0x6F 'o' 168 | { 853, 11, 12, 11, 0, -7 }, // 0x70 'p' 169 | { 870, 11, 12, 11, 0, -7 }, // 0x71 'q' 170 | { 887, 9, 8, 11, 1, -7 }, // 0x72 'r' 171 | { 896, 8, 8, 11, 2, -7 }, // 0x73 's' 172 | { 904, 8, 11, 11, 1, -10 }, // 0x74 't' 173 | { 915, 9, 8, 11, 1, -7 }, // 0x75 'u' 174 | { 924, 11, 8, 11, 0, -7 }, // 0x76 'v' 175 | { 935, 11, 8, 11, 0, -7 }, // 0x77 'w' 176 | { 946, 9, 8, 11, 1, -7 }, // 0x78 'x' 177 | { 955, 10, 12, 11, 0, -7 }, // 0x79 'y' 178 | { 970, 7, 8, 11, 2, -7 }, // 0x7A 'z' 179 | { 977, 4, 14, 11, 3, -10 }, // 0x7B '{' 180 | { 984, 2, 14, 11, 5, -10 }, // 0x7C '|' 181 | { 988, 4, 14, 11, 4, -10 }, // 0x7D '}' 182 | { 995, 9, 4, 11, 1, -6 } }; // 0x7E '~' 183 | 184 | const GFXfont FreeMonoBold9pt7b PROGMEM = { 185 | (uint8_t *)FreeMonoBold9pt7bBitmaps, 186 | (GFXglyph *)FreeMonoBold9pt7bGlyphs, 187 | 0x20, 0x7E, 18 }; 188 | 189 | // Approx. 1672 bytes 190 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeMonoBoldOblique9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeMonoBoldOblique9pt7bBitmaps[] PROGMEM = { 2 | 0x39, 0xCC, 0x67, 0x31, 0x8C, 0x07, 0x38, 0x6C, 0xD9, 0x36, 0x48, 0x80, 3 | 0x09, 0x0D, 0x86, 0xCF, 0xF7, 0xF9, 0xB3, 0xFD, 0xFE, 0x6C, 0x36, 0x1B, 4 | 0x00, 0x00, 0x06, 0x07, 0x07, 0xE6, 0x33, 0x01, 0xE0, 0x7C, 0x06, 0x43, 5 | 0x33, 0xBF, 0x83, 0x03, 0x00, 0x80, 0x1C, 0x11, 0x10, 0x88, 0x83, 0xB8, 6 | 0xF3, 0xB8, 0x22, 0x21, 0x11, 0x07, 0x00, 0x0F, 0x1F, 0x30, 0x30, 0x38, 7 | 0x7B, 0xDF, 0xCE, 0xFF, 0x7E, 0xFA, 0x80, 0x19, 0x8C, 0xC6, 0x63, 0x18, 8 | 0xC6, 0x31, 0xC6, 0x30, 0x31, 0xC6, 0x31, 0x8C, 0x63, 0x31, 0x98, 0xCC, 9 | 0x40, 0x08, 0x08, 0xFF, 0xFF, 0x38, 0x6C, 0x6C, 0x0C, 0x06, 0x03, 0x1F, 10 | 0xFF, 0xF8, 0xC0, 0x60, 0x30, 0x10, 0x00, 0x36, 0x4C, 0x80, 0xFF, 0xFF, 11 | 0xC0, 0xFC, 0x00, 0x00, 0x0C, 0x03, 0x00, 0xC0, 0x18, 0x06, 0x01, 0x80, 12 | 0x30, 0x0C, 0x03, 0x00, 0x60, 0x18, 0x06, 0x00, 0xC0, 0x30, 0x00, 0x0F, 13 | 0x0F, 0xCC, 0x6C, 0x36, 0x1B, 0x0D, 0x05, 0x86, 0xC3, 0x63, 0x3F, 0x8F, 14 | 0x00, 0x06, 0x1C, 0x3C, 0x6C, 0x0C, 0x0C, 0x08, 0x18, 0x18, 0x18, 0xFE, 15 | 0xFE, 0x07, 0x83, 0xF1, 0x8C, 0x43, 0x00, 0xC0, 0xE0, 0x70, 0x38, 0x38, 16 | 0x1C, 0x6F, 0xF3, 0xFC, 0x1F, 0x1F, 0xC0, 0x60, 0x30, 0x30, 0x70, 0x38, 17 | 0x06, 0x03, 0x03, 0xBF, 0x9F, 0x80, 0x03, 0x07, 0x0B, 0x1B, 0x32, 0x66, 18 | 0xFF, 0xFF, 0x1E, 0x1E, 0x3F, 0x9F, 0x98, 0x0F, 0xC7, 0xF3, 0x18, 0x0C, 19 | 0x06, 0x06, 0x7F, 0x1E, 0x00, 0x07, 0x87, 0xCE, 0x06, 0x06, 0x03, 0xF3, 20 | 0xFD, 0xC6, 0xC3, 0x63, 0xBF, 0x8F, 0x80, 0xFF, 0xFF, 0xC3, 0x06, 0x06, 21 | 0x0C, 0x18, 0x18, 0x30, 0x30, 0x60, 0x1F, 0x1F, 0xDC, 0x6C, 0x36, 0x31, 22 | 0xF1, 0xF8, 0xC6, 0xC3, 0x63, 0xBF, 0x8F, 0x80, 0x1E, 0x3F, 0x33, 0x63, 23 | 0x63, 0x67, 0x7F, 0x3E, 0x06, 0x1C, 0xF8, 0xF0, 0x77, 0x00, 0x00, 0xEE, 24 | 0x1C, 0x70, 0x00, 0x00, 0x03, 0x0C, 0x61, 0x08, 0x00, 0x00, 0xC1, 0xE1, 25 | 0xE1, 0xE0, 0xF0, 0x07, 0x00, 0xF0, 0x0C, 0x7F, 0xDF, 0xF0, 0x00, 0x00, 26 | 0x7F, 0xFF, 0xF0, 0x30, 0x0F, 0x00, 0xE0, 0x1E, 0x07, 0xC7, 0x87, 0x83, 27 | 0x00, 0x7D, 0xFF, 0x18, 0x30, 0xE3, 0x9C, 0x30, 0x01, 0xC3, 0x80, 0x0F, 28 | 0x0F, 0xCC, 0x6C, 0x36, 0x72, 0x79, 0x7D, 0xB6, 0xDA, 0x6F, 0xB3, 0xD8, 29 | 0x0C, 0x07, 0xE1, 0xE0, 0x0F, 0x83, 0xF0, 0x1E, 0x03, 0xC0, 0xD8, 0x31, 30 | 0x87, 0xF1, 0xFE, 0x30, 0xDF, 0x3F, 0xC7, 0x80, 0x3F, 0xC7, 0xFC, 0x61, 31 | 0x8C, 0x31, 0xFC, 0x3F, 0x84, 0x19, 0x83, 0x30, 0x6F, 0xFB, 0xFE, 0x00, 32 | 0x0F, 0xF1, 0xFF, 0x30, 0x66, 0x06, 0x60, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 33 | 0xE0, 0xC7, 0xF8, 0x3F, 0x00, 0x3F, 0x87, 0xF8, 0x63, 0x8C, 0x31, 0x06, 34 | 0x60, 0xCC, 0x19, 0x86, 0x31, 0xCF, 0xF3, 0xF8, 0x00, 0x3F, 0xE3, 0xFE, 35 | 0x18, 0x61, 0xB6, 0x1F, 0x01, 0xF0, 0x32, 0x03, 0x00, 0x30, 0x4F, 0xFC, 36 | 0xFF, 0xC0, 0x3F, 0xF3, 0xFE, 0x18, 0x61, 0xB6, 0x1F, 0x03, 0xF0, 0x32, 37 | 0x03, 0x00, 0x30, 0x0F, 0xC0, 0xFC, 0x00, 0x0F, 0xE3, 0xFC, 0xC1, 0x30, 38 | 0x06, 0x01, 0x80, 0x31, 0xF6, 0x3E, 0xE1, 0x9F, 0xF0, 0xF8, 0x00, 0x1E, 39 | 0xF3, 0xCF, 0x18, 0x61, 0x84, 0x10, 0xC3, 0xFC, 0x3F, 0xC3, 0x08, 0x31, 40 | 0x8F, 0xBC, 0xFB, 0xC0, 0x3F, 0xCF, 0xF0, 0x60, 0x10, 0x0C, 0x03, 0x00, 41 | 0xC0, 0x20, 0x18, 0x3F, 0xCF, 0xF0, 0x07, 0xF0, 0x7F, 0x00, 0x80, 0x18, 42 | 0x01, 0x80, 0x18, 0x61, 0x84, 0x10, 0xC3, 0x0F, 0xE0, 0x7C, 0x00, 0x3E, 43 | 0xE7, 0xFC, 0x66, 0x0D, 0x81, 0x60, 0x7C, 0x0E, 0xC1, 0x98, 0x31, 0x1F, 44 | 0x3B, 0xE7, 0x00, 0x3F, 0x07, 0xE0, 0x30, 0x06, 0x00, 0xC0, 0x10, 0x06, 45 | 0x00, 0xC3, 0x18, 0x6F, 0xFB, 0xFF, 0x00, 0x38, 0x39, 0xC3, 0xC7, 0x3C, 46 | 0x79, 0xE3, 0xDA, 0x1F, 0xF0, 0x9D, 0x8C, 0xCC, 0x60, 0x67, 0xCF, 0x3C, 47 | 0x78, 0x3C, 0xF9, 0xE7, 0x87, 0x18, 0x3C, 0xC1, 0x66, 0x1B, 0xB0, 0xCD, 48 | 0x06, 0x78, 0x31, 0xC3, 0xCE, 0x3E, 0x30, 0x0F, 0x0F, 0xE7, 0x1D, 0x83, 49 | 0xC0, 0xF0, 0x3C, 0x0F, 0x06, 0xE3, 0x9F, 0xC3, 0xC0, 0x3F, 0xC7, 0xFC, 50 | 0x61, 0x8C, 0x31, 0x8E, 0x3F, 0x87, 0xE1, 0x80, 0x30, 0x0F, 0xC3, 0xF0, 51 | 0x00, 0x0F, 0x0F, 0xE7, 0x1D, 0x83, 0xC0, 0xF0, 0x3C, 0x0F, 0x06, 0xE3, 52 | 0x1F, 0xC3, 0xC0, 0x80, 0x7F, 0x3F, 0xC0, 0x3F, 0xC3, 0xFE, 0x18, 0x61, 53 | 0x86, 0x10, 0xE3, 0xFC, 0x3F, 0x83, 0x18, 0x31, 0xCF, 0x8F, 0xF8, 0x70, 54 | 0x1E, 0xCF, 0xF7, 0x19, 0x80, 0x70, 0x1F, 0x81, 0xF3, 0x0C, 0xC3, 0x3F, 55 | 0x8B, 0xC0, 0x7F, 0xCF, 0xF9, 0x93, 0x66, 0x60, 0xC0, 0x18, 0x02, 0x00, 56 | 0xC0, 0x18, 0x0F, 0xC1, 0xF8, 0x00, 0xF9, 0xFF, 0x7D, 0x83, 0x30, 0x64, 57 | 0x09, 0x83, 0x30, 0x66, 0x0C, 0xE3, 0x0F, 0xC0, 0xF0, 0x00, 0xF9, 0xFE, 58 | 0x3D, 0x83, 0x30, 0xC6, 0x30, 0xE6, 0x0D, 0x81, 0xB0, 0x3C, 0x07, 0x00, 59 | 0x60, 0x00, 0xF9, 0xFF, 0x3D, 0x83, 0x36, 0x64, 0xC8, 0xBF, 0x35, 0xE7, 60 | 0xB8, 0xE7, 0x1C, 0xE3, 0x18, 0x00, 0x3C, 0xF3, 0xCF, 0x1C, 0xC0, 0xD8, 61 | 0x0F, 0x00, 0x60, 0x0F, 0x01, 0xB8, 0x31, 0x8F, 0x3C, 0xF3, 0xC0, 0x79, 62 | 0xEE, 0x38, 0xC6, 0x19, 0x81, 0xE0, 0x38, 0x06, 0x00, 0xC0, 0x18, 0x0F, 63 | 0xC3, 0xF8, 0x00, 0x3F, 0xCF, 0xF3, 0x18, 0xCC, 0x06, 0x03, 0x01, 0x80, 64 | 0xC6, 0x61, 0xBF, 0xCF, 0xF0, 0x1E, 0x3C, 0xC1, 0x83, 0x06, 0x08, 0x30, 65 | 0x60, 0xC1, 0x06, 0x0F, 0x1E, 0x00, 0x06, 0x31, 0x86, 0x31, 0x8C, 0x31, 66 | 0x8C, 0x61, 0x8C, 0x60, 0x1E, 0x78, 0x30, 0x60, 0xC1, 0x86, 0x0C, 0x18, 67 | 0x30, 0x41, 0x8F, 0x1E, 0x00, 0x08, 0x1C, 0x3C, 0x76, 0xE7, 0xC3, 0x7F, 68 | 0xFF, 0xFC, 0x88, 0x80, 0x0F, 0x07, 0xE1, 0xF9, 0xFE, 0xE3, 0x30, 0xCF, 69 | 0xFD, 0xFF, 0x38, 0x07, 0x00, 0x60, 0x0F, 0xC1, 0xFC, 0x71, 0xCC, 0x19, 70 | 0x83, 0x30, 0xDF, 0xFB, 0xBC, 0x00, 0x1F, 0xCF, 0xF6, 0x1B, 0x00, 0xC0, 71 | 0x30, 0x0F, 0xF1, 0xF8, 0x01, 0xE0, 0x38, 0x03, 0x0F, 0x63, 0xFC, 0xC3, 72 | 0x30, 0x66, 0x0C, 0xC3, 0x9F, 0xF9, 0xF7, 0x00, 0x1F, 0x1F, 0xD8, 0x3F, 73 | 0xFF, 0xFE, 0x1B, 0xFC, 0xF8, 0x07, 0xC3, 0xF1, 0x81, 0xFE, 0x7F, 0x84, 74 | 0x03, 0x00, 0xC0, 0x30, 0x3F, 0x8F, 0xE0, 0x1E, 0xE7, 0xFD, 0x86, 0x60, 75 | 0xCC, 0x19, 0xC6, 0x3F, 0xC1, 0xD8, 0x03, 0x00, 0xE1, 0xF8, 0x3E, 0x00, 76 | 0x38, 0x1E, 0x01, 0x00, 0xDC, 0x3F, 0x8C, 0x62, 0x19, 0x84, 0x63, 0x3D, 77 | 0xFF, 0x7C, 0x06, 0x03, 0x00, 0x03, 0xC3, 0xE0, 0x20, 0x30, 0x18, 0x0C, 78 | 0x3F, 0xFF, 0xE0, 0x01, 0x81, 0x80, 0x07, 0xF3, 0xF8, 0x0C, 0x04, 0x06, 79 | 0x03, 0x01, 0x80, 0xC0, 0x40, 0x67, 0xE3, 0xE0, 0x38, 0x0E, 0x01, 0x80, 80 | 0x4F, 0x37, 0xCF, 0x83, 0xC0, 0xF0, 0x26, 0x39, 0xEE, 0x78, 0x1F, 0x0F, 81 | 0x01, 0x80, 0xC0, 0x60, 0x20, 0x30, 0x18, 0x0C, 0x3F, 0xFF, 0xE0, 0x7E, 82 | 0xE7, 0xFF, 0x33, 0x32, 0x63, 0x66, 0x36, 0x62, 0xF7, 0x7F, 0x67, 0x77, 83 | 0x8F, 0xF8, 0xC3, 0x10, 0x66, 0x08, 0xC3, 0x3C, 0x7F, 0x8F, 0x1F, 0x0F, 84 | 0xE6, 0x1F, 0x03, 0xC0, 0xF8, 0x67, 0xF0, 0xF8, 0x3F, 0xE3, 0xFF, 0x1C, 85 | 0x31, 0x83, 0x18, 0x31, 0x86, 0x3F, 0xE3, 0x78, 0x30, 0x03, 0x00, 0xFC, 86 | 0x0F, 0x80, 0x1E, 0xEF, 0xFD, 0x86, 0x60, 0xCC, 0x19, 0xC7, 0x3F, 0xE1, 87 | 0xE8, 0x03, 0x00, 0x60, 0x3E, 0x07, 0xC0, 0x39, 0xDF, 0xF1, 0xC0, 0x60, 88 | 0x10, 0x0C, 0x0F, 0xF3, 0xF8, 0x1F, 0x7F, 0x63, 0x7E, 0x1F, 0xC3, 0xFE, 89 | 0xFC, 0x10, 0x08, 0x0C, 0x1F, 0xEF, 0xF1, 0x80, 0x80, 0xC0, 0x60, 0x3F, 90 | 0x8F, 0x80, 0xF3, 0xFC, 0xF6, 0x09, 0x86, 0x61, 0x98, 0xE7, 0xF8, 0xFE, 91 | 0xFB, 0xFF, 0x7C, 0xC6, 0x19, 0x83, 0x60, 0x6C, 0x07, 0x00, 0xC0, 0xF1, 92 | 0xFE, 0x3D, 0xB3, 0x37, 0xC7, 0xF8, 0xEE, 0x1D, 0xC3, 0x30, 0x79, 0xEF, 93 | 0x38, 0xEE, 0x0F, 0x01, 0xE0, 0x6E, 0x3C, 0xE7, 0xBC, 0x3C, 0xF3, 0x8F, 94 | 0x18, 0xC1, 0x9C, 0x19, 0x81, 0xF0, 0x0E, 0x00, 0xE0, 0x0C, 0x01, 0x80, 95 | 0xFC, 0x0F, 0xC0, 0x7F, 0xBF, 0xD9, 0xC1, 0x83, 0x83, 0x1B, 0xFD, 0xFE, 96 | 0x06, 0x1C, 0x60, 0xC1, 0x86, 0x3C, 0x70, 0x30, 0x41, 0x83, 0x07, 0x06, 97 | 0x00, 0x33, 0x32, 0x26, 0x66, 0x44, 0xCC, 0xC8, 0x0C, 0x0E, 0x04, 0x0C, 98 | 0x0C, 0x0C, 0x0F, 0x0F, 0x18, 0x18, 0x10, 0x30, 0xF0, 0xE0, 0x38, 0x7C, 99 | 0xF7, 0xC1, 0xC0 }; 100 | 101 | const GFXglyph FreeMonoBoldOblique9pt7bGlyphs[] PROGMEM = { 102 | { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' 103 | { 0, 5, 11, 11, 4, -10 }, // 0x21 '!' 104 | { 7, 7, 5, 11, 4, -10 }, // 0x22 '"' 105 | { 12, 9, 12, 11, 2, -10 }, // 0x23 '#' 106 | { 26, 9, 14, 11, 2, -11 }, // 0x24 '$' 107 | { 42, 9, 11, 11, 2, -10 }, // 0x25 '%' 108 | { 55, 8, 10, 11, 2, -9 }, // 0x26 '&' 109 | { 65, 2, 5, 11, 6, -10 }, // 0x27 ''' 110 | { 67, 5, 14, 11, 5, -10 }, // 0x28 '(' 111 | { 76, 5, 14, 11, 2, -10 }, // 0x29 ')' 112 | { 85, 8, 7, 11, 3, -10 }, // 0x2A '*' 113 | { 92, 9, 9, 11, 2, -8 }, // 0x2B '+' 114 | { 103, 4, 5, 11, 2, -1 }, // 0x2C ',' 115 | { 106, 9, 2, 11, 2, -5 }, // 0x2D '-' 116 | { 109, 3, 2, 11, 4, -1 }, // 0x2E '.' 117 | { 110, 11, 15, 11, 1, -12 }, // 0x2F '/' 118 | { 131, 9, 12, 11, 2, -11 }, // 0x30 '0' 119 | { 145, 8, 12, 11, 2, -11 }, // 0x31 '1' 120 | { 157, 10, 12, 11, 1, -11 }, // 0x32 '2' 121 | { 172, 9, 12, 11, 2, -11 }, // 0x33 '3' 122 | { 186, 8, 10, 11, 2, -9 }, // 0x34 '4' 123 | { 196, 9, 11, 11, 3, -10 }, // 0x35 '5' 124 | { 209, 9, 12, 11, 3, -11 }, // 0x36 '6' 125 | { 223, 8, 11, 11, 3, -10 }, // 0x37 '7' 126 | { 234, 9, 12, 11, 2, -11 }, // 0x38 '8' 127 | { 248, 8, 12, 11, 3, -11 }, // 0x39 '9' 128 | { 260, 4, 8, 11, 4, -7 }, // 0x3A ':' 129 | { 264, 6, 11, 11, 2, -7 }, // 0x3B ';' 130 | { 273, 10, 8, 11, 2, -8 }, // 0x3C '<' 131 | { 283, 10, 6, 11, 1, -7 }, // 0x3D '=' 132 | { 291, 10, 8, 11, 1, -8 }, // 0x3E '>' 133 | { 301, 7, 11, 11, 4, -10 }, // 0x3F '?' 134 | { 311, 9, 15, 11, 2, -11 }, // 0x40 '@' 135 | { 328, 11, 11, 11, 0, -10 }, // 0x41 'A' 136 | { 344, 11, 11, 11, 0, -10 }, // 0x42 'B' 137 | { 360, 12, 11, 11, 1, -10 }, // 0x43 'C' 138 | { 377, 11, 11, 11, 0, -10 }, // 0x44 'D' 139 | { 393, 12, 11, 11, 0, -10 }, // 0x45 'E' 140 | { 410, 12, 11, 11, 0, -10 }, // 0x46 'F' 141 | { 427, 11, 11, 11, 1, -10 }, // 0x47 'G' 142 | { 443, 12, 11, 11, 0, -10 }, // 0x48 'H' 143 | { 460, 10, 11, 11, 1, -10 }, // 0x49 'I' 144 | { 474, 12, 11, 11, 0, -10 }, // 0x4A 'J' 145 | { 491, 11, 11, 11, 0, -10 }, // 0x4B 'K' 146 | { 507, 11, 11, 11, 0, -10 }, // 0x4C 'L' 147 | { 523, 13, 11, 11, 0, -10 }, // 0x4D 'M' 148 | { 541, 13, 11, 11, 0, -10 }, // 0x4E 'N' 149 | { 559, 10, 11, 11, 1, -10 }, // 0x4F 'O' 150 | { 573, 11, 11, 11, 0, -10 }, // 0x50 'P' 151 | { 589, 10, 14, 11, 1, -10 }, // 0x51 'Q' 152 | { 607, 12, 11, 11, 0, -10 }, // 0x52 'R' 153 | { 624, 10, 11, 11, 2, -10 }, // 0x53 'S' 154 | { 638, 11, 11, 11, 1, -10 }, // 0x54 'T' 155 | { 654, 11, 11, 11, 1, -10 }, // 0x55 'U' 156 | { 670, 11, 11, 11, 1, -10 }, // 0x56 'V' 157 | { 686, 11, 11, 11, 1, -10 }, // 0x57 'W' 158 | { 702, 12, 11, 11, 0, -10 }, // 0x58 'X' 159 | { 719, 11, 11, 11, 1, -10 }, // 0x59 'Y' 160 | { 735, 10, 11, 11, 1, -10 }, // 0x5A 'Z' 161 | { 749, 7, 14, 11, 4, -10 }, // 0x5B '[' 162 | { 762, 5, 15, 11, 4, -12 }, // 0x5C '\' 163 | { 772, 7, 14, 11, 2, -10 }, // 0x5D ']' 164 | { 785, 8, 6, 11, 3, -11 }, // 0x5E '^' 165 | { 791, 11, 2, 11, -1, 3 }, // 0x5F '_' 166 | { 794, 3, 3, 11, 5, -11 }, // 0x60 '`' 167 | { 796, 10, 8, 11, 1, -7 }, // 0x61 'a' 168 | { 806, 11, 11, 11, 0, -10 }, // 0x62 'b' 169 | { 822, 10, 8, 11, 1, -7 }, // 0x63 'c' 170 | { 832, 11, 11, 11, 1, -10 }, // 0x64 'd' 171 | { 848, 9, 8, 11, 1, -7 }, // 0x65 'e' 172 | { 857, 10, 11, 11, 2, -10 }, // 0x66 'f' 173 | { 871, 11, 12, 11, 1, -7 }, // 0x67 'g' 174 | { 888, 10, 11, 11, 1, -10 }, // 0x68 'h' 175 | { 902, 9, 11, 11, 1, -10 }, // 0x69 'i' 176 | { 915, 9, 15, 11, 1, -10 }, // 0x6A 'j' 177 | { 932, 10, 11, 11, 1, -10 }, // 0x6B 'k' 178 | { 946, 9, 11, 11, 1, -10 }, // 0x6C 'l' 179 | { 959, 12, 8, 11, 0, -7 }, // 0x6D 'm' 180 | { 971, 11, 8, 11, 1, -7 }, // 0x6E 'n' 181 | { 982, 10, 8, 11, 1, -7 }, // 0x6F 'o' 182 | { 992, 12, 12, 11, -1, -7 }, // 0x70 'p' 183 | { 1010, 11, 12, 11, 1, -7 }, // 0x71 'q' 184 | { 1027, 10, 8, 11, 1, -7 }, // 0x72 'r' 185 | { 1037, 8, 8, 11, 2, -7 }, // 0x73 's' 186 | { 1045, 9, 11, 11, 1, -10 }, // 0x74 't' 187 | { 1058, 10, 8, 11, 1, -7 }, // 0x75 'u' 188 | { 1068, 11, 8, 11, 1, -7 }, // 0x76 'v' 189 | { 1079, 11, 8, 11, 1, -7 }, // 0x77 'w' 190 | { 1090, 11, 8, 11, 1, -7 }, // 0x78 'x' 191 | { 1101, 12, 12, 11, 0, -7 }, // 0x79 'y' 192 | { 1119, 9, 8, 11, 2, -7 }, // 0x7A 'z' 193 | { 1128, 7, 14, 11, 3, -10 }, // 0x7B '{' 194 | { 1141, 4, 14, 11, 4, -10 }, // 0x7C '|' 195 | { 1148, 8, 14, 11, 2, -10 }, // 0x7D '}' 196 | { 1162, 9, 4, 11, 2, -6 } }; // 0x7E '~' 197 | 198 | const GFXfont FreeMonoBoldOblique9pt7b PROGMEM = { 199 | (uint8_t *)FreeMonoBoldOblique9pt7bBitmaps, 200 | (GFXglyph *)FreeMonoBoldOblique9pt7bGlyphs, 201 | 0x20, 0x7E, 18 }; 202 | 203 | // Approx. 1839 bytes 204 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeMonoOblique9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeMonoOblique9pt7bBitmaps[] PROGMEM = { 2 | 0x11, 0x22, 0x24, 0x40, 0x00, 0xC0, 0xDE, 0xE5, 0x29, 0x00, 0x09, 0x05, 3 | 0x02, 0x82, 0x47, 0xF8, 0xA0, 0x51, 0xFE, 0x28, 0x14, 0x0A, 0x09, 0x00, 4 | 0x08, 0x1D, 0x23, 0x40, 0x70, 0x1C, 0x02, 0x82, 0x84, 0x78, 0x20, 0x20, 5 | 0x1C, 0x11, 0x08, 0x83, 0x80, 0x18, 0x71, 0xC0, 0x1C, 0x11, 0x08, 0x83, 6 | 0x80, 0x1E, 0x60, 0x81, 0x03, 0x0A, 0x65, 0x46, 0x88, 0xE8, 0xFA, 0x80, 7 | 0x12, 0x24, 0x48, 0x88, 0x88, 0x88, 0x80, 0x01, 0x11, 0x11, 0x11, 0x22, 8 | 0x44, 0x80, 0x10, 0x22, 0x5B, 0xC3, 0x0A, 0x22, 0x00, 0x04, 0x02, 0x02, 9 | 0x1F, 0xF0, 0x80, 0x40, 0x20, 0x00, 0x36, 0x4C, 0x80, 0xFF, 0x80, 0xF0, 10 | 0x00, 0x80, 0x80, 0x40, 0x40, 0x40, 0x20, 0x20, 0x20, 0x10, 0x10, 0x10, 11 | 0x08, 0x08, 0x00, 0x1C, 0x45, 0x0A, 0x18, 0x30, 0x61, 0x42, 0x85, 0x11, 12 | 0xC0, 0x04, 0x38, 0x90, 0x20, 0x81, 0x02, 0x04, 0x08, 0x23, 0xF8, 0x07, 13 | 0x04, 0xC4, 0x20, 0x10, 0x10, 0x30, 0x20, 0x20, 0x60, 0x40, 0x3F, 0x80, 14 | 0x0F, 0x00, 0x40, 0x20, 0x20, 0x60, 0x18, 0x04, 0x02, 0x01, 0x43, 0x1E, 15 | 0x00, 0x03, 0x05, 0x0A, 0x12, 0x22, 0x22, 0x42, 0x7F, 0x04, 0x04, 0x1E, 16 | 0x1F, 0x88, 0x08, 0x05, 0xC3, 0x30, 0x08, 0x04, 0x02, 0x02, 0x42, 0x1E, 17 | 0x00, 0x07, 0x18, 0x20, 0x40, 0x5C, 0xA6, 0xC2, 0x82, 0x82, 0xC4, 0x78, 18 | 0xFF, 0x04, 0x10, 0x20, 0x82, 0x04, 0x10, 0x20, 0x81, 0x00, 0x1E, 0x23, 19 | 0x41, 0x41, 0x62, 0x1C, 0x66, 0x82, 0x82, 0x84, 0x78, 0x1E, 0x23, 0x41, 20 | 0x41, 0x43, 0x65, 0x3A, 0x02, 0x04, 0x18, 0xE0, 0x6C, 0x00, 0x36, 0x18, 21 | 0xC0, 0x00, 0x19, 0x8C, 0xC4, 0x00, 0x01, 0x83, 0x06, 0x0C, 0x06, 0x00, 22 | 0x80, 0x30, 0x04, 0xFF, 0x80, 0x00, 0x1F, 0xF0, 0x20, 0x0C, 0x01, 0x00, 23 | 0x60, 0x20, 0x60, 0xC1, 0x80, 0x3D, 0x8E, 0x08, 0x10, 0xC6, 0x08, 0x00, 24 | 0x01, 0x80, 0x1C, 0x45, 0x0A, 0x79, 0x34, 0x69, 0x4E, 0x81, 0x03, 0x03, 25 | 0xC0, 0x0F, 0x00, 0x60, 0x12, 0x02, 0x40, 0x88, 0x21, 0x07, 0xE1, 0x04, 26 | 0x20, 0x5E, 0x3C, 0x3F, 0x84, 0x11, 0x04, 0x82, 0x3F, 0x88, 0x32, 0x04, 27 | 0x81, 0x60, 0xBF, 0xC0, 0x1E, 0x98, 0xD0, 0x28, 0x08, 0x04, 0x02, 0x01, 28 | 0x00, 0x41, 0x1F, 0x00, 0x3F, 0x0C, 0x22, 0x04, 0x81, 0x20, 0x48, 0x12, 29 | 0x09, 0x02, 0x43, 0x3F, 0x00, 0x3F, 0xC4, 0x11, 0x00, 0x88, 0x3E, 0x08, 30 | 0x82, 0x00, 0x82, 0x60, 0xBF, 0xE0, 0x3F, 0xE2, 0x08, 0x40, 0x11, 0x03, 31 | 0xE0, 0x44, 0x08, 0x01, 0x00, 0x60, 0x1F, 0x00, 0x1E, 0x98, 0xD0, 0x08, 32 | 0x08, 0x04, 0x7A, 0x05, 0x02, 0x41, 0x1F, 0x00, 0x3D, 0xE2, 0x18, 0x42, 33 | 0x08, 0x43, 0xF8, 0x41, 0x08, 0x21, 0x08, 0x21, 0x1E, 0xF0, 0x3F, 0x82, 34 | 0x02, 0x01, 0x00, 0x80, 0x40, 0x20, 0x20, 0x10, 0x7F, 0x00, 0x0F, 0xE0, 35 | 0x20, 0x04, 0x00, 0x80, 0x10, 0x02, 0x20, 0x84, 0x10, 0x84, 0x0F, 0x00, 36 | 0x3C, 0xE2, 0x10, 0x44, 0x11, 0x02, 0xC0, 0x64, 0x08, 0x81, 0x08, 0x61, 37 | 0x1E, 0x38, 0x3E, 0x02, 0x00, 0x80, 0x20, 0x10, 0x04, 0x01, 0x04, 0x42, 38 | 0x10, 0xBF, 0xE0, 0x38, 0x38, 0xC3, 0x05, 0x28, 0x29, 0x42, 0x52, 0x13, 39 | 0x10, 0x99, 0x84, 0x08, 0x20, 0x47, 0x8F, 0x00, 0x70, 0xE6, 0x08, 0xA1, 40 | 0x14, 0x22, 0x48, 0x49, 0x11, 0x22, 0x14, 0x43, 0x1E, 0x20, 0x1E, 0x18, 41 | 0x90, 0x28, 0x18, 0x0C, 0x06, 0x05, 0x02, 0x46, 0x1E, 0x00, 0x3F, 0x84, 42 | 0x31, 0x04, 0x81, 0x20, 0x8F, 0xC2, 0x00, 0x80, 0x60, 0x3E, 0x00, 0x1E, 43 | 0x18, 0x90, 0x28, 0x18, 0x0C, 0x06, 0x05, 0x02, 0x46, 0x1E, 0x08, 0x0F, 44 | 0x44, 0x60, 0x3F, 0x84, 0x31, 0x04, 0x81, 0x20, 0x8F, 0xC2, 0x10, 0x84, 45 | 0x60, 0xBC, 0x10, 0x0F, 0x88, 0xC8, 0x24, 0x01, 0x80, 0x38, 0x05, 0x02, 46 | 0xC2, 0x5E, 0x00, 0xFF, 0xC4, 0x44, 0x02, 0x01, 0x00, 0x80, 0x40, 0x60, 47 | 0x20, 0x7E, 0x00, 0xF1, 0xD0, 0x24, 0x09, 0x02, 0x41, 0xA0, 0x48, 0x12, 48 | 0x04, 0xC6, 0x1F, 0x00, 0xF1, 0xE8, 0x11, 0x02, 0x20, 0x82, 0x20, 0x44, 49 | 0x09, 0x01, 0x40, 0x28, 0x02, 0x00, 0xF1, 0xE8, 0x09, 0x12, 0x26, 0x45, 50 | 0x48, 0xAA, 0x29, 0x45, 0x28, 0xC6, 0x18, 0xC0, 0x38, 0xE2, 0x08, 0x26, 51 | 0x05, 0x00, 0x40, 0x18, 0x04, 0x81, 0x08, 0x41, 0x1C, 0x70, 0xE3, 0xA0, 52 | 0x90, 0x84, 0x81, 0x80, 0x80, 0x40, 0x20, 0x20, 0x7E, 0x00, 0x3F, 0x90, 53 | 0x88, 0x80, 0x80, 0x80, 0x80, 0x80, 0x82, 0x82, 0x7F, 0x00, 0x39, 0x08, 54 | 0x44, 0x21, 0x08, 0x42, 0x21, 0x0E, 0x00, 0x88, 0x44, 0x44, 0x22, 0x22, 55 | 0x11, 0x11, 0x38, 0x42, 0x11, 0x08, 0x42, 0x10, 0x84, 0x2E, 0x00, 0x08, 56 | 0x28, 0x92, 0x18, 0x20, 0xFF, 0xC0, 0xA4, 0x3E, 0x00, 0x80, 0x47, 0xA4, 57 | 0x34, 0x12, 0x18, 0xF7, 0x38, 0x01, 0x00, 0x40, 0x09, 0xE1, 0xC6, 0x20, 58 | 0x44, 0x09, 0x01, 0x30, 0x46, 0x13, 0xBC, 0x00, 0x1F, 0x48, 0x74, 0x0A, 59 | 0x00, 0x80, 0x20, 0x0C, 0x18, 0xF8, 0x01, 0x80, 0x40, 0x23, 0x96, 0x32, 60 | 0x0A, 0x05, 0x02, 0x81, 0x61, 0x1F, 0xE0, 0x1F, 0x30, 0xD0, 0x3F, 0xF8, 61 | 0x04, 0x01, 0x00, 0x7C, 0x07, 0xC3, 0x00, 0x80, 0xFE, 0x10, 0x04, 0x01, 62 | 0x00, 0x40, 0x10, 0x08, 0x0F, 0xE0, 0x1D, 0xD8, 0xC4, 0x12, 0x04, 0x82, 63 | 0x20, 0x8C, 0x61, 0xE8, 0x02, 0x01, 0x07, 0x80, 0x30, 0x04, 0x01, 0x00, 64 | 0x5C, 0x38, 0x88, 0x22, 0x08, 0x82, 0x21, 0x18, 0x4F, 0x3C, 0x04, 0x04, 65 | 0x00, 0x38, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 0xFF, 0x01, 0x00, 0x80, 66 | 0x03, 0xF0, 0x10, 0x08, 0x04, 0x02, 0x02, 0x01, 0x00, 0x80, 0x40, 0x47, 67 | 0xC0, 0x38, 0x08, 0x04, 0x02, 0x71, 0x20, 0xA0, 0xA0, 0x68, 0x24, 0x11, 68 | 0x38, 0xE0, 0x3C, 0x04, 0x04, 0x08, 0x08, 0x08, 0x08, 0x08, 0x10, 0x10, 69 | 0xFF, 0x3E, 0xE2, 0x64, 0x88, 0x91, 0x12, 0x24, 0x48, 0x91, 0x17, 0x33, 70 | 0x37, 0x14, 0x4C, 0x24, 0x12, 0x09, 0x08, 0x85, 0xE3, 0x1E, 0x10, 0x90, 71 | 0x30, 0x18, 0x0C, 0x0B, 0x08, 0x78, 0x33, 0xC3, 0x8C, 0x40, 0x88, 0x12, 72 | 0x02, 0x60, 0x8C, 0x31, 0x78, 0x20, 0x08, 0x03, 0xE0, 0x00, 0x1C, 0xD8, 73 | 0xC4, 0x12, 0x04, 0x81, 0x20, 0x4C, 0x21, 0xF8, 0x02, 0x00, 0x81, 0xF0, 74 | 0x73, 0x8E, 0x04, 0x04, 0x02, 0x01, 0x00, 0x81, 0xFC, 0x1F, 0x61, 0x40, 75 | 0x3C, 0x03, 0x81, 0x82, 0xFC, 0x10, 0x63, 0xF9, 0x02, 0x04, 0x10, 0x20, 76 | 0x40, 0x7C, 0xE3, 0x10, 0x90, 0x48, 0x24, 0x22, 0x11, 0x18, 0xF6, 0xF3, 77 | 0xD0, 0x44, 0x10, 0x88, 0x24, 0x09, 0x02, 0x80, 0x40, 0xE1, 0xD0, 0x24, 78 | 0x91, 0x24, 0x55, 0x19, 0x86, 0x61, 0x10, 0x39, 0xC4, 0x20, 0xB0, 0x30, 79 | 0x0C, 0x04, 0x86, 0x13, 0x8E, 0x3C, 0x71, 0x04, 0x10, 0x40, 0x88, 0x09, 80 | 0x00, 0xA0, 0x06, 0x00, 0x40, 0x08, 0x01, 0x00, 0xFC, 0x00, 0x7F, 0x42, 81 | 0x04, 0x08, 0x10, 0x20, 0x42, 0xFE, 0x0C, 0x41, 0x04, 0x30, 0x8C, 0x08, 82 | 0x21, 0x04, 0x10, 0x60, 0x24, 0x94, 0x92, 0x52, 0x40, 0x18, 0x20, 0x82, 83 | 0x10, 0x40, 0xC4, 0x10, 0x82, 0x08, 0xC0, 0x61, 0x24, 0x30 }; 84 | 85 | const GFXglyph FreeMonoOblique9pt7bGlyphs[] PROGMEM = { 86 | { 0, 0, 0, 11, 0, 1 }, // 0x20 ' ' 87 | { 0, 4, 11, 11, 4, -10 }, // 0x21 '!' 88 | { 6, 5, 5, 11, 4, -10 }, // 0x22 '"' 89 | { 10, 9, 12, 11, 2, -10 }, // 0x23 '#' 90 | { 24, 8, 12, 11, 3, -10 }, // 0x24 '$' 91 | { 36, 9, 11, 11, 2, -10 }, // 0x25 '%' 92 | { 49, 7, 10, 11, 2, -9 }, // 0x26 '&' 93 | { 58, 2, 5, 11, 6, -10 }, // 0x27 ''' 94 | { 60, 4, 13, 11, 6, -10 }, // 0x28 '(' 95 | { 67, 4, 13, 11, 3, -10 }, // 0x29 ')' 96 | { 74, 7, 7, 11, 4, -10 }, // 0x2A '*' 97 | { 81, 9, 8, 11, 2, -8 }, // 0x2B '+' 98 | { 90, 4, 5, 11, 2, -1 }, // 0x2C ',' 99 | { 93, 9, 1, 11, 2, -5 }, // 0x2D '-' 100 | { 95, 2, 2, 11, 4, -1 }, // 0x2E '.' 101 | { 96, 9, 13, 11, 2, -11 }, // 0x2F '/' 102 | { 111, 7, 11, 11, 3, -10 }, // 0x30 '0' 103 | { 121, 7, 11, 11, 2, -10 }, // 0x31 '1' 104 | { 131, 9, 11, 11, 2, -10 }, // 0x32 '2' 105 | { 144, 9, 11, 11, 2, -10 }, // 0x33 '3' 106 | { 157, 8, 11, 11, 2, -10 }, // 0x34 '4' 107 | { 168, 9, 11, 11, 2, -10 }, // 0x35 '5' 108 | { 181, 8, 11, 11, 3, -10 }, // 0x36 '6' 109 | { 192, 7, 11, 11, 4, -10 }, // 0x37 '7' 110 | { 202, 8, 11, 11, 3, -10 }, // 0x38 '8' 111 | { 213, 8, 11, 11, 3, -10 }, // 0x39 '9' 112 | { 224, 3, 8, 11, 4, -7 }, // 0x3A ':' 113 | { 227, 5, 11, 11, 2, -7 }, // 0x3B ';' 114 | { 234, 9, 8, 11, 2, -8 }, // 0x3C '<' 115 | { 243, 9, 4, 11, 2, -6 }, // 0x3D '=' 116 | { 248, 9, 8, 11, 2, -8 }, // 0x3E '>' 117 | { 257, 7, 10, 11, 4, -9 }, // 0x3F '?' 118 | { 266, 7, 12, 11, 3, -10 }, // 0x40 '@' 119 | { 277, 11, 10, 11, 0, -9 }, // 0x41 'A' 120 | { 291, 10, 10, 11, 1, -9 }, // 0x42 'B' 121 | { 304, 9, 10, 11, 2, -9 }, // 0x43 'C' 122 | { 316, 10, 10, 11, 1, -9 }, // 0x44 'D' 123 | { 329, 10, 10, 11, 1, -9 }, // 0x45 'E' 124 | { 342, 11, 10, 11, 1, -9 }, // 0x46 'F' 125 | { 356, 9, 10, 11, 2, -9 }, // 0x47 'G' 126 | { 368, 11, 10, 11, 1, -9 }, // 0x48 'H' 127 | { 382, 9, 10, 11, 2, -9 }, // 0x49 'I' 128 | { 394, 11, 10, 11, 2, -9 }, // 0x4A 'J' 129 | { 408, 11, 10, 11, 1, -9 }, // 0x4B 'K' 130 | { 422, 10, 10, 11, 1, -9 }, // 0x4C 'L' 131 | { 435, 13, 10, 11, 0, -9 }, // 0x4D 'M' 132 | { 452, 11, 10, 11, 1, -9 }, // 0x4E 'N' 133 | { 466, 9, 10, 11, 2, -9 }, // 0x4F 'O' 134 | { 478, 10, 10, 11, 1, -9 }, // 0x50 'P' 135 | { 491, 9, 13, 11, 2, -9 }, // 0x51 'Q' 136 | { 506, 10, 10, 11, 1, -9 }, // 0x52 'R' 137 | { 519, 9, 10, 11, 2, -9 }, // 0x53 'S' 138 | { 531, 9, 10, 11, 3, -9 }, // 0x54 'T' 139 | { 543, 10, 10, 11, 2, -9 }, // 0x55 'U' 140 | { 556, 11, 10, 11, 2, -9 }, // 0x56 'V' 141 | { 570, 11, 10, 11, 2, -9 }, // 0x57 'W' 142 | { 584, 11, 10, 11, 1, -9 }, // 0x58 'X' 143 | { 598, 9, 10, 11, 3, -9 }, // 0x59 'Y' 144 | { 610, 9, 10, 11, 2, -9 }, // 0x5A 'Z' 145 | { 622, 5, 13, 11, 5, -10 }, // 0x5B '[' 146 | { 631, 4, 14, 11, 4, -11 }, // 0x5C '\' 147 | { 638, 5, 13, 11, 2, -10 }, // 0x5D ']' 148 | { 647, 7, 5, 11, 3, -10 }, // 0x5E '^' 149 | { 652, 11, 1, 11, 0, 2 }, // 0x5F '_' 150 | { 654, 2, 3, 11, 5, -11 }, // 0x60 '`' 151 | { 655, 9, 8, 11, 2, -7 }, // 0x61 'a' 152 | { 664, 11, 11, 11, 0, -10 }, // 0x62 'b' 153 | { 680, 10, 8, 11, 2, -7 }, // 0x63 'c' 154 | { 690, 9, 11, 11, 2, -10 }, // 0x64 'd' 155 | { 703, 9, 8, 11, 2, -7 }, // 0x65 'e' 156 | { 712, 10, 11, 11, 2, -10 }, // 0x66 'f' 157 | { 726, 10, 11, 11, 2, -7 }, // 0x67 'g' 158 | { 740, 10, 11, 11, 1, -10 }, // 0x68 'h' 159 | { 754, 8, 11, 11, 2, -10 }, // 0x69 'i' 160 | { 765, 9, 14, 11, 1, -10 }, // 0x6A 'j' 161 | { 781, 9, 11, 11, 1, -10 }, // 0x6B 'k' 162 | { 794, 8, 11, 11, 2, -10 }, // 0x6C 'l' 163 | { 805, 11, 8, 11, 0, -7 }, // 0x6D 'm' 164 | { 816, 9, 8, 11, 1, -7 }, // 0x6E 'n' 165 | { 825, 9, 8, 11, 2, -7 }, // 0x6F 'o' 166 | { 834, 11, 11, 11, 0, -7 }, // 0x70 'p' 167 | { 850, 10, 11, 11, 2, -7 }, // 0x71 'q' 168 | { 864, 9, 8, 11, 2, -7 }, // 0x72 'r' 169 | { 873, 8, 8, 11, 2, -7 }, // 0x73 's' 170 | { 881, 7, 10, 11, 2, -9 }, // 0x74 't' 171 | { 890, 9, 8, 11, 2, -7 }, // 0x75 'u' 172 | { 899, 10, 8, 11, 2, -7 }, // 0x76 'v' 173 | { 909, 10, 8, 11, 2, -7 }, // 0x77 'w' 174 | { 919, 10, 8, 11, 1, -7 }, // 0x78 'x' 175 | { 929, 12, 11, 11, 0, -7 }, // 0x79 'y' 176 | { 946, 8, 8, 11, 2, -7 }, // 0x7A 'z' 177 | { 954, 6, 13, 11, 4, -10 }, // 0x7B '{' 178 | { 964, 3, 12, 11, 5, -9 }, // 0x7C '|' 179 | { 969, 6, 13, 11, 3, -10 }, // 0x7D '}' 180 | { 979, 7, 3, 11, 3, -6 } }; // 0x7E '~' 181 | 182 | const GFXfont FreeMonoOblique9pt7b PROGMEM = { 183 | (uint8_t *)FreeMonoOblique9pt7bBitmaps, 184 | (GFXglyph *)FreeMonoOblique9pt7bGlyphs, 185 | 0x20, 0x7E, 18 }; 186 | 187 | // Approx. 1654 bytes 188 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeSans9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeSans9pt7bBitmaps[] PROGMEM = { 2 | 0xFF, 0xFF, 0xF8, 0xC0, 0xDE, 0xF7, 0x20, 0x09, 0x86, 0x41, 0x91, 0xFF, 3 | 0x13, 0x04, 0xC3, 0x20, 0xC8, 0xFF, 0x89, 0x82, 0x61, 0x90, 0x10, 0x1F, 4 | 0x14, 0xDA, 0x3D, 0x1E, 0x83, 0x40, 0x78, 0x17, 0x08, 0xF4, 0x7A, 0x35, 5 | 0x33, 0xF0, 0x40, 0x20, 0x38, 0x10, 0xEC, 0x20, 0xC6, 0x20, 0xC6, 0x40, 6 | 0xC6, 0x40, 0x6C, 0x80, 0x39, 0x00, 0x01, 0x3C, 0x02, 0x77, 0x02, 0x63, 7 | 0x04, 0x63, 0x04, 0x77, 0x08, 0x3C, 0x0E, 0x06, 0x60, 0xCC, 0x19, 0x81, 8 | 0xE0, 0x18, 0x0F, 0x03, 0x36, 0xC2, 0xD8, 0x73, 0x06, 0x31, 0xE3, 0xC4, 9 | 0xFE, 0x13, 0x26, 0x6C, 0xCC, 0xCC, 0xC4, 0x66, 0x23, 0x10, 0x8C, 0x46, 10 | 0x63, 0x33, 0x33, 0x32, 0x66, 0x4C, 0x80, 0x25, 0x7E, 0xA5, 0x00, 0x30, 11 | 0xC3, 0x3F, 0x30, 0xC3, 0x0C, 0xD6, 0xF0, 0xC0, 0x08, 0x44, 0x21, 0x10, 12 | 0x84, 0x42, 0x11, 0x08, 0x00, 0x3C, 0x66, 0x42, 0xC3, 0xC3, 0xC3, 0xC3, 13 | 0xC3, 0xC3, 0xC3, 0x42, 0x66, 0x3C, 0x11, 0x3F, 0x33, 0x33, 0x33, 0x33, 14 | 0x30, 0x3E, 0x31, 0xB0, 0x78, 0x30, 0x18, 0x1C, 0x1C, 0x1C, 0x18, 0x18, 15 | 0x10, 0x08, 0x07, 0xF8, 0x3C, 0x66, 0xC3, 0xC3, 0x03, 0x06, 0x1C, 0x07, 16 | 0x03, 0xC3, 0xC3, 0x66, 0x3C, 0x0C, 0x18, 0x71, 0x62, 0xC9, 0xA3, 0x46, 17 | 0xFE, 0x18, 0x30, 0x60, 0xC0, 0x7F, 0x20, 0x10, 0x08, 0x08, 0x07, 0xF3, 18 | 0x8C, 0x03, 0x01, 0x80, 0xF0, 0x6C, 0x63, 0xE0, 0x1E, 0x31, 0x98, 0x78, 19 | 0x0C, 0x06, 0xF3, 0x8D, 0x83, 0xC1, 0xE0, 0xD0, 0x6C, 0x63, 0xE0, 0xFF, 20 | 0x03, 0x02, 0x06, 0x04, 0x0C, 0x08, 0x18, 0x18, 0x18, 0x10, 0x30, 0x30, 21 | 0x3E, 0x31, 0xB0, 0x78, 0x3C, 0x1B, 0x18, 0xF8, 0xC6, 0xC1, 0xE0, 0xF0, 22 | 0x6C, 0x63, 0xE0, 0x3C, 0x66, 0xC2, 0xC3, 0xC3, 0xC3, 0x67, 0x3B, 0x03, 23 | 0x03, 0xC2, 0x66, 0x3C, 0xC0, 0x00, 0x30, 0xC0, 0x00, 0x00, 0x64, 0xA0, 24 | 0x00, 0x81, 0xC7, 0x8E, 0x0C, 0x07, 0x80, 0x70, 0x0E, 0x01, 0x80, 0xFF, 25 | 0x80, 0x00, 0x1F, 0xF0, 0x00, 0x70, 0x0E, 0x01, 0xC0, 0x18, 0x38, 0x71, 26 | 0xC0, 0x80, 0x00, 0x3E, 0x31, 0xB0, 0x78, 0x30, 0x18, 0x18, 0x38, 0x18, 27 | 0x18, 0x0C, 0x00, 0x00, 0x01, 0x80, 0x03, 0xF0, 0x06, 0x0E, 0x06, 0x01, 28 | 0x86, 0x00, 0x66, 0x1D, 0xBB, 0x31, 0xCF, 0x18, 0xC7, 0x98, 0x63, 0xCC, 29 | 0x31, 0xE6, 0x11, 0xB3, 0x99, 0xCC, 0xF7, 0x86, 0x00, 0x01, 0x80, 0x00, 30 | 0x70, 0x40, 0x0F, 0xE0, 0x06, 0x00, 0xF0, 0x0F, 0x00, 0x90, 0x19, 0x81, 31 | 0x98, 0x10, 0x83, 0x0C, 0x3F, 0xC2, 0x04, 0x60, 0x66, 0x06, 0xC0, 0x30, 32 | 0xFF, 0x18, 0x33, 0x03, 0x60, 0x6C, 0x0D, 0x83, 0x3F, 0xC6, 0x06, 0xC0, 33 | 0x78, 0x0F, 0x01, 0xE0, 0x6F, 0xF8, 0x1F, 0x86, 0x19, 0x81, 0xA0, 0x3C, 34 | 0x01, 0x80, 0x30, 0x06, 0x00, 0xC0, 0x68, 0x0D, 0x83, 0x18, 0x61, 0xF0, 35 | 0xFF, 0x18, 0x33, 0x03, 0x60, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 36 | 0x78, 0x0F, 0x03, 0x60, 0xCF, 0xF0, 0xFF, 0xE0, 0x30, 0x18, 0x0C, 0x06, 37 | 0x03, 0xFD, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x0F, 0xF8, 0xFF, 0xC0, 0xC0, 38 | 0xC0, 0xC0, 0xC0, 0xFE, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0x0F, 0x83, 39 | 0x0E, 0x60, 0x66, 0x03, 0xC0, 0x0C, 0x00, 0xC1, 0xFC, 0x03, 0xC0, 0x36, 40 | 0x03, 0x60, 0x73, 0x0F, 0x0F, 0x10, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 41 | 0x07, 0x80, 0xFF, 0xFE, 0x03, 0xC0, 0x78, 0x0F, 0x01, 0xE0, 0x3C, 0x06, 42 | 0xFF, 0xFF, 0xFF, 0xC0, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x07, 43 | 0x8F, 0x1E, 0x27, 0x80, 0xC0, 0xD8, 0x33, 0x0C, 0x63, 0x0C, 0xC1, 0xB8, 44 | 0x3F, 0x07, 0x30, 0xC3, 0x18, 0x63, 0x06, 0x60, 0x6C, 0x0C, 0xC0, 0xC0, 45 | 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xFF, 0xE0, 46 | 0x3F, 0x01, 0xFC, 0x1F, 0xE0, 0xFD, 0x05, 0xEC, 0x6F, 0x63, 0x79, 0x13, 47 | 0xCD, 0x9E, 0x6C, 0xF1, 0x47, 0x8E, 0x3C, 0x71, 0x80, 0xE0, 0x7C, 0x0F, 48 | 0xC1, 0xE8, 0x3D, 0x87, 0x98, 0xF1, 0x1E, 0x33, 0xC3, 0x78, 0x6F, 0x07, 49 | 0xE0, 0x7C, 0x0E, 0x0F, 0x81, 0x83, 0x18, 0x0C, 0xC0, 0x6C, 0x01, 0xE0, 50 | 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1B, 0x01, 0x98, 0x0C, 0x60, 0xC0, 0xF8, 51 | 0x00, 0xFF, 0x30, 0x6C, 0x0F, 0x03, 0xC0, 0xF0, 0x6F, 0xF3, 0x00, 0xC0, 52 | 0x30, 0x0C, 0x03, 0x00, 0xC0, 0x00, 0x0F, 0x81, 0x83, 0x18, 0x0C, 0xC0, 53 | 0x6C, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x1B, 0x01, 0x98, 0x6C, 54 | 0x60, 0xC0, 0xFB, 0x00, 0x08, 0xFF, 0x8C, 0x0E, 0xC0, 0x6C, 0x06, 0xC0, 55 | 0x6C, 0x0C, 0xFF, 0x8C, 0x0E, 0xC0, 0x6C, 0x06, 0xC0, 0x6C, 0x06, 0xC0, 56 | 0x70, 0x3F, 0x18, 0x6C, 0x0F, 0x03, 0xC0, 0x1E, 0x01, 0xF0, 0x0E, 0x00, 57 | 0xF0, 0x3C, 0x0D, 0x86, 0x3F, 0x00, 0xFF, 0x86, 0x03, 0x01, 0x80, 0xC0, 58 | 0x60, 0x30, 0x18, 0x0C, 0x06, 0x03, 0x01, 0x80, 0xC0, 0xC0, 0x78, 0x0F, 59 | 0x01, 0xE0, 0x3C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x78, 0x0F, 0x01, 60 | 0xB0, 0x61, 0xF0, 0xC0, 0x6C, 0x0D, 0x81, 0x10, 0x63, 0x0C, 0x61, 0x04, 61 | 0x60, 0xCC, 0x19, 0x01, 0x60, 0x3C, 0x07, 0x00, 0x60, 0xC1, 0x81, 0x30, 62 | 0xE1, 0x98, 0x70, 0xCC, 0x28, 0x66, 0x26, 0x21, 0x13, 0x30, 0xC8, 0x98, 63 | 0x6C, 0x4C, 0x14, 0x34, 0x0A, 0x1A, 0x07, 0x07, 0x03, 0x03, 0x80, 0x81, 64 | 0x80, 0x60, 0x63, 0x0C, 0x30, 0xC1, 0x98, 0x0F, 0x00, 0xE0, 0x06, 0x00, 65 | 0xF0, 0x19, 0x01, 0x98, 0x30, 0xC6, 0x0E, 0x60, 0x60, 0xC0, 0x36, 0x06, 66 | 0x30, 0xC3, 0x0C, 0x19, 0x81, 0xD8, 0x0F, 0x00, 0x60, 0x06, 0x00, 0x60, 67 | 0x06, 0x00, 0x60, 0x06, 0x00, 0xFF, 0xC0, 0x60, 0x30, 0x0C, 0x06, 0x03, 68 | 0x01, 0xC0, 0x60, 0x30, 0x18, 0x06, 0x03, 0x00, 0xFF, 0xC0, 0xFB, 0x6D, 69 | 0xB6, 0xDB, 0x6D, 0xB6, 0xE0, 0x84, 0x10, 0x84, 0x10, 0x84, 0x10, 0x84, 70 | 0x10, 0x80, 0xED, 0xB6, 0xDB, 0x6D, 0xB6, 0xDB, 0xE0, 0x30, 0x60, 0xA2, 71 | 0x44, 0xD8, 0xA1, 0x80, 0xFF, 0xC0, 0xC6, 0x30, 0x7E, 0x71, 0xB0, 0xC0, 72 | 0x60, 0xF3, 0xDB, 0x0D, 0x86, 0xC7, 0x3D, 0xC0, 0xC0, 0x60, 0x30, 0x1B, 73 | 0xCE, 0x36, 0x0F, 0x07, 0x83, 0xC1, 0xE0, 0xF0, 0x7C, 0x6D, 0xE0, 0x3C, 74 | 0x66, 0xC3, 0xC0, 0xC0, 0xC0, 0xC0, 0xC3, 0x66, 0x3C, 0x03, 0x03, 0x03, 75 | 0x3B, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x67, 0x3B, 0x3C, 0x66, 76 | 0xC3, 0xC3, 0xFF, 0xC0, 0xC0, 0xC3, 0x66, 0x3C, 0x36, 0x6F, 0x66, 0x66, 77 | 0x66, 0x66, 0x60, 0x3B, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x67, 78 | 0x3B, 0x03, 0x03, 0xC6, 0x7C, 0xC0, 0xC0, 0xC0, 0xDE, 0xE3, 0xC3, 0xC3, 79 | 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xFF, 0xFF, 0xC0, 0x30, 0x03, 80 | 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0xE0, 0xC0, 0x60, 0x30, 0x18, 0x4C, 81 | 0x46, 0x63, 0x61, 0xF0, 0xEC, 0x62, 0x31, 0x98, 0x6C, 0x30, 0xFF, 0xFF, 82 | 0xFF, 0xC0, 0xDE, 0xF7, 0x1C, 0xF0, 0xC7, 0x86, 0x3C, 0x31, 0xE1, 0x8F, 83 | 0x0C, 0x78, 0x63, 0xC3, 0x1E, 0x18, 0xC0, 0xDE, 0xE3, 0xC3, 0xC3, 0xC3, 84 | 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x3C, 0x66, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 85 | 0xC3, 0x66, 0x3C, 0xDE, 0x71, 0xB0, 0x78, 0x3C, 0x1E, 0x0F, 0x07, 0x83, 86 | 0xE3, 0x6F, 0x30, 0x18, 0x0C, 0x00, 0x3B, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 87 | 0xC3, 0xC3, 0x67, 0x3B, 0x03, 0x03, 0x03, 0xDF, 0x31, 0x8C, 0x63, 0x18, 88 | 0xC6, 0x00, 0x3E, 0xE3, 0xC0, 0xC0, 0xE0, 0x3C, 0x07, 0xC3, 0xE3, 0x7E, 89 | 0x66, 0xF6, 0x66, 0x66, 0x66, 0x67, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 90 | 0xC3, 0xC3, 0xC7, 0x7B, 0xC1, 0xA0, 0x98, 0xCC, 0x42, 0x21, 0xB0, 0xD0, 91 | 0x28, 0x1C, 0x0C, 0x00, 0xC6, 0x1E, 0x38, 0x91, 0xC4, 0xCA, 0x66, 0xD3, 92 | 0x16, 0xD0, 0xA6, 0x87, 0x1C, 0x38, 0xC0, 0xC6, 0x00, 0x43, 0x62, 0x36, 93 | 0x1C, 0x18, 0x1C, 0x3C, 0x26, 0x62, 0x43, 0xC1, 0x21, 0x98, 0xCC, 0x42, 94 | 0x61, 0xB0, 0xD0, 0x38, 0x1C, 0x0C, 0x06, 0x03, 0x01, 0x03, 0x00, 0xFE, 95 | 0x0C, 0x30, 0xC1, 0x86, 0x18, 0x20, 0xC1, 0xFC, 0x36, 0x66, 0x66, 0x6E, 96 | 0xCE, 0x66, 0x66, 0x66, 0x30, 0xFF, 0xFF, 0xFF, 0xFF, 0xC0, 0xC6, 0x66, 97 | 0x66, 0x67, 0x37, 0x66, 0x66, 0x66, 0xC0, 0x61, 0x24, 0x38 }; 98 | 99 | const GFXglyph FreeSans9pt7bGlyphs[] PROGMEM = { 100 | { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' 101 | { 0, 2, 13, 6, 2, -12 }, // 0x21 '!' 102 | { 4, 5, 4, 6, 1, -12 }, // 0x22 '"' 103 | { 7, 10, 12, 10, 0, -11 }, // 0x23 '#' 104 | { 22, 9, 16, 10, 1, -13 }, // 0x24 '$' 105 | { 40, 16, 13, 16, 1, -12 }, // 0x25 '%' 106 | { 66, 11, 13, 12, 1, -12 }, // 0x26 '&' 107 | { 84, 2, 4, 4, 1, -12 }, // 0x27 ''' 108 | { 85, 4, 17, 6, 1, -12 }, // 0x28 '(' 109 | { 94, 4, 17, 6, 1, -12 }, // 0x29 ')' 110 | { 103, 5, 5, 7, 1, -12 }, // 0x2A '*' 111 | { 107, 6, 8, 11, 3, -7 }, // 0x2B '+' 112 | { 113, 2, 4, 5, 2, 0 }, // 0x2C ',' 113 | { 114, 4, 1, 6, 1, -4 }, // 0x2D '-' 114 | { 115, 2, 1, 5, 1, 0 }, // 0x2E '.' 115 | { 116, 5, 13, 5, 0, -12 }, // 0x2F '/' 116 | { 125, 8, 13, 10, 1, -12 }, // 0x30 '0' 117 | { 138, 4, 13, 10, 3, -12 }, // 0x31 '1' 118 | { 145, 9, 13, 10, 1, -12 }, // 0x32 '2' 119 | { 160, 8, 13, 10, 1, -12 }, // 0x33 '3' 120 | { 173, 7, 13, 10, 2, -12 }, // 0x34 '4' 121 | { 185, 9, 13, 10, 1, -12 }, // 0x35 '5' 122 | { 200, 9, 13, 10, 1, -12 }, // 0x36 '6' 123 | { 215, 8, 13, 10, 0, -12 }, // 0x37 '7' 124 | { 228, 9, 13, 10, 1, -12 }, // 0x38 '8' 125 | { 243, 8, 13, 10, 1, -12 }, // 0x39 '9' 126 | { 256, 2, 10, 5, 1, -9 }, // 0x3A ':' 127 | { 259, 3, 12, 5, 1, -8 }, // 0x3B ';' 128 | { 264, 9, 9, 11, 1, -8 }, // 0x3C '<' 129 | { 275, 9, 4, 11, 1, -5 }, // 0x3D '=' 130 | { 280, 9, 9, 11, 1, -8 }, // 0x3E '>' 131 | { 291, 9, 13, 10, 1, -12 }, // 0x3F '?' 132 | { 306, 17, 16, 18, 1, -12 }, // 0x40 '@' 133 | { 340, 12, 13, 12, 0, -12 }, // 0x41 'A' 134 | { 360, 11, 13, 12, 1, -12 }, // 0x42 'B' 135 | { 378, 11, 13, 13, 1, -12 }, // 0x43 'C' 136 | { 396, 11, 13, 13, 1, -12 }, // 0x44 'D' 137 | { 414, 9, 13, 11, 1, -12 }, // 0x45 'E' 138 | { 429, 8, 13, 11, 1, -12 }, // 0x46 'F' 139 | { 442, 12, 13, 14, 1, -12 }, // 0x47 'G' 140 | { 462, 11, 13, 13, 1, -12 }, // 0x48 'H' 141 | { 480, 2, 13, 5, 2, -12 }, // 0x49 'I' 142 | { 484, 7, 13, 10, 1, -12 }, // 0x4A 'J' 143 | { 496, 11, 13, 12, 1, -12 }, // 0x4B 'K' 144 | { 514, 8, 13, 10, 1, -12 }, // 0x4C 'L' 145 | { 527, 13, 13, 15, 1, -12 }, // 0x4D 'M' 146 | { 549, 11, 13, 13, 1, -12 }, // 0x4E 'N' 147 | { 567, 13, 13, 14, 1, -12 }, // 0x4F 'O' 148 | { 589, 10, 13, 12, 1, -12 }, // 0x50 'P' 149 | { 606, 13, 14, 14, 1, -12 }, // 0x51 'Q' 150 | { 629, 12, 13, 13, 1, -12 }, // 0x52 'R' 151 | { 649, 10, 13, 12, 1, -12 }, // 0x53 'S' 152 | { 666, 9, 13, 11, 1, -12 }, // 0x54 'T' 153 | { 681, 11, 13, 13, 1, -12 }, // 0x55 'U' 154 | { 699, 11, 13, 12, 0, -12 }, // 0x56 'V' 155 | { 717, 17, 13, 17, 0, -12 }, // 0x57 'W' 156 | { 745, 12, 13, 12, 0, -12 }, // 0x58 'X' 157 | { 765, 12, 13, 12, 0, -12 }, // 0x59 'Y' 158 | { 785, 10, 13, 11, 1, -12 }, // 0x5A 'Z' 159 | { 802, 3, 17, 5, 1, -12 }, // 0x5B '[' 160 | { 809, 5, 13, 5, 0, -12 }, // 0x5C '\' 161 | { 818, 3, 17, 5, 0, -12 }, // 0x5D ']' 162 | { 825, 7, 7, 8, 1, -12 }, // 0x5E '^' 163 | { 832, 10, 1, 10, 0, 3 }, // 0x5F '_' 164 | { 834, 4, 3, 5, 0, -12 }, // 0x60 '`' 165 | { 836, 9, 10, 10, 1, -9 }, // 0x61 'a' 166 | { 848, 9, 13, 10, 1, -12 }, // 0x62 'b' 167 | { 863, 8, 10, 9, 1, -9 }, // 0x63 'c' 168 | { 873, 8, 13, 10, 1, -12 }, // 0x64 'd' 169 | { 886, 8, 10, 10, 1, -9 }, // 0x65 'e' 170 | { 896, 4, 13, 5, 1, -12 }, // 0x66 'f' 171 | { 903, 8, 14, 10, 1, -9 }, // 0x67 'g' 172 | { 917, 8, 13, 10, 1, -12 }, // 0x68 'h' 173 | { 930, 2, 13, 4, 1, -12 }, // 0x69 'i' 174 | { 934, 4, 17, 4, 0, -12 }, // 0x6A 'j' 175 | { 943, 9, 13, 9, 1, -12 }, // 0x6B 'k' 176 | { 958, 2, 13, 4, 1, -12 }, // 0x6C 'l' 177 | { 962, 13, 10, 15, 1, -9 }, // 0x6D 'm' 178 | { 979, 8, 10, 10, 1, -9 }, // 0x6E 'n' 179 | { 989, 8, 10, 10, 1, -9 }, // 0x6F 'o' 180 | { 999, 9, 13, 10, 1, -9 }, // 0x70 'p' 181 | { 1014, 8, 13, 10, 1, -9 }, // 0x71 'q' 182 | { 1027, 5, 10, 6, 1, -9 }, // 0x72 'r' 183 | { 1034, 8, 10, 9, 1, -9 }, // 0x73 's' 184 | { 1044, 4, 12, 5, 1, -11 }, // 0x74 't' 185 | { 1050, 8, 10, 10, 1, -9 }, // 0x75 'u' 186 | { 1060, 9, 10, 9, 0, -9 }, // 0x76 'v' 187 | { 1072, 13, 10, 13, 0, -9 }, // 0x77 'w' 188 | { 1089, 8, 10, 9, 0, -9 }, // 0x78 'x' 189 | { 1099, 9, 14, 9, 0, -9 }, // 0x79 'y' 190 | { 1115, 7, 10, 9, 1, -9 }, // 0x7A 'z' 191 | { 1124, 4, 17, 6, 1, -12 }, // 0x7B '{' 192 | { 1133, 2, 17, 4, 2, -12 }, // 0x7C '|' 193 | { 1138, 4, 17, 6, 1, -12 }, // 0x7D '}' 194 | { 1147, 7, 3, 9, 1, -7 } }; // 0x7E '~' 195 | 196 | const GFXfont FreeSans9pt7b PROGMEM = { 197 | (uint8_t *)FreeSans9pt7bBitmaps, 198 | (GFXglyph *)FreeSans9pt7bGlyphs, 199 | 0x20, 0x7E, 22 }; 200 | 201 | // Approx. 1822 bytes 202 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeSansBold9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeSansBold9pt7bBitmaps[] PROGMEM = { 2 | 0xFF, 0xFF, 0xFE, 0x48, 0x7E, 0xEF, 0xDF, 0xBF, 0x74, 0x40, 0x19, 0x86, 3 | 0x67, 0xFD, 0xFF, 0x33, 0x0C, 0xC3, 0x33, 0xFE, 0xFF, 0x99, 0x86, 0x61, 4 | 0x90, 0x10, 0x1F, 0x1F, 0xDE, 0xFF, 0x3F, 0x83, 0xC0, 0xFC, 0x1F, 0x09, 5 | 0xFC, 0xFE, 0xF7, 0xF1, 0xE0, 0x40, 0x38, 0x10, 0x7C, 0x30, 0xC6, 0x20, 6 | 0xC6, 0x40, 0xC6, 0x40, 0x7C, 0x80, 0x39, 0x9C, 0x01, 0x3E, 0x03, 0x63, 7 | 0x02, 0x63, 0x04, 0x63, 0x0C, 0x3E, 0x08, 0x1C, 0x0E, 0x01, 0xF8, 0x3B, 8 | 0x83, 0xB8, 0x3F, 0x01, 0xE0, 0x3E, 0x67, 0x76, 0xE3, 0xEE, 0x1C, 0xF3, 9 | 0xC7, 0xFE, 0x3F, 0x70, 0xFF, 0xF4, 0x18, 0x63, 0x1C, 0x73, 0x8E, 0x38, 10 | 0xE3, 0x8E, 0x18, 0x70, 0xC3, 0x06, 0x08, 0x61, 0x83, 0x0E, 0x38, 0x71, 11 | 0xC7, 0x1C, 0x71, 0xC6, 0x38, 0xE3, 0x18, 0x40, 0x21, 0x3E, 0x45, 0x28, 12 | 0x38, 0x70, 0xE7, 0xFF, 0xE7, 0x0E, 0x1C, 0xFC, 0x9C, 0xFF, 0xC0, 0xFC, 13 | 0x08, 0xC4, 0x23, 0x10, 0x84, 0x62, 0x11, 0x88, 0x00, 0x3E, 0x3F, 0x9D, 14 | 0xDC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xF1, 0xDD, 0xCF, 0xE3, 0xE0, 15 | 0x08, 0xFF, 0xF3, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x80, 0x3E, 0x3F, 0xB8, 16 | 0xFC, 0x70, 0x38, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x1C, 0x0F, 0xF7, 0xF8, 17 | 0x3C, 0x7F, 0xE7, 0xE7, 0x07, 0x0C, 0x0E, 0x07, 0x07, 0xE7, 0xE7, 0x7E, 18 | 0x3C, 0x0E, 0x1E, 0x1E, 0x2E, 0x2E, 0x4E, 0x4E, 0x8E, 0xFF, 0xFF, 0x0E, 19 | 0x0E, 0x0E, 0x7F, 0x3F, 0x90, 0x18, 0x0D, 0xE7, 0xFB, 0x9E, 0x07, 0x03, 20 | 0x81, 0xF1, 0xFF, 0xE7, 0xC0, 0x3E, 0x3F, 0x9C, 0xFC, 0x0E, 0xE7, 0xFB, 21 | 0xDF, 0xC7, 0xE3, 0xF1, 0xDD, 0xEF, 0xE3, 0xE0, 0xFF, 0xFF, 0xC0, 0xE0, 22 | 0xE0, 0x60, 0x70, 0x30, 0x38, 0x1C, 0x0C, 0x0E, 0x07, 0x03, 0x80, 0x3F, 23 | 0x1F, 0xEE, 0x3F, 0x87, 0xE3, 0xCF, 0xC7, 0xFB, 0xCF, 0xE1, 0xF8, 0x7F, 24 | 0x3D, 0xFE, 0x3F, 0x00, 0x3E, 0x3F, 0xBD, 0xDC, 0x7E, 0x3F, 0x1F, 0xDE, 25 | 0xFF, 0x3B, 0x81, 0xF9, 0xCF, 0xE3, 0xC0, 0xFC, 0x00, 0x07, 0xE0, 0xFC, 26 | 0x00, 0x07, 0xE5, 0xE0, 0x00, 0x83, 0xC7, 0xDF, 0x0C, 0x07, 0x80, 0xF8, 27 | 0x1F, 0x01, 0x80, 0xFF, 0xFF, 0xC0, 0x00, 0x0F, 0xFF, 0xFC, 0x00, 0x70, 28 | 0x3F, 0x03, 0xE0, 0x38, 0x7D, 0xF1, 0xE0, 0x80, 0x00, 0x3E, 0x3F, 0xB8, 29 | 0xFC, 0x70, 0x38, 0x1C, 0x1C, 0x1C, 0x1C, 0x0E, 0x00, 0x03, 0x81, 0xC0, 30 | 0x03, 0xF0, 0x0F, 0xFC, 0x1E, 0x0E, 0x38, 0x02, 0x70, 0xE9, 0x63, 0x19, 31 | 0xC2, 0x19, 0xC6, 0x11, 0xC6, 0x33, 0xC6, 0x32, 0x63, 0xFE, 0x73, 0xDC, 32 | 0x3C, 0x00, 0x1F, 0xF8, 0x07, 0xF0, 0x07, 0x00, 0xF0, 0x0F, 0x80, 0xF8, 33 | 0x1D, 0x81, 0x9C, 0x19, 0xC3, 0x8C, 0x3F, 0xE7, 0xFE, 0x70, 0x66, 0x07, 34 | 0xE0, 0x70, 0xFF, 0x9F, 0xFB, 0x83, 0xF0, 0x7E, 0x0F, 0xFF, 0x3F, 0xF7, 35 | 0x06, 0xE0, 0xFC, 0x1F, 0x83, 0xFF, 0xEF, 0xF8, 0x1F, 0x83, 0xFE, 0x78, 36 | 0xE7, 0x07, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x07, 0x07, 0x78, 37 | 0xF3, 0xFE, 0x1F, 0x80, 0xFF, 0x8F, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, 0x7E, 38 | 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 0x0E, 0xE0, 0xEF, 0xFC, 0xFF, 0x80, 39 | 0xFF, 0xFF, 0xF8, 0x1C, 0x0E, 0x07, 0xFB, 0xFD, 0xC0, 0xE0, 0x70, 0x38, 40 | 0x1F, 0xFF, 0xF8, 0xFF, 0xFF, 0xF8, 0x1C, 0x0E, 0x07, 0xFB, 0xFD, 0xC0, 41 | 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x00, 0x0F, 0x87, 0xF9, 0xE3, 0xB8, 0x3E, 42 | 0x01, 0xC0, 0x38, 0xFF, 0x1F, 0xE0, 0x6E, 0x0D, 0xE3, 0x9F, 0xD0, 0xF2, 43 | 0xE0, 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xFF, 0xFF, 0xFF, 0x07, 0xE0, 44 | 0xFC, 0x1F, 0x83, 0xF0, 0x7E, 0x0E, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0x07, 45 | 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0xE7, 0xE7, 0xE7, 0x7E, 0x3C, 46 | 0xE0, 0xEE, 0x1C, 0xE3, 0x8E, 0x70, 0xEE, 0x0F, 0xC0, 0xFE, 0x0F, 0x70, 47 | 0xE7, 0x0E, 0x38, 0xE1, 0xCE, 0x0E, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 48 | 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xE0, 0xFF, 0xFF, 0xF8, 0x7F, 0xE1, 49 | 0xFF, 0x87, 0xFE, 0x1F, 0xEC, 0x7F, 0xB3, 0x7E, 0xCD, 0xFB, 0x37, 0xEC, 50 | 0xDF, 0x9E, 0x7E, 0x79, 0xF9, 0xE7, 0xE7, 0x9C, 0xE0, 0xFE, 0x1F, 0xC3, 51 | 0xFC, 0x7F, 0xCF, 0xD9, 0xFB, 0xBF, 0x37, 0xE7, 0xFC, 0x7F, 0x87, 0xF0, 52 | 0xFE, 0x0E, 0x0F, 0x81, 0xFF, 0x1E, 0x3C, 0xE0, 0xEE, 0x03, 0xF0, 0x1F, 53 | 0x80, 0xFC, 0x07, 0xE0, 0x3B, 0x83, 0x9E, 0x3C, 0x7F, 0xC0, 0xF8, 0x00, 54 | 0xFF, 0x9F, 0xFB, 0x87, 0xF0, 0x7E, 0x0F, 0xC3, 0xFF, 0xF7, 0xFC, 0xE0, 55 | 0x1C, 0x03, 0x80, 0x70, 0x0E, 0x00, 0x0F, 0x81, 0xFF, 0x1E, 0x3C, 0xE0, 56 | 0xEE, 0x03, 0xF0, 0x1F, 0x80, 0xFC, 0x07, 0xE1, 0xBB, 0x8F, 0x9E, 0x3C, 57 | 0x7F, 0xE0, 0xFB, 0x80, 0x08, 0xFF, 0x8F, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, 58 | 0xEE, 0x0E, 0xFF, 0xCF, 0xFC, 0xE0, 0xEE, 0x0E, 0xE0, 0xEE, 0x0E, 0xE0, 59 | 0xF0, 0x3F, 0x0F, 0xFB, 0xC7, 0xF0, 0x7E, 0x01, 0xFC, 0x1F, 0xF0, 0x3F, 60 | 0x00, 0xFC, 0x1D, 0xC7, 0xBF, 0xE1, 0xF8, 0xFF, 0xFF, 0xC7, 0x03, 0x81, 61 | 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x07, 0x03, 0x81, 0xC0, 0xE0, 0xFC, 62 | 0x1F, 0x83, 0xF0, 0x7E, 0x0F, 0xC1, 0xF8, 0x3F, 0x07, 0xE0, 0xFC, 0x1F, 63 | 0xC7, 0xBF, 0xE1, 0xF0, 0x60, 0x67, 0x0E, 0x70, 0xE3, 0x0C, 0x30, 0xC3, 64 | 0x9C, 0x19, 0x81, 0x98, 0x1F, 0x80, 0xF0, 0x0F, 0x00, 0xF0, 0x06, 0x00, 65 | 0x61, 0xC3, 0xB8, 0xE1, 0x9C, 0x70, 0xCE, 0x3C, 0xE3, 0x36, 0x71, 0x9B, 66 | 0x30, 0xED, 0x98, 0x36, 0x7C, 0x1B, 0x3C, 0x0F, 0x1E, 0x07, 0x8F, 0x01, 67 | 0xC3, 0x80, 0xE1, 0x80, 0x70, 0xE7, 0x8E, 0x39, 0xC1, 0xF8, 0x1F, 0x80, 68 | 0xF0, 0x07, 0x00, 0xF0, 0x1F, 0x81, 0x9C, 0x39, 0xC7, 0x0E, 0x70, 0xE0, 69 | 0xE0, 0xFC, 0x39, 0xC7, 0x18, 0xC3, 0xB8, 0x36, 0x07, 0xC0, 0x70, 0x0E, 70 | 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0xFF, 0xFF, 0xC0, 0xE0, 0xE0, 0xF0, 71 | 0x70, 0x70, 0x70, 0x78, 0x38, 0x38, 0x1F, 0xFF, 0xF8, 0xFF, 0xEE, 0xEE, 72 | 0xEE, 0xEE, 0xEE, 0xEE, 0xEF, 0xF0, 0x86, 0x10, 0x86, 0x10, 0x84, 0x30, 73 | 0x84, 0x30, 0x80, 0xFF, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x7F, 0xF0, 74 | 0x18, 0x1C, 0x3C, 0x3E, 0x36, 0x66, 0x63, 0xC3, 0xFF, 0xC0, 0xCC, 0x3F, 75 | 0x1F, 0xEE, 0x38, 0x0E, 0x3F, 0x9E, 0xEE, 0x3B, 0x9E, 0xFF, 0x9E, 0xE0, 76 | 0xE0, 0x38, 0x0E, 0x03, 0xBC, 0xFF, 0xBC, 0xEE, 0x1F, 0x87, 0xE1, 0xF8, 77 | 0x7F, 0x3B, 0xFE, 0xEF, 0x00, 0x1F, 0x3F, 0xDC, 0x7C, 0x0E, 0x07, 0x03, 78 | 0x80, 0xE3, 0x7F, 0x8F, 0x00, 0x03, 0x81, 0xC0, 0xE7, 0x77, 0xFB, 0xBF, 79 | 0x8F, 0xC7, 0xE3, 0xF1, 0xFD, 0xEF, 0xF3, 0xB8, 0x3E, 0x3F, 0x9C, 0xDC, 80 | 0x3F, 0xFF, 0xFF, 0x81, 0xC3, 0x7F, 0x8F, 0x00, 0x3B, 0xDD, 0xFF, 0xB9, 81 | 0xCE, 0x73, 0x9C, 0xE7, 0x00, 0x3B, 0xBF, 0xDD, 0xFC, 0x7E, 0x3F, 0x1F, 82 | 0x8F, 0xEF, 0x7F, 0x9D, 0xC0, 0xFC, 0x77, 0xF1, 0xF0, 0xE0, 0x70, 0x38, 83 | 0x1D, 0xEF, 0xFF, 0x9F, 0x8F, 0xC7, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E, 0x38, 84 | 0xFC, 0x7F, 0xFF, 0xFF, 0xFE, 0x77, 0x07, 0x77, 0x77, 0x77, 0x77, 0x77, 85 | 0x7F, 0xE0, 0xE0, 0x70, 0x38, 0x1C, 0x7E, 0x77, 0x73, 0xF1, 0xF8, 0xFE, 86 | 0x77, 0x39, 0xDC, 0x6E, 0x38, 0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xEF, 0x7B, 87 | 0xFF, 0xFE, 0x39, 0xF8, 0xE7, 0xE3, 0x9F, 0x8E, 0x7E, 0x39, 0xF8, 0xE7, 88 | 0xE3, 0x9F, 0x8E, 0x70, 0xEF, 0x7F, 0xF8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 89 | 0xC7, 0xE3, 0xF1, 0xC0, 0x1E, 0x1F, 0xE7, 0x3B, 0x87, 0xE1, 0xF8, 0x7E, 90 | 0x1D, 0xCE, 0x7F, 0x87, 0x80, 0xEF, 0x3F, 0xEF, 0x3B, 0x87, 0xE1, 0xF8, 91 | 0x7E, 0x1F, 0xCE, 0xFF, 0xBB, 0xCE, 0x03, 0x80, 0xE0, 0x38, 0x00, 0x3B, 92 | 0xBF, 0xFD, 0xFC, 0x7E, 0x3F, 0x1F, 0x8F, 0xEF, 0x7F, 0x9D, 0xC0, 0xE0, 93 | 0x70, 0x38, 0x1C, 0xEF, 0xFF, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0x80, 0x3E, 94 | 0x3F, 0xB8, 0xFC, 0x0F, 0xC3, 0xFC, 0x3F, 0xC7, 0xFF, 0x1F, 0x00, 0x73, 95 | 0xBF, 0xF7, 0x39, 0xCE, 0x73, 0x9E, 0x70, 0xE3, 0xF1, 0xF8, 0xFC, 0x7E, 96 | 0x3F, 0x1F, 0x8F, 0xC7, 0xFF, 0xBD, 0xC0, 0xE1, 0x98, 0x67, 0x39, 0xCC, 97 | 0x33, 0x0D, 0xC3, 0xE0, 0x78, 0x1E, 0x07, 0x00, 0xE3, 0x1D, 0x9E, 0x66, 98 | 0x79, 0x99, 0xE6, 0x77, 0xB8, 0xD2, 0xC3, 0xCF, 0x0F, 0x3C, 0x3C, 0xF0, 99 | 0x73, 0x80, 0x73, 0x9C, 0xE3, 0xF0, 0x78, 0x1E, 0x07, 0x81, 0xE0, 0xFC, 100 | 0x73, 0x9C, 0xE0, 0xE1, 0xD8, 0x67, 0x39, 0xCE, 0x33, 0x0E, 0xC3, 0xE0, 101 | 0x78, 0x1E, 0x03, 0x00, 0xC0, 0x70, 0x38, 0x0E, 0x00, 0xFE, 0xFE, 0x0E, 102 | 0x1C, 0x38, 0x38, 0x70, 0xE0, 0xFF, 0xFF, 0x37, 0x66, 0x66, 0x6E, 0xE6, 103 | 0x66, 0x66, 0x67, 0x30, 0xFF, 0xFF, 0x80, 0xCE, 0x66, 0x66, 0x67, 0x76, 104 | 0x66, 0x66, 0x6E, 0xC0, 0x71, 0x8E }; 105 | 106 | const GFXglyph FreeSansBold9pt7bGlyphs[] PROGMEM = { 107 | { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' 108 | { 0, 3, 13, 6, 2, -12 }, // 0x21 '!' 109 | { 5, 7, 5, 9, 1, -12 }, // 0x22 '"' 110 | { 10, 10, 12, 10, 0, -11 }, // 0x23 '#' 111 | { 25, 9, 15, 10, 1, -13 }, // 0x24 '$' 112 | { 42, 16, 13, 16, 0, -12 }, // 0x25 '%' 113 | { 68, 12, 13, 13, 1, -12 }, // 0x26 '&' 114 | { 88, 3, 5, 5, 1, -12 }, // 0x27 ''' 115 | { 90, 6, 17, 6, 1, -12 }, // 0x28 '(' 116 | { 103, 6, 17, 6, 0, -12 }, // 0x29 ')' 117 | { 116, 5, 6, 7, 1, -12 }, // 0x2A '*' 118 | { 120, 7, 8, 11, 2, -7 }, // 0x2B '+' 119 | { 127, 3, 5, 4, 1, -1 }, // 0x2C ',' 120 | { 129, 5, 2, 6, 0, -5 }, // 0x2D '-' 121 | { 131, 3, 2, 4, 1, -1 }, // 0x2E '.' 122 | { 132, 5, 13, 5, 0, -12 }, // 0x2F '/' 123 | { 141, 9, 13, 10, 1, -12 }, // 0x30 '0' 124 | { 156, 5, 13, 10, 2, -12 }, // 0x31 '1' 125 | { 165, 9, 13, 10, 1, -12 }, // 0x32 '2' 126 | { 180, 8, 13, 10, 1, -12 }, // 0x33 '3' 127 | { 193, 8, 13, 10, 2, -12 }, // 0x34 '4' 128 | { 206, 9, 13, 10, 1, -12 }, // 0x35 '5' 129 | { 221, 9, 13, 10, 1, -12 }, // 0x36 '6' 130 | { 236, 9, 13, 10, 0, -12 }, // 0x37 '7' 131 | { 251, 10, 13, 10, 0, -12 }, // 0x38 '8' 132 | { 268, 9, 13, 10, 1, -12 }, // 0x39 '9' 133 | { 283, 3, 9, 4, 1, -8 }, // 0x3A ':' 134 | { 287, 3, 12, 4, 1, -8 }, // 0x3B ';' 135 | { 292, 9, 9, 11, 1, -8 }, // 0x3C '<' 136 | { 303, 9, 6, 11, 1, -6 }, // 0x3D '=' 137 | { 310, 9, 9, 11, 1, -8 }, // 0x3E '>' 138 | { 321, 9, 13, 11, 1, -12 }, // 0x3F '?' 139 | { 336, 16, 15, 18, 0, -12 }, // 0x40 '@' 140 | { 366, 12, 13, 13, 0, -12 }, // 0x41 'A' 141 | { 386, 11, 13, 13, 1, -12 }, // 0x42 'B' 142 | { 404, 12, 13, 13, 1, -12 }, // 0x43 'C' 143 | { 424, 12, 13, 13, 1, -12 }, // 0x44 'D' 144 | { 444, 9, 13, 12, 1, -12 }, // 0x45 'E' 145 | { 459, 9, 13, 11, 1, -12 }, // 0x46 'F' 146 | { 474, 11, 13, 14, 1, -12 }, // 0x47 'G' 147 | { 492, 11, 13, 13, 1, -12 }, // 0x48 'H' 148 | { 510, 3, 13, 6, 1, -12 }, // 0x49 'I' 149 | { 515, 8, 13, 10, 1, -12 }, // 0x4A 'J' 150 | { 528, 12, 13, 13, 1, -12 }, // 0x4B 'K' 151 | { 548, 8, 13, 11, 1, -12 }, // 0x4C 'L' 152 | { 561, 14, 13, 16, 1, -12 }, // 0x4D 'M' 153 | { 584, 11, 13, 14, 1, -12 }, // 0x4E 'N' 154 | { 602, 13, 13, 14, 1, -12 }, // 0x4F 'O' 155 | { 624, 11, 13, 12, 1, -12 }, // 0x50 'P' 156 | { 642, 13, 14, 14, 1, -12 }, // 0x51 'Q' 157 | { 665, 12, 13, 13, 1, -12 }, // 0x52 'R' 158 | { 685, 11, 13, 12, 1, -12 }, // 0x53 'S' 159 | { 703, 9, 13, 12, 2, -12 }, // 0x54 'T' 160 | { 718, 11, 13, 13, 1, -12 }, // 0x55 'U' 161 | { 736, 12, 13, 12, 0, -12 }, // 0x56 'V' 162 | { 756, 17, 13, 17, 0, -12 }, // 0x57 'W' 163 | { 784, 12, 13, 12, 0, -12 }, // 0x58 'X' 164 | { 804, 11, 13, 12, 1, -12 }, // 0x59 'Y' 165 | { 822, 9, 13, 11, 1, -12 }, // 0x5A 'Z' 166 | { 837, 4, 17, 6, 1, -12 }, // 0x5B '[' 167 | { 846, 5, 13, 5, 0, -12 }, // 0x5C '\' 168 | { 855, 4, 17, 6, 0, -12 }, // 0x5D ']' 169 | { 864, 8, 8, 11, 1, -12 }, // 0x5E '^' 170 | { 872, 10, 1, 10, 0, 4 }, // 0x5F '_' 171 | { 874, 3, 2, 5, 0, -12 }, // 0x60 '`' 172 | { 875, 10, 10, 10, 1, -9 }, // 0x61 'a' 173 | { 888, 10, 13, 11, 1, -12 }, // 0x62 'b' 174 | { 905, 9, 10, 10, 1, -9 }, // 0x63 'c' 175 | { 917, 9, 13, 11, 1, -12 }, // 0x64 'd' 176 | { 932, 9, 10, 10, 1, -9 }, // 0x65 'e' 177 | { 944, 5, 13, 6, 1, -12 }, // 0x66 'f' 178 | { 953, 9, 14, 11, 1, -9 }, // 0x67 'g' 179 | { 969, 9, 13, 11, 1, -12 }, // 0x68 'h' 180 | { 984, 3, 13, 5, 1, -12 }, // 0x69 'i' 181 | { 989, 4, 17, 5, 0, -12 }, // 0x6A 'j' 182 | { 998, 9, 13, 10, 1, -12 }, // 0x6B 'k' 183 | { 1013, 3, 13, 5, 1, -12 }, // 0x6C 'l' 184 | { 1018, 14, 10, 16, 1, -9 }, // 0x6D 'm' 185 | { 1036, 9, 10, 11, 1, -9 }, // 0x6E 'n' 186 | { 1048, 10, 10, 11, 1, -9 }, // 0x6F 'o' 187 | { 1061, 10, 14, 11, 1, -9 }, // 0x70 'p' 188 | { 1079, 9, 14, 11, 1, -9 }, // 0x71 'q' 189 | { 1095, 6, 10, 7, 1, -9 }, // 0x72 'r' 190 | { 1103, 9, 10, 10, 1, -9 }, // 0x73 's' 191 | { 1115, 5, 12, 6, 1, -11 }, // 0x74 't' 192 | { 1123, 9, 10, 11, 1, -9 }, // 0x75 'u' 193 | { 1135, 10, 10, 10, 0, -9 }, // 0x76 'v' 194 | { 1148, 14, 10, 14, 0, -9 }, // 0x77 'w' 195 | { 1166, 10, 10, 10, 0, -9 }, // 0x78 'x' 196 | { 1179, 10, 14, 10, 0, -9 }, // 0x79 'y' 197 | { 1197, 8, 10, 9, 1, -9 }, // 0x7A 'z' 198 | { 1207, 4, 17, 7, 1, -12 }, // 0x7B '{' 199 | { 1216, 1, 17, 5, 2, -12 }, // 0x7C '|' 200 | { 1219, 4, 17, 7, 2, -12 }, // 0x7D '}' 201 | { 1228, 8, 2, 9, 0, -4 } }; // 0x7E '~' 202 | 203 | const GFXfont FreeSansBold9pt7b PROGMEM = { 204 | (uint8_t *)FreeSansBold9pt7bBitmaps, 205 | (GFXglyph *)FreeSansBold9pt7bGlyphs, 206 | 0x20, 0x7E, 22 }; 207 | 208 | // Approx. 1902 bytes 209 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeSansOblique9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeSansOblique9pt7bBitmaps[] PROGMEM = { 2 | 0x10, 0x84, 0x22, 0x10, 0x84, 0x42, 0x10, 0x08, 0x00, 0xDE, 0xE5, 0x20, 3 | 0x06, 0x40, 0x88, 0x13, 0x06, 0x43, 0xFE, 0x32, 0x04, 0x40, 0x98, 0x32, 4 | 0x1F, 0xF0, 0x98, 0x22, 0x04, 0xC0, 0x02, 0x01, 0xF8, 0x6B, 0x99, 0x33, 5 | 0x40, 0x68, 0x0F, 0x00, 0xF8, 0x07, 0xC1, 0x1B, 0x23, 0x64, 0x4E, 0x98, 6 | 0xFC, 0x04, 0x00, 0x80, 0x3C, 0x08, 0xCC, 0x23, 0x18, 0x86, 0x32, 0x0C, 7 | 0x64, 0x19, 0x90, 0x1E, 0x40, 0x01, 0x1E, 0x02, 0x66, 0x09, 0x8C, 0x23, 8 | 0x18, 0x86, 0x62, 0x07, 0x80, 0x0F, 0x06, 0x63, 0x18, 0xC6, 0x3F, 0x07, 9 | 0x03, 0xC1, 0xB3, 0xC7, 0xB0, 0xCC, 0x33, 0x3E, 0x79, 0x80, 0xFA, 0x04, 10 | 0x10, 0x60, 0x83, 0x04, 0x18, 0x30, 0xC1, 0x83, 0x06, 0x0C, 0x18, 0x10, 11 | 0x30, 0x20, 0x08, 0x18, 0x10, 0x30, 0x60, 0xC1, 0x83, 0x06, 0x18, 0x30, 12 | 0x41, 0x82, 0x0C, 0x10, 0x40, 0x19, 0x73, 0x16, 0x48, 0x04, 0x04, 0x02, 13 | 0x1F, 0xF0, 0x80, 0x80, 0x40, 0x20, 0x6D, 0x28, 0xF0, 0xC0, 0x01, 0x02, 14 | 0x04, 0x04, 0x08, 0x08, 0x10, 0x10, 0x20, 0x20, 0x40, 0x40, 0x80, 0x0F, 15 | 0x19, 0xC8, 0x6C, 0x36, 0x1A, 0x0F, 0x05, 0x86, 0xC3, 0x61, 0xB1, 0x9C, 16 | 0x87, 0x80, 0x08, 0xCD, 0xE3, 0x18, 0xC4, 0x23, 0x18, 0xC4, 0x00, 0x07, 17 | 0x83, 0x1C, 0x41, 0x98, 0x30, 0x06, 0x01, 0x80, 0x60, 0x38, 0x1C, 0x06, 18 | 0x01, 0x80, 0x20, 0x0F, 0xF8, 0x0F, 0x86, 0x73, 0x0C, 0x83, 0x00, 0xC0, 19 | 0x60, 0xE0, 0x06, 0x01, 0xB0, 0x6C, 0x13, 0x8C, 0x7C, 0x00, 0x00, 0x80, 20 | 0xC0, 0xE0, 0xA0, 0x90, 0x98, 0x8C, 0x86, 0xFF, 0x81, 0x01, 0x80, 0xC0, 21 | 0x60, 0x0F, 0xC3, 0x00, 0x40, 0x08, 0x03, 0x00, 0x7F, 0x1C, 0x70, 0x06, 22 | 0x00, 0xC0, 0x1B, 0x06, 0x71, 0x87, 0xE0, 0x0F, 0x86, 0x73, 0x0D, 0x80, 23 | 0x60, 0x1F, 0xCF, 0x3B, 0x86, 0xC1, 0xB0, 0x6C, 0x33, 0x98, 0x3C, 0x00, 24 | 0x7F, 0xC0, 0x20, 0x10, 0x0C, 0x06, 0x01, 0x00, 0x80, 0x60, 0x10, 0x0C, 25 | 0x02, 0x01, 0x80, 0x40, 0x00, 0x0F, 0x86, 0x73, 0x0C, 0xC3, 0x30, 0xCC, 26 | 0x61, 0xE1, 0x86, 0x41, 0xB0, 0x6C, 0x13, 0x8C, 0x3E, 0x00, 0x0F, 0x06, 27 | 0x73, 0x0D, 0x83, 0x60, 0xD8, 0x77, 0x3C, 0xFE, 0x01, 0x80, 0x6C, 0x33, 28 | 0x98, 0x7C, 0x00, 0x30, 0x00, 0x00, 0x00, 0xC0, 0x18, 0x00, 0x00, 0x00, 29 | 0x0C, 0x62, 0x11, 0x00, 0x00, 0x01, 0xC3, 0x8F, 0x0C, 0x07, 0x00, 0xE0, 30 | 0x1E, 0x01, 0x00, 0x7F, 0xC0, 0x00, 0x03, 0xFE, 0x40, 0x3C, 0x03, 0x80, 31 | 0x70, 0x18, 0x78, 0xE1, 0xC0, 0x00, 0x00, 0x1F, 0x30, 0xD0, 0x78, 0x30, 32 | 0x30, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0xFE, 33 | 0x00, 0xC0, 0xE0, 0xC0, 0x18, 0x61, 0xD3, 0x31, 0x9C, 0xD8, 0xC2, 0x36, 34 | 0x31, 0x8F, 0x18, 0x67, 0xC6, 0x11, 0xB1, 0x8C, 0xCC, 0x67, 0x63, 0x0E, 35 | 0xF0, 0x60, 0x00, 0x1C, 0x00, 0x01, 0x81, 0x00, 0x1F, 0xC0, 0x01, 0xC0, 36 | 0x1C, 0x03, 0xC0, 0x24, 0x06, 0x60, 0x46, 0x0C, 0x61, 0x86, 0x1F, 0xE3, 37 | 0x06, 0x20, 0x26, 0x03, 0x40, 0x30, 0x1F, 0xE1, 0x87, 0x30, 0x33, 0x03, 38 | 0x30, 0x23, 0x06, 0x3F, 0xC6, 0x06, 0x60, 0x66, 0x06, 0x60, 0x66, 0x0C, 39 | 0x7F, 0x80, 0x07, 0xC1, 0x86, 0x30, 0x32, 0x03, 0x60, 0x04, 0x00, 0xC0, 40 | 0x0C, 0x00, 0xC0, 0x6C, 0x06, 0xC0, 0xC6, 0x18, 0x3E, 0x00, 0x1F, 0xE0, 41 | 0xC1, 0x84, 0x06, 0x60, 0x33, 0x01, 0x98, 0x0C, 0x80, 0x64, 0x02, 0x60, 42 | 0x33, 0x01, 0x98, 0x18, 0x81, 0x87, 0xF0, 0x00, 0x1F, 0xF1, 0x80, 0x10, 43 | 0x03, 0x00, 0x30, 0x03, 0x00, 0x3F, 0xE2, 0x00, 0x60, 0x06, 0x00, 0x60, 44 | 0x04, 0x00, 0x7F, 0xC0, 0x1F, 0xF1, 0x80, 0x10, 0x03, 0x00, 0x30, 0x03, 45 | 0x00, 0x3F, 0xC2, 0x00, 0x60, 0x06, 0x00, 0x60, 0x04, 0x00, 0x40, 0x00, 46 | 0x07, 0xE0, 0xE1, 0x8C, 0x06, 0xC0, 0x36, 0x00, 0x60, 0x03, 0x07, 0xF8, 47 | 0x02, 0xC0, 0x36, 0x01, 0x98, 0x1C, 0xE1, 0xC1, 0xF2, 0x00, 0x18, 0x08, 48 | 0xC0, 0xC4, 0x06, 0x60, 0x33, 0x01, 0x18, 0x18, 0xFF, 0xC4, 0x06, 0x60, 49 | 0x23, 0x01, 0x18, 0x18, 0x80, 0xC4, 0x06, 0x00, 0x33, 0x32, 0x26, 0x66, 50 | 0x44, 0xCC, 0xC0, 0x00, 0xC0, 0x60, 0x18, 0x06, 0x01, 0x80, 0x60, 0x30, 51 | 0x0C, 0x03, 0x30, 0xCC, 0x63, 0x18, 0x7C, 0x00, 0x18, 0x18, 0x60, 0xC1, 52 | 0x0E, 0x0C, 0x60, 0x33, 0x00, 0xD8, 0x03, 0xF0, 0x0C, 0xC0, 0x61, 0x81, 53 | 0x86, 0x06, 0x0C, 0x10, 0x30, 0x40, 0x60, 0x18, 0x0C, 0x04, 0x06, 0x03, 54 | 0x01, 0x80, 0xC0, 0x40, 0x60, 0x30, 0x18, 0x08, 0x07, 0xF8, 0x18, 0x06, 55 | 0x18, 0x0E, 0x18, 0x0E, 0x34, 0x1E, 0x34, 0x36, 0x34, 0x34, 0x24, 0x64, 56 | 0x24, 0x6C, 0x64, 0xCC, 0x64, 0x8C, 0x65, 0x88, 0x43, 0x08, 0x43, 0x18, 57 | 0x18, 0x08, 0xE0, 0x47, 0x06, 0x6C, 0x33, 0x61, 0x99, 0x08, 0x8C, 0xC4, 58 | 0x66, 0x61, 0xB3, 0x0D, 0x18, 0x38, 0x81, 0xC4, 0x06, 0x00, 0x07, 0xC0, 59 | 0xC3, 0x8C, 0x0E, 0xC0, 0x36, 0x01, 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 60 | 0x36, 0x01, 0xB8, 0x18, 0xE1, 0x81, 0xF0, 0x00, 0x1F, 0xE1, 0x83, 0x10, 61 | 0x33, 0x03, 0x30, 0x33, 0x06, 0x3F, 0xC2, 0x00, 0x60, 0x06, 0x00, 0x60, 62 | 0x04, 0x00, 0x40, 0x00, 0x07, 0xC0, 0xC3, 0x8C, 0x0E, 0xC0, 0x36, 0x01, 63 | 0xE0, 0x0F, 0x00, 0x78, 0x03, 0xC0, 0x36, 0x09, 0xB8, 0x78, 0xE3, 0x81, 64 | 0xF6, 0x00, 0x10, 0x1F, 0xF0, 0xC0, 0xC4, 0x06, 0x60, 0x33, 0x01, 0x18, 65 | 0x18, 0xFF, 0x04, 0x0C, 0x60, 0x63, 0x03, 0x18, 0x18, 0x80, 0xC4, 0x06, 66 | 0x00, 0x07, 0xC1, 0x87, 0x30, 0x33, 0x03, 0x30, 0x03, 0xC0, 0x0F, 0xC0, 67 | 0x1E, 0x00, 0x6C, 0x06, 0xC0, 0x46, 0x0C, 0x3F, 0x00, 0xFF, 0xC3, 0x00, 68 | 0xC0, 0x20, 0x18, 0x06, 0x01, 0x80, 0x60, 0x10, 0x0C, 0x03, 0x00, 0xC0, 69 | 0x20, 0x00, 0x30, 0x13, 0x03, 0x20, 0x36, 0x03, 0x60, 0x26, 0x06, 0x60, 70 | 0x64, 0x06, 0xC0, 0x6C, 0x04, 0xC0, 0xCE, 0x18, 0x3E, 0x00, 0xC0, 0x78, 71 | 0x0B, 0x03, 0x20, 0xC4, 0x18, 0xC6, 0x18, 0x83, 0x30, 0x64, 0x0D, 0x80, 72 | 0xA0, 0x1C, 0x03, 0x00, 0xC1, 0x83, 0xC1, 0x83, 0xC3, 0x86, 0xC2, 0x86, 73 | 0xC6, 0x84, 0xC4, 0x8C, 0xCC, 0xC8, 0xC8, 0xD8, 0xD8, 0xD0, 0xD0, 0xF0, 74 | 0x70, 0xE0, 0x60, 0xE0, 0x60, 0xE0, 0x0C, 0x0C, 0x30, 0x60, 0x63, 0x01, 75 | 0x98, 0x02, 0xC0, 0x0E, 0x00, 0x38, 0x01, 0xE0, 0x0C, 0x80, 0x33, 0x01, 76 | 0x8C, 0x0C, 0x18, 0x60, 0x60, 0xC0, 0x66, 0x0C, 0x60, 0xC2, 0x18, 0x33, 77 | 0x03, 0x60, 0x1C, 0x01, 0x80, 0x18, 0x01, 0x80, 0x18, 0x01, 0x00, 0x30, 78 | 0x00, 0x1F, 0xF0, 0x07, 0x00, 0xE0, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 79 | 0xC0, 0x18, 0x03, 0x00, 0x60, 0x0C, 0x00, 0xFF, 0xC0, 0x0E, 0x10, 0x20, 80 | 0x41, 0x02, 0x04, 0x08, 0x20, 0x40, 0x81, 0x04, 0x08, 0x10, 0x20, 0xE0, 81 | 0xAA, 0xA9, 0x55, 0x40, 0x0E, 0x08, 0x10, 0x20, 0x41, 0x02, 0x04, 0x08, 82 | 0x20, 0x40, 0x81, 0x04, 0x08, 0x10, 0xE0, 0x0C, 0x18, 0x51, 0xA2, 0x4C, 83 | 0x50, 0x80, 0xFF, 0xE0, 0xC8, 0x80, 0x0F, 0x86, 0x33, 0x0C, 0x03, 0x03, 84 | 0xDF, 0xEE, 0x0B, 0x02, 0xC1, 0x9F, 0xE0, 0x10, 0x04, 0x01, 0x00, 0xDC, 85 | 0x39, 0x88, 0x32, 0x0D, 0x83, 0x40, 0xD0, 0x64, 0x1B, 0x8C, 0xBC, 0x00, 86 | 0x1F, 0x18, 0xD8, 0x6C, 0x0C, 0x06, 0x03, 0x01, 0x86, 0x66, 0x3E, 0x00, 87 | 0x00, 0x20, 0x08, 0x01, 0x0F, 0x23, 0x14, 0xC1, 0x18, 0x26, 0x04, 0xC0, 88 | 0x98, 0x23, 0x04, 0x71, 0x87, 0xD0, 0x0F, 0x0C, 0x76, 0x0D, 0x83, 0xFF, 89 | 0xF0, 0x0C, 0x03, 0x06, 0x63, 0x0F, 0x80, 0x1C, 0xC2, 0x1E, 0x20, 0x84, 90 | 0x10, 0x41, 0x04, 0x20, 0x80, 0x0F, 0x46, 0x33, 0x0C, 0xC1, 0x60, 0xD8, 91 | 0x26, 0x09, 0x86, 0x71, 0x8F, 0xE0, 0x10, 0x04, 0xC2, 0x1F, 0x00, 0x10, 92 | 0x04, 0x01, 0x00, 0x9F, 0x39, 0x88, 0x22, 0x09, 0x02, 0x40, 0x90, 0x44, 93 | 0x12, 0x04, 0x81, 0x00, 0x10, 0x02, 0x22, 0x64, 0x44, 0x48, 0x80, 0x04, 94 | 0x00, 0x01, 0x08, 0x20, 0x82, 0x08, 0x41, 0x04, 0x10, 0x42, 0x08, 0xE0, 95 | 0x10, 0x08, 0x04, 0x04, 0x32, 0x31, 0x20, 0xA0, 0xB8, 0x6C, 0x22, 0x11, 96 | 0x90, 0xC8, 0x30, 0x11, 0x22, 0x22, 0x64, 0x44, 0x48, 0x80, 0x2F, 0x3C, 97 | 0x63, 0x8C, 0x86, 0x19, 0x08, 0x44, 0x10, 0x88, 0x21, 0x10, 0x82, 0x21, 98 | 0x04, 0x82, 0x11, 0x04, 0x20, 0x00, 0x0B, 0xF3, 0x18, 0x82, 0x20, 0x90, 99 | 0x24, 0x09, 0x04, 0x41, 0x20, 0x48, 0x10, 0x0F, 0x0C, 0x76, 0x0D, 0x83, 100 | 0xC0, 0xF0, 0x3C, 0x1B, 0x06, 0xE3, 0x0F, 0x00, 0x17, 0xC3, 0x1C, 0x41, 101 | 0x98, 0x32, 0x06, 0x40, 0xC8, 0x33, 0x06, 0x71, 0x8B, 0xC1, 0x00, 0x20, 102 | 0x08, 0x01, 0x00, 0x00, 0x1E, 0xCC, 0x66, 0x09, 0x82, 0xC0, 0xB0, 0x4C, 103 | 0x13, 0x04, 0x63, 0x0F, 0xC0, 0x20, 0x08, 0x02, 0x00, 0x80, 0x2C, 0x60, 104 | 0x81, 0x04, 0x08, 0x10, 0x20, 0x81, 0x00, 0x1E, 0x33, 0x63, 0x60, 0x70, 105 | 0x1E, 0x03, 0xC3, 0xC6, 0x7C, 0x22, 0xF2, 0x44, 0x44, 0xCC, 0xCE, 0x21, 106 | 0x20, 0x90, 0x48, 0x24, 0x12, 0x13, 0x09, 0x84, 0xE6, 0x3E, 0x00, 0xC1, 107 | 0xE1, 0xB0, 0xC8, 0xC4, 0x43, 0x61, 0xA0, 0xF0, 0x70, 0x18, 0x00, 0xC7, 108 | 0x1E, 0x38, 0xB3, 0xCD, 0x96, 0x4C, 0xB6, 0x6D, 0xB1, 0x4D, 0x0E, 0x78, 109 | 0x63, 0x83, 0x1C, 0x00, 0x10, 0xC3, 0x10, 0x24, 0x07, 0x80, 0xE0, 0x1C, 110 | 0x07, 0x81, 0x90, 0x23, 0x08, 0x20, 0x30, 0x46, 0x18, 0x42, 0x08, 0xC1, 111 | 0x10, 0x24, 0x07, 0x80, 0xE0, 0x1C, 0x03, 0x00, 0x60, 0x08, 0x03, 0x01, 112 | 0xC0, 0x00, 0x3F, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 0xC0, 113 | 0x7F, 0x00, 0x18, 0x88, 0x42, 0x10, 0x88, 0xC3, 0x18, 0x88, 0x42, 0x18, 114 | 0xE0, 0x11, 0x22, 0x22, 0x24, 0x44, 0x4C, 0x88, 0x88, 0x00, 0x38, 0xC2, 115 | 0x10, 0x88, 0xC6, 0x18, 0x88, 0x42, 0x10, 0x88, 0xC0, 0x70, 0x4E, 0x41, 116 | 0xC0 }; 117 | 118 | const GFXglyph FreeSansOblique9pt7bGlyphs[] PROGMEM = { 119 | { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' 120 | { 0, 5, 13, 5, 2, -12 }, // 0x21 '!' 121 | { 9, 5, 4, 6, 3, -12 }, // 0x22 '"' 122 | { 12, 11, 13, 10, 1, -12 }, // 0x23 '#' 123 | { 30, 11, 16, 10, 1, -13 }, // 0x24 '$' 124 | { 52, 15, 13, 16, 2, -12 }, // 0x25 '%' 125 | { 77, 10, 13, 12, 2, -12 }, // 0x26 '&' 126 | { 94, 2, 4, 3, 3, -12 }, // 0x27 ''' 127 | { 95, 7, 17, 6, 2, -12 }, // 0x28 '(' 128 | { 110, 7, 17, 6, -1, -12 }, // 0x29 ')' 129 | { 125, 6, 5, 7, 3, -12 }, // 0x2A '*' 130 | { 129, 9, 8, 11, 2, -7 }, // 0x2B '+' 131 | { 138, 3, 5, 5, 1, -1 }, // 0x2C ',' 132 | { 140, 4, 1, 6, 2, -4 }, // 0x2D '-' 133 | { 141, 2, 1, 5, 2, 0 }, // 0x2E '.' 134 | { 142, 8, 13, 5, 0, -12 }, // 0x2F '/' 135 | { 155, 9, 13, 10, 2, -12 }, // 0x30 '0' 136 | { 170, 5, 13, 10, 4, -12 }, // 0x31 '1' 137 | { 179, 11, 13, 10, 1, -12 }, // 0x32 '2' 138 | { 197, 10, 13, 10, 1, -12 }, // 0x33 '3' 139 | { 214, 9, 13, 10, 1, -12 }, // 0x34 '4' 140 | { 229, 11, 13, 10, 1, -12 }, // 0x35 '5' 141 | { 247, 10, 13, 10, 2, -12 }, // 0x36 '6' 142 | { 264, 10, 13, 10, 2, -12 }, // 0x37 '7' 143 | { 281, 10, 13, 10, 1, -12 }, // 0x38 '8' 144 | { 298, 10, 13, 10, 1, -12 }, // 0x39 '9' 145 | { 315, 4, 9, 5, 2, -8 }, // 0x3A ':' 146 | { 320, 5, 12, 5, 1, -8 }, // 0x3B ';' 147 | { 328, 9, 9, 11, 2, -8 }, // 0x3C '<' 148 | { 339, 10, 4, 11, 1, -5 }, // 0x3D '=' 149 | { 344, 9, 9, 11, 1, -7 }, // 0x3E '>' 150 | { 355, 9, 13, 10, 3, -12 }, // 0x3F '?' 151 | { 370, 18, 16, 18, 1, -12 }, // 0x40 '@' 152 | { 406, 12, 13, 12, 0, -12 }, // 0x41 'A' 153 | { 426, 12, 13, 12, 1, -12 }, // 0x42 'B' 154 | { 446, 12, 13, 13, 2, -12 }, // 0x43 'C' 155 | { 466, 13, 13, 13, 1, -12 }, // 0x44 'D' 156 | { 488, 12, 13, 12, 1, -12 }, // 0x45 'E' 157 | { 508, 12, 13, 11, 1, -12 }, // 0x46 'F' 158 | { 528, 13, 13, 14, 2, -12 }, // 0x47 'G' 159 | { 550, 13, 13, 13, 1, -12 }, // 0x48 'H' 160 | { 572, 4, 13, 5, 2, -12 }, // 0x49 'I' 161 | { 579, 10, 13, 9, 1, -12 }, // 0x4A 'J' 162 | { 596, 14, 13, 12, 1, -12 }, // 0x4B 'K' 163 | { 619, 9, 13, 10, 1, -12 }, // 0x4C 'L' 164 | { 634, 16, 13, 15, 1, -12 }, // 0x4D 'M' 165 | { 660, 13, 13, 13, 1, -12 }, // 0x4E 'N' 166 | { 682, 13, 13, 14, 2, -12 }, // 0x4F 'O' 167 | { 704, 12, 13, 12, 1, -12 }, // 0x50 'P' 168 | { 724, 13, 14, 14, 2, -12 }, // 0x51 'Q' 169 | { 747, 13, 13, 13, 1, -12 }, // 0x52 'R' 170 | { 769, 12, 13, 12, 1, -12 }, // 0x53 'S' 171 | { 789, 10, 13, 11, 3, -12 }, // 0x54 'T' 172 | { 806, 12, 13, 13, 2, -12 }, // 0x55 'U' 173 | { 826, 11, 13, 12, 3, -12 }, // 0x56 'V' 174 | { 844, 16, 13, 17, 3, -12 }, // 0x57 'W' 175 | { 870, 14, 13, 12, 0, -12 }, // 0x58 'X' 176 | { 893, 12, 13, 12, 3, -12 }, // 0x59 'Y' 177 | { 913, 12, 13, 11, 1, -12 }, // 0x5A 'Z' 178 | { 933, 7, 17, 5, 0, -12 }, // 0x5B '[' 179 | { 948, 2, 13, 5, 3, -12 }, // 0x5C '\' 180 | { 952, 7, 17, 5, 0, -12 }, // 0x5D ']' 181 | { 967, 7, 7, 8, 2, -12 }, // 0x5E '^' 182 | { 974, 11, 1, 10, -1, 3 }, // 0x5F '_' 183 | { 976, 3, 3, 6, 3, -12 }, // 0x60 '`' 184 | { 978, 10, 10, 10, 1, -9 }, // 0x61 'a' 185 | { 991, 10, 13, 10, 1, -12 }, // 0x62 'b' 186 | { 1008, 9, 10, 9, 1, -9 }, // 0x63 'c' 187 | { 1020, 11, 13, 10, 1, -12 }, // 0x64 'd' 188 | { 1038, 10, 10, 10, 1, -9 }, // 0x65 'e' 189 | { 1051, 6, 13, 5, 1, -12 }, // 0x66 'f' 190 | { 1061, 10, 14, 10, 0, -9 }, // 0x67 'g' 191 | { 1079, 10, 13, 10, 1, -12 }, // 0x68 'h' 192 | { 1096, 4, 13, 4, 1, -12 }, // 0x69 'i' 193 | { 1103, 6, 17, 4, -1, -12 }, // 0x6A 'j' 194 | { 1116, 9, 13, 9, 1, -12 }, // 0x6B 'k' 195 | { 1131, 4, 13, 4, 1, -12 }, // 0x6C 'l' 196 | { 1138, 15, 10, 15, 1, -9 }, // 0x6D 'm' 197 | { 1157, 10, 11, 10, 1, -10 }, // 0x6E 'n' 198 | { 1171, 10, 10, 10, 1, -9 }, // 0x6F 'o' 199 | { 1184, 11, 14, 10, 0, -9 }, // 0x70 'p' 200 | { 1204, 10, 14, 10, 1, -9 }, // 0x71 'q' 201 | { 1222, 7, 10, 6, 1, -9 }, // 0x72 'r' 202 | { 1231, 8, 10, 9, 1, -9 }, // 0x73 's' 203 | { 1241, 4, 12, 5, 2, -11 }, // 0x74 't' 204 | { 1247, 9, 10, 10, 2, -9 }, // 0x75 'u' 205 | { 1259, 9, 10, 9, 2, -9 }, // 0x76 'v' 206 | { 1271, 13, 10, 13, 2, -9 }, // 0x77 'w' 207 | { 1288, 11, 10, 9, 0, -9 }, // 0x78 'x' 208 | { 1302, 11, 14, 9, 0, -9 }, // 0x79 'y' 209 | { 1322, 9, 10, 9, 1, -9 }, // 0x7A 'z' 210 | { 1334, 5, 17, 6, 2, -12 }, // 0x7B '{' 211 | { 1345, 4, 17, 5, 1, -12 }, // 0x7C '|' 212 | { 1354, 5, 17, 6, 0, -12 }, // 0x7D '}' 213 | { 1365, 9, 3, 11, 2, -7 } }; // 0x7E '~' 214 | 215 | const GFXfont FreeSansOblique9pt7b PROGMEM = { 216 | (uint8_t *)FreeSansOblique9pt7bBitmaps, 217 | (GFXglyph *)FreeSansOblique9pt7bGlyphs, 218 | 0x20, 0x7E, 22 }; 219 | 220 | // Approx. 2041 bytes 221 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeSerif9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeSerif9pt7bBitmaps[] PROGMEM = { 2 | 0xFF, 0xEA, 0x03, 0xDE, 0xF7, 0x20, 0x11, 0x09, 0x04, 0x82, 0x4F, 0xF9, 3 | 0x10, 0x89, 0xFF, 0x24, 0x12, 0x09, 0x0C, 0x80, 0x10, 0x7C, 0xD6, 0xD2, 4 | 0xD0, 0xF0, 0x38, 0x1E, 0x17, 0x93, 0x93, 0xD6, 0x7C, 0x10, 0x38, 0x43, 5 | 0x3C, 0x39, 0x21, 0x8A, 0x0C, 0x50, 0x65, 0x39, 0xCB, 0x20, 0xB9, 0x05, 6 | 0x88, 0x4C, 0x44, 0x64, 0x21, 0xC0, 0x0E, 0x00, 0xC8, 0x06, 0x40, 0x32, 7 | 0x01, 0xA0, 0x07, 0x78, 0x31, 0x87, 0x88, 0x46, 0x86, 0x34, 0x30, 0xC1, 8 | 0xC7, 0x17, 0xCF, 0x00, 0xFE, 0x08, 0x88, 0x84, 0x63, 0x18, 0xC6, 0x10, 9 | 0x82, 0x08, 0x20, 0x82, 0x08, 0x21, 0x0C, 0x63, 0x18, 0xC4, 0x22, 0x22, 10 | 0x00, 0x63, 0x9A, 0xDC, 0x72, 0xB6, 0x08, 0x08, 0x04, 0x02, 0x01, 0x0F, 11 | 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0xD8, 0xF0, 0xF0, 0x08, 0x84, 0x22, 12 | 0x10, 0x8C, 0x42, 0x31, 0x00, 0x1C, 0x31, 0x98, 0xD8, 0x3C, 0x1E, 0x0F, 13 | 0x07, 0x83, 0xC1, 0xE0, 0xD8, 0xC4, 0x61, 0xC0, 0x13, 0x8C, 0x63, 0x18, 14 | 0xC6, 0x31, 0x8C, 0x67, 0x80, 0x3C, 0x4E, 0x86, 0x06, 0x06, 0x04, 0x0C, 15 | 0x08, 0x10, 0x20, 0x41, 0xFE, 0x3C, 0xC6, 0x06, 0x04, 0x1C, 0x3E, 0x07, 16 | 0x03, 0x03, 0x03, 0x06, 0xF8, 0x04, 0x18, 0x71, 0x64, 0xC9, 0xA3, 0x46, 17 | 0xFE, 0x18, 0x30, 0x60, 0x0F, 0x10, 0x20, 0x3C, 0x0E, 0x07, 0x03, 0x03, 18 | 0x03, 0x02, 0x04, 0xF8, 0x07, 0x1C, 0x30, 0x60, 0x60, 0xDC, 0xE6, 0xC3, 19 | 0xC3, 0xC3, 0x43, 0x66, 0x3C, 0x7F, 0x82, 0x02, 0x02, 0x04, 0x04, 0x04, 20 | 0x08, 0x08, 0x08, 0x10, 0x10, 0x3C, 0x8F, 0x1E, 0x3E, 0x4F, 0x06, 0x36, 21 | 0xC7, 0x8F, 0x1B, 0x33, 0xC0, 0x3C, 0x66, 0xC2, 0xC3, 0xC3, 0xC3, 0xC3, 22 | 0x63, 0x3F, 0x06, 0x06, 0x0C, 0x38, 0x60, 0xF0, 0x0F, 0xD8, 0x00, 0x03, 23 | 0x28, 0x01, 0x87, 0x0E, 0x1C, 0x0C, 0x03, 0x80, 0x70, 0x0E, 0x00, 0x80, 24 | 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xF8, 0x80, 0x1C, 0x01, 0xC0, 0x1C, 0x01, 25 | 0xC0, 0xE0, 0xE0, 0xE0, 0xC0, 0x00, 0x79, 0x1A, 0x18, 0x30, 0x60, 0x83, 26 | 0x04, 0x10, 0x20, 0x40, 0x03, 0x00, 0x0F, 0x83, 0x8C, 0x60, 0x26, 0x02, 27 | 0xC7, 0x9C, 0xC9, 0xD8, 0x9D, 0x99, 0xD9, 0x26, 0xEC, 0x60, 0x03, 0x04, 28 | 0x0F, 0x80, 0x02, 0x00, 0x10, 0x01, 0xC0, 0x16, 0x00, 0x98, 0x04, 0xC0, 29 | 0x43, 0x03, 0xF8, 0x20, 0x61, 0x03, 0x18, 0x1D, 0xE1, 0xF0, 0xFF, 0x86, 30 | 0x1C, 0xC1, 0x98, 0x33, 0x0C, 0x7E, 0x0C, 0x31, 0x83, 0x30, 0x66, 0x0C, 31 | 0xC3, 0x7F, 0xC0, 0x1F, 0x26, 0x1D, 0x81, 0xE0, 0x1C, 0x01, 0x80, 0x30, 32 | 0x06, 0x00, 0xC0, 0x0C, 0x00, 0xC1, 0x8F, 0xC0, 0xFF, 0x03, 0x1C, 0x30, 33 | 0x63, 0x07, 0x30, 0x33, 0x03, 0x30, 0x33, 0x03, 0x30, 0x33, 0x06, 0x30, 34 | 0xCF, 0xF0, 0xFF, 0x98, 0x26, 0x01, 0x80, 0x61, 0x1F, 0xC6, 0x11, 0x80, 35 | 0x60, 0x18, 0x16, 0x0F, 0xFE, 0xFF, 0xB0, 0x58, 0x0C, 0x06, 0x13, 0xF9, 36 | 0x84, 0xC0, 0x60, 0x30, 0x18, 0x1E, 0x00, 0x1F, 0x23, 0x0E, 0x60, 0x26, 37 | 0x00, 0xC0, 0x0C, 0x0F, 0xC0, 0x6C, 0x06, 0xC0, 0x66, 0x06, 0x30, 0x60, 38 | 0xF8, 0xF1, 0xEC, 0x19, 0x83, 0x30, 0x66, 0x0C, 0xFF, 0x98, 0x33, 0x06, 39 | 0x60, 0xCC, 0x19, 0x83, 0x78, 0xF0, 0xF6, 0x66, 0x66, 0x66, 0x66, 0x6F, 40 | 0x3C, 0x61, 0x86, 0x18, 0x61, 0x86, 0x18, 0x6D, 0xBC, 0xF3, 0xE6, 0x08, 41 | 0x61, 0x06, 0x20, 0x64, 0x07, 0x80, 0x6C, 0x06, 0x60, 0x63, 0x06, 0x18, 42 | 0x60, 0xCF, 0x3F, 0xF0, 0x18, 0x06, 0x01, 0x80, 0x60, 0x18, 0x06, 0x01, 43 | 0x80, 0x60, 0x18, 0x16, 0x0B, 0xFE, 0xF0, 0x0E, 0x70, 0x38, 0xE0, 0x71, 44 | 0xE1, 0x62, 0xC2, 0xC5, 0xC9, 0x89, 0x93, 0x13, 0x26, 0x23, 0x8C, 0x47, 45 | 0x18, 0x84, 0x33, 0x88, 0xF0, 0xE0, 0xEE, 0x09, 0xC1, 0x2C, 0x25, 0xC4, 46 | 0x9C, 0x91, 0x92, 0x1A, 0x41, 0xC8, 0x19, 0x03, 0x70, 0x20, 0x1F, 0x06, 47 | 0x31, 0x83, 0x20, 0x2C, 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x68, 0x09, 48 | 0x83, 0x18, 0xC1, 0xF0, 0xFE, 0x31, 0x98, 0x6C, 0x36, 0x1B, 0x19, 0xF8, 49 | 0xC0, 0x60, 0x30, 0x18, 0x1E, 0x00, 0x1F, 0x06, 0x31, 0x83, 0x20, 0x2C, 50 | 0x07, 0x80, 0xF0, 0x1E, 0x03, 0xC0, 0x68, 0x19, 0x83, 0x18, 0xC0, 0xE0, 51 | 0x0E, 0x00, 0xE0, 0x07, 0xFE, 0x0C, 0x61, 0x86, 0x30, 0xC6, 0x18, 0xC6, 52 | 0x1F, 0x83, 0x70, 0x67, 0x0C, 0x71, 0x87, 0x78, 0x70, 0x1D, 0x31, 0x98, 53 | 0x4C, 0x07, 0x80, 0xE0, 0x1C, 0x07, 0x01, 0xA0, 0xD8, 0xCB, 0xC0, 0xFF, 54 | 0xF8, 0xCE, 0x18, 0x83, 0x00, 0x60, 0x0C, 0x01, 0x80, 0x30, 0x06, 0x00, 55 | 0xC0, 0x18, 0x07, 0x80, 0xF0, 0xEC, 0x09, 0x81, 0x30, 0x26, 0x04, 0xC0, 56 | 0x98, 0x13, 0x02, 0x60, 0x4C, 0x08, 0xC2, 0x0F, 0x80, 0xF8, 0x77, 0x02, 57 | 0x30, 0x23, 0x04, 0x18, 0x41, 0x84, 0x0C, 0x80, 0xC8, 0x07, 0x00, 0x70, 58 | 0x02, 0x00, 0x20, 0xFB, 0xE7, 0xB0, 0xC0, 0x8C, 0x20, 0x86, 0x18, 0x41, 59 | 0x8C, 0x40, 0xCB, 0x20, 0x65, 0x90, 0x1A, 0x70, 0x0E, 0x38, 0x03, 0x1C, 60 | 0x01, 0x04, 0x00, 0x82, 0x00, 0xFC, 0xF9, 0x83, 0x06, 0x10, 0x19, 0x00, 61 | 0xD0, 0x03, 0x00, 0x1C, 0x01, 0x30, 0x11, 0xC1, 0x86, 0x08, 0x19, 0xE3, 62 | 0xF0, 0xF8, 0xF6, 0x06, 0x30, 0x41, 0x88, 0x1D, 0x00, 0xD0, 0x06, 0x00, 63 | 0x60, 0x06, 0x00, 0x60, 0x06, 0x00, 0xF0, 0x3F, 0xCC, 0x11, 0x06, 0x01, 64 | 0x80, 0x70, 0x0C, 0x03, 0x00, 0xE0, 0x38, 0x06, 0x05, 0xC1, 0x7F, 0xE0, 65 | 0xFB, 0x6D, 0xB6, 0xDB, 0x6D, 0xB8, 0x82, 0x10, 0x82, 0x10, 0x86, 0x10, 66 | 0x86, 0x10, 0xED, 0xB6, 0xDB, 0x6D, 0xB6, 0xF8, 0x18, 0x1C, 0x34, 0x26, 67 | 0x62, 0x42, 0xC1, 0xFF, 0x80, 0x84, 0x20, 0x79, 0x98, 0x30, 0xE6, 0xD9, 68 | 0xB3, 0x3F, 0x20, 0x70, 0x18, 0x0C, 0x06, 0x03, 0x71, 0xCC, 0xC3, 0x61, 69 | 0xB0, 0xD8, 0x6C, 0x63, 0xE0, 0x3C, 0xCF, 0x06, 0x0C, 0x18, 0x18, 0x9E, 70 | 0x01, 0x03, 0x80, 0xC0, 0x60, 0x31, 0xD9, 0x9D, 0x86, 0xC3, 0x61, 0xB0, 71 | 0xCC, 0x63, 0xF0, 0x3C, 0x46, 0xFE, 0xC0, 0xC0, 0xE1, 0x62, 0x3C, 0x1E, 72 | 0x41, 0x83, 0x06, 0x1E, 0x18, 0x30, 0x60, 0xC1, 0x83, 0x0F, 0x00, 0x3C, 73 | 0x19, 0xF6, 0x31, 0x8C, 0x1E, 0x08, 0x04, 0x01, 0xFC, 0x40, 0xB0, 0x2E, 74 | 0x11, 0xF8, 0x20, 0x70, 0x18, 0x0C, 0x06, 0x03, 0x71, 0xCC, 0xC6, 0x63, 75 | 0x31, 0x98, 0xCC, 0x6F, 0x78, 0x60, 0x02, 0xE6, 0x66, 0x66, 0xF0, 0x18, 76 | 0x00, 0x33, 0x8C, 0x63, 0x18, 0xC6, 0x31, 0x8B, 0x80, 0x20, 0x70, 0x18, 77 | 0x0C, 0x06, 0x03, 0x3D, 0x88, 0xD8, 0x78, 0x36, 0x19, 0x8C, 0x6F, 0x78, 78 | 0x2E, 0x66, 0x66, 0x66, 0x66, 0x66, 0xF0, 0xEE, 0x71, 0xCE, 0x66, 0x31, 79 | 0x98, 0xC6, 0x63, 0x19, 0x8C, 0x66, 0x31, 0xBD, 0xEF, 0xEE, 0x39, 0x98, 80 | 0xCC, 0x66, 0x33, 0x19, 0x8D, 0xEF, 0x3E, 0x31, 0xB0, 0x78, 0x3C, 0x1E, 81 | 0x0D, 0x8C, 0x7C, 0xEE, 0x39, 0x98, 0x6C, 0x36, 0x1B, 0x0D, 0x8C, 0xFC, 82 | 0x60, 0x30, 0x18, 0x1E, 0x00, 0x3D, 0x31, 0xB0, 0xD8, 0x6C, 0x36, 0x1B, 83 | 0x8C, 0xFE, 0x03, 0x01, 0x80, 0xC0, 0xF0, 0x6D, 0xC6, 0x18, 0x61, 0x86, 84 | 0x3C, 0x76, 0x38, 0x58, 0x3E, 0x38, 0xFE, 0x27, 0x98, 0xC6, 0x31, 0x8C, 85 | 0x38, 0xE7, 0x31, 0x98, 0xCC, 0x66, 0x33, 0x19, 0x8C, 0x7F, 0xF3, 0x61, 86 | 0x22, 0x32, 0x14, 0x1C, 0x08, 0x08, 0xEF, 0x36, 0x61, 0x62, 0x22, 0x32, 87 | 0x35, 0x41, 0x9C, 0x18, 0x81, 0x08, 0xF7, 0x12, 0x0E, 0x03, 0x01, 0xC1, 88 | 0x21, 0x09, 0xCF, 0xF3, 0x61, 0x62, 0x32, 0x34, 0x14, 0x1C, 0x08, 0x08, 89 | 0x08, 0x10, 0xE0, 0xFD, 0x18, 0x60, 0x83, 0x0C, 0x70, 0xFE, 0x19, 0x8C, 90 | 0x63, 0x18, 0xC4, 0x61, 0x8C, 0x63, 0x18, 0xC3, 0xFF, 0xF0, 0xC3, 0x18, 91 | 0xC6, 0x31, 0x84, 0x33, 0x18, 0xC6, 0x31, 0x98, 0x70, 0x24, 0xC1, 0xC0 }; 92 | 93 | const GFXglyph FreeSerif9pt7bGlyphs[] PROGMEM = { 94 | { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' 95 | { 0, 2, 12, 6, 2, -11 }, // 0x21 '!' 96 | { 3, 5, 4, 7, 1, -11 }, // 0x22 '"' 97 | { 6, 9, 12, 9, 0, -11 }, // 0x23 '#' 98 | { 20, 8, 14, 9, 1, -12 }, // 0x24 '$' 99 | { 34, 13, 12, 15, 1, -11 }, // 0x25 '%' 100 | { 54, 13, 13, 14, 1, -12 }, // 0x26 '&' 101 | { 76, 2, 4, 4, 1, -11 }, // 0x27 ''' 102 | { 77, 5, 15, 6, 1, -11 }, // 0x28 '(' 103 | { 87, 5, 15, 6, 0, -11 }, // 0x29 ')' 104 | { 97, 6, 8, 9, 3, -11 }, // 0x2A '*' 105 | { 103, 9, 9, 10, 0, -8 }, // 0x2B '+' 106 | { 114, 2, 3, 4, 2, 0 }, // 0x2C ',' 107 | { 115, 4, 1, 6, 1, -3 }, // 0x2D '-' 108 | { 116, 2, 2, 5, 1, -1 }, // 0x2E '.' 109 | { 117, 5, 12, 5, 0, -11 }, // 0x2F '/' 110 | { 125, 9, 13, 9, 0, -12 }, // 0x30 '0' 111 | { 140, 5, 13, 9, 2, -12 }, // 0x31 '1' 112 | { 149, 8, 12, 9, 1, -11 }, // 0x32 '2' 113 | { 161, 8, 12, 9, 0, -11 }, // 0x33 '3' 114 | { 173, 7, 12, 9, 1, -11 }, // 0x34 '4' 115 | { 184, 8, 12, 9, 0, -11 }, // 0x35 '5' 116 | { 196, 8, 13, 9, 1, -12 }, // 0x36 '6' 117 | { 209, 8, 12, 9, 0, -11 }, // 0x37 '7' 118 | { 221, 7, 13, 9, 1, -12 }, // 0x38 '8' 119 | { 233, 8, 14, 9, 1, -12 }, // 0x39 '9' 120 | { 247, 2, 8, 5, 1, -7 }, // 0x3A ':' 121 | { 249, 3, 10, 5, 1, -7 }, // 0x3B ';' 122 | { 253, 9, 9, 10, 1, -8 }, // 0x3C '<' 123 | { 264, 9, 5, 10, 1, -6 }, // 0x3D '=' 124 | { 270, 10, 9, 10, 0, -8 }, // 0x3E '>' 125 | { 282, 7, 13, 8, 1, -12 }, // 0x3F '?' 126 | { 294, 12, 13, 16, 2, -12 }, // 0x40 '@' 127 | { 314, 13, 12, 13, 0, -11 }, // 0x41 'A' 128 | { 334, 11, 12, 11, 0, -11 }, // 0x42 'B' 129 | { 351, 11, 12, 12, 1, -11 }, // 0x43 'C' 130 | { 368, 12, 12, 13, 0, -11 }, // 0x44 'D' 131 | { 386, 10, 12, 11, 1, -11 }, // 0x45 'E' 132 | { 401, 9, 12, 10, 1, -11 }, // 0x46 'F' 133 | { 415, 12, 12, 13, 1, -11 }, // 0x47 'G' 134 | { 433, 11, 12, 13, 1, -11 }, // 0x48 'H' 135 | { 450, 4, 12, 6, 1, -11 }, // 0x49 'I' 136 | { 456, 6, 12, 7, 0, -11 }, // 0x4A 'J' 137 | { 465, 12, 12, 13, 1, -11 }, // 0x4B 'K' 138 | { 483, 10, 12, 11, 1, -11 }, // 0x4C 'L' 139 | { 498, 15, 12, 16, 0, -11 }, // 0x4D 'M' 140 | { 521, 11, 12, 13, 1, -11 }, // 0x4E 'N' 141 | { 538, 11, 13, 13, 1, -12 }, // 0x4F 'O' 142 | { 556, 9, 12, 10, 1, -11 }, // 0x50 'P' 143 | { 570, 11, 16, 13, 1, -12 }, // 0x51 'Q' 144 | { 592, 11, 12, 12, 1, -11 }, // 0x52 'R' 145 | { 609, 9, 12, 10, 0, -11 }, // 0x53 'S' 146 | { 623, 11, 12, 11, 0, -11 }, // 0x54 'T' 147 | { 640, 11, 12, 13, 1, -11 }, // 0x55 'U' 148 | { 657, 12, 12, 13, 0, -11 }, // 0x56 'V' 149 | { 675, 17, 12, 17, 0, -11 }, // 0x57 'W' 150 | { 701, 13, 12, 13, 0, -11 }, // 0x58 'X' 151 | { 721, 12, 12, 13, 0, -11 }, // 0x59 'Y' 152 | { 739, 11, 12, 11, 0, -11 }, // 0x5A 'Z' 153 | { 756, 3, 15, 6, 2, -11 }, // 0x5B '[' 154 | { 762, 5, 12, 5, 0, -11 }, // 0x5C '\' 155 | { 770, 3, 15, 6, 1, -11 }, // 0x5D ']' 156 | { 776, 8, 7, 8, 0, -11 }, // 0x5E '^' 157 | { 783, 9, 1, 9, 0, 2 }, // 0x5F '_' 158 | { 785, 4, 3, 5, 0, -11 }, // 0x60 '`' 159 | { 787, 7, 8, 8, 1, -7 }, // 0x61 'a' 160 | { 794, 9, 13, 9, 0, -12 }, // 0x62 'b' 161 | { 809, 7, 8, 8, 0, -7 }, // 0x63 'c' 162 | { 816, 9, 13, 9, 0, -12 }, // 0x64 'd' 163 | { 831, 8, 8, 8, 0, -7 }, // 0x65 'e' 164 | { 839, 7, 13, 7, 1, -12 }, // 0x66 'f' 165 | { 851, 10, 12, 8, 0, -7 }, // 0x67 'g' 166 | { 866, 9, 13, 9, 0, -12 }, // 0x68 'h' 167 | { 881, 4, 11, 5, 1, -10 }, // 0x69 'i' 168 | { 887, 5, 15, 6, 0, -10 }, // 0x6A 'j' 169 | { 897, 9, 13, 9, 1, -12 }, // 0x6B 'k' 170 | { 912, 4, 13, 5, 1, -12 }, // 0x6C 'l' 171 | { 919, 14, 8, 14, 0, -7 }, // 0x6D 'm' 172 | { 933, 9, 8, 9, 0, -7 }, // 0x6E 'n' 173 | { 942, 9, 8, 9, 0, -7 }, // 0x6F 'o' 174 | { 951, 9, 12, 9, 0, -7 }, // 0x70 'p' 175 | { 965, 9, 12, 9, 0, -7 }, // 0x71 'q' 176 | { 979, 6, 8, 6, 0, -7 }, // 0x72 'r' 177 | { 985, 6, 8, 7, 1, -7 }, // 0x73 's' 178 | { 991, 5, 9, 5, 0, -8 }, // 0x74 't' 179 | { 997, 9, 8, 9, 0, -7 }, // 0x75 'u' 180 | { 1006, 8, 8, 8, 0, -7 }, // 0x76 'v' 181 | { 1014, 12, 8, 12, 0, -7 }, // 0x77 'w' 182 | { 1026, 9, 8, 9, 0, -7 }, // 0x78 'x' 183 | { 1035, 8, 12, 8, 0, -7 }, // 0x79 'y' 184 | { 1047, 7, 8, 7, 1, -7 }, // 0x7A 'z' 185 | { 1054, 5, 16, 9, 1, -12 }, // 0x7B '{' 186 | { 1064, 1, 12, 4, 1, -11 }, // 0x7C '|' 187 | { 1066, 5, 16, 9, 3, -11 }, // 0x7D '}' 188 | { 1076, 9, 3, 9, 0, -5 } }; // 0x7E '~' 189 | 190 | const GFXfont FreeSerif9pt7b PROGMEM = { 191 | (uint8_t *)FreeSerif9pt7bBitmaps, 192 | (GFXglyph *)FreeSerif9pt7bGlyphs, 193 | 0x20, 0x7E, 22 }; 194 | 195 | // Approx. 1752 bytes 196 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeSerifBold9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeSerifBold9pt7bBitmaps[] PROGMEM = { 2 | 0xFF, 0xF4, 0x92, 0x1F, 0xF0, 0xCF, 0x3C, 0xE3, 0x88, 0x13, 0x09, 0x84, 3 | 0xC2, 0x47, 0xF9, 0x90, 0xC8, 0x4C, 0xFF, 0x13, 0x09, 0x0C, 0x86, 0x40, 4 | 0x10, 0x38, 0xD6, 0x92, 0xD2, 0xF0, 0x7C, 0x3E, 0x17, 0x93, 0x93, 0xD6, 5 | 0x7C, 0x10, 0x3C, 0x21, 0xCF, 0x0E, 0x24, 0x30, 0xA0, 0xC5, 0x03, 0x34, 6 | 0xE7, 0x26, 0x40, 0xB9, 0x04, 0xC4, 0x23, 0x30, 0x8C, 0x84, 0x1C, 0x0F, 7 | 0x00, 0xCC, 0x06, 0x60, 0x3E, 0x00, 0xE7, 0x8F, 0x18, 0x9C, 0x8C, 0xE4, 8 | 0xE3, 0xC7, 0x9E, 0x3C, 0x72, 0xFD, 0xE0, 0xFF, 0x80, 0x32, 0x44, 0xCC, 9 | 0xCC, 0xCC, 0xC4, 0x62, 0x10, 0x84, 0x22, 0x33, 0x33, 0x33, 0x32, 0x64, 10 | 0x80, 0x31, 0x6B, 0xB1, 0x8E, 0xD6, 0x8C, 0x00, 0x08, 0x04, 0x02, 0x01, 11 | 0x0F, 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0xDF, 0x95, 0x00, 0xFF, 0xFF, 12 | 0x80, 0x0C, 0x21, 0x86, 0x10, 0xC3, 0x08, 0x61, 0x84, 0x30, 0xC0, 0x1C, 13 | 0x33, 0x98, 0xDC, 0x7E, 0x3F, 0x1F, 0x8F, 0xC7, 0xE3, 0xB1, 0x98, 0xC3, 14 | 0x80, 0x08, 0xE3, 0x8E, 0x38, 0xE3, 0x8E, 0x38, 0xE3, 0xBF, 0x3C, 0x3F, 15 | 0x23, 0xC0, 0xE0, 0x70, 0x30, 0x38, 0x18, 0x18, 0x18, 0x5F, 0xDF, 0xE0, 16 | 0x7C, 0x8E, 0x0E, 0x0E, 0x0C, 0x1E, 0x07, 0x03, 0x03, 0x02, 0xE6, 0xF8, 17 | 0x06, 0x0E, 0x0E, 0x3E, 0x2E, 0x4E, 0x8E, 0x8E, 0xFF, 0xFF, 0x0E, 0x0E, 18 | 0x3F, 0x7E, 0x40, 0x40, 0xF8, 0xFC, 0x1E, 0x06, 0x02, 0x02, 0xE4, 0xF8, 19 | 0x07, 0x1C, 0x30, 0x70, 0xFC, 0xE6, 0xE7, 0xE7, 0xE7, 0x67, 0x66, 0x3C, 20 | 0x7F, 0x3F, 0xA0, 0xD0, 0x40, 0x60, 0x30, 0x10, 0x18, 0x0C, 0x04, 0x06, 21 | 0x03, 0x00, 0x3C, 0xC6, 0xC6, 0xC6, 0xFC, 0x7C, 0x3E, 0xCF, 0xC7, 0xC7, 22 | 0xC6, 0x7C, 0x3E, 0x33, 0xB8, 0xDC, 0x7E, 0x3F, 0x1D, 0xCE, 0x7F, 0x07, 23 | 0x07, 0x0F, 0x1C, 0x00, 0xFF, 0x80, 0x3F, 0xE0, 0xFF, 0x80, 0x37, 0xE5, 24 | 0x40, 0x00, 0x00, 0x70, 0x78, 0x78, 0x78, 0x38, 0x03, 0x80, 0x3C, 0x03, 25 | 0xC0, 0x30, 0xFF, 0xC0, 0x00, 0x00, 0x00, 0xFF, 0xC0, 0xC0, 0x3C, 0x03, 26 | 0xC0, 0x1C, 0x01, 0xC1, 0xE1, 0xE1, 0xE0, 0xE0, 0x00, 0x00, 0x3D, 0x9F, 27 | 0x3E, 0x70, 0xE1, 0x04, 0x08, 0x00, 0x70, 0xE1, 0xC0, 0x0F, 0x81, 0x83, 28 | 0x18, 0xC4, 0x89, 0x9C, 0x4C, 0xE4, 0x67, 0x22, 0x39, 0x22, 0x4F, 0xE3, 29 | 0x00, 0x0C, 0x10, 0x1F, 0x00, 0x02, 0x00, 0x30, 0x01, 0xC0, 0x0E, 0x00, 30 | 0xB8, 0x05, 0xC0, 0x4F, 0x02, 0x38, 0x3F, 0xE1, 0x07, 0x18, 0x3D, 0xE3, 31 | 0xF0, 0xFF, 0x87, 0x1C, 0xE3, 0x9C, 0x73, 0x9C, 0x7F, 0x0E, 0x71, 0xC7, 32 | 0x38, 0xE7, 0x1C, 0xE7, 0x7F, 0xC0, 0x1F, 0x26, 0x1D, 0xC1, 0xB0, 0x1E, 33 | 0x01, 0xC0, 0x38, 0x07, 0x00, 0xE0, 0x0E, 0x04, 0xE1, 0x0F, 0xC0, 0xFF, 34 | 0x0E, 0x71, 0xC7, 0x38, 0x77, 0x0E, 0xE1, 0xDC, 0x3B, 0x87, 0x70, 0xCE, 35 | 0x39, 0xC6, 0x7F, 0x80, 0xFF, 0xCE, 0x19, 0xC1, 0x38, 0x87, 0x30, 0xFE, 36 | 0x1C, 0xC3, 0x88, 0x70, 0x2E, 0x0D, 0xC3, 0x7F, 0xE0, 0xFF, 0xDC, 0x37, 37 | 0x05, 0xC4, 0x73, 0x1F, 0xC7, 0x31, 0xC4, 0x70, 0x1C, 0x07, 0x03, 0xE0, 38 | 0x1F, 0x23, 0x0E, 0x70, 0x6E, 0x02, 0xE0, 0x0E, 0x00, 0xE1, 0xFE, 0x0E, 39 | 0x60, 0xE7, 0x0E, 0x38, 0xE0, 0xF8, 0xF9, 0xF7, 0x0E, 0x70, 0xE7, 0x0E, 40 | 0x70, 0xE7, 0xFE, 0x70, 0xE7, 0x0E, 0x70, 0xE7, 0x0E, 0x70, 0xEF, 0x9F, 41 | 0xFB, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9D, 0xF0, 0x1F, 0x0E, 0x0E, 0x0E, 42 | 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0x0E, 0xCE, 0xCC, 0x78, 0xF9, 0xF3, 43 | 0x82, 0x1C, 0x20, 0xE2, 0x07, 0x20, 0x3F, 0x01, 0xDC, 0x0E, 0x70, 0x73, 44 | 0xC3, 0x8F, 0x1C, 0x3D, 0xF3, 0xF0, 0xF8, 0x0E, 0x01, 0xC0, 0x38, 0x07, 45 | 0x00, 0xE0, 0x1C, 0x03, 0x80, 0x70, 0x2E, 0x09, 0xC3, 0x7F, 0xE0, 0xF8, 46 | 0x0F, 0x3C, 0x1E, 0x3C, 0x1E, 0x2E, 0x2E, 0x2E, 0x2E, 0x26, 0x4E, 0x27, 47 | 0x4E, 0x27, 0x4E, 0x23, 0x8E, 0x23, 0x8E, 0x21, 0x0E, 0x71, 0x1F, 0xF0, 48 | 0xEE, 0x09, 0xE1, 0x3E, 0x25, 0xE4, 0x9E, 0x91, 0xD2, 0x1E, 0x43, 0xC8, 49 | 0x39, 0x03, 0x70, 0x20, 0x1F, 0x83, 0x0C, 0x70, 0xEE, 0x07, 0xE0, 0x7E, 50 | 0x07, 0xE0, 0x7E, 0x07, 0xE0, 0x77, 0x0E, 0x30, 0xC1, 0xF8, 0xFF, 0x1C, 51 | 0xE7, 0x1D, 0xC7, 0x71, 0xDC, 0xE7, 0xF1, 0xC0, 0x70, 0x1C, 0x07, 0x03, 52 | 0xE0, 0x0F, 0x83, 0x9C, 0x70, 0xE6, 0x06, 0xE0, 0x7E, 0x07, 0xE0, 0x7E, 53 | 0x07, 0xE0, 0x76, 0x06, 0x30, 0xC1, 0x98, 0x0F, 0x00, 0x78, 0x03, 0xE0, 54 | 0xFF, 0x07, 0x38, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x38, 0x7E, 0x07, 0x70, 55 | 0x77, 0x87, 0x3C, 0x71, 0xEF, 0x8F, 0x39, 0x47, 0xC1, 0xC0, 0xF0, 0x7C, 56 | 0x3E, 0x0F, 0x83, 0xC3, 0xC6, 0xBC, 0xFF, 0xFC, 0xE3, 0x8E, 0x10, 0xE0, 57 | 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 0x0E, 0x01, 0xF0, 58 | 0xF8, 0xEE, 0x09, 0xC1, 0x38, 0x27, 0x04, 0xE0, 0x9C, 0x13, 0x82, 0x70, 59 | 0x4E, 0x08, 0xE2, 0x0F, 0x80, 0xFC, 0x7B, 0xC1, 0x0E, 0x08, 0x70, 0x81, 60 | 0xC4, 0x0E, 0x20, 0x7A, 0x01, 0xD0, 0x0E, 0x80, 0x38, 0x01, 0xC0, 0x04, 61 | 0x00, 0x20, 0x00, 0xFD, 0xFB, 0xDC, 0x38, 0x43, 0x87, 0x10, 0xE1, 0xC4, 62 | 0x38, 0xF2, 0x07, 0x2E, 0x81, 0xD3, 0xA0, 0x34, 0x70, 0x0E, 0x1C, 0x03, 63 | 0x87, 0x00, 0x60, 0x80, 0x10, 0x20, 0xFE, 0xF3, 0xC3, 0x0F, 0x10, 0x39, 64 | 0x00, 0xF0, 0x03, 0x80, 0x1E, 0x01, 0x70, 0x09, 0xC0, 0x8F, 0x08, 0x3D, 65 | 0xF3, 0xF0, 0xFC, 0x7B, 0xC1, 0x8E, 0x08, 0x38, 0x81, 0xE8, 0x07, 0x40, 66 | 0x1C, 0x00, 0xE0, 0x07, 0x00, 0x38, 0x01, 0xC0, 0x1F, 0x00, 0xFF, 0xD8, 67 | 0x72, 0x1E, 0x43, 0x80, 0xE0, 0x1C, 0x07, 0x01, 0xC0, 0x38, 0x2E, 0x0F, 68 | 0x83, 0x7F, 0xE0, 0xFC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xF0, 0xC1, 69 | 0x06, 0x18, 0x20, 0xC3, 0x04, 0x18, 0x60, 0x83, 0x0C, 0xF3, 0x33, 0x33, 70 | 0x33, 0x33, 0x33, 0x33, 0xF0, 0x18, 0x1C, 0x34, 0x26, 0x62, 0x43, 0xC1, 71 | 0xFF, 0x80, 0xC6, 0x30, 0x7C, 0x63, 0xB1, 0xC0, 0xE1, 0xF3, 0x3B, 0x9D, 72 | 0xCE, 0xFF, 0x80, 0xF0, 0x1C, 0x07, 0x01, 0xDC, 0x7B, 0x9C, 0x77, 0x1D, 73 | 0xC7, 0x71, 0xDC, 0x77, 0x39, 0x3C, 0x3C, 0xED, 0x9F, 0x0E, 0x1C, 0x38, 74 | 0x39, 0x3C, 0x07, 0x80, 0xE0, 0x38, 0xEE, 0x77, 0xB8, 0xEE, 0x3B, 0x8E, 75 | 0xE3, 0xB8, 0xE7, 0x78, 0xEF, 0x3C, 0x66, 0xE6, 0xFE, 0xE0, 0xE0, 0xE0, 76 | 0x72, 0x3C, 0x3E, 0xED, 0xC7, 0xC7, 0x0E, 0x1C, 0x38, 0x70, 0xE1, 0xC7, 77 | 0xC0, 0x31, 0xDF, 0xBF, 0x7E, 0xE7, 0x90, 0x60, 0xFC, 0xFE, 0x0C, 0x17, 78 | 0xC0, 0xF0, 0x1C, 0x07, 0x01, 0xDC, 0x7B, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 79 | 0x9C, 0xE7, 0x3B, 0xFF, 0x73, 0x9D, 0xE7, 0x39, 0xCE, 0x73, 0x9D, 0xF0, 80 | 0x1C, 0x71, 0xCF, 0x1C, 0x71, 0xC7, 0x1C, 0x71, 0xC7, 0x1C, 0x7D, 0xBE, 81 | 0xF0, 0x1C, 0x07, 0x01, 0xCE, 0x71, 0x1C, 0x87, 0x41, 0xF8, 0x77, 0x1C, 82 | 0xE7, 0x1B, 0xEF, 0xF3, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9D, 0xF0, 0xF7, 83 | 0x38, 0xF7, 0xB9, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 84 | 0x39, 0xCE, 0xFF, 0xFE, 0xF7, 0x1E, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 85 | 0x39, 0xCE, 0xFF, 0xC0, 0x3E, 0x31, 0xB8, 0xFC, 0x7E, 0x3F, 0x1F, 0x8E, 86 | 0xC6, 0x3E, 0x00, 0xF7, 0x1E, 0xE7, 0x1D, 0xC7, 0x71, 0xDC, 0x77, 0x1D, 87 | 0xCE, 0x7F, 0x1C, 0x07, 0x01, 0xC0, 0xF8, 0x00, 0x3C, 0x9C, 0xEE, 0x3B, 88 | 0x8E, 0xE3, 0xB8, 0xEE, 0x39, 0xCE, 0x3F, 0x80, 0xE0, 0x38, 0x0E, 0x07, 89 | 0xC0, 0xF7, 0x7B, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0xF8, 0x7E, 0x73, 90 | 0xC7, 0x8E, 0x39, 0xB0, 0x10, 0xCF, 0x9C, 0x71, 0xC7, 0x1C, 0x71, 0xD3, 91 | 0x80, 0xF7, 0x9C, 0xE7, 0x39, 0xCE, 0x73, 0x9C, 0xE7, 0x39, 0xCE, 0x3F, 92 | 0xC0, 0xFB, 0xB8, 0x8C, 0x87, 0x43, 0xC0, 0xE0, 0x70, 0x10, 0x08, 0x00, 93 | 0xF7, 0xB6, 0x31, 0x73, 0xA3, 0x3A, 0x3D, 0xA3, 0xDC, 0x18, 0xC1, 0x88, 94 | 0x10, 0x80, 0xFB, 0xB8, 0x8E, 0x83, 0x81, 0xC0, 0xF0, 0x98, 0xCE, 0xEF, 95 | 0x80, 0xF7, 0x62, 0x72, 0x34, 0x34, 0x3C, 0x18, 0x18, 0x10, 0x10, 0x10, 96 | 0xE0, 0xE0, 0xFF, 0x1C, 0x70, 0xE3, 0x87, 0x1C, 0x71, 0xFE, 0x19, 0x8C, 97 | 0x63, 0x18, 0xCC, 0x61, 0x8C, 0x63, 0x18, 0xC3, 0xFF, 0xF8, 0xC3, 0x18, 98 | 0xC6, 0x31, 0x86, 0x33, 0x18, 0xC6, 0x31, 0x98, 0xF0, 0x8E }; 99 | 100 | const GFXglyph FreeSerifBold9pt7bGlyphs[] PROGMEM = { 101 | { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' 102 | { 0, 3, 12, 6, 1, -11 }, // 0x21 '!' 103 | { 5, 6, 5, 10, 2, -11 }, // 0x22 '"' 104 | { 9, 9, 13, 9, 0, -12 }, // 0x23 '#' 105 | { 24, 8, 14, 9, 1, -12 }, // 0x24 '$' 106 | { 38, 14, 12, 18, 2, -11 }, // 0x25 '%' 107 | { 59, 13, 12, 15, 1, -11 }, // 0x26 '&' 108 | { 79, 2, 5, 5, 1, -11 }, // 0x27 ''' 109 | { 81, 4, 15, 6, 1, -11 }, // 0x28 '(' 110 | { 89, 4, 15, 6, 1, -11 }, // 0x29 ')' 111 | { 97, 7, 7, 9, 2, -11 }, // 0x2A '*' 112 | { 104, 9, 9, 12, 1, -8 }, // 0x2B '+' 113 | { 115, 3, 6, 4, 1, -2 }, // 0x2C ',' 114 | { 118, 4, 2, 6, 1, -4 }, // 0x2D '-' 115 | { 119, 3, 3, 4, 1, -2 }, // 0x2E '.' 116 | { 121, 6, 13, 5, 0, -11 }, // 0x2F '/' 117 | { 131, 9, 12, 9, 0, -11 }, // 0x30 '0' 118 | { 145, 6, 12, 9, 1, -11 }, // 0x31 '1' 119 | { 154, 9, 12, 9, 0, -11 }, // 0x32 '2' 120 | { 168, 8, 12, 9, 0, -11 }, // 0x33 '3' 121 | { 180, 8, 12, 9, 1, -11 }, // 0x34 '4' 122 | { 192, 8, 12, 9, 1, -11 }, // 0x35 '5' 123 | { 204, 8, 12, 9, 1, -11 }, // 0x36 '6' 124 | { 216, 9, 12, 9, 0, -11 }, // 0x37 '7' 125 | { 230, 8, 12, 9, 1, -11 }, // 0x38 '8' 126 | { 242, 9, 12, 9, 0, -11 }, // 0x39 '9' 127 | { 256, 3, 9, 6, 1, -8 }, // 0x3A ':' 128 | { 260, 3, 12, 6, 2, -8 }, // 0x3B ';' 129 | { 265, 10, 10, 12, 1, -9 }, // 0x3C '<' 130 | { 278, 10, 5, 12, 1, -6 }, // 0x3D '=' 131 | { 285, 10, 10, 12, 1, -8 }, // 0x3E '>' 132 | { 298, 7, 12, 9, 1, -11 }, // 0x3F '?' 133 | { 309, 13, 12, 17, 2, -11 }, // 0x40 '@' 134 | { 329, 13, 12, 13, 0, -11 }, // 0x41 'A' 135 | { 349, 11, 12, 12, 0, -11 }, // 0x42 'B' 136 | { 366, 11, 12, 13, 1, -11 }, // 0x43 'C' 137 | { 383, 11, 12, 13, 1, -11 }, // 0x44 'D' 138 | { 400, 11, 12, 12, 1, -11 }, // 0x45 'E' 139 | { 417, 10, 12, 11, 1, -11 }, // 0x46 'F' 140 | { 432, 12, 12, 14, 1, -11 }, // 0x47 'G' 141 | { 450, 12, 12, 14, 1, -11 }, // 0x48 'H' 142 | { 468, 5, 12, 7, 1, -11 }, // 0x49 'I' 143 | { 476, 8, 14, 9, 0, -11 }, // 0x4A 'J' 144 | { 490, 13, 12, 14, 1, -11 }, // 0x4B 'K' 145 | { 510, 11, 12, 12, 1, -11 }, // 0x4C 'L' 146 | { 527, 16, 12, 17, 0, -11 }, // 0x4D 'M' 147 | { 551, 11, 12, 13, 1, -11 }, // 0x4E 'N' 148 | { 568, 12, 12, 14, 1, -11 }, // 0x4F 'O' 149 | { 586, 10, 12, 11, 1, -11 }, // 0x50 'P' 150 | { 601, 12, 15, 14, 1, -11 }, // 0x51 'Q' 151 | { 624, 12, 12, 13, 1, -11 }, // 0x52 'R' 152 | { 642, 8, 12, 10, 1, -11 }, // 0x53 'S' 153 | { 654, 12, 12, 12, 0, -11 }, // 0x54 'T' 154 | { 672, 11, 12, 13, 1, -11 }, // 0x55 'U' 155 | { 689, 13, 13, 13, 0, -11 }, // 0x56 'V' 156 | { 711, 18, 12, 18, 0, -11 }, // 0x57 'W' 157 | { 738, 13, 12, 13, 0, -11 }, // 0x58 'X' 158 | { 758, 13, 12, 13, 0, -11 }, // 0x59 'Y' 159 | { 778, 11, 12, 12, 1, -11 }, // 0x5A 'Z' 160 | { 795, 4, 15, 6, 1, -11 }, // 0x5B '[' 161 | { 803, 6, 13, 5, 0, -11 }, // 0x5C '\' 162 | { 813, 4, 15, 6, 1, -11 }, // 0x5D ']' 163 | { 821, 8, 7, 10, 1, -11 }, // 0x5E '^' 164 | { 828, 9, 1, 9, 0, 3 }, // 0x5F '_' 165 | { 830, 4, 3, 6, 0, -12 }, // 0x60 '`' 166 | { 832, 9, 9, 9, 0, -8 }, // 0x61 'a' 167 | { 843, 10, 12, 10, 0, -11 }, // 0x62 'b' 168 | { 858, 7, 9, 8, 0, -8 }, // 0x63 'c' 169 | { 866, 10, 12, 10, 0, -11 }, // 0x64 'd' 170 | { 881, 8, 9, 8, 0, -8 }, // 0x65 'e' 171 | { 890, 7, 12, 7, 0, -11 }, // 0x66 'f' 172 | { 901, 7, 13, 9, 1, -8 }, // 0x67 'g' 173 | { 913, 10, 12, 10, 0, -11 }, // 0x68 'h' 174 | { 928, 5, 12, 5, 0, -11 }, // 0x69 'i' 175 | { 936, 6, 16, 7, 0, -11 }, // 0x6A 'j' 176 | { 948, 10, 12, 10, 0, -11 }, // 0x6B 'k' 177 | { 963, 5, 12, 5, 0, -11 }, // 0x6C 'l' 178 | { 971, 15, 9, 15, 0, -8 }, // 0x6D 'm' 179 | { 988, 10, 9, 10, 0, -8 }, // 0x6E 'n' 180 | { 1000, 9, 9, 9, 0, -8 }, // 0x6F 'o' 181 | { 1011, 10, 13, 10, 0, -8 }, // 0x70 'p' 182 | { 1028, 10, 13, 10, 0, -8 }, // 0x71 'q' 183 | { 1045, 8, 9, 8, 0, -8 }, // 0x72 'r' 184 | { 1054, 5, 9, 7, 1, -8 }, // 0x73 's' 185 | { 1060, 6, 11, 6, 0, -10 }, // 0x74 't' 186 | { 1069, 10, 9, 10, 0, -8 }, // 0x75 'u' 187 | { 1081, 9, 9, 9, 0, -8 }, // 0x76 'v' 188 | { 1092, 12, 9, 13, 0, -8 }, // 0x77 'w' 189 | { 1106, 9, 9, 9, 0, -8 }, // 0x78 'x' 190 | { 1117, 8, 13, 9, 0, -8 }, // 0x79 'y' 191 | { 1130, 7, 9, 8, 1, -8 }, // 0x7A 'z' 192 | { 1138, 5, 16, 7, 0, -12 }, // 0x7B '{' 193 | { 1148, 1, 13, 4, 1, -11 }, // 0x7C '|' 194 | { 1150, 5, 16, 7, 2, -12 }, // 0x7D '}' 195 | { 1160, 8, 2, 9, 1, -4 } }; // 0x7E '~' 196 | 197 | const GFXfont FreeSerifBold9pt7b PROGMEM = { 198 | (uint8_t *)FreeSerifBold9pt7bBitmaps, 199 | (GFXglyph *)FreeSerifBold9pt7bGlyphs, 200 | 0x20, 0x7E, 22 }; 201 | 202 | // Approx. 1834 bytes 203 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeSerifBoldItalic9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeSerifBoldItalic9pt7bBitmaps[] PROGMEM = { 2 | 0x0C, 0x31, 0xC6, 0x18, 0x41, 0x08, 0x20, 0x0E, 0x38, 0xE0, 0xCF, 0x38, 3 | 0xA2, 0x88, 0x02, 0x40, 0xC8, 0x13, 0x06, 0x43, 0xFC, 0x32, 0x06, 0x40, 4 | 0x98, 0x7F, 0x84, 0xC0, 0x90, 0x32, 0x04, 0xC0, 0x01, 0x01, 0xF0, 0x4B, 5 | 0x99, 0x33, 0x24, 0x78, 0x07, 0x80, 0x38, 0x0B, 0x89, 0x31, 0x26, 0x64, 6 | 0xC7, 0x30, 0x3C, 0x04, 0x00, 0x38, 0x41, 0x9F, 0x06, 0x48, 0x31, 0x60, 7 | 0xCD, 0x03, 0x2C, 0x07, 0x27, 0x81, 0x39, 0x05, 0xC4, 0x26, 0x10, 0x98, 8 | 0x84, 0x66, 0x10, 0xE0, 0x03, 0x80, 0x22, 0x03, 0x10, 0x19, 0x00, 0xF0, 9 | 0x0F, 0x3C, 0xF8, 0xCC, 0xC4, 0xE7, 0x47, 0x3E, 0x38, 0xE1, 0xE7, 0x97, 10 | 0xCF, 0x00, 0xFA, 0x80, 0x08, 0x88, 0x84, 0x62, 0x10, 0x84, 0x21, 0x08, 11 | 0x41, 0x00, 0x20, 0x84, 0x10, 0x84, 0x21, 0x08, 0xC6, 0x23, 0x11, 0x00, 12 | 0x18, 0x18, 0xD6, 0x38, 0x18, 0xF7, 0x18, 0x18, 0x08, 0x04, 0x02, 0x01, 13 | 0x0F, 0xF8, 0x40, 0x20, 0x10, 0x08, 0x00, 0x6D, 0x95, 0x00, 0xFF, 0xC0, 14 | 0xFF, 0x80, 0x06, 0x0C, 0x30, 0x60, 0x83, 0x04, 0x18, 0x20, 0xC1, 0x06, 15 | 0x00, 0x0F, 0x0C, 0x8C, 0x6E, 0x37, 0x1B, 0x1F, 0x8F, 0xC7, 0xC7, 0x63, 16 | 0xB1, 0x89, 0x83, 0x80, 0x06, 0x1E, 0x0E, 0x0E, 0x0C, 0x0C, 0x1C, 0x18, 17 | 0x18, 0x18, 0x38, 0x38, 0xFC, 0x1F, 0x13, 0xD0, 0xE0, 0x70, 0x38, 0x38, 18 | 0x18, 0x18, 0x18, 0x08, 0x08, 0x4F, 0xCF, 0xE0, 0x1F, 0x11, 0xC0, 0xE0, 19 | 0x60, 0xC1, 0xF0, 0x38, 0x0C, 0x06, 0x03, 0x01, 0x19, 0x8F, 0x00, 0x00, 20 | 0x80, 0xC0, 0xE1, 0xE0, 0xB0, 0x98, 0x9C, 0x8C, 0xFF, 0x07, 0x03, 0x01, 21 | 0x80, 0x0F, 0x88, 0x08, 0x07, 0x83, 0xE0, 0x78, 0x1C, 0x06, 0x03, 0x01, 22 | 0x80, 0x9C, 0x87, 0x80, 0x03, 0x87, 0x07, 0x07, 0x07, 0x03, 0xE3, 0x99, 23 | 0xCC, 0xC6, 0x63, 0x33, 0x89, 0x87, 0x80, 0x3F, 0xBF, 0x90, 0x80, 0xC0, 24 | 0x40, 0x60, 0x20, 0x30, 0x30, 0x10, 0x18, 0x08, 0x00, 0x1E, 0x13, 0x31, 25 | 0x31, 0x3A, 0x1C, 0x1C, 0x6E, 0xC6, 0xC6, 0xC6, 0x44, 0x38, 0x0E, 0x1C, 26 | 0x8C, 0x6C, 0x36, 0x3B, 0x1D, 0x8E, 0x7E, 0x0E, 0x07, 0x07, 0x0E, 0x0C, 27 | 0x00, 0x39, 0xCE, 0x00, 0x03, 0x9C, 0xE0, 0x39, 0xCE, 0x00, 0x01, 0x8C, 28 | 0x22, 0x20, 0x00, 0x01, 0xC3, 0xC7, 0x8E, 0x06, 0x01, 0xE0, 0x3C, 0x07, 29 | 0x80, 0x40, 0xFF, 0x80, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x60, 0x1E, 0x03, 30 | 0xC0, 0x78, 0x1C, 0x3C, 0x78, 0xF0, 0x40, 0x00, 0x1C, 0x27, 0x37, 0x07, 31 | 0x0E, 0x1C, 0x30, 0x60, 0x40, 0x00, 0xE0, 0xE0, 0xE0, 0x0F, 0x80, 0xC3, 32 | 0x08, 0x04, 0xC3, 0x3C, 0x24, 0xE2, 0x27, 0x33, 0x39, 0x11, 0xC9, 0x93, 33 | 0x77, 0x18, 0x00, 0x70, 0x40, 0xFC, 0x00, 0x00, 0x80, 0x18, 0x01, 0x80, 34 | 0x38, 0x05, 0x80, 0x5C, 0x09, 0xC1, 0x1C, 0x1F, 0xC2, 0x0C, 0x20, 0xC4, 35 | 0x0E, 0xF3, 0xF0, 0x3F, 0xE0, 0xC7, 0x0C, 0x71, 0xC7, 0x1C, 0xE1, 0xF0, 36 | 0x39, 0xC3, 0x8E, 0x38, 0xE3, 0x0E, 0x71, 0xE7, 0x1C, 0xFF, 0x00, 0x07, 37 | 0xD1, 0xC7, 0x38, 0x27, 0x02, 0x70, 0x0F, 0x00, 0xE0, 0x0E, 0x00, 0xE0, 38 | 0x0E, 0x00, 0x60, 0x87, 0x18, 0x1E, 0x00, 0x3F, 0xE0, 0x30, 0xE0, 0xC1, 39 | 0x87, 0x07, 0x1C, 0x1C, 0x60, 0x73, 0x81, 0xCE, 0x07, 0x38, 0x38, 0xC0, 40 | 0xE7, 0x07, 0x1C, 0x78, 0xFF, 0x80, 0x1F, 0xF8, 0x61, 0xC3, 0x04, 0x38, 41 | 0x81, 0xCC, 0x0F, 0xE0, 0xE2, 0x07, 0x10, 0x38, 0x81, 0x81, 0x1C, 0x18, 42 | 0xE3, 0x8F, 0xFC, 0x00, 0x3F, 0xF8, 0x61, 0xC3, 0x04, 0x38, 0x81, 0xCC, 43 | 0x0F, 0xE0, 0xE2, 0x07, 0x10, 0x38, 0x81, 0x80, 0x1C, 0x00, 0xE0, 0x0F, 44 | 0x80, 0x00, 0x07, 0x91, 0xC7, 0x38, 0x27, 0x00, 0x70, 0x0F, 0x00, 0xE1, 45 | 0xFE, 0x0E, 0xE0, 0xCE, 0x0C, 0x60, 0xC7, 0x1C, 0x1F, 0x00, 0x1F, 0x7E, 46 | 0x1C, 0x38, 0x30, 0x60, 0xE1, 0xC1, 0xC3, 0x83, 0x06, 0x0F, 0xFC, 0x1C, 47 | 0x38, 0x38, 0x70, 0x60, 0xC1, 0xC3, 0x83, 0x87, 0x0F, 0x9F, 0x00, 0x3F, 48 | 0x0C, 0x0C, 0x1C, 0x1C, 0x18, 0x38, 0x38, 0x38, 0x30, 0x70, 0x70, 0xF8, 49 | 0x07, 0xC0, 0xE0, 0x38, 0x0C, 0x07, 0x01, 0xC0, 0x70, 0x18, 0x0E, 0x03, 50 | 0x80, 0xC3, 0x30, 0xDC, 0x1E, 0x00, 0x1F, 0x78, 0x71, 0x83, 0x18, 0x39, 51 | 0x81, 0xD0, 0x0D, 0x00, 0xFC, 0x07, 0x60, 0x3B, 0x81, 0x8C, 0x1C, 0x70, 52 | 0xE1, 0x8F, 0xBE, 0x00, 0x1F, 0x00, 0xC0, 0x0C, 0x01, 0xC0, 0x1C, 0x01, 53 | 0x80, 0x38, 0x03, 0x80, 0x38, 0x03, 0x01, 0x70, 0x37, 0x0E, 0xFF, 0xE0, 54 | 0x1E, 0x07, 0x87, 0x07, 0x83, 0x83, 0x82, 0xC3, 0xC1, 0x62, 0xE0, 0xB1, 55 | 0x70, 0x99, 0x30, 0x4D, 0xB8, 0x27, 0x9C, 0x13, 0x8C, 0x11, 0xC6, 0x0C, 56 | 0xC7, 0x0F, 0x47, 0xC0, 0x3C, 0x3C, 0x38, 0x20, 0xE0, 0x85, 0xC4, 0x13, 57 | 0x10, 0x4E, 0x42, 0x3A, 0x08, 0x78, 0x21, 0xE0, 0x83, 0x84, 0x0C, 0x18, 58 | 0x10, 0x00, 0x40, 0x07, 0xC1, 0xCE, 0x38, 0x73, 0x87, 0x70, 0x77, 0x07, 59 | 0xF0, 0xFE, 0x0E, 0xE0, 0xEE, 0x1C, 0xE1, 0xC6, 0x38, 0x3E, 0x00, 0x3F, 60 | 0xC0, 0xC7, 0x0C, 0x71, 0xC7, 0x1C, 0x71, 0x8E, 0x3F, 0xC3, 0x80, 0x30, 61 | 0x03, 0x00, 0x70, 0x07, 0x00, 0xF8, 0x00, 0x07, 0xC0, 0xCE, 0x38, 0x73, 62 | 0x87, 0x70, 0x77, 0x07, 0xF0, 0x7E, 0x0E, 0xE0, 0xEE, 0x0C, 0xE1, 0xC6, 63 | 0x38, 0x36, 0x01, 0x80, 0x3C, 0x2D, 0xFC, 0x3F, 0xC0, 0xE7, 0x0C, 0x71, 64 | 0xC7, 0x1C, 0x71, 0x8E, 0x3F, 0x83, 0xB8, 0x3B, 0x83, 0x3C, 0x71, 0xC7, 65 | 0x1C, 0xF9, 0xF0, 0x0C, 0x89, 0x8C, 0x46, 0x23, 0x80, 0xE0, 0x78, 0x0E, 66 | 0x03, 0x21, 0x90, 0xCC, 0xC9, 0xC0, 0x7F, 0xE9, 0xDF, 0x31, 0x4E, 0x21, 67 | 0xC0, 0x38, 0x06, 0x01, 0xC0, 0x38, 0x06, 0x00, 0xC0, 0x38, 0x0F, 0xC0, 68 | 0x7C, 0xF3, 0x82, 0x30, 0x27, 0x04, 0x70, 0x46, 0x04, 0xE0, 0x4E, 0x08, 69 | 0xE0, 0x8E, 0x08, 0xE1, 0x0F, 0x30, 0x3C, 0x00, 0xFC, 0x73, 0x82, 0x38, 70 | 0x23, 0x84, 0x38, 0x83, 0x90, 0x39, 0x01, 0xA0, 0x1C, 0x01, 0xC0, 0x18, 71 | 0x01, 0x00, 0xF9, 0xF7, 0x30, 0xE2, 0x30, 0xC2, 0x38, 0xC4, 0x3B, 0xC4, 72 | 0x3A, 0xE8, 0x3C, 0xE8, 0x3C, 0xF0, 0x18, 0xF0, 0x18, 0x60, 0x10, 0x60, 73 | 0x10, 0x40, 0x3F, 0x78, 0x61, 0x83, 0x98, 0x1D, 0x00, 0x70, 0x03, 0x80, 74 | 0x1C, 0x01, 0x60, 0x0B, 0x80, 0x9C, 0x08, 0x60, 0xC3, 0x8F, 0x7E, 0x00, 75 | 0xF9, 0xE6, 0x18, 0xC2, 0x1C, 0x81, 0xA0, 0x34, 0x07, 0x00, 0xC0, 0x18, 76 | 0x07, 0x00, 0xE0, 0x1C, 0x0F, 0xC0, 0x3F, 0xE6, 0x19, 0x87, 0x21, 0xC0, 77 | 0x30, 0x0E, 0x03, 0x80, 0x60, 0x1C, 0x07, 0x05, 0xC1, 0x38, 0xEF, 0xFC, 78 | 0x0E, 0x08, 0x18, 0x18, 0x18, 0x10, 0x30, 0x30, 0x30, 0x20, 0x60, 0x60, 79 | 0x60, 0x40, 0xF0, 0xC6, 0x10, 0xC6, 0x10, 0x86, 0x30, 0x86, 0x30, 0x1E, 80 | 0x0C, 0x18, 0x20, 0xC1, 0x83, 0x04, 0x18, 0x30, 0x60, 0x83, 0x06, 0x3C, 81 | 0x00, 0x18, 0x1C, 0x34, 0x26, 0x66, 0x43, 0xC3, 0xFF, 0x80, 0xC6, 0x30, 82 | 0x0D, 0x9D, 0x8C, 0xCC, 0x6E, 0x26, 0x33, 0x19, 0xBE, 0x66, 0x00, 0x00, 83 | 0x78, 0x18, 0x30, 0x30, 0x3E, 0x73, 0x63, 0x63, 0x63, 0xC6, 0xC6, 0xCC, 84 | 0x70, 0x0F, 0x3B, 0x70, 0x70, 0xE0, 0xE0, 0xE2, 0xE4, 0x78, 0x00, 0x00, 85 | 0xF0, 0x1C, 0x06, 0x01, 0x83, 0xE3, 0x30, 0xCC, 0x63, 0x19, 0xCC, 0x63, 86 | 0x38, 0xCF, 0x1D, 0x80, 0x0E, 0x75, 0xCB, 0xBE, 0xDE, 0x38, 0x72, 0x78, 87 | 0x00, 0xE0, 0x34, 0x0C, 0x01, 0x80, 0x30, 0x1F, 0x01, 0x80, 0x30, 0x06, 88 | 0x01, 0xC0, 0x30, 0x06, 0x00, 0xC0, 0x30, 0x06, 0x04, 0x80, 0xE0, 0x00, 89 | 0x1C, 0x19, 0xD8, 0xCC, 0x66, 0x60, 0xE1, 0x80, 0xF0, 0x7E, 0x43, 0x21, 90 | 0x8F, 0x00, 0x00, 0x1E, 0x07, 0x03, 0x01, 0x80, 0xD8, 0xFC, 0x76, 0x33, 91 | 0x19, 0x99, 0xCC, 0xD6, 0x77, 0x30, 0x39, 0xC0, 0x0F, 0x31, 0x8C, 0xC6, 92 | 0x31, 0xAE, 0x00, 0x03, 0x81, 0xC0, 0x00, 0x00, 0xE0, 0x30, 0x18, 0x18, 93 | 0x0C, 0x06, 0x03, 0x03, 0x01, 0x80, 0xC2, 0xC1, 0xC0, 0x00, 0x0F, 0x00, 94 | 0xC0, 0x60, 0x18, 0x06, 0xF3, 0x90, 0xC8, 0x34, 0x0F, 0x06, 0xC1, 0x98, 95 | 0x66, 0xB9, 0xC0, 0x03, 0xCC, 0x63, 0x39, 0x8C, 0x66, 0x31, 0x8E, 0x70, 96 | 0x7B, 0x99, 0xAF, 0xCE, 0x66, 0x63, 0x67, 0x33, 0x31, 0x99, 0x8C, 0xCC, 97 | 0xE7, 0xC6, 0x30, 0x73, 0x7F, 0x73, 0x73, 0x63, 0x67, 0xE6, 0xC7, 0xC6, 98 | 0x1E, 0x33, 0x63, 0x63, 0xC3, 0xC6, 0xC6, 0xCC, 0x78, 0x1D, 0xC3, 0xB1, 99 | 0xCC, 0x63, 0x19, 0xCE, 0x63, 0x18, 0xCC, 0x3E, 0x1C, 0x06, 0x03, 0xE0, 100 | 0x0D, 0x99, 0x8C, 0xCC, 0x6E, 0x76, 0x33, 0x19, 0x9C, 0x7C, 0x06, 0x07, 101 | 0x07, 0xC0, 0x76, 0x3A, 0x30, 0x70, 0x60, 0x60, 0x60, 0xE0, 0x3D, 0x14, 102 | 0x58, 0x38, 0x60, 0xA2, 0xF0, 0x08, 0xCC, 0xF6, 0x31, 0x98, 0xC6, 0x35, 103 | 0xC0, 0xE3, 0x63, 0x66, 0x66, 0x66, 0xCC, 0xCC, 0xFE, 0xEC, 0xE6, 0xCD, 104 | 0x8B, 0x26, 0x8E, 0x18, 0x20, 0xE4, 0xD9, 0x36, 0xE5, 0xDA, 0x77, 0x19, 105 | 0xC6, 0x61, 0x10, 0x39, 0xC7, 0xB0, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0xE1, 106 | 0x5A, 0x67, 0x00, 0x39, 0x8C, 0xC3, 0x21, 0xA0, 0xD0, 0x68, 0x38, 0x0C, 107 | 0x04, 0x04, 0x14, 0x0C, 0x00, 0x3E, 0x46, 0x0C, 0x08, 0x10, 0x20, 0x70, 108 | 0x1A, 0x0E, 0x03, 0x0E, 0x0C, 0x0C, 0x08, 0x18, 0x18, 0x10, 0x60, 0x30, 109 | 0x30, 0x30, 0x60, 0x60, 0x60, 0x30, 0xFF, 0xF0, 0x0C, 0x06, 0x06, 0x06, 110 | 0x04, 0x0C, 0x0C, 0x0C, 0x06, 0x18, 0x18, 0x18, 0x30, 0x30, 0x30, 0xE0, 111 | 0x71, 0x8F }; 112 | 113 | const GFXglyph FreeSerifBoldItalic9pt7bGlyphs[] PROGMEM = { 114 | { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' 115 | { 0, 6, 13, 7, 1, -11 }, // 0x21 '!' 116 | { 10, 6, 5, 10, 3, -11 }, // 0x22 '"' 117 | { 14, 11, 13, 9, -1, -12 }, // 0x23 '#' 118 | { 32, 11, 15, 9, -1, -12 }, // 0x24 '$' 119 | { 53, 14, 13, 15, 1, -11 }, // 0x25 '%' 120 | { 76, 13, 13, 14, 0, -11 }, // 0x26 '&' 121 | { 98, 2, 5, 5, 3, -11 }, // 0x27 ''' 122 | { 100, 5, 16, 6, 1, -11 }, // 0x28 '(' 123 | { 110, 5, 16, 6, -1, -11 }, // 0x29 ')' 124 | { 120, 8, 8, 9, 1, -11 }, // 0x2A '*' 125 | { 128, 9, 9, 10, 0, -8 }, // 0x2B '+' 126 | { 139, 3, 6, 5, -1, -2 }, // 0x2C ',' 127 | { 142, 5, 2, 6, 0, -4 }, // 0x2D '-' 128 | { 144, 3, 3, 4, 0, -1 }, // 0x2E '.' 129 | { 146, 7, 12, 6, 0, -11 }, // 0x2F '/' 130 | { 157, 9, 13, 9, 0, -11 }, // 0x30 '0' 131 | { 172, 8, 13, 9, 0, -11 }, // 0x31 '1' 132 | { 185, 9, 13, 9, 0, -11 }, // 0x32 '2' 133 | { 200, 9, 13, 9, 0, -11 }, // 0x33 '3' 134 | { 215, 9, 12, 9, 0, -11 }, // 0x34 '4' 135 | { 229, 9, 13, 9, 0, -11 }, // 0x35 '5' 136 | { 244, 9, 13, 9, 1, -11 }, // 0x36 '6' 137 | { 259, 9, 12, 9, 1, -11 }, // 0x37 '7' 138 | { 273, 8, 13, 9, 0, -11 }, // 0x38 '8' 139 | { 286, 9, 13, 9, 0, -11 }, // 0x39 '9' 140 | { 301, 5, 9, 5, 0, -7 }, // 0x3A ':' 141 | { 307, 5, 11, 5, 0, -7 }, // 0x3B ';' 142 | { 314, 9, 10, 10, 1, -9 }, // 0x3C '<' 143 | { 326, 9, 5, 10, 1, -6 }, // 0x3D '=' 144 | { 332, 9, 10, 10, 1, -9 }, // 0x3E '>' 145 | { 344, 8, 13, 9, 1, -11 }, // 0x3F '?' 146 | { 357, 13, 13, 15, 1, -12 }, // 0x40 '@' 147 | { 379, 12, 13, 13, 0, -11 }, // 0x41 'A' 148 | { 399, 12, 13, 12, 0, -11 }, // 0x42 'B' 149 | { 419, 12, 13, 11, 1, -11 }, // 0x43 'C' 150 | { 439, 14, 13, 13, 0, -11 }, // 0x44 'D' 151 | { 462, 13, 13, 11, 0, -11 }, // 0x45 'E' 152 | { 484, 13, 13, 11, 0, -11 }, // 0x46 'F' 153 | { 506, 12, 13, 13, 1, -11 }, // 0x47 'G' 154 | { 526, 15, 13, 14, 0, -11 }, // 0x48 'H' 155 | { 551, 8, 13, 7, 0, -11 }, // 0x49 'I' 156 | { 564, 10, 14, 9, 0, -11 }, // 0x4A 'J' 157 | { 582, 13, 13, 12, 0, -11 }, // 0x4B 'K' 158 | { 604, 12, 13, 11, 0, -11 }, // 0x4C 'L' 159 | { 624, 17, 13, 16, 0, -11 }, // 0x4D 'M' 160 | { 652, 14, 13, 13, 0, -11 }, // 0x4E 'N' 161 | { 675, 12, 13, 12, 1, -11 }, // 0x4F 'O' 162 | { 695, 12, 13, 11, 0, -11 }, // 0x50 'P' 163 | { 715, 12, 16, 12, 1, -11 }, // 0x51 'Q' 164 | { 739, 12, 13, 12, 0, -11 }, // 0x52 'R' 165 | { 759, 9, 13, 9, 0, -11 }, // 0x53 'S' 166 | { 774, 11, 13, 11, 2, -11 }, // 0x54 'T' 167 | { 792, 12, 13, 13, 2, -11 }, // 0x55 'U' 168 | { 812, 12, 12, 13, 2, -11 }, // 0x56 'V' 169 | { 830, 16, 12, 17, 2, -11 }, // 0x57 'W' 170 | { 854, 13, 13, 13, 0, -11 }, // 0x58 'X' 171 | { 876, 11, 13, 11, 2, -11 }, // 0x59 'Y' 172 | { 894, 11, 13, 10, 0, -11 }, // 0x5A 'Z' 173 | { 912, 8, 15, 6, -1, -11 }, // 0x5B '[' 174 | { 927, 5, 12, 7, 2, -11 }, // 0x5C '\' 175 | { 935, 7, 15, 6, -1, -11 }, // 0x5D ']' 176 | { 949, 8, 7, 10, 1, -11 }, // 0x5E '^' 177 | { 956, 9, 1, 9, 0, 3 }, // 0x5F '_' 178 | { 958, 4, 3, 6, 2, -11 }, // 0x60 '`' 179 | { 960, 9, 9, 9, 0, -7 }, // 0x61 'a' 180 | { 971, 8, 14, 9, 0, -12 }, // 0x62 'b' 181 | { 985, 8, 9, 8, 0, -7 }, // 0x63 'c' 182 | { 994, 10, 14, 9, 0, -12 }, // 0x64 'd' 183 | { 1012, 7, 9, 7, 0, -7 }, // 0x65 'e' 184 | { 1020, 11, 17, 9, -2, -12 }, // 0x66 'f' 185 | { 1044, 9, 12, 9, 0, -7 }, // 0x67 'g' 186 | { 1058, 9, 14, 10, 0, -12 }, // 0x68 'h' 187 | { 1074, 5, 13, 5, 1, -11 }, // 0x69 'i' 188 | { 1083, 9, 16, 6, -1, -11 }, // 0x6A 'j' 189 | { 1101, 10, 14, 9, 0, -12 }, // 0x6B 'k' 190 | { 1119, 5, 14, 5, 1, -12 }, // 0x6C 'l' 191 | { 1128, 13, 9, 14, 0, -7 }, // 0x6D 'm' 192 | { 1143, 8, 9, 9, 0, -7 }, // 0x6E 'n' 193 | { 1152, 8, 9, 9, 0, -7 }, // 0x6F 'o' 194 | { 1161, 10, 12, 9, -2, -7 }, // 0x70 'p' 195 | { 1176, 9, 12, 9, 0, -7 }, // 0x71 'q' 196 | { 1190, 8, 8, 7, 0, -7 }, // 0x72 'r' 197 | { 1198, 6, 9, 6, 0, -7 }, // 0x73 's' 198 | { 1205, 5, 12, 5, 1, -10 }, // 0x74 't' 199 | { 1213, 8, 9, 10, 1, -7 }, // 0x75 'u' 200 | { 1222, 7, 8, 8, 1, -7 }, // 0x76 'v' 201 | { 1229, 10, 8, 12, 1, -7 }, // 0x77 'w' 202 | { 1239, 10, 9, 9, -1, -7 }, // 0x78 'x' 203 | { 1251, 9, 12, 8, -1, -7 }, // 0x79 'y' 204 | { 1265, 8, 9, 7, 0, -7 }, // 0x7A 'z' 205 | { 1274, 8, 16, 6, 0, -12 }, // 0x7B '{' 206 | { 1290, 1, 12, 5, 2, -11 }, // 0x7C '|' 207 | { 1292, 8, 16, 6, -2, -12 }, // 0x7D '}' 208 | { 1308, 8, 2, 10, 1, -4 } }; // 0x7E '~' 209 | 210 | const GFXfont FreeSerifBoldItalic9pt7b PROGMEM = { 211 | (uint8_t *)FreeSerifBoldItalic9pt7bBitmaps, 212 | (GFXglyph *)FreeSerifBoldItalic9pt7bGlyphs, 213 | 0x20, 0x7E, 22 }; 214 | 215 | // Approx. 1982 bytes 216 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/FreeSerifItalic9pt7b.h: -------------------------------------------------------------------------------- 1 | const uint8_t FreeSerifItalic9pt7bBitmaps[] PROGMEM = { 2 | 0x11, 0x12, 0x22, 0x24, 0x40, 0x0C, 0xDE, 0xE5, 0x40, 0x04, 0x82, 0x20, 3 | 0x98, 0x24, 0x7F, 0xC4, 0x82, 0x23, 0xFC, 0x24, 0x11, 0x04, 0x83, 0x20, 4 | 0x1C, 0x1B, 0x99, 0x4D, 0x26, 0x81, 0xC0, 0x70, 0x1C, 0x13, 0x49, 0xA4, 5 | 0xDA, 0xC7, 0xC1, 0x00, 0x80, 0x1C, 0x61, 0xCF, 0x0E, 0x28, 0x30, 0xA0, 6 | 0xC5, 0x03, 0x34, 0xE7, 0xAE, 0x40, 0xB1, 0x05, 0x84, 0x26, 0x20, 0x99, 7 | 0x84, 0x3C, 0x03, 0x80, 0x6C, 0x06, 0xC0, 0x78, 0x06, 0x01, 0xEF, 0x66, 8 | 0x24, 0x24, 0xC3, 0x8C, 0x10, 0xE3, 0x87, 0xCE, 0xFA, 0x08, 0x21, 0x08, 9 | 0x61, 0x8C, 0x30, 0xC3, 0x0C, 0x30, 0x41, 0x02, 0x00, 0x10, 0x40, 0x82, 10 | 0x0C, 0x30, 0xC3, 0x0C, 0x61, 0x84, 0x21, 0x08, 0x00, 0x30, 0xCA, 0x5E, 11 | 0x6A, 0x93, 0x08, 0x08, 0x04, 0x02, 0x01, 0x0F, 0xF8, 0x40, 0x20, 0x10, 12 | 0x08, 0x00, 0x56, 0xF0, 0xF0, 0x03, 0x02, 0x06, 0x04, 0x08, 0x08, 0x10, 13 | 0x30, 0x20, 0x60, 0x40, 0xC0, 0x0E, 0x0C, 0x8C, 0x6C, 0x36, 0x1F, 0x0F, 14 | 0x07, 0x87, 0xC3, 0x61, 0xB1, 0x88, 0x83, 0x80, 0x04, 0x70, 0xC3, 0x08, 15 | 0x21, 0x86, 0x10, 0x43, 0x08, 0xF8, 0x1C, 0x67, 0x83, 0x03, 0x02, 0x06, 16 | 0x0C, 0x08, 0x10, 0x20, 0x42, 0xFC, 0x0F, 0x08, 0xC0, 0x60, 0xC1, 0xE0, 17 | 0x38, 0x0C, 0x06, 0x03, 0x01, 0x01, 0x1F, 0x00, 0x01, 0x01, 0x81, 0x41, 18 | 0x61, 0x21, 0x11, 0x18, 0x88, 0xFF, 0x02, 0x03, 0x01, 0x00, 0x0F, 0x84, 19 | 0x04, 0x03, 0x80, 0x60, 0x18, 0x0C, 0x06, 0x03, 0x03, 0x03, 0x1E, 0x00, 20 | 0x01, 0x83, 0x87, 0x07, 0x03, 0x03, 0x73, 0xCD, 0x86, 0xC3, 0x61, 0xB1, 21 | 0x88, 0xC3, 0xC0, 0x7F, 0x40, 0x80, 0x80, 0x40, 0x40, 0x60, 0x20, 0x20, 22 | 0x10, 0x10, 0x18, 0x08, 0x00, 0x1E, 0x19, 0xCC, 0x66, 0x33, 0xB0, 0xE0, 23 | 0x50, 0xCC, 0xC3, 0x61, 0xB0, 0xCC, 0xC3, 0xC0, 0x0E, 0x19, 0x8C, 0x6C, 24 | 0x36, 0x1B, 0x0D, 0x86, 0xE6, 0x3F, 0x03, 0x03, 0x06, 0x0C, 0x00, 0x33, 25 | 0x00, 0x00, 0xCC, 0x33, 0x00, 0x00, 0x44, 0x48, 0x01, 0x83, 0x86, 0x1C, 26 | 0x0C, 0x03, 0x80, 0x30, 0x07, 0x00, 0x80, 0xFF, 0x80, 0x00, 0x00, 0x0F, 27 | 0xF8, 0xC0, 0x1C, 0x03, 0x80, 0x70, 0x18, 0x38, 0x70, 0xC0, 0x80, 0x00, 28 | 0x3C, 0x8C, 0x18, 0x30, 0xC3, 0x0C, 0x20, 0x40, 0x80, 0x06, 0x00, 0x0F, 29 | 0xC0, 0xC3, 0x0C, 0x04, 0xC7, 0xBC, 0x64, 0xE2, 0x27, 0x31, 0x39, 0x91, 30 | 0xCC, 0x93, 0x3B, 0x0E, 0x00, 0x1F, 0x80, 0x01, 0x00, 0x60, 0x14, 0x04, 31 | 0xC0, 0x98, 0x23, 0x07, 0xE1, 0x04, 0x20, 0x88, 0x1B, 0x8F, 0x80, 0x3F, 32 | 0xC1, 0x8C, 0x21, 0x8C, 0x31, 0x8C, 0x3E, 0x04, 0x61, 0x86, 0x30, 0xC4, 33 | 0x19, 0x86, 0x7F, 0x80, 0x07, 0x91, 0x86, 0x30, 0x26, 0x02, 0x60, 0x0C, 34 | 0x00, 0xC0, 0x0C, 0x00, 0xC0, 0x0C, 0x00, 0x61, 0x83, 0xE0, 0x3F, 0xC0, 35 | 0x63, 0x82, 0x0C, 0x30, 0x31, 0x81, 0x8C, 0x0C, 0x40, 0x66, 0x07, 0x30, 36 | 0x31, 0x03, 0x18, 0x71, 0xFE, 0x00, 0x3F, 0xF0, 0xC2, 0x08, 0x21, 0x80, 37 | 0x19, 0x81, 0xF8, 0x11, 0x03, 0x10, 0x30, 0x02, 0x04, 0x60, 0x8F, 0xF8, 38 | 0x3F, 0xF0, 0xC2, 0x08, 0x21, 0x80, 0x19, 0x81, 0xF8, 0x11, 0x03, 0x10, 39 | 0x30, 0x02, 0x00, 0x60, 0x0F, 0x80, 0x07, 0x91, 0x87, 0x30, 0x26, 0x02, 40 | 0x60, 0x0C, 0x00, 0xC1, 0xFC, 0x0C, 0xC0, 0xCC, 0x0C, 0x60, 0x83, 0xF0, 41 | 0x3E, 0x3C, 0x30, 0x60, 0x81, 0x06, 0x0C, 0x18, 0x30, 0x7F, 0x81, 0x06, 42 | 0x0C, 0x18, 0x30, 0x60, 0x81, 0x06, 0x0C, 0x3C, 0x78, 0x1E, 0x18, 0x20, 43 | 0xC1, 0x83, 0x04, 0x18, 0x30, 0x41, 0x87, 0x80, 0x0F, 0x81, 0x80, 0x80, 44 | 0xC0, 0x60, 0x20, 0x30, 0x18, 0x0C, 0x04, 0x36, 0x1E, 0x00, 0x3E, 0x78, 45 | 0x61, 0x82, 0x10, 0x31, 0x01, 0xB0, 0x0E, 0x00, 0x58, 0x06, 0x60, 0x33, 46 | 0x01, 0x0C, 0x18, 0x61, 0xE7, 0xC0, 0x3E, 0x01, 0x80, 0x20, 0x0C, 0x01, 47 | 0x80, 0x30, 0x04, 0x01, 0x80, 0x30, 0x04, 0x0D, 0x83, 0x7F, 0xE0, 0x1C, 48 | 0x07, 0x0C, 0x0E, 0x0C, 0x14, 0x14, 0x1C, 0x14, 0x2C, 0x16, 0x4C, 0x26, 49 | 0x48, 0x26, 0x98, 0x27, 0x18, 0x27, 0x10, 0x42, 0x30, 0xF4, 0x7C, 0x38, 50 | 0x78, 0x60, 0x83, 0x04, 0x2C, 0x41, 0x22, 0x09, 0x10, 0x4D, 0x84, 0x28, 51 | 0x21, 0x41, 0x06, 0x10, 0x21, 0xE1, 0x00, 0x07, 0x83, 0x18, 0xC1, 0xB0, 52 | 0x36, 0x07, 0xC0, 0xF0, 0x3E, 0x06, 0xC0, 0xD8, 0x31, 0x8C, 0x1E, 0x00, 53 | 0x3F, 0xC1, 0x9C, 0x21, 0x8C, 0x31, 0x86, 0x31, 0x87, 0xE1, 0x80, 0x30, 54 | 0x04, 0x01, 0x80, 0x78, 0x00, 0x07, 0x83, 0x18, 0xC1, 0x98, 0x36, 0x07, 55 | 0xC0, 0xF0, 0x1E, 0x06, 0xC0, 0xD8, 0x31, 0x04, 0x13, 0x01, 0x80, 0x70, 56 | 0xB7, 0xE0, 0x3F, 0xC1, 0x8C, 0x21, 0x8C, 0x31, 0x8C, 0x3F, 0x04, 0xC1, 57 | 0x98, 0x31, 0x84, 0x31, 0x86, 0x78, 0x70, 0x1E, 0x4C, 0x63, 0x08, 0xC0, 58 | 0x38, 0x07, 0x00, 0x60, 0x0C, 0x43, 0x10, 0xC6, 0x62, 0x70, 0x7F, 0xE9, 59 | 0x8E, 0x31, 0x04, 0x01, 0x80, 0x30, 0x06, 0x00, 0x80, 0x30, 0x06, 0x00, 60 | 0x80, 0x7E, 0x00, 0x7C, 0xF3, 0x02, 0x30, 0x46, 0x04, 0x60, 0x46, 0x04, 61 | 0x40, 0x8C, 0x08, 0xC0, 0x8C, 0x10, 0xE3, 0x03, 0xC0, 0xF8, 0xEC, 0x0C, 62 | 0x81, 0x18, 0x43, 0x08, 0x62, 0x0C, 0x81, 0x90, 0x14, 0x03, 0x00, 0x60, 63 | 0x08, 0x00, 0xFB, 0xCE, 0x43, 0x0C, 0x86, 0x11, 0x8C, 0x43, 0x38, 0x86, 64 | 0xB2, 0x0D, 0x24, 0x1C, 0x50, 0x38, 0xA0, 0x21, 0x80, 0x42, 0x01, 0x04, 65 | 0x00, 0x3E, 0x71, 0x82, 0x0C, 0x40, 0xC8, 0x07, 0x00, 0x60, 0x06, 0x00, 66 | 0xB0, 0x13, 0x02, 0x18, 0x61, 0x8F, 0x3E, 0xF9, 0xC8, 0x23, 0x10, 0xC8, 67 | 0x34, 0x05, 0x01, 0x80, 0x40, 0x30, 0x0C, 0x03, 0x03, 0xE0, 0x3F, 0xE4, 68 | 0x19, 0x03, 0x00, 0xC0, 0x30, 0x0C, 0x03, 0x00, 0x40, 0x18, 0x06, 0x05, 69 | 0x81, 0x7F, 0xE0, 0x0E, 0x10, 0x20, 0x81, 0x02, 0x04, 0x10, 0x20, 0x40, 70 | 0x82, 0x04, 0x08, 0x1C, 0x00, 0x81, 0x04, 0x18, 0x20, 0xC1, 0x04, 0x08, 71 | 0x20, 0x41, 0x38, 0x20, 0x82, 0x08, 0x41, 0x04, 0x10, 0xC2, 0x08, 0x20, 72 | 0x8C, 0x00, 0x18, 0x18, 0x2C, 0x24, 0x46, 0x42, 0x83, 0xFF, 0x80, 0xD8, 73 | 0x80, 0x1F, 0x98, 0x98, 0x4C, 0x2C, 0x36, 0x33, 0x3A, 0xEE, 0x38, 0x08, 74 | 0x04, 0x02, 0x03, 0x71, 0xCC, 0xC6, 0xC3, 0x63, 0x21, 0x93, 0x8F, 0x00, 75 | 0x1F, 0x33, 0x60, 0xC0, 0xC0, 0xC0, 0xC4, 0x78, 0x01, 0x80, 0x40, 0x60, 76 | 0x20, 0xF1, 0x89, 0x8C, 0xC4, 0xC2, 0x63, 0x33, 0xAE, 0xE0, 0x0E, 0x65, 77 | 0x8B, 0x2F, 0x98, 0x31, 0x3C, 0x01, 0xE0, 0x40, 0x08, 0x02, 0x00, 0x40, 78 | 0x3E, 0x03, 0x00, 0x40, 0x08, 0x01, 0x00, 0x60, 0x0C, 0x01, 0x00, 0x20, 79 | 0x04, 0x01, 0x00, 0xC0, 0x00, 0x1E, 0x19, 0xD8, 0xCC, 0xE1, 0xC3, 0x01, 80 | 0xE0, 0xBC, 0x82, 0x41, 0x31, 0x0F, 0x00, 0x38, 0x08, 0x04, 0x02, 0x03, 81 | 0x39, 0x6C, 0xC6, 0x46, 0x63, 0x21, 0x11, 0xB8, 0xE0, 0x30, 0x00, 0xE2, 82 | 0x44, 0xC8, 0xCE, 0x06, 0x00, 0x00, 0x00, 0xC0, 0x83, 0x04, 0x08, 0x10, 83 | 0x60, 0x81, 0x02, 0x04, 0x70, 0x38, 0x10, 0x10, 0x10, 0x37, 0x22, 0x24, 84 | 0x38, 0x78, 0x48, 0x4D, 0xC6, 0x73, 0x32, 0x26, 0x64, 0x4C, 0xDE, 0x77, 85 | 0x39, 0x5E, 0xCC, 0xCC, 0xCE, 0x66, 0x62, 0x22, 0x11, 0x11, 0xB9, 0x8E, 86 | 0x77, 0x3B, 0x33, 0x62, 0x62, 0x42, 0x4D, 0xCE, 0x0F, 0x18, 0xD8, 0x7C, 87 | 0x3C, 0x3E, 0x1B, 0x18, 0xF0, 0x3B, 0x87, 0x31, 0x8C, 0x43, 0x31, 0x88, 88 | 0x62, 0x30, 0xF0, 0x60, 0x10, 0x04, 0x03, 0x80, 0x0F, 0x18, 0x98, 0x4C, 89 | 0x2C, 0x26, 0x33, 0x38, 0xEC, 0x04, 0x02, 0x03, 0x03, 0xC0, 0x76, 0x50, 90 | 0xC1, 0x06, 0x08, 0x10, 0x60, 0x1A, 0x6C, 0xC8, 0xC0, 0xD1, 0xB3, 0x5C, 91 | 0x23, 0xC8, 0xC4, 0x21, 0x18, 0xE0, 0xC3, 0x42, 0x42, 0xC6, 0x86, 0x8C, 92 | 0x9D, 0xEE, 0x62, 0xC4, 0x89, 0xA3, 0x47, 0x0C, 0x10, 0xE2, 0x2C, 0x44, 93 | 0xD8, 0x9D, 0x23, 0xA4, 0x65, 0x0C, 0xC1, 0x10, 0x19, 0x95, 0x43, 0x01, 94 | 0x80, 0xC0, 0xA0, 0x91, 0x8E, 0x70, 0x88, 0x46, 0x23, 0x20, 0x90, 0x50, 95 | 0x28, 0x18, 0x08, 0x08, 0x08, 0x18, 0x00, 0x3F, 0x42, 0x04, 0x08, 0x10, 96 | 0x20, 0x40, 0x72, 0x0E, 0x08, 0x61, 0x04, 0x30, 0x86, 0x08, 0x61, 0x04, 97 | 0x30, 0xC3, 0x8F, 0x00, 0xFF, 0xF0, 0x1E, 0x0C, 0x10, 0x20, 0xC1, 0x82, 98 | 0x04, 0x1C, 0x30, 0x40, 0x83, 0x04, 0x08, 0x20, 0x60, 0x99, 0x8E }; 99 | 100 | const GFXglyph FreeSerifItalic9pt7bGlyphs[] PROGMEM = { 101 | { 0, 0, 0, 5, 0, 1 }, // 0x20 ' ' 102 | { 0, 4, 12, 6, 1, -11 }, // 0x21 '!' 103 | { 6, 5, 4, 6, 3, -11 }, // 0x22 '"' 104 | { 9, 10, 12, 9, 0, -11 }, // 0x23 '#' 105 | { 24, 9, 15, 9, 1, -12 }, // 0x24 '$' 106 | { 41, 14, 12, 15, 1, -11 }, // 0x25 '%' 107 | { 62, 12, 12, 14, 1, -11 }, // 0x26 '&' 108 | { 80, 2, 4, 4, 3, -11 }, // 0x27 ''' 109 | { 81, 6, 15, 6, 1, -11 }, // 0x28 '(' 110 | { 93, 6, 15, 6, 0, -11 }, // 0x29 ')' 111 | { 105, 6, 8, 9, 3, -11 }, // 0x2A '*' 112 | { 111, 9, 9, 12, 1, -8 }, // 0x2B '+' 113 | { 122, 2, 4, 5, 0, -1 }, // 0x2C ',' 114 | { 123, 4, 1, 6, 1, -3 }, // 0x2D '-' 115 | { 124, 2, 2, 5, 0, -1 }, // 0x2E '.' 116 | { 125, 8, 12, 5, 0, -11 }, // 0x2F '/' 117 | { 137, 9, 13, 9, 1, -12 }, // 0x30 '0' 118 | { 152, 6, 13, 9, 1, -12 }, // 0x31 '1' 119 | { 162, 8, 12, 9, 1, -11 }, // 0x32 '2' 120 | { 174, 9, 12, 9, 0, -11 }, // 0x33 '3' 121 | { 188, 9, 12, 9, 0, -11 }, // 0x34 '4' 122 | { 202, 9, 12, 9, 0, -11 }, // 0x35 '5' 123 | { 216, 9, 13, 9, 1, -12 }, // 0x36 '6' 124 | { 231, 9, 12, 9, 1, -11 }, // 0x37 '7' 125 | { 245, 9, 13, 9, 1, -12 }, // 0x38 '8' 126 | { 260, 9, 13, 9, 0, -12 }, // 0x39 '9' 127 | { 275, 4, 8, 4, 1, -7 }, // 0x3A ':' 128 | { 279, 4, 10, 4, 1, -7 }, // 0x3B ';' 129 | { 284, 9, 9, 10, 1, -8 }, // 0x3C '<' 130 | { 295, 9, 5, 12, 2, -6 }, // 0x3D '=' 131 | { 301, 9, 9, 10, 1, -8 }, // 0x3E '>' 132 | { 312, 7, 12, 8, 2, -11 }, // 0x3F '?' 133 | { 323, 13, 12, 14, 1, -11 }, // 0x40 '@' 134 | { 343, 11, 11, 12, 0, -10 }, // 0x41 'A' 135 | { 359, 11, 12, 11, 0, -11 }, // 0x42 'B' 136 | { 376, 12, 12, 11, 1, -11 }, // 0x43 'C' 137 | { 394, 13, 12, 13, 0, -11 }, // 0x44 'D' 138 | { 414, 12, 12, 10, 0, -11 }, // 0x45 'E' 139 | { 432, 12, 12, 10, 0, -11 }, // 0x46 'F' 140 | { 450, 12, 12, 12, 1, -11 }, // 0x47 'G' 141 | { 468, 14, 12, 13, 0, -11 }, // 0x48 'H' 142 | { 489, 7, 12, 6, 0, -11 }, // 0x49 'I' 143 | { 500, 9, 12, 8, 0, -11 }, // 0x4A 'J' 144 | { 514, 13, 12, 12, 0, -11 }, // 0x4B 'K' 145 | { 534, 11, 12, 10, 0, -11 }, // 0x4C 'L' 146 | { 551, 16, 12, 15, 0, -11 }, // 0x4D 'M' 147 | { 575, 13, 12, 12, 0, -11 }, // 0x4E 'N' 148 | { 595, 11, 12, 12, 1, -11 }, // 0x4F 'O' 149 | { 612, 11, 12, 10, 0, -11 }, // 0x50 'P' 150 | { 629, 11, 15, 12, 1, -11 }, // 0x51 'Q' 151 | { 650, 11, 12, 11, 0, -11 }, // 0x52 'R' 152 | { 667, 10, 12, 8, 0, -11 }, // 0x53 'S' 153 | { 682, 11, 12, 11, 2, -11 }, // 0x54 'T' 154 | { 699, 12, 12, 13, 2, -11 }, // 0x55 'U' 155 | { 717, 11, 12, 12, 2, -11 }, // 0x56 'V' 156 | { 734, 15, 12, 16, 2, -11 }, // 0x57 'W' 157 | { 757, 12, 12, 12, 0, -11 }, // 0x58 'X' 158 | { 775, 10, 12, 11, 2, -11 }, // 0x59 'Y' 159 | { 790, 11, 12, 10, 0, -11 }, // 0x5A 'Z' 160 | { 807, 7, 15, 7, 0, -11 }, // 0x5B '[' 161 | { 821, 6, 12, 9, 2, -11 }, // 0x5C '\' 162 | { 830, 6, 15, 7, 1, -11 }, // 0x5D ']' 163 | { 842, 8, 7, 8, 0, -11 }, // 0x5E '^' 164 | { 849, 9, 1, 9, 0, 2 }, // 0x5F '_' 165 | { 851, 3, 3, 5, 2, -11 }, // 0x60 '`' 166 | { 853, 9, 8, 9, 0, -7 }, // 0x61 'a' 167 | { 862, 9, 12, 9, 0, -11 }, // 0x62 'b' 168 | { 876, 8, 8, 7, 0, -7 }, // 0x63 'c' 169 | { 884, 9, 12, 9, 0, -11 }, // 0x64 'd' 170 | { 898, 7, 8, 7, 0, -7 }, // 0x65 'e' 171 | { 905, 11, 17, 8, -1, -12 }, // 0x66 'f' 172 | { 929, 9, 12, 8, 0, -7 }, // 0x67 'g' 173 | { 943, 9, 12, 9, 0, -11 }, // 0x68 'h' 174 | { 957, 4, 12, 4, 1, -11 }, // 0x69 'i' 175 | { 963, 7, 16, 5, -1, -11 }, // 0x6A 'j' 176 | { 977, 8, 12, 8, 0, -11 }, // 0x6B 'k' 177 | { 989, 4, 12, 5, 1, -11 }, // 0x6C 'l' 178 | { 995, 13, 8, 13, 0, -7 }, // 0x6D 'm' 179 | { 1008, 8, 8, 9, 0, -7 }, // 0x6E 'n' 180 | { 1016, 9, 8, 9, 0, -7 }, // 0x6F 'o' 181 | { 1025, 10, 12, 8, -1, -7 }, // 0x70 'p' 182 | { 1040, 9, 12, 9, 0, -7 }, // 0x71 'q' 183 | { 1054, 7, 8, 7, 0, -7 }, // 0x72 'r' 184 | { 1061, 7, 8, 6, 0, -7 }, // 0x73 's' 185 | { 1068, 5, 9, 4, 0, -8 }, // 0x74 't' 186 | { 1074, 8, 8, 9, 1, -7 }, // 0x75 'u' 187 | { 1082, 7, 8, 8, 1, -7 }, // 0x76 'v' 188 | { 1089, 11, 8, 12, 1, -7 }, // 0x77 'w' 189 | { 1100, 9, 8, 8, -1, -7 }, // 0x78 'x' 190 | { 1109, 9, 12, 9, 0, -7 }, // 0x79 'y' 191 | { 1123, 8, 9, 7, 0, -7 }, // 0x7A 'z' 192 | { 1132, 6, 15, 7, 1, -11 }, // 0x7B '{' 193 | { 1144, 1, 12, 5, 2, -11 }, // 0x7C '|' 194 | { 1146, 7, 16, 7, 0, -12 }, // 0x7D '}' 195 | { 1160, 8, 3, 10, 1, -5 } }; // 0x7E '~' 196 | 197 | const GFXfont FreeSerifItalic9pt7b PROGMEM = { 198 | (uint8_t *)FreeSerifItalic9pt7bBitmaps, 199 | (GFXglyph *)FreeSerifItalic9pt7bGlyphs, 200 | 0x20, 0x7E, 22 }; 201 | 202 | // Approx. 1835 bytes 203 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/Org_01.h: -------------------------------------------------------------------------------- 1 | // Org_v01 by Orgdot (www.orgdot.com/aliasfonts). A tiny, 2 | // stylized font with all characters within a 6 pixel height. 3 | 4 | const uint8_t Org_01Bitmaps[] PROGMEM = { 5 | 0xE8, 0xA0, 0x57, 0xD5, 0xF5, 0x00, 0xFD, 0x3E, 0x5F, 0x80, 0x88, 0x88, 6 | 0x88, 0x80, 0xF4, 0xBF, 0x2E, 0x80, 0x80, 0x6A, 0x40, 0x95, 0x80, 0xAA, 7 | 0x80, 0x5D, 0x00, 0xC0, 0xF0, 0x80, 0x08, 0x88, 0x88, 0x00, 0xFC, 0x63, 8 | 0x1F, 0x80, 0xF8, 0xF8, 0x7F, 0x0F, 0x80, 0xF8, 0x7E, 0x1F, 0x80, 0x8C, 9 | 0x7E, 0x10, 0x80, 0xFC, 0x3E, 0x1F, 0x80, 0xFC, 0x3F, 0x1F, 0x80, 0xF8, 10 | 0x42, 0x10, 0x80, 0xFC, 0x7F, 0x1F, 0x80, 0xFC, 0x7E, 0x1F, 0x80, 0x90, 11 | 0xB0, 0x2A, 0x22, 0xF0, 0xF0, 0x88, 0xA8, 0xF8, 0x4E, 0x02, 0x00, 0xFD, 12 | 0x6F, 0x0F, 0x80, 0xFC, 0x7F, 0x18, 0x80, 0xF4, 0x7D, 0x1F, 0x00, 0xFC, 13 | 0x21, 0x0F, 0x80, 0xF4, 0x63, 0x1F, 0x00, 0xFC, 0x3F, 0x0F, 0x80, 0xFC, 14 | 0x3F, 0x08, 0x00, 0xFC, 0x2F, 0x1F, 0x80, 0x8C, 0x7F, 0x18, 0x80, 0xF9, 15 | 0x08, 0x4F, 0x80, 0x78, 0x85, 0x2F, 0x80, 0x8D, 0xB1, 0x68, 0x80, 0x84, 16 | 0x21, 0x0F, 0x80, 0xFD, 0x6B, 0x5A, 0x80, 0xFC, 0x63, 0x18, 0x80, 0xFC, 17 | 0x63, 0x1F, 0x80, 0xFC, 0x7F, 0x08, 0x00, 0xFC, 0x63, 0x3F, 0x80, 0xFC, 18 | 0x7F, 0x29, 0x00, 0xFC, 0x3E, 0x1F, 0x80, 0xF9, 0x08, 0x42, 0x00, 0x8C, 19 | 0x63, 0x1F, 0x80, 0x8C, 0x62, 0xA2, 0x00, 0xAD, 0x6B, 0x5F, 0x80, 0x8A, 20 | 0x88, 0xA8, 0x80, 0x8C, 0x54, 0x42, 0x00, 0xF8, 0x7F, 0x0F, 0x80, 0xEA, 21 | 0xC0, 0x82, 0x08, 0x20, 0x80, 0xD5, 0xC0, 0x54, 0xF8, 0x80, 0xF1, 0xFF, 22 | 0x8F, 0x99, 0xF0, 0xF8, 0x8F, 0x1F, 0x99, 0xF0, 0xFF, 0x8F, 0x6B, 0xA4, 23 | 0xF9, 0x9F, 0x10, 0x8F, 0x99, 0x90, 0xF0, 0x55, 0xC0, 0x8A, 0xF9, 0x90, 24 | 0xF8, 0xFD, 0x63, 0x10, 0xF9, 0x99, 0xF9, 0x9F, 0xF9, 0x9F, 0x80, 0xF9, 25 | 0x9F, 0x20, 0xF8, 0x88, 0x47, 0x1F, 0x27, 0xC8, 0x42, 0x00, 0x99, 0x9F, 26 | 0x99, 0x97, 0x8C, 0x6B, 0xF0, 0x96, 0x69, 0x99, 0x9F, 0x10, 0x2E, 0x8F, 27 | 0x2B, 0x22, 0xF8, 0x89, 0xA8, 0x0F, 0xE0 }; 28 | 29 | const GFXglyph Org_01Glyphs[] PROGMEM = { 30 | { 0, 0, 0, 6, 0, 1 }, // 0x20 ' ' 31 | { 0, 1, 5, 2, 0, -4 }, // 0x21 '!' 32 | { 1, 3, 1, 4, 0, -4 }, // 0x22 '"' 33 | { 2, 5, 5, 6, 0, -4 }, // 0x23 '#' 34 | { 6, 5, 5, 6, 0, -4 }, // 0x24 '$' 35 | { 10, 5, 5, 6, 0, -4 }, // 0x25 '%' 36 | { 14, 5, 5, 6, 0, -4 }, // 0x26 '&' 37 | { 18, 1, 1, 2, 0, -4 }, // 0x27 ''' 38 | { 19, 2, 5, 3, 0, -4 }, // 0x28 '(' 39 | { 21, 2, 5, 3, 0, -4 }, // 0x29 ')' 40 | { 23, 3, 3, 4, 0, -3 }, // 0x2A '*' 41 | { 25, 3, 3, 4, 0, -3 }, // 0x2B '+' 42 | { 27, 1, 2, 2, 0, 0 }, // 0x2C ',' 43 | { 28, 4, 1, 5, 0, -2 }, // 0x2D '-' 44 | { 29, 1, 1, 2, 0, 0 }, // 0x2E '.' 45 | { 30, 5, 5, 6, 0, -4 }, // 0x2F '/' 46 | { 34, 5, 5, 6, 0, -4 }, // 0x30 '0' 47 | { 38, 1, 5, 2, 0, -4 }, // 0x31 '1' 48 | { 39, 5, 5, 6, 0, -4 }, // 0x32 '2' 49 | { 43, 5, 5, 6, 0, -4 }, // 0x33 '3' 50 | { 47, 5, 5, 6, 0, -4 }, // 0x34 '4' 51 | { 51, 5, 5, 6, 0, -4 }, // 0x35 '5' 52 | { 55, 5, 5, 6, 0, -4 }, // 0x36 '6' 53 | { 59, 5, 5, 6, 0, -4 }, // 0x37 '7' 54 | { 63, 5, 5, 6, 0, -4 }, // 0x38 '8' 55 | { 67, 5, 5, 6, 0, -4 }, // 0x39 '9' 56 | { 71, 1, 4, 2, 0, -3 }, // 0x3A ':' 57 | { 72, 1, 4, 2, 0, -3 }, // 0x3B ';' 58 | { 73, 3, 5, 4, 0, -4 }, // 0x3C '<' 59 | { 75, 4, 3, 5, 0, -3 }, // 0x3D '=' 60 | { 77, 3, 5, 4, 0, -4 }, // 0x3E '>' 61 | { 79, 5, 5, 6, 0, -4 }, // 0x3F '?' 62 | { 83, 5, 5, 6, 0, -4 }, // 0x40 '@' 63 | { 87, 5, 5, 6, 0, -4 }, // 0x41 'A' 64 | { 91, 5, 5, 6, 0, -4 }, // 0x42 'B' 65 | { 95, 5, 5, 6, 0, -4 }, // 0x43 'C' 66 | { 99, 5, 5, 6, 0, -4 }, // 0x44 'D' 67 | { 103, 5, 5, 6, 0, -4 }, // 0x45 'E' 68 | { 107, 5, 5, 6, 0, -4 }, // 0x46 'F' 69 | { 111, 5, 5, 6, 0, -4 }, // 0x47 'G' 70 | { 115, 5, 5, 6, 0, -4 }, // 0x48 'H' 71 | { 119, 5, 5, 6, 0, -4 }, // 0x49 'I' 72 | { 123, 5, 5, 6, 0, -4 }, // 0x4A 'J' 73 | { 127, 5, 5, 6, 0, -4 }, // 0x4B 'K' 74 | { 131, 5, 5, 6, 0, -4 }, // 0x4C 'L' 75 | { 135, 5, 5, 6, 0, -4 }, // 0x4D 'M' 76 | { 139, 5, 5, 6, 0, -4 }, // 0x4E 'N' 77 | { 143, 5, 5, 6, 0, -4 }, // 0x4F 'O' 78 | { 147, 5, 5, 6, 0, -4 }, // 0x50 'P' 79 | { 151, 5, 5, 6, 0, -4 }, // 0x51 'Q' 80 | { 155, 5, 5, 6, 0, -4 }, // 0x52 'R' 81 | { 159, 5, 5, 6, 0, -4 }, // 0x53 'S' 82 | { 163, 5, 5, 6, 0, -4 }, // 0x54 'T' 83 | { 167, 5, 5, 6, 0, -4 }, // 0x55 'U' 84 | { 171, 5, 5, 6, 0, -4 }, // 0x56 'V' 85 | { 175, 5, 5, 6, 0, -4 }, // 0x57 'W' 86 | { 179, 5, 5, 6, 0, -4 }, // 0x58 'X' 87 | { 183, 5, 5, 6, 0, -4 }, // 0x59 'Y' 88 | { 187, 5, 5, 6, 0, -4 }, // 0x5A 'Z' 89 | { 191, 2, 5, 3, 0, -4 }, // 0x5B '[' 90 | { 193, 5, 5, 6, 0, -4 }, // 0x5C '\' 91 | { 197, 2, 5, 3, 0, -4 }, // 0x5D ']' 92 | { 199, 3, 2, 4, 0, -4 }, // 0x5E '^' 93 | { 200, 5, 1, 6, 0, 1 }, // 0x5F '_' 94 | { 201, 1, 1, 2, 0, -4 }, // 0x60 '`' 95 | { 202, 4, 4, 5, 0, -3 }, // 0x61 'a' 96 | { 204, 4, 5, 5, 0, -4 }, // 0x62 'b' 97 | { 207, 4, 4, 5, 0, -3 }, // 0x63 'c' 98 | { 209, 4, 5, 5, 0, -4 }, // 0x64 'd' 99 | { 212, 4, 4, 5, 0, -3 }, // 0x65 'e' 100 | { 214, 3, 5, 4, 0, -4 }, // 0x66 'f' 101 | { 216, 4, 5, 5, 0, -3 }, // 0x67 'g' 102 | { 219, 4, 5, 5, 0, -4 }, // 0x68 'h' 103 | { 222, 1, 4, 2, 0, -3 }, // 0x69 'i' 104 | { 223, 2, 5, 3, 0, -3 }, // 0x6A 'j' 105 | { 225, 4, 5, 5, 0, -4 }, // 0x6B 'k' 106 | { 228, 1, 5, 2, 0, -4 }, // 0x6C 'l' 107 | { 229, 5, 4, 6, 0, -3 }, // 0x6D 'm' 108 | { 232, 4, 4, 5, 0, -3 }, // 0x6E 'n' 109 | { 234, 4, 4, 5, 0, -3 }, // 0x6F 'o' 110 | { 236, 4, 5, 5, 0, -3 }, // 0x70 'p' 111 | { 239, 4, 5, 5, 0, -3 }, // 0x71 'q' 112 | { 242, 4, 4, 5, 0, -3 }, // 0x72 'r' 113 | { 244, 4, 4, 5, 0, -3 }, // 0x73 's' 114 | { 246, 5, 5, 6, 0, -4 }, // 0x74 't' 115 | { 250, 4, 4, 5, 0, -3 }, // 0x75 'u' 116 | { 252, 4, 4, 5, 0, -3 }, // 0x76 'v' 117 | { 254, 5, 4, 6, 0, -3 }, // 0x77 'w' 118 | { 257, 4, 4, 5, 0, -3 }, // 0x78 'x' 119 | { 259, 4, 5, 5, 0, -3 }, // 0x79 'y' 120 | { 262, 4, 4, 5, 0, -3 }, // 0x7A 'z' 121 | { 264, 3, 5, 4, 0, -4 }, // 0x7B '{' 122 | { 266, 1, 5, 2, 0, -4 }, // 0x7C '|' 123 | { 267, 3, 5, 4, 0, -4 }, // 0x7D '}' 124 | { 269, 5, 3, 6, 0, -3 } }; // 0x7E '~' 125 | 126 | const GFXfont Org_01 PROGMEM = { 127 | (uint8_t *)Org_01Bitmaps, 128 | (GFXglyph *)Org_01Glyphs, 129 | 0x20, 0x7E, 7 }; 130 | 131 | // Approx. 943 bytes 132 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/Fonts/Picopixel.h: -------------------------------------------------------------------------------- 1 | // Picopixel by Sebastian Weber. A tiny font 2 | // with all characters within a 6 pixel height. 3 | 4 | const uint8_t PicopixelBitmaps[] PROGMEM = { 5 | 0xE8, 0xB4, 0x57, 0xD5, 0xF5, 0x00, 0x4E, 0x3E, 0x80, 0xA5, 0x4A, 0x4A, 6 | 0x5A, 0x50, 0xC0, 0x6A, 0x40, 0x95, 0x80, 0xAA, 0x80, 0x5D, 0x00, 0x60, 7 | 0xE0, 0x80, 0x25, 0x48, 0x56, 0xD4, 0x75, 0x40, 0xC5, 0x4E, 0xC5, 0x1C, 8 | 0x97, 0x92, 0xF3, 0x1C, 0x53, 0x54, 0xE5, 0x48, 0x55, 0x54, 0x55, 0x94, 9 | 0xA0, 0x46, 0x64, 0xE3, 0x80, 0x98, 0xC5, 0x04, 0x56, 0xC6, 0x57, 0xDA, 10 | 0xD7, 0x5C, 0x72, 0x46, 0xD6, 0xDC, 0xF3, 0xCE, 0xF3, 0x48, 0x72, 0xD4, 11 | 0xB7, 0xDA, 0xF8, 0x24, 0xD4, 0xBB, 0x5A, 0x92, 0x4E, 0x8E, 0xEB, 0x58, 12 | 0x80, 0x9D, 0xB9, 0x90, 0x56, 0xD4, 0xD7, 0x48, 0x56, 0xD4, 0x40, 0xD7, 13 | 0x5A, 0x71, 0x1C, 0xE9, 0x24, 0xB6, 0xD4, 0xB6, 0xA4, 0x8C, 0x6B, 0x55, 14 | 0x00, 0xB5, 0x5A, 0xB5, 0x24, 0xE5, 0x4E, 0xEA, 0xC0, 0x91, 0x12, 0xD5, 15 | 0xC0, 0x54, 0xF0, 0x90, 0xC7, 0xF0, 0x93, 0x5E, 0x71, 0x80, 0x25, 0xDE, 16 | 0x5E, 0x30, 0x6E, 0x80, 0x77, 0x9C, 0x93, 0x5A, 0xB8, 0x45, 0x60, 0x92, 17 | 0xEA, 0xAA, 0x40, 0xD5, 0x6A, 0xD6, 0x80, 0x55, 0x00, 0xD7, 0x40, 0x75, 18 | 0x90, 0xE8, 0x71, 0xE0, 0xBA, 0x40, 0xB5, 0x80, 0xB5, 0x00, 0x8D, 0x54, 19 | 0xAA, 0x80, 0xAC, 0xE0, 0xE5, 0x70, 0x6A, 0x26, 0xFC, 0xC8, 0xAC, 0x5A }; 20 | 21 | const GFXglyph PicopixelGlyphs[] PROGMEM = { 22 | { 0, 0, 0, 2, 0, 1 }, // 0x20 ' ' 23 | { 0, 1, 5, 2, 0, -4 }, // 0x21 '!' 24 | { 1, 3, 2, 4, 0, -4 }, // 0x22 '"' 25 | { 2, 5, 5, 6, 0, -4 }, // 0x23 '#' 26 | { 6, 3, 6, 4, 0, -4 }, // 0x24 '$' 27 | { 9, 3, 5, 4, 0, -4 }, // 0x25 '%' 28 | { 11, 4, 5, 5, 0, -4 }, // 0x26 '&' 29 | { 14, 1, 2, 2, 0, -4 }, // 0x27 ''' 30 | { 15, 2, 5, 3, 0, -4 }, // 0x28 '(' 31 | { 17, 2, 5, 3, 0, -4 }, // 0x29 ')' 32 | { 19, 3, 3, 4, 0, -3 }, // 0x2A '*' 33 | { 21, 3, 3, 4, 0, -3 }, // 0x2B '+' 34 | { 23, 2, 2, 3, 0, 0 }, // 0x2C ',' 35 | { 24, 3, 1, 4, 0, -2 }, // 0x2D '-' 36 | { 25, 1, 1, 2, 0, 0 }, // 0x2E '.' 37 | { 26, 3, 5, 4, 0, -4 }, // 0x2F '/' 38 | { 28, 3, 5, 4, 0, -4 }, // 0x30 '0' 39 | { 30, 2, 5, 3, 0, -4 }, // 0x31 '1' 40 | { 32, 3, 5, 4, 0, -4 }, // 0x32 '2' 41 | { 34, 3, 5, 4, 0, -4 }, // 0x33 '3' 42 | { 36, 3, 5, 4, 0, -4 }, // 0x34 '4' 43 | { 38, 3, 5, 4, 0, -4 }, // 0x35 '5' 44 | { 40, 3, 5, 4, 0, -4 }, // 0x36 '6' 45 | { 42, 3, 5, 4, 0, -4 }, // 0x37 '7' 46 | { 44, 3, 5, 4, 0, -4 }, // 0x38 '8' 47 | { 46, 3, 5, 4, 0, -4 }, // 0x39 '9' 48 | { 48, 1, 3, 2, 0, -3 }, // 0x3A ':' 49 | { 49, 2, 4, 3, 0, -3 }, // 0x3B ';' 50 | { 50, 2, 3, 3, 0, -3 }, // 0x3C '<' 51 | { 51, 3, 3, 4, 0, -3 }, // 0x3D '=' 52 | { 53, 2, 3, 3, 0, -3 }, // 0x3E '>' 53 | { 54, 3, 5, 4, 0, -4 }, // 0x3F '?' 54 | { 56, 3, 5, 4, 0, -4 }, // 0x40 '@' 55 | { 58, 3, 5, 4, 0, -4 }, // 0x41 'A' 56 | { 60, 3, 5, 4, 0, -4 }, // 0x42 'B' 57 | { 62, 3, 5, 4, 0, -4 }, // 0x43 'C' 58 | { 64, 3, 5, 4, 0, -4 }, // 0x44 'D' 59 | { 66, 3, 5, 4, 0, -4 }, // 0x45 'E' 60 | { 68, 3, 5, 4, 0, -4 }, // 0x46 'F' 61 | { 70, 3, 5, 4, 0, -4 }, // 0x47 'G' 62 | { 72, 3, 5, 4, 0, -4 }, // 0x48 'H' 63 | { 74, 1, 5, 2, 0, -4 }, // 0x49 'I' 64 | { 75, 3, 5, 4, 0, -4 }, // 0x4A 'J' 65 | { 77, 3, 5, 4, 0, -4 }, // 0x4B 'K' 66 | { 79, 3, 5, 4, 0, -4 }, // 0x4C 'L' 67 | { 81, 5, 5, 6, 0, -4 }, // 0x4D 'M' 68 | { 85, 4, 5, 5, 0, -4 }, // 0x4E 'N' 69 | { 88, 3, 5, 4, 0, -4 }, // 0x4F 'O' 70 | { 90, 3, 5, 4, 0, -4 }, // 0x50 'P' 71 | { 92, 3, 6, 4, 0, -4 }, // 0x51 'Q' 72 | { 95, 3, 5, 4, 0, -4 }, // 0x52 'R' 73 | { 97, 3, 5, 4, 0, -4 }, // 0x53 'S' 74 | { 99, 3, 5, 4, 0, -4 }, // 0x54 'T' 75 | { 101, 3, 5, 4, 0, -4 }, // 0x55 'U' 76 | { 103, 3, 5, 4, 0, -4 }, // 0x56 'V' 77 | { 105, 5, 5, 6, 0, -4 }, // 0x57 'W' 78 | { 109, 3, 5, 4, 0, -4 }, // 0x58 'X' 79 | { 111, 3, 5, 4, 0, -4 }, // 0x59 'Y' 80 | { 113, 3, 5, 4, 0, -4 }, // 0x5A 'Z' 81 | { 115, 2, 5, 3, 0, -4 }, // 0x5B '[' 82 | { 117, 3, 5, 4, 0, -4 }, // 0x5C '\' 83 | { 119, 2, 5, 3, 0, -4 }, // 0x5D ']' 84 | { 121, 3, 2, 4, 0, -4 }, // 0x5E '^' 85 | { 122, 4, 1, 4, 0, 1 }, // 0x5F '_' 86 | { 123, 2, 2, 3, 0, -4 }, // 0x60 '`' 87 | { 124, 3, 4, 4, 0, -3 }, // 0x61 'a' 88 | { 126, 3, 5, 4, 0, -4 }, // 0x62 'b' 89 | { 128, 3, 3, 4, 0, -2 }, // 0x63 'c' 90 | { 130, 3, 5, 4, 0, -4 }, // 0x64 'd' 91 | { 132, 3, 4, 4, 0, -3 }, // 0x65 'e' 92 | { 134, 2, 5, 3, 0, -4 }, // 0x66 'f' 93 | { 136, 3, 5, 4, 0, -3 }, // 0x67 'g' 94 | { 138, 3, 5, 4, 0, -4 }, // 0x68 'h' 95 | { 140, 1, 5, 2, 0, -4 }, // 0x69 'i' 96 | { 141, 2, 6, 3, 0, -4 }, // 0x6A 'j' 97 | { 143, 3, 5, 4, 0, -4 }, // 0x6B 'k' 98 | { 145, 2, 5, 3, 0, -4 }, // 0x6C 'l' 99 | { 147, 5, 3, 6, 0, -2 }, // 0x6D 'm' 100 | { 149, 3, 3, 4, 0, -2 }, // 0x6E 'n' 101 | { 151, 3, 3, 4, 0, -2 }, // 0x6F 'o' 102 | { 153, 3, 4, 4, 0, -2 }, // 0x70 'p' 103 | { 155, 3, 4, 4, 0, -2 }, // 0x71 'q' 104 | { 157, 2, 3, 3, 0, -2 }, // 0x72 'r' 105 | { 158, 3, 4, 4, 0, -3 }, // 0x73 's' 106 | { 160, 2, 5, 3, 0, -4 }, // 0x74 't' 107 | { 162, 3, 3, 4, 0, -2 }, // 0x75 'u' 108 | { 164, 3, 3, 4, 0, -2 }, // 0x76 'v' 109 | { 166, 5, 3, 6, 0, -2 }, // 0x77 'w' 110 | { 168, 3, 3, 4, 0, -2 }, // 0x78 'x' 111 | { 170, 3, 4, 4, 0, -2 }, // 0x79 'y' 112 | { 172, 3, 4, 4, 0, -3 }, // 0x7A 'z' 113 | { 174, 3, 5, 4, 0, -4 }, // 0x7B '{' 114 | { 176, 1, 6, 2, 0, -4 }, // 0x7C '|' 115 | { 177, 3, 5, 4, 0, -4 }, // 0x7D '}' 116 | { 179, 4, 2, 5, 0, -3 } }; // 0x7E '~' 117 | 118 | const GFXfont Picopixel PROGMEM = { 119 | (uint8_t *)PicopixelBitmaps, 120 | (GFXglyph *)PicopixelGlyphs, 121 | 0x20, 0x7E, 7 }; 122 | 123 | // Approx. 852 bytes 124 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/README.md: -------------------------------------------------------------------------------- 1 | # Adafruit GFX Library 2 | 3 | This is the core graphics library for all our displays, providing a common set of graphics primitives (points, lines, circles, etc.). It needs to be paired with a hardware-specific library for each display device we carry (to handle the lower-level functions). 4 | 5 | Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit! 6 | 7 | Written by Limor Fried/Ladyada for Adafruit Industries. 8 | BSD license, check license.txt for more information. 9 | All text above must be included in any redistribution. 10 | 11 | Recent Arduino IDE releases include the Library Manager for easy installation. Otherwise, to download, click the DOWNLOAD ZIP button, uncompress and rename the uncompressed folder Adafruit_GFX. Confirm that the Adafruit_GFX folder contains Adafruit_GFX.cpp and Adafruit_GFX.h. Place the Adafruit_GFX library folder your /Libraries/ folder. You may need to create the Libraries subfolder if its your first library. Restart the IDE. 12 | 13 | # Useful Resources 14 | 15 | - Image2Code: This is a handy Java GUI utility to convert a BMP file into the array code necessary to display the image with the drawBitmap function. Check out the code at ehubin's GitHub repository: https://github.com/ehubin/Adafruit-GFX-Library/tree/master/Img2Code 16 | 17 | - drawXBitmap function: You can use the GIMP photo editor to save a .xbm file and use the array saved in the file to draw a bitmap with the drawXBitmap function. See the pull request here for more details: https://github.com/adafruit/Adafruit-GFX-Library/pull/31 18 | 19 | - 'Fonts' folder contains bitmap fonts for use with recent (1.1 and later) Adafruit_GFX. To use a font in your Arduino sketch, #include the corresponding .h file and pass address of GFXfont struct to setFont(). Pass NULL to revert to 'classic' fixed-space bitmap font. 20 | 21 | - 'fontconvert' folder contains a command-line tool for converting TTF fonts to Adafruit_GFX .h format. 22 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/fontconvert/Makefile: -------------------------------------------------------------------------------- 1 | all: fontconvert 2 | 3 | CC = gcc 4 | CFLAGS = -Wall -I/usr/local/include/freetype2 -I/usr/include/freetype2 -I/usr/include 5 | LIBS = -lfreetype 6 | 7 | fontconvert: fontconvert.c 8 | $(CC) $(CFLAGS) $< $(LIBS) -o $@ 9 | strip $@ 10 | 11 | clean: 12 | rm -f fontconvert 13 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/fontconvert/fontconvert.c: -------------------------------------------------------------------------------- 1 | /* 2 | TrueType to Adafruit_GFX font converter. Derived from Peter Jakobs' 3 | Adafruit_ftGFX fork & makefont tool, and Paul Kourany's Adafruit_mfGFX. 4 | 5 | NOT AN ARDUINO SKETCH. This is a command-line tool for preprocessing 6 | fonts to be used with the Adafruit_GFX Arduino library. 7 | 8 | For UNIX-like systems. Outputs to stdout; redirect to header file, e.g.: 9 | ./fontconvert ~/Library/Fonts/FreeSans.ttf 18 > FreeSans18pt7b.h 10 | 11 | REQUIRES FREETYPE LIBRARY. www.freetype.org 12 | 13 | Currently this only extracts the printable 7-bit ASCII chars of a font. 14 | Will eventually extend with some int'l chars a la ftGFX, not there yet. 15 | Keep 7-bit fonts around as an option in that case, more compact. 16 | 17 | See notes at end for glyph nomenclature & other tidbits. 18 | */ 19 | 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include FT_GLYPH_H 25 | #include "../gfxfont.h" // Adafruit_GFX font structures 26 | 27 | #define DPI 141 // Approximate res. of Adafruit 2.8" TFT 28 | 29 | // Accumulate bits for output, with periodic hexadecimal byte write 30 | void enbit(uint8_t value) { 31 | static uint8_t row = 0, sum = 0, bit = 0x80, firstCall = 1; 32 | if(value) sum |= bit; // Set bit if needed 33 | if(!(bit >>= 1)) { // Advance to next bit, end of byte reached? 34 | if(!firstCall) { // Format output table nicely 35 | if(++row >= 12) { // Last entry on line? 36 | printf(",\n "); // Newline format output 37 | row = 0; // Reset row counter 38 | } else { // Not end of line 39 | printf(", "); // Simple comma delim 40 | } 41 | } 42 | printf("0x%02X", sum); // Write byte value 43 | sum = 0; // Clear for next byte 44 | bit = 0x80; // Reset bit counter 45 | firstCall = 0; // Formatting flag 46 | } 47 | } 48 | 49 | int main(int argc, char *argv[]) { 50 | int i, j, err, size, first=' ', last='~', 51 | bitmapOffset = 0, x, y, byte; 52 | char *fontName, c, *ptr; 53 | FT_Library library; 54 | FT_Face face; 55 | FT_Glyph glyph; 56 | FT_Bitmap *bitmap; 57 | FT_BitmapGlyphRec *g; 58 | GFXglyph *table; 59 | uint8_t bit; 60 | 61 | // Parse command line. Valid syntaxes are: 62 | // fontconvert [filename] [size] 63 | // fontconvert [filename] [size] [last char] 64 | // fontconvert [filename] [size] [first char] [last char] 65 | // Unless overridden, default first and last chars are 66 | // ' ' (space) and '~', respectively 67 | 68 | if(argc < 3) { 69 | fprintf(stderr, "Usage: %s fontfile size [first] [last]\n", 70 | argv[0]); 71 | return 1; 72 | } 73 | 74 | size = atoi(argv[2]); 75 | 76 | if(argc == 4) { 77 | last = atoi(argv[3]); 78 | } else if(argc == 5) { 79 | first = atoi(argv[3]); 80 | last = atoi(argv[4]); 81 | } 82 | 83 | if(last < first) { 84 | i = first; 85 | first = last; 86 | last = i; 87 | } 88 | 89 | ptr = strrchr(argv[1], '/'); // Find last slash in filename 90 | if(ptr) ptr++; // First character of filename (path stripped) 91 | else ptr = argv[1]; // No path; font in local dir. 92 | 93 | // Allocate space for font name and glyph table 94 | if((!(fontName = malloc(strlen(ptr) + 20))) || 95 | (!(table = (GFXglyph *)malloc((last - first + 1) * 96 | sizeof(GFXglyph))))) { 97 | fprintf(stderr, "Malloc error\n"); 98 | return 1; 99 | } 100 | 101 | // Derive font table names from filename. Period (filename 102 | // extension) is truncated and replaced with the font size & bits. 103 | strcpy(fontName, ptr); 104 | ptr = strrchr(fontName, '.'); // Find last period (file ext) 105 | if(!ptr) ptr = &fontName[strlen(fontName)]; // If none, append 106 | // Insert font size and 7/8 bit. fontName was alloc'd w/extra 107 | // space to allow this, we're not sprintfing into Forbidden Zone. 108 | sprintf(ptr, "%dpt%db", size, (last > 127) ? 8 : 7); 109 | // Space and punctuation chars in name replaced w/ underscores. 110 | for(i=0; (c=fontName[i]); i++) { 111 | if(isspace(c) || ispunct(c)) fontName[i] = '_'; 112 | } 113 | 114 | // Init FreeType lib, load font 115 | if((err = FT_Init_FreeType(&library))) { 116 | fprintf(stderr, "FreeType init error: %d", err); 117 | return err; 118 | } 119 | if((err = FT_New_Face(library, argv[1], 0, &face))) { 120 | fprintf(stderr, "Font load error: %d", err); 121 | FT_Done_FreeType(library); 122 | return err; 123 | } 124 | 125 | // << 6 because '26dot6' fixed-point format 126 | FT_Set_Char_Size(face, size << 6, 0, DPI, 0); 127 | 128 | // Currently all symbols from 'first' to 'last' are processed. 129 | // Fonts may contain WAY more glyphs than that, but this code 130 | // will need to handle encoding stuff to deal with extracting 131 | // the right symbols, and that's not done yet. 132 | // fprintf(stderr, "%ld glyphs\n", face->num_glyphs); 133 | 134 | printf("const uint8_t %sBitmaps[] PROGMEM = {\n ", fontName); 135 | 136 | // Process glyphs and output huge bitmap data array 137 | for(i=first, j=0; i<=last; i++, j++) { 138 | // MONO renderer provides clean image with perfect crop 139 | // (no wasted pixels) via bitmap struct. 140 | if((err = FT_Load_Char(face, i, FT_LOAD_TARGET_MONO))) { 141 | fprintf(stderr, "Error %d loading char '%c'\n", 142 | err, i); 143 | continue; 144 | } 145 | 146 | if((err = FT_Render_Glyph(face->glyph, 147 | FT_RENDER_MODE_MONO))) { 148 | fprintf(stderr, "Error %d rendering char '%c'\n", 149 | err, i); 150 | continue; 151 | } 152 | 153 | if((err = FT_Get_Glyph(face->glyph, &glyph))) { 154 | fprintf(stderr, "Error %d getting glyph '%c'\n", 155 | err, i); 156 | continue; 157 | } 158 | 159 | bitmap = &face->glyph->bitmap; 160 | g = (FT_BitmapGlyphRec *)glyph; 161 | 162 | // Minimal font and per-glyph information is stored to 163 | // reduce flash space requirements. Glyph bitmaps are 164 | // fully bit-packed; no per-scanline pad, though end of 165 | // each character may be padded to next byte boundary 166 | // when needed. 16-bit offset means 64K max for bitmaps, 167 | // code currently doesn't check for overflow. (Doesn't 168 | // check that size & offsets are within bounds either for 169 | // that matter...please convert fonts responsibly.) 170 | table[j].bitmapOffset = bitmapOffset; 171 | table[j].width = bitmap->width; 172 | table[j].height = bitmap->rows; 173 | table[j].xAdvance = face->glyph->advance.x >> 6; 174 | table[j].xOffset = g->left; 175 | table[j].yOffset = 1 - g->top; 176 | 177 | for(y=0; y < bitmap->rows; y++) { 178 | for(x=0;x < bitmap->width; x++) { 179 | byte = x / 8; 180 | bit = 0x80 >> (x & 7); 181 | enbit(bitmap->buffer[ 182 | y * bitmap->pitch + byte] & bit); 183 | } 184 | } 185 | 186 | // Pad end of char bitmap to next byte boundary if needed 187 | int n = (bitmap->width * bitmap->rows) & 7; 188 | if(n) { // Pixel count not an even multiple of 8? 189 | n = 8 - n; // # bits to next multiple 190 | while(n--) enbit(0); 191 | } 192 | bitmapOffset += (bitmap->width * bitmap->rows + 7) / 8; 193 | 194 | FT_Done_Glyph(glyph); 195 | } 196 | 197 | printf(" };\n\n"); // End bitmap array 198 | 199 | // Output glyph attributes table (one per character) 200 | printf("const GFXglyph %sGlyphs[] PROGMEM = {\n", fontName); 201 | for(i=first, j=0; i<=last; i++, j++) { 202 | printf(" { %5d, %3d, %3d, %3d, %4d, %4d }", 203 | table[j].bitmapOffset, 204 | table[j].width, 205 | table[j].height, 206 | table[j].xAdvance, 207 | table[j].xOffset, 208 | table[j].yOffset); 209 | if(i < last) { 210 | printf(", // 0x%02X", i); 211 | if((i >= ' ') && (i <= '~')) { 212 | printf(" '%c'", i); 213 | } 214 | putchar('\n'); 215 | } 216 | } 217 | printf(" }; // 0x%02X", last); 218 | if((last >= ' ') && (last <= '~')) printf(" '%c'", last); 219 | printf("\n\n"); 220 | 221 | // Output font structure 222 | printf("const GFXfont %s PROGMEM = {\n", fontName); 223 | printf(" (uint8_t *)%sBitmaps,\n", fontName); 224 | printf(" (GFXglyph *)%sGlyphs,\n", fontName); 225 | printf(" 0x%02X, 0x%02X, %ld };\n\n", 226 | first, last, face->size->metrics.height >> 6); 227 | printf("// Approx. %d bytes\n", 228 | bitmapOffset + (last - first + 1) * 7 + 7); 229 | // Size estimate is based on AVR struct and pointer sizes; 230 | // actual size may vary. 231 | 232 | FT_Done_FreeType(library); 233 | 234 | return 0; 235 | } 236 | 237 | /* ------------------------------------------------------------------------- 238 | 239 | Character metrics are slightly different from classic GFX & ftGFX. 240 | In classic GFX: cursor position is the upper-left pixel of each 5x7 241 | character; lower extent of most glyphs (except those w/descenders) 242 | is +6 pixels in Y direction. 243 | W/new GFX fonts: cursor position is on baseline, where baseline is 244 | 'inclusive' (containing the bottom-most row of pixels in most symbols, 245 | except those with descenders; ftGFX is one pixel lower). 246 | 247 | Cursor Y will be moved automatically when switching between classic 248 | and new fonts. If you switch fonts, any print() calls will continue 249 | along the same baseline. 250 | 251 | ...........#####.. -- yOffset 252 | ..........######.. 253 | ..........######.. 254 | .........#######.. 255 | ........#########. 256 | * = Cursor pos. ........#########. 257 | .......##########. 258 | ......#####..####. 259 | ......#####..####. 260 | *.#.. .....#####...####. 261 | .#.#. ....############## 262 | #...# ...############### 263 | #...# ...############### 264 | ##### ..#####......##### 265 | #...# .#####.......##### 266 | ====== #...# ====== #*###.........#### ======= Baseline 267 | || xOffset 268 | 269 | glyph->xOffset and yOffset are pixel offsets, in GFX coordinate space 270 | (+Y is down), from the cursor position to the top-left pixel of the 271 | glyph bitmap. i.e. yOffset is typically negative, xOffset is typically 272 | zero but a few glyphs will have other values (even negative xOffsets 273 | sometimes, totally normal). glyph->xAdvance is the distance to move 274 | the cursor on the X axis after drawing the corresponding symbol. 275 | 276 | There's also some changes with regard to 'background' color and new GFX 277 | fonts (classic fonts unchanged). See Adafruit_GFX.cpp for explanation. 278 | */ 279 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/fontconvert/fontconvert_win.md: -------------------------------------------------------------------------------- 1 | ### A short guide to use fontconvert.c to create your own fonts using MinGW. 2 | 3 | #### STEP 1: INSTALL MinGW 4 | 5 | Install MinGW (Minimalist GNU for Windows) from [MinGW.org](http://www.mingw.org/). 6 | Please read carefully the instructions found on [Getting started page](http://www.mingw.org/wiki/Getting_Started). 7 | I suggest installing with the "Graphical User Interface Installer". 8 | To complete your initial installation you should further install some "packages". 9 | For our purpose you should only install the "Basic Setup" packages. 10 | To do that: 11 | 12 | 1. Open the MinGW Installation Manager 13 | 2. From the left panel click "Basic Setup". 14 | 3. On the right panel choose "mingw32-base", "mingw-gcc-g++", "mingw-gcc-objc" and "msys-base" 15 | and click "Mark for installation" 16 | 4. From the Menu click "Installation" and then "Apply changes". In the pop-up window select "Apply". 17 | 18 | 19 | #### STEP 2: INSTALL Freetype Library 20 | 21 | To read about the freetype project visit [freetype.org](https://www.freetype.org/). 22 | To Download the latest version of freetype go to [download page](http://download.savannah.gnu.org/releases/freetype/) 23 | and choose "freetype-2.7.tar.gz" file (or a newer version if available). 24 | To avoid long cd commands later in the command prompt, I suggest you unzip the file in the C:\ directory. 25 | (I also renamed the folder to "ft27") 26 | Before you build the library it's good to read these articles: 27 | * [Using MSYS with MinGW](http://www.mingw.org/wiki/MSYS) 28 | * [Installation and Use of Supplementary Libraries with MinGW](http://www.mingw.org/wiki/LibraryPathHOWTO) 29 | * [Include Path](http://www.mingw.org/wiki/IncludePathHOWTO) 30 | 31 | Inside the unzipped folder there is another folder named "docs". Open it and read the INSTALL.UNIX (using notepad). 32 | Pay attention to paragraph 3 (Build and Install the Library). So, let's begin the installation. 33 | To give the appropriate commands we will use the MSYS command prompt (not cmd.exe of windows) which is UNIX like. 34 | Follow the path C:\MinGW\msys\1.0 and double click "msys.bat". The command prompt environment appears. 35 | Enter "ft27" directory using the cd commands: 36 | ``` 37 | cd /c 38 | cd ft27 39 | ``` 40 | 41 | and then type one by one the commands: 42 | ``` 43 | ./configure --prefix=/mingw 44 | make 45 | make install 46 | ``` 47 | Once you're finished, go inside "C:\MinGW\include" and there should be a new folder named "freetype2". 48 | That, hopefully, means that you have installed the library correctly !! 49 | 50 | #### STEP 3: Build fontconvert.c 51 | 52 | Before proceeding I suggest you make a copy of Adafruit_GFX_library folder in C:\ directory. 53 | Then, inside "fontconvert" folder open the "makefile" with an editor ( I used notepad++). 54 | Change the commands so in the end the program looks like : 55 | ``` 56 | all: fontconvert 57 | 58 | CC = gcc 59 | CFLAGS = -Wall -I c:/mingw/include/freetype2 60 | LIBS = -lfreetype 61 | 62 | fontconvert: fontconvert.c 63 | $(CC) $(CFLAGS) $< $(LIBS) -o $@ 64 | 65 | clean: 66 | rm -f fontconvert 67 | ``` 68 | Go back in the command prompt and with a cd command enter the fontconvert directory. 69 | ``` 70 | cd /c/adafruit_gfx_library\fontconvert 71 | ``` 72 | Give the command: 73 | ``` 74 | make 75 | ``` 76 | This command will, eventually, create a "fontconvert.exe" file inside fontconvert directory. 77 | 78 | #### STEP 4: Create your own font header files 79 | 80 | Now that you have an executable file, you can use it to create your own fonts to work with Adafruit GFX lib. 81 | So, if we suppose that you already have a .ttf file with your favorite fonts, jump to the command prompt and type: 82 | ``` 83 | ./fontconvert yourfonts.ttf 9 > yourfonts9pt7b.h 84 | ``` 85 | You can read more details at: [learn.adafruit](https://learn.adafruit.com/adafruit-gfx-graphics-library/using-fonts). 86 | 87 | Taraaaaaammm !! you've just created your new font header file. Put it inside the "Fonts" folder, grab a cup of coffee 88 | and start playing with your Arduino (or whatever else ....)+ display module project. 89 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/fontconvert/makefonts.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Ugly little Bash script, generates a set of .h files for GFX using 4 | # GNU FreeFont sources. There are three fonts: 'Mono' (Courier-like), 5 | # 'Sans' (Helvetica-like) and 'Serif' (Times-like); four styles: regular, 6 | # bold, oblique or italic, and bold+oblique or bold+italic; and four 7 | # sizes: 9, 12, 18 and 24 point. No real error checking or anything, 8 | # this just powers through all the combinations, calling the fontconvert 9 | # utility and redirecting the output to a .h file for each combo. 10 | 11 | # Adafruit_GFX repository does not include the source outline fonts 12 | # (huge zipfile, different license) but they're easily acquired: 13 | # http://savannah.gnu.org/projects/freefont/ 14 | 15 | convert=./fontconvert 16 | inpath=~/Desktop/freefont/ 17 | outpath=../Fonts/ 18 | fonts=(FreeMono FreeSans FreeSerif) 19 | styles=("" Bold Italic BoldItalic Oblique BoldOblique) 20 | sizes=(9 12 18 24) 21 | 22 | for f in ${fonts[*]} 23 | do 24 | for index in ${!styles[*]} 25 | do 26 | st=${styles[$index]} 27 | for si in ${sizes[*]} 28 | do 29 | infile=$inpath$f$st".ttf" 30 | if [ -f $infile ] # Does source combination exist? 31 | then 32 | outfile=$outpath$f$st$si"pt7b.h" 33 | # printf "%s %s %s > %s\n" $convert $infile $si $outfile 34 | $convert $infile $si > $outfile 35 | fi 36 | done 37 | done 38 | done 39 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/gfxfont.h: -------------------------------------------------------------------------------- 1 | // Font structures for newer Adafruit_GFX (1.1 and later). 2 | // Example fonts are included in 'Fonts' directory. 3 | // To use a font in your Arduino sketch, #include the corresponding .h 4 | // file and pass address of GFXfont struct to setFont(). Pass NULL to 5 | // revert to 'classic' fixed-space bitmap font. 6 | 7 | #ifndef _GFXFONT_H_ 8 | #define _GFXFONT_H_ 9 | 10 | typedef struct { // Data stored PER GLYPH 11 | uint16_t bitmapOffset; // Pointer into GFXfont->bitmap 12 | uint8_t width, height; // Bitmap dimensions in pixels 13 | uint8_t xAdvance; // Distance to advance cursor (x axis) 14 | int8_t xOffset, yOffset; // Dist from cursor pos to UL corner 15 | } GFXglyph; 16 | 17 | typedef struct { // Data stored for FONT AS A WHOLE: 18 | uint8_t *bitmap; // Glyph bitmaps, concatenated 19 | GFXglyph *glyph; // Glyph array 20 | uint8_t first, last; // ASCII extents 21 | uint8_t yAdvance; // Newline distance (y axis) 22 | } GFXfont; 23 | 24 | #endif // _GFXFONT_H_ 25 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/glcdfont.c: -------------------------------------------------------------------------------- 1 | // This is the 'classic' fixed-space bitmap font for Adafruit_GFX since 1.0. 2 | // See gfxfont.h for newer custom bitmap font info. 3 | 4 | #ifndef FONT5X7_H 5 | #define FONT5X7_H 6 | 7 | #ifdef __AVR__ 8 | #include 9 | #include 10 | #elif defined(ESP8266) 11 | #include 12 | #else 13 | #define PROGMEM 14 | #endif 15 | 16 | // Standard ASCII 5x7 font 17 | 18 | static const unsigned char font[] PROGMEM = { 19 | 0x00, 0x00, 0x00, 0x00, 0x00, 20 | 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 21 | 0x3E, 0x6B, 0x4F, 0x6B, 0x3E, 22 | 0x1C, 0x3E, 0x7C, 0x3E, 0x1C, 23 | 0x18, 0x3C, 0x7E, 0x3C, 0x18, 24 | 0x1C, 0x57, 0x7D, 0x57, 0x1C, 25 | 0x1C, 0x5E, 0x7F, 0x5E, 0x1C, 26 | 0x00, 0x18, 0x3C, 0x18, 0x00, 27 | 0xFF, 0xE7, 0xC3, 0xE7, 0xFF, 28 | 0x00, 0x18, 0x24, 0x18, 0x00, 29 | 0xFF, 0xE7, 0xDB, 0xE7, 0xFF, 30 | 0x30, 0x48, 0x3A, 0x06, 0x0E, 31 | 0x26, 0x29, 0x79, 0x29, 0x26, 32 | 0x40, 0x7F, 0x05, 0x05, 0x07, 33 | 0x40, 0x7F, 0x05, 0x25, 0x3F, 34 | 0x5A, 0x3C, 0xE7, 0x3C, 0x5A, 35 | 0x7F, 0x3E, 0x1C, 0x1C, 0x08, 36 | 0x08, 0x1C, 0x1C, 0x3E, 0x7F, 37 | 0x14, 0x22, 0x7F, 0x22, 0x14, 38 | 0x5F, 0x5F, 0x00, 0x5F, 0x5F, 39 | 0x06, 0x09, 0x7F, 0x01, 0x7F, 40 | 0x00, 0x66, 0x89, 0x95, 0x6A, 41 | 0x60, 0x60, 0x60, 0x60, 0x60, 42 | 0x94, 0xA2, 0xFF, 0xA2, 0x94, 43 | 0x08, 0x04, 0x7E, 0x04, 0x08, 44 | 0x10, 0x20, 0x7E, 0x20, 0x10, 45 | 0x08, 0x08, 0x2A, 0x1C, 0x08, 46 | 0x08, 0x1C, 0x2A, 0x08, 0x08, 47 | 0x1E, 0x10, 0x10, 0x10, 0x10, 48 | 0x0C, 0x1E, 0x0C, 0x1E, 0x0C, 49 | 0x30, 0x38, 0x3E, 0x38, 0x30, 50 | 0x06, 0x0E, 0x3E, 0x0E, 0x06, 51 | 0x00, 0x00, 0x00, 0x00, 0x00, 52 | 0x00, 0x00, 0x5F, 0x00, 0x00, 53 | 0x00, 0x07, 0x00, 0x07, 0x00, 54 | 0x14, 0x7F, 0x14, 0x7F, 0x14, 55 | 0x24, 0x2A, 0x7F, 0x2A, 0x12, 56 | 0x23, 0x13, 0x08, 0x64, 0x62, 57 | 0x36, 0x49, 0x56, 0x20, 0x50, 58 | 0x00, 0x08, 0x07, 0x03, 0x00, 59 | 0x00, 0x1C, 0x22, 0x41, 0x00, 60 | 0x00, 0x41, 0x22, 0x1C, 0x00, 61 | 0x2A, 0x1C, 0x7F, 0x1C, 0x2A, 62 | 0x08, 0x08, 0x3E, 0x08, 0x08, 63 | 0x00, 0x80, 0x70, 0x30, 0x00, 64 | 0x08, 0x08, 0x08, 0x08, 0x08, 65 | 0x00, 0x00, 0x60, 0x60, 0x00, 66 | 0x20, 0x10, 0x08, 0x04, 0x02, 67 | 0x3E, 0x51, 0x49, 0x45, 0x3E, 68 | 0x00, 0x42, 0x7F, 0x40, 0x00, 69 | 0x72, 0x49, 0x49, 0x49, 0x46, 70 | 0x21, 0x41, 0x49, 0x4D, 0x33, 71 | 0x18, 0x14, 0x12, 0x7F, 0x10, 72 | 0x27, 0x45, 0x45, 0x45, 0x39, 73 | 0x3C, 0x4A, 0x49, 0x49, 0x31, 74 | 0x41, 0x21, 0x11, 0x09, 0x07, 75 | 0x36, 0x49, 0x49, 0x49, 0x36, 76 | 0x46, 0x49, 0x49, 0x29, 0x1E, 77 | 0x00, 0x00, 0x14, 0x00, 0x00, 78 | 0x00, 0x40, 0x34, 0x00, 0x00, 79 | 0x00, 0x08, 0x14, 0x22, 0x41, 80 | 0x14, 0x14, 0x14, 0x14, 0x14, 81 | 0x00, 0x41, 0x22, 0x14, 0x08, 82 | 0x02, 0x01, 0x59, 0x09, 0x06, 83 | 0x3E, 0x41, 0x5D, 0x59, 0x4E, 84 | 0x7C, 0x12, 0x11, 0x12, 0x7C, 85 | 0x7F, 0x49, 0x49, 0x49, 0x36, 86 | 0x3E, 0x41, 0x41, 0x41, 0x22, 87 | 0x7F, 0x41, 0x41, 0x41, 0x3E, 88 | 0x7F, 0x49, 0x49, 0x49, 0x41, 89 | 0x7F, 0x09, 0x09, 0x09, 0x01, 90 | 0x3E, 0x41, 0x41, 0x51, 0x73, 91 | 0x7F, 0x08, 0x08, 0x08, 0x7F, 92 | 0x00, 0x41, 0x7F, 0x41, 0x00, 93 | 0x20, 0x40, 0x41, 0x3F, 0x01, 94 | 0x7F, 0x08, 0x14, 0x22, 0x41, 95 | 0x7F, 0x40, 0x40, 0x40, 0x40, 96 | 0x7F, 0x02, 0x1C, 0x02, 0x7F, 97 | 0x7F, 0x04, 0x08, 0x10, 0x7F, 98 | 0x3E, 0x41, 0x41, 0x41, 0x3E, 99 | 0x7F, 0x09, 0x09, 0x09, 0x06, 100 | 0x3E, 0x41, 0x51, 0x21, 0x5E, 101 | 0x7F, 0x09, 0x19, 0x29, 0x46, 102 | 0x26, 0x49, 0x49, 0x49, 0x32, 103 | 0x03, 0x01, 0x7F, 0x01, 0x03, 104 | 0x3F, 0x40, 0x40, 0x40, 0x3F, 105 | 0x1F, 0x20, 0x40, 0x20, 0x1F, 106 | 0x3F, 0x40, 0x38, 0x40, 0x3F, 107 | 0x63, 0x14, 0x08, 0x14, 0x63, 108 | 0x03, 0x04, 0x78, 0x04, 0x03, 109 | 0x61, 0x59, 0x49, 0x4D, 0x43, 110 | 0x00, 0x7F, 0x41, 0x41, 0x41, 111 | 0x02, 0x04, 0x08, 0x10, 0x20, 112 | 0x00, 0x41, 0x41, 0x41, 0x7F, 113 | 0x04, 0x02, 0x01, 0x02, 0x04, 114 | 0x40, 0x40, 0x40, 0x40, 0x40, 115 | 0x00, 0x03, 0x07, 0x08, 0x00, 116 | 0x20, 0x54, 0x54, 0x78, 0x40, 117 | 0x7F, 0x28, 0x44, 0x44, 0x38, 118 | 0x38, 0x44, 0x44, 0x44, 0x28, 119 | 0x38, 0x44, 0x44, 0x28, 0x7F, 120 | 0x38, 0x54, 0x54, 0x54, 0x18, 121 | 0x00, 0x08, 0x7E, 0x09, 0x02, 122 | 0x18, 0xA4, 0xA4, 0x9C, 0x78, 123 | 0x7F, 0x08, 0x04, 0x04, 0x78, 124 | 0x00, 0x44, 0x7D, 0x40, 0x00, 125 | 0x20, 0x40, 0x40, 0x3D, 0x00, 126 | 0x7F, 0x10, 0x28, 0x44, 0x00, 127 | 0x00, 0x41, 0x7F, 0x40, 0x00, 128 | 0x7C, 0x04, 0x78, 0x04, 0x78, 129 | 0x7C, 0x08, 0x04, 0x04, 0x78, 130 | 0x38, 0x44, 0x44, 0x44, 0x38, 131 | 0xFC, 0x18, 0x24, 0x24, 0x18, 132 | 0x18, 0x24, 0x24, 0x18, 0xFC, 133 | 0x7C, 0x08, 0x04, 0x04, 0x08, 134 | 0x48, 0x54, 0x54, 0x54, 0x24, 135 | 0x04, 0x04, 0x3F, 0x44, 0x24, 136 | 0x3C, 0x40, 0x40, 0x20, 0x7C, 137 | 0x1C, 0x20, 0x40, 0x20, 0x1C, 138 | 0x3C, 0x40, 0x30, 0x40, 0x3C, 139 | 0x44, 0x28, 0x10, 0x28, 0x44, 140 | 0x4C, 0x90, 0x90, 0x90, 0x7C, 141 | 0x44, 0x64, 0x54, 0x4C, 0x44, 142 | 0x00, 0x08, 0x36, 0x41, 0x00, 143 | 0x00, 0x00, 0x77, 0x00, 0x00, 144 | 0x00, 0x41, 0x36, 0x08, 0x00, 145 | 0x02, 0x01, 0x02, 0x04, 0x02, 146 | 0x3C, 0x26, 0x23, 0x26, 0x3C, 147 | 0x1E, 0xA1, 0xA1, 0x61, 0x12, 148 | 0x3A, 0x40, 0x40, 0x20, 0x7A, 149 | 0x38, 0x54, 0x54, 0x55, 0x59, 150 | 0x21, 0x55, 0x55, 0x79, 0x41, 151 | 0x22, 0x54, 0x54, 0x78, 0x42, // a-umlaut 152 | 0x21, 0x55, 0x54, 0x78, 0x40, 153 | 0x20, 0x54, 0x55, 0x79, 0x40, 154 | 0x0C, 0x1E, 0x52, 0x72, 0x12, 155 | 0x39, 0x55, 0x55, 0x55, 0x59, 156 | 0x39, 0x54, 0x54, 0x54, 0x59, 157 | 0x39, 0x55, 0x54, 0x54, 0x58, 158 | 0x00, 0x00, 0x45, 0x7C, 0x41, 159 | 0x00, 0x02, 0x45, 0x7D, 0x42, 160 | 0x00, 0x01, 0x45, 0x7C, 0x40, 161 | 0x7D, 0x12, 0x11, 0x12, 0x7D, // A-umlaut 162 | 0xF0, 0x28, 0x25, 0x28, 0xF0, 163 | 0x7C, 0x54, 0x55, 0x45, 0x00, 164 | 0x20, 0x54, 0x54, 0x7C, 0x54, 165 | 0x7C, 0x0A, 0x09, 0x7F, 0x49, 166 | 0x32, 0x49, 0x49, 0x49, 0x32, 167 | 0x3A, 0x44, 0x44, 0x44, 0x3A, // o-umlaut 168 | 0x32, 0x4A, 0x48, 0x48, 0x30, 169 | 0x3A, 0x41, 0x41, 0x21, 0x7A, 170 | 0x3A, 0x42, 0x40, 0x20, 0x78, 171 | 0x00, 0x9D, 0xA0, 0xA0, 0x7D, 172 | 0x3D, 0x42, 0x42, 0x42, 0x3D, // O-umlaut 173 | 0x3D, 0x40, 0x40, 0x40, 0x3D, 174 | 0x3C, 0x24, 0xFF, 0x24, 0x24, 175 | 0x48, 0x7E, 0x49, 0x43, 0x66, 176 | 0x2B, 0x2F, 0xFC, 0x2F, 0x2B, 177 | 0xFF, 0x09, 0x29, 0xF6, 0x20, 178 | 0xC0, 0x88, 0x7E, 0x09, 0x03, 179 | 0x20, 0x54, 0x54, 0x79, 0x41, 180 | 0x00, 0x00, 0x44, 0x7D, 0x41, 181 | 0x30, 0x48, 0x48, 0x4A, 0x32, 182 | 0x38, 0x40, 0x40, 0x22, 0x7A, 183 | 0x00, 0x7A, 0x0A, 0x0A, 0x72, 184 | 0x7D, 0x0D, 0x19, 0x31, 0x7D, 185 | 0x26, 0x29, 0x29, 0x2F, 0x28, 186 | 0x26, 0x29, 0x29, 0x29, 0x26, 187 | 0x30, 0x48, 0x4D, 0x40, 0x20, 188 | 0x38, 0x08, 0x08, 0x08, 0x08, 189 | 0x08, 0x08, 0x08, 0x08, 0x38, 190 | 0x2F, 0x10, 0xC8, 0xAC, 0xBA, 191 | 0x2F, 0x10, 0x28, 0x34, 0xFA, 192 | 0x00, 0x00, 0x7B, 0x00, 0x00, 193 | 0x08, 0x14, 0x2A, 0x14, 0x22, 194 | 0x22, 0x14, 0x2A, 0x14, 0x08, 195 | 0x55, 0x00, 0x55, 0x00, 0x55, // #176 (25% block) missing in old code 196 | 0xAA, 0x55, 0xAA, 0x55, 0xAA, // 50% block 197 | 0xFF, 0x55, 0xFF, 0x55, 0xFF, // 75% block 198 | 0x00, 0x00, 0x00, 0xFF, 0x00, 199 | 0x10, 0x10, 0x10, 0xFF, 0x00, 200 | 0x14, 0x14, 0x14, 0xFF, 0x00, 201 | 0x10, 0x10, 0xFF, 0x00, 0xFF, 202 | 0x10, 0x10, 0xF0, 0x10, 0xF0, 203 | 0x14, 0x14, 0x14, 0xFC, 0x00, 204 | 0x14, 0x14, 0xF7, 0x00, 0xFF, 205 | 0x00, 0x00, 0xFF, 0x00, 0xFF, 206 | 0x14, 0x14, 0xF4, 0x04, 0xFC, 207 | 0x14, 0x14, 0x17, 0x10, 0x1F, 208 | 0x10, 0x10, 0x1F, 0x10, 0x1F, 209 | 0x14, 0x14, 0x14, 0x1F, 0x00, 210 | 0x10, 0x10, 0x10, 0xF0, 0x00, 211 | 0x00, 0x00, 0x00, 0x1F, 0x10, 212 | 0x10, 0x10, 0x10, 0x1F, 0x10, 213 | 0x10, 0x10, 0x10, 0xF0, 0x10, 214 | 0x00, 0x00, 0x00, 0xFF, 0x10, 215 | 0x10, 0x10, 0x10, 0x10, 0x10, 216 | 0x10, 0x10, 0x10, 0xFF, 0x10, 217 | 0x00, 0x00, 0x00, 0xFF, 0x14, 218 | 0x00, 0x00, 0xFF, 0x00, 0xFF, 219 | 0x00, 0x00, 0x1F, 0x10, 0x17, 220 | 0x00, 0x00, 0xFC, 0x04, 0xF4, 221 | 0x14, 0x14, 0x17, 0x10, 0x17, 222 | 0x14, 0x14, 0xF4, 0x04, 0xF4, 223 | 0x00, 0x00, 0xFF, 0x00, 0xF7, 224 | 0x14, 0x14, 0x14, 0x14, 0x14, 225 | 0x14, 0x14, 0xF7, 0x00, 0xF7, 226 | 0x14, 0x14, 0x14, 0x17, 0x14, 227 | 0x10, 0x10, 0x1F, 0x10, 0x1F, 228 | 0x14, 0x14, 0x14, 0xF4, 0x14, 229 | 0x10, 0x10, 0xF0, 0x10, 0xF0, 230 | 0x00, 0x00, 0x1F, 0x10, 0x1F, 231 | 0x00, 0x00, 0x00, 0x1F, 0x14, 232 | 0x00, 0x00, 0x00, 0xFC, 0x14, 233 | 0x00, 0x00, 0xF0, 0x10, 0xF0, 234 | 0x10, 0x10, 0xFF, 0x10, 0xFF, 235 | 0x14, 0x14, 0x14, 0xFF, 0x14, 236 | 0x10, 0x10, 0x10, 0x1F, 0x00, 237 | 0x00, 0x00, 0x00, 0xF0, 0x10, 238 | 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 239 | 0xF0, 0xF0, 0xF0, 0xF0, 0xF0, 240 | 0xFF, 0xFF, 0xFF, 0x00, 0x00, 241 | 0x00, 0x00, 0x00, 0xFF, 0xFF, 242 | 0x0F, 0x0F, 0x0F, 0x0F, 0x0F, 243 | 0x38, 0x44, 0x44, 0x38, 0x44, 244 | 0xFC, 0x4A, 0x4A, 0x4A, 0x34, // sharp-s or beta 245 | 0x7E, 0x02, 0x02, 0x06, 0x06, 246 | 0x02, 0x7E, 0x02, 0x7E, 0x02, 247 | 0x63, 0x55, 0x49, 0x41, 0x63, 248 | 0x38, 0x44, 0x44, 0x3C, 0x04, 249 | 0x40, 0x7E, 0x20, 0x1E, 0x20, 250 | 0x06, 0x02, 0x7E, 0x02, 0x02, 251 | 0x99, 0xA5, 0xE7, 0xA5, 0x99, 252 | 0x1C, 0x2A, 0x49, 0x2A, 0x1C, 253 | 0x4C, 0x72, 0x01, 0x72, 0x4C, 254 | 0x30, 0x4A, 0x4D, 0x4D, 0x30, 255 | 0x30, 0x48, 0x78, 0x48, 0x30, 256 | 0xBC, 0x62, 0x5A, 0x46, 0x3D, 257 | 0x3E, 0x49, 0x49, 0x49, 0x00, 258 | 0x7E, 0x01, 0x01, 0x01, 0x7E, 259 | 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 260 | 0x44, 0x44, 0x5F, 0x44, 0x44, 261 | 0x40, 0x51, 0x4A, 0x44, 0x40, 262 | 0x40, 0x44, 0x4A, 0x51, 0x40, 263 | 0x00, 0x00, 0xFF, 0x01, 0x03, 264 | 0xE0, 0x80, 0xFF, 0x00, 0x00, 265 | 0x08, 0x08, 0x6B, 0x6B, 0x08, 266 | 0x36, 0x12, 0x36, 0x24, 0x36, 267 | 0x06, 0x0F, 0x09, 0x0F, 0x06, 268 | 0x00, 0x00, 0x18, 0x18, 0x00, 269 | 0x00, 0x00, 0x10, 0x10, 0x00, 270 | 0x30, 0x40, 0xFF, 0x01, 0x01, 271 | 0x00, 0x1F, 0x01, 0x01, 0x1E, 272 | 0x00, 0x19, 0x1D, 0x17, 0x12, 273 | 0x00, 0x3C, 0x3C, 0x3C, 0x3C, 274 | 0x00, 0x00, 0x00, 0x00, 0x00 // #255 NBSP 275 | }; 276 | #endif // FONT5X7_H 277 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit GFX Library 2 | version=1.2.2 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=Adafruit GFX graphics core library, this is the 'core' class that all our other graphics libraries derive from. 6 | paragraph=Install this library in addition to the display library for your hardware. 7 | category=Display 8 | url=https://github.com/adafruit/Adafruit-GFX-Library 9 | architectures=* 10 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_GFX_Library/license.txt: -------------------------------------------------------------------------------- 1 | Software License Agreement (BSD License) 2 | 3 | Copyright (c) 2012 Adafruit Industries. All rights reserved. 4 | 5 | Redistribution and use in source and binary forms, with or without 6 | modification, are permitted provided that the following conditions are met: 7 | 8 | - Redistributions of source code must retain the above copyright notice, 9 | this list of conditions and the following disclaimer. 10 | - Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 | ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 18 | LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 19 | CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 20 | SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 21 | INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 22 | CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 23 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 24 | POSSIBILITY OF SUCH DAMAGE. 25 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_SSD1306/Adafruit_SSD1306.h: -------------------------------------------------------------------------------- 1 | /********************************************************************* 2 | This is a library for our Monochrome OLEDs based on SSD1306 drivers 3 | 4 | Pick one up today in the adafruit shop! 5 | ------> http://www.adafruit.com/category/63_98 6 | 7 | These displays use SPI to communicate, 4 or 5 pins are required to 8 | interface 9 | 10 | Adafruit invests time and resources providing this open source code, 11 | please support Adafruit and open-source hardware by purchasing 12 | products from Adafruit! 13 | 14 | Written by Limor Fried/Ladyada for Adafruit Industries. 15 | BSD license, check license.txt for more information 16 | All text above, and the splash screen must be included in any redistribution 17 | *********************************************************************/ 18 | #ifndef _Adafruit_SSD1306_H_ 19 | #define _Adafruit_SSD1306_H_ 20 | 21 | #if ARDUINO >= 100 22 | #include "Arduino.h" 23 | #define WIRE_WRITE Wire.write 24 | #else 25 | #include "WProgram.h" 26 | #define WIRE_WRITE Wire.send 27 | #endif 28 | 29 | #if defined(__SAM3X8E__) 30 | typedef volatile RwReg PortReg; 31 | typedef uint32_t PortMask; 32 | #define HAVE_PORTREG 33 | #elif defined(ARDUINO_ARCH_SAMD) 34 | // not supported 35 | #elif defined(ESP8266) || defined(ESP32) || defined(ARDUINO_STM32_FEATHER) || defined(__arc__) 36 | typedef volatile uint32_t PortReg; 37 | typedef uint32_t PortMask; 38 | #elif defined(__AVR__) 39 | typedef volatile uint8_t PortReg; 40 | typedef uint8_t PortMask; 41 | #define HAVE_PORTREG 42 | #else 43 | // chances are its 32 bit so assume that 44 | typedef volatile uint32_t PortReg; 45 | typedef uint32_t PortMask; 46 | #endif 47 | 48 | #include 49 | #include 50 | 51 | #define BLACK 0 52 | #define WHITE 1 53 | #define INVERSE 2 54 | 55 | #define SSD1306_I2C_ADDRESS 0x3C // 011110+SA0+RW - 0x3C or 0x3D 56 | // Address for 128x32 is 0x3C 57 | // Address for 128x64 is 0x3D (default) or 0x3C (if SA0 is grounded) 58 | 59 | /*========================================================================= 60 | SSD1306 Displays 61 | ----------------------------------------------------------------------- 62 | The driver is used in multiple displays (128x64, 128x32, etc.). 63 | Select the appropriate display below to create an appropriately 64 | sized framebuffer, etc. 65 | 66 | SSD1306_128_64 128x64 pixel display 67 | 68 | SSD1306_128_32 128x32 pixel display 69 | 70 | SSD1306_96_16 71 | 72 | -----------------------------------------------------------------------*/ 73 | #define SSD1306_128_64 74 | // #define SSD1306_128_32 75 | // #define SSD1306_96_16 76 | /*=========================================================================*/ 77 | 78 | #if defined SSD1306_128_64 && defined SSD1306_128_32 79 | #error "Only one SSD1306 display can be specified at once in SSD1306.h" 80 | #endif 81 | #if !defined SSD1306_128_64 && !defined SSD1306_128_32 && !defined SSD1306_96_16 82 | #error "At least one SSD1306 display must be specified in SSD1306.h" 83 | #endif 84 | 85 | #if defined SSD1306_128_64 86 | #define SSD1306_LCDWIDTH 128 87 | #define SSD1306_LCDHEIGHT 64 88 | #endif 89 | #if defined SSD1306_128_32 90 | #define SSD1306_LCDWIDTH 128 91 | #define SSD1306_LCDHEIGHT 32 92 | #endif 93 | #if defined SSD1306_96_16 94 | #define SSD1306_LCDWIDTH 96 95 | #define SSD1306_LCDHEIGHT 16 96 | #endif 97 | 98 | #define SSD1306_SETCONTRAST 0x81 99 | #define SSD1306_DISPLAYALLON_RESUME 0xA4 100 | #define SSD1306_DISPLAYALLON 0xA5 101 | #define SSD1306_NORMALDISPLAY 0xA6 102 | #define SSD1306_INVERTDISPLAY 0xA7 103 | #define SSD1306_DISPLAYOFF 0xAE 104 | #define SSD1306_DISPLAYON 0xAF 105 | 106 | #define SSD1306_SETDISPLAYOFFSET 0xD3 107 | #define SSD1306_SETCOMPINS 0xDA 108 | 109 | #define SSD1306_SETVCOMDETECT 0xDB 110 | 111 | #define SSD1306_SETDISPLAYCLOCKDIV 0xD5 112 | #define SSD1306_SETPRECHARGE 0xD9 113 | 114 | #define SSD1306_SETMULTIPLEX 0xA8 115 | 116 | #define SSD1306_SETLOWCOLUMN 0x00 117 | #define SSD1306_SETHIGHCOLUMN 0x10 118 | 119 | #define SSD1306_SETSTARTLINE 0x40 120 | 121 | #define SSD1306_MEMORYMODE 0x20 122 | #define SSD1306_COLUMNADDR 0x21 123 | #define SSD1306_PAGEADDR 0x22 124 | 125 | #define SSD1306_COMSCANINC 0xC0 126 | #define SSD1306_COMSCANDEC 0xC8 127 | 128 | #define SSD1306_SEGREMAP 0xA0 129 | 130 | #define SSD1306_CHARGEPUMP 0x8D 131 | 132 | #define SSD1306_EXTERNALVCC 0x1 133 | #define SSD1306_SWITCHCAPVCC 0x2 134 | 135 | // Scrolling #defines 136 | #define SSD1306_ACTIVATE_SCROLL 0x2F 137 | #define SSD1306_DEACTIVATE_SCROLL 0x2E 138 | #define SSD1306_SET_VERTICAL_SCROLL_AREA 0xA3 139 | #define SSD1306_RIGHT_HORIZONTAL_SCROLL 0x26 140 | #define SSD1306_LEFT_HORIZONTAL_SCROLL 0x27 141 | #define SSD1306_VERTICAL_AND_RIGHT_HORIZONTAL_SCROLL 0x29 142 | #define SSD1306_VERTICAL_AND_LEFT_HORIZONTAL_SCROLL 0x2A 143 | 144 | class Adafruit_SSD1306 : public Adafruit_GFX { 145 | public: 146 | Adafruit_SSD1306(int8_t SID, int8_t SCLK, int8_t DC, int8_t RST, int8_t CS); 147 | Adafruit_SSD1306(int8_t DC, int8_t RST, int8_t CS); 148 | Adafruit_SSD1306(int8_t RST = -1); 149 | 150 | void begin(uint8_t switchvcc = SSD1306_SWITCHCAPVCC, uint8_t i2caddr = SSD1306_I2C_ADDRESS, bool reset=true); 151 | void ssd1306_command(uint8_t c); 152 | 153 | void clearDisplay(void); 154 | void invertDisplay(uint8_t i); 155 | void display(); 156 | 157 | void startscrollright(uint8_t start, uint8_t stop); 158 | void startscrollleft(uint8_t start, uint8_t stop); 159 | 160 | void startscrolldiagright(uint8_t start, uint8_t stop); 161 | void startscrolldiagleft(uint8_t start, uint8_t stop); 162 | void stopscroll(void); 163 | 164 | void dim(boolean dim); 165 | 166 | void drawPixel(int16_t x, int16_t y, uint16_t color); 167 | 168 | virtual void drawFastVLine(int16_t x, int16_t y, int16_t h, uint16_t color); 169 | virtual void drawFastHLine(int16_t x, int16_t y, int16_t w, uint16_t color); 170 | 171 | private: 172 | int8_t _i2caddr, _vccstate, sid, sclk, dc, rst, cs; 173 | void fastSPIwrite(uint8_t c); 174 | 175 | boolean hwSPI; 176 | #ifdef HAVE_PORTREG 177 | PortReg *mosiport, *clkport, *csport, *dcport; 178 | PortMask mosipinmask, clkpinmask, cspinmask, dcpinmask; 179 | #endif 180 | 181 | inline void drawFastVLineInternal(int16_t x, int16_t y, int16_t h, uint16_t color) __attribute__((always_inline)); 182 | inline void drawFastHLineInternal(int16_t x, int16_t y, int16_t w, uint16_t color) __attribute__((always_inline)); 183 | 184 | }; 185 | 186 | #endif /* _Adafruit_SSD1306_H_ */ 187 | -------------------------------------------------------------------------------- /Arduino/libraries/Adafruit_SSD1306/library.properties: -------------------------------------------------------------------------------- 1 | name=Adafruit SSD1306 2 | version=1.1.2 3 | author=Adafruit 4 | maintainer=Adafruit 5 | sentence=SSD1306 oled driver library for 'monochrome' 128x64 and 128x32 OLEDs! 6 | paragraph=SSD1306 oled driver library for 'monochrome' 128x64 and 128x32 OLEDs! 7 | category=Display 8 | url=https://github.com/adafruit/Adafruit_SSD1306 9 | architectures=* 10 | -------------------------------------------------------------------------------- /Eagle/layout.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Eagle/layout.png -------------------------------------------------------------------------------- /Eagle/schematic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Eagle/schematic.png -------------------------------------------------------------------------------- /Fritzing/PKE_Metere.fzz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Fritzing/PKE_Metere.fzz -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Apache License 2 | Version 2.0, January 2004 3 | http://www.apache.org/licenses/ 4 | 5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 6 | 7 | 1. Definitions. 8 | 9 | "License" shall mean the terms and conditions for use, reproduction, 10 | and distribution as defined by Sections 1 through 9 of this document. 11 | 12 | "Licensor" shall mean the copyright owner or entity authorized by 13 | the copyright owner that is granting the License. 14 | 15 | "Legal Entity" shall mean the union of the acting entity and all 16 | other entities that control, are controlled by, or are under common 17 | control with that entity. For the purposes of this definition, 18 | "control" means (i) the power, direct or indirect, to cause the 19 | direction or management of such entity, whether by contract or 20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the 21 | outstanding shares, or (iii) beneficial ownership of such entity. 22 | 23 | "You" (or "Your") shall mean an individual or Legal Entity 24 | exercising permissions granted by this License. 25 | 26 | "Source" form shall mean the preferred form for making modifications, 27 | including but not limited to software source code, documentation 28 | source, and configuration files. 29 | 30 | "Object" form shall mean any form resulting from mechanical 31 | transformation or translation of a Source form, including but 32 | not limited to compiled object code, generated documentation, 33 | and conversions to other media types. 34 | 35 | "Work" shall mean the work of authorship, whether in Source or 36 | Object form, made available under the License, as indicated by a 37 | copyright notice that is included in or attached to the work 38 | (an example is provided in the Appendix below). 39 | 40 | "Derivative Works" shall mean any work, whether in Source or Object 41 | form, that is based on (or derived from) the Work and for which the 42 | editorial revisions, annotations, elaborations, or other modifications 43 | represent, as a whole, an original work of authorship. For the purposes 44 | of this License, Derivative Works shall not include works that remain 45 | separable from, or merely link (or bind by name) to the interfaces of, 46 | the Work and Derivative Works thereof. 47 | 48 | "Contribution" shall mean any work of authorship, including 49 | the original version of the Work and any modifications or additions 50 | to that Work or Derivative Works thereof, that is intentionally 51 | submitted to Licensor for inclusion in the Work by the copyright owner 52 | or by an individual or Legal Entity authorized to submit on behalf of 53 | the copyright owner. For the purposes of this definition, "submitted" 54 | means any form of electronic, verbal, or written communication sent 55 | to the Licensor or its representatives, including but not limited to 56 | communication on electronic mailing lists, source code control systems, 57 | and issue tracking systems that are managed by, or on behalf of, the 58 | Licensor for the purpose of discussing and improving the Work, but 59 | excluding communication that is conspicuously marked or otherwise 60 | designated in writing by the copyright owner as "Not a Contribution." 61 | 62 | "Contributor" shall mean Licensor and any individual or Legal Entity 63 | on behalf of whom a Contribution has been received by Licensor and 64 | subsequently incorporated within the Work. 65 | 66 | 2. Grant of Copyright License. Subject to the terms and conditions of 67 | this License, each Contributor hereby grants to You a perpetual, 68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 69 | copyright license to reproduce, prepare Derivative Works of, 70 | publicly display, publicly perform, sublicense, and distribute the 71 | Work and such Derivative Works in Source or Object form. 72 | 73 | 3. Grant of Patent License. Subject to the terms and conditions of 74 | this License, each Contributor hereby grants to You a perpetual, 75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable 76 | (except as stated in this section) patent license to make, have made, 77 | use, offer to sell, sell, import, and otherwise transfer the Work, 78 | where such license applies only to those patent claims licensable 79 | by such Contributor that are necessarily infringed by their 80 | Contribution(s) alone or by combination of their Contribution(s) 81 | with the Work to which such Contribution(s) was submitted. If You 82 | institute patent litigation against any entity (including a 83 | cross-claim or counterclaim in a lawsuit) alleging that the Work 84 | or a Contribution incorporated within the Work constitutes direct 85 | or contributory patent infringement, then any patent licenses 86 | granted to You under this License for that Work shall terminate 87 | as of the date such litigation is filed. 88 | 89 | 4. Redistribution. You may reproduce and distribute copies of the 90 | Work or Derivative Works thereof in any medium, with or without 91 | modifications, and in Source or Object form, provided that You 92 | meet the following conditions: 93 | 94 | (a) You must give any other recipients of the Work or 95 | Derivative Works a copy of this License; and 96 | 97 | (b) You must cause any modified files to carry prominent notices 98 | stating that You changed the files; and 99 | 100 | (c) You must retain, in the Source form of any Derivative Works 101 | that You distribute, all copyright, patent, trademark, and 102 | attribution notices from the Source form of the Work, 103 | excluding those notices that do not pertain to any part of 104 | the Derivative Works; and 105 | 106 | (d) If the Work includes a "NOTICE" text file as part of its 107 | distribution, then any Derivative Works that You distribute must 108 | include a readable copy of the attribution notices contained 109 | within such NOTICE file, excluding those notices that do not 110 | pertain to any part of the Derivative Works, in at least one 111 | of the following places: within a NOTICE text file distributed 112 | as part of the Derivative Works; within the Source form or 113 | documentation, if provided along with the Derivative Works; or, 114 | within a display generated by the Derivative Works, if and 115 | wherever such third-party notices normally appear. The contents 116 | of the NOTICE file are for informational purposes only and 117 | do not modify the License. You may add Your own attribution 118 | notices within Derivative Works that You distribute, alongside 119 | or as an addendum to the NOTICE text from the Work, provided 120 | that such additional attribution notices cannot be construed 121 | as modifying the License. 122 | 123 | You may add Your own copyright statement to Your modifications and 124 | may provide additional or different license terms and conditions 125 | for use, reproduction, or distribution of Your modifications, or 126 | for any such Derivative Works as a whole, provided Your use, 127 | reproduction, and distribution of the Work otherwise complies with 128 | the conditions stated in this License. 129 | 130 | 5. Submission of Contributions. Unless You explicitly state otherwise, 131 | any Contribution intentionally submitted for inclusion in the Work 132 | by You to the Licensor shall be under the terms and conditions of 133 | this License, without any additional terms or conditions. 134 | Notwithstanding the above, nothing herein shall supersede or modify 135 | the terms of any separate license agreement you may have executed 136 | with Licensor regarding such Contributions. 137 | 138 | 6. Trademarks. This License does not grant permission to use the trade 139 | names, trademarks, service marks, or product names of the Licensor, 140 | except as required for reasonable and customary use in describing the 141 | origin of the Work and reproducing the content of the NOTICE file. 142 | 143 | 7. Disclaimer of Warranty. Unless required by applicable law or 144 | agreed to in writing, Licensor provides the Work (and each 145 | Contributor provides its Contributions) on an "AS IS" BASIS, 146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or 147 | implied, including, without limitation, any warranties or conditions 148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A 149 | PARTICULAR PURPOSE. You are solely responsible for determining the 150 | appropriateness of using or redistributing the Work and assume any 151 | risks associated with Your exercise of permissions under this License. 152 | 153 | 8. Limitation of Liability. In no event and under no legal theory, 154 | whether in tort (including negligence), contract, or otherwise, 155 | unless required by applicable law (such as deliberate and grossly 156 | negligent acts) or agreed to in writing, shall any Contributor be 157 | liable to You for damages, including any direct, indirect, special, 158 | incidental, or consequential damages of any character arising as a 159 | result of this License or out of the use or inability to use the 160 | Work (including but not limited to damages for loss of goodwill, 161 | work stoppage, computer failure or malfunction, or any and all 162 | other commercial damages or losses), even if such Contributor 163 | has been advised of the possibility of such damages. 164 | 165 | 9. Accepting Warranty or Additional Liability. While redistributing 166 | the Work or Derivative Works thereof, You may choose to offer, 167 | and charge a fee for, acceptance of support, warranty, indemnity, 168 | or other liability obligations and/or rights consistent with this 169 | License. However, in accepting such obligations, You may act only 170 | on Your own behalf and on Your sole responsibility, not on behalf 171 | of any other Contributor, and only if You agree to indemnify, 172 | defend, and hold each Contributor harmless for any liability 173 | incurred by, or claims asserted against, such Contributor by reason 174 | of your accepting any such warranty or additional liability. 175 | 176 | END OF TERMS AND CONDITIONS 177 | 178 | APPENDIX: How to apply the Apache License to your work. 179 | 180 | To apply the Apache License to your work, attach the following 181 | boilerplate notice, with the fields enclosed by brackets "{}" 182 | replaced with your own identifying information. (Don't include 183 | the brackets!) The text should be enclosed in the appropriate 184 | comment syntax for the file format. We also recommend that a 185 | file or class name and description of purpose be included on the 186 | same "printed page" as the copyright notice for easier 187 | identification within third-party archives. 188 | 189 | Copyright {yyyy} {name of copyright owner} 190 | 191 | Licensed under the Apache License, Version 2.0 (the "License"); 192 | you may not use this file except in compliance with the License. 193 | You may obtain a copy of the License at 194 | 195 | http://www.apache.org/licenses/LICENSE-2.0 196 | 197 | Unless required by applicable law or agreed to in writing, software 198 | distributed under the License is distributed on an "AS IS" BASIS, 199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 200 | See the License for the specific language governing permissions and 201 | limitations under the License. 202 | -------------------------------------------------------------------------------- /Model/back_bottom.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/back_bottom.stl -------------------------------------------------------------------------------- /Model/back_one_piece.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/back_one_piece.stl -------------------------------------------------------------------------------- /Model/back_top.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/back_top.stl -------------------------------------------------------------------------------- /Model/buttons_filled.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/buttons_filled.stl -------------------------------------------------------------------------------- /Model/front_bottom.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/front_bottom.stl -------------------------------------------------------------------------------- /Model/front_one_piece.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/front_one_piece.stl -------------------------------------------------------------------------------- /Model/front_top.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/front_top.stl -------------------------------------------------------------------------------- /Model/screen_holder.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/screen_holder.stl -------------------------------------------------------------------------------- /Model/wings_cover_left.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/wings_cover_left.stl -------------------------------------------------------------------------------- /Model/wings_cover_right.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/wings_cover_right.stl -------------------------------------------------------------------------------- /Model/wings_left.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/wings_left.stl -------------------------------------------------------------------------------- /Model/wings_right.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/Model/wings_right.stl -------------------------------------------------------------------------------- /PKE_Meter_Breadboard.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CountDeMonet/Arduino_PKE_Meter/278c27a42cc8ccf476fc98674a5a20fe3a861de4/PKE_Meter_Breadboard.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Arduino_PKE_Meter 2 | Code and models for an arduino based Ghostbusters PKE Meter 3 | 4 | GBFans thread: http://www.gbfans.com/forum/viewtopic.php?f=5&t=43258 5 | 6 | Video of how the meter looks when finished 7 | 8 | https://www.youtube.com/watch?v=xTfZLYqommg 9 | 10 | I have also included the eagle cad files that I used to produce an LED board for this project. OshPark is an amazing place to get custom PCB's fabricated and they will take the brd file as is. I ended up using a buck converter to power the servo so the path with the capacitor was no longer needed. That saved some space but the board was already in fab. 11 | 12 | Image of the internals 13 | https://i1.wp.com/vineripesoftware.files.wordpress.com/2017/05/img_20170508_222438829.jpg 14 | 15 | I recommend using hitec servo wire if you can get your hands on it for the wings. I printed everything at .3mm resolution with 20% infill. This print requires a lot of support and there is no way around it. 16 | 17 | It's based off this model on Thingiverse (https://www.thingiverse.com/thing:700251) I scaled it up to 110%, removed a few buttons to make it easier to use for my son, and created a new battery holder for the 4 AAA's that power it. I decided on an Arduino nano as the brains with a cheap LCD for display. Again, not going for screen accurate but something that will keep a 6-7 year old entertained. I did program in the Ghostbusters 2 LED pattern for the wings. 18 | 19 | --------------------------------------------------------------------------------