iforce2d Chris
/
ubxDistanceMeter
Displays distance to start location on OLED screen.
u8g.h@0:972874f31c98, 2018-03-07 (annotated)
- Committer:
- iforce2d
- Date:
- Wed Mar 07 12:49:14 2018 +0000
- Revision:
- 0:972874f31c98
First commit
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
iforce2d | 0:972874f31c98 | 1 | /* |
iforce2d | 0:972874f31c98 | 2 | |
iforce2d | 0:972874f31c98 | 3 | u8g.h |
iforce2d | 0:972874f31c98 | 4 | |
iforce2d | 0:972874f31c98 | 5 | Universal 8bit Graphics Library |
iforce2d | 0:972874f31c98 | 6 | |
iforce2d | 0:972874f31c98 | 7 | Copyright (c) 2011, olikraus@gmail.com |
iforce2d | 0:972874f31c98 | 8 | All rights reserved. |
iforce2d | 0:972874f31c98 | 9 | |
iforce2d | 0:972874f31c98 | 10 | Redistribution and use in source and binary forms, with or without modification, |
iforce2d | 0:972874f31c98 | 11 | are permitted provided that the following conditions are met: |
iforce2d | 0:972874f31c98 | 12 | |
iforce2d | 0:972874f31c98 | 13 | * Redistributions of source code must retain the above copyright notice, this list |
iforce2d | 0:972874f31c98 | 14 | of conditions and the following disclaimer. |
iforce2d | 0:972874f31c98 | 15 | |
iforce2d | 0:972874f31c98 | 16 | * Redistributions in binary form must reproduce the above copyright notice, this |
iforce2d | 0:972874f31c98 | 17 | list of conditions and the following disclaimer in the documentation and/or other |
iforce2d | 0:972874f31c98 | 18 | materials provided with the distribution. |
iforce2d | 0:972874f31c98 | 19 | |
iforce2d | 0:972874f31c98 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND |
iforce2d | 0:972874f31c98 | 21 | CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, |
iforce2d | 0:972874f31c98 | 22 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
iforce2d | 0:972874f31c98 | 23 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE |
iforce2d | 0:972874f31c98 | 24 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR |
iforce2d | 0:972874f31c98 | 25 | CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
iforce2d | 0:972874f31c98 | 26 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
iforce2d | 0:972874f31c98 | 27 | NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; |
iforce2d | 0:972874f31c98 | 28 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER |
iforce2d | 0:972874f31c98 | 29 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
iforce2d | 0:972874f31c98 | 30 | STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) |
iforce2d | 0:972874f31c98 | 31 | ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF |
iforce2d | 0:972874f31c98 | 32 | ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
iforce2d | 0:972874f31c98 | 33 | |
iforce2d | 0:972874f31c98 | 34 | */ |
iforce2d | 0:972874f31c98 | 35 | |
iforce2d | 0:972874f31c98 | 36 | #ifndef _U8G_H |
iforce2d | 0:972874f31c98 | 37 | #define _U8G_H |
iforce2d | 0:972874f31c98 | 38 | |
iforce2d | 0:972874f31c98 | 39 | /* uncomment the following line to support displays larger than 240x240 */ |
iforce2d | 0:972874f31c98 | 40 | //#define U8G_16BIT 1 |
iforce2d | 0:972874f31c98 | 41 | |
iforce2d | 0:972874f31c98 | 42 | /* comment the following line to generate more compact but interrupt unsafe code */ |
iforce2d | 0:972874f31c98 | 43 | #define U8G_INTERRUPT_SAFE 1 |
iforce2d | 0:972874f31c98 | 44 | |
iforce2d | 0:972874f31c98 | 45 | |
iforce2d | 0:972874f31c98 | 46 | #include <stddef.h> |
iforce2d | 0:972874f31c98 | 47 | |
iforce2d | 0:972874f31c98 | 48 | #ifdef __18CXX |
iforce2d | 0:972874f31c98 | 49 | typedef unsigned char uint8_t; |
iforce2d | 0:972874f31c98 | 50 | typedef signed char int8_t; |
iforce2d | 0:972874f31c98 | 51 | typedef unsigned short uint16_t; |
iforce2d | 0:972874f31c98 | 52 | typedef signed short int16_t; |
iforce2d | 0:972874f31c98 | 53 | #else |
iforce2d | 0:972874f31c98 | 54 | #include <stdint.h> |
iforce2d | 0:972874f31c98 | 55 | #endif |
iforce2d | 0:972874f31c98 | 56 | |
iforce2d | 0:972874f31c98 | 57 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 58 | #include <avr/pgmspace.h> |
iforce2d | 0:972874f31c98 | 59 | #endif |
iforce2d | 0:972874f31c98 | 60 | |
iforce2d | 0:972874f31c98 | 61 | /* |
iforce2d | 0:972874f31c98 | 62 | use the com interface directly on any systems which are not AVR or ARDUINO |
iforce2d | 0:972874f31c98 | 63 | */ |
iforce2d | 0:972874f31c98 | 64 | #if defined(__AVR__) || defined(ARDUINO) |
iforce2d | 0:972874f31c98 | 65 | #define U8G_WITH_PINLIST |
iforce2d | 0:972874f31c98 | 66 | #endif |
iforce2d | 0:972874f31c98 | 67 | |
iforce2d | 0:972874f31c98 | 68 | |
iforce2d | 0:972874f31c98 | 69 | #ifdef __cplusplus |
iforce2d | 0:972874f31c98 | 70 | extern "C" { |
iforce2d | 0:972874f31c98 | 71 | #endif |
iforce2d | 0:972874f31c98 | 72 | |
iforce2d | 0:972874f31c98 | 73 | |
iforce2d | 0:972874f31c98 | 74 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 75 | #ifdef __GNUC__ |
iforce2d | 0:972874f31c98 | 76 | # define U8G_NOINLINE __attribute__((noinline)) |
iforce2d | 0:972874f31c98 | 77 | # define U8G_PURE __attribute__ ((pure)) |
iforce2d | 0:972874f31c98 | 78 | # define U8G_NOCOMMON __attribute__ ((nocommon)) |
iforce2d | 0:972874f31c98 | 79 | # define U8G_SECTION(name) __attribute__ ((section (name))) |
iforce2d | 0:972874f31c98 | 80 | # if defined(__MSPGCC__) |
iforce2d | 0:972874f31c98 | 81 | /* mspgcc does not have .progmem sections. Use -fdata-sections. */ |
iforce2d | 0:972874f31c98 | 82 | # define U8G_FONT_SECTION(name) |
iforce2d | 0:972874f31c98 | 83 | # endif |
iforce2d | 0:972874f31c98 | 84 | # if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 85 | # define U8G_FONT_SECTION(name) U8G_SECTION(".progmem." name) |
iforce2d | 0:972874f31c98 | 86 | # endif |
iforce2d | 0:972874f31c98 | 87 | #else |
iforce2d | 0:972874f31c98 | 88 | # define U8G_NOINLINE |
iforce2d | 0:972874f31c98 | 89 | # define U8G_PURE |
iforce2d | 0:972874f31c98 | 90 | # define U8G_NOCOMMON |
iforce2d | 0:972874f31c98 | 91 | # define U8G_SECTION(name) |
iforce2d | 0:972874f31c98 | 92 | #endif |
iforce2d | 0:972874f31c98 | 93 | |
iforce2d | 0:972874f31c98 | 94 | #ifndef U8G_FONT_SECTION |
iforce2d | 0:972874f31c98 | 95 | # define U8G_FONT_SECTION(name) |
iforce2d | 0:972874f31c98 | 96 | #endif |
iforce2d | 0:972874f31c98 | 97 | |
iforce2d | 0:972874f31c98 | 98 | |
iforce2d | 0:972874f31c98 | 99 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 100 | /* flash memory access */ |
iforce2d | 0:972874f31c98 | 101 | |
iforce2d | 0:972874f31c98 | 102 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 103 | /* U8G_PROGMEM is used by the XBM example */ |
iforce2d | 0:972874f31c98 | 104 | #define U8G_PROGMEM U8G_SECTION(".progmem.data") |
iforce2d | 0:972874f31c98 | 105 | typedef uint8_t PROGMEM u8g_pgm_uint8_t; |
iforce2d | 0:972874f31c98 | 106 | typedef uint8_t u8g_fntpgm_uint8_t; |
iforce2d | 0:972874f31c98 | 107 | #define u8g_pgm_read(adr) pgm_read_byte_near(adr) |
iforce2d | 0:972874f31c98 | 108 | #define U8G_PSTR(s) ((u8g_pgm_uint8_t *)PSTR(s)) |
iforce2d | 0:972874f31c98 | 109 | |
iforce2d | 0:972874f31c98 | 110 | #else |
iforce2d | 0:972874f31c98 | 111 | |
iforce2d | 0:972874f31c98 | 112 | #define U8G_PROGMEM |
iforce2d | 0:972874f31c98 | 113 | #define PROGMEM |
iforce2d | 0:972874f31c98 | 114 | typedef uint8_t u8g_pgm_uint8_t; |
iforce2d | 0:972874f31c98 | 115 | typedef uint8_t u8g_fntpgm_uint8_t; |
iforce2d | 0:972874f31c98 | 116 | #define u8g_pgm_read(adr) (*(const u8g_pgm_uint8_t *)(adr)) |
iforce2d | 0:972874f31c98 | 117 | #define U8G_PSTR(s) ((u8g_pgm_uint8_t *)(s)) |
iforce2d | 0:972874f31c98 | 118 | |
iforce2d | 0:972874f31c98 | 119 | #endif |
iforce2d | 0:972874f31c98 | 120 | |
iforce2d | 0:972874f31c98 | 121 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 122 | /* interrupt safe code */ |
iforce2d | 0:972874f31c98 | 123 | #if defined(U8G_INTERRUPT_SAFE) |
iforce2d | 0:972874f31c98 | 124 | # if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 125 | extern uint8_t global_SREG_backup; /* u8g_state.c */ |
iforce2d | 0:972874f31c98 | 126 | # define U8G_ATOMIC_START() do { global_SREG_backup = SREG; cli(); } while(0) |
iforce2d | 0:972874f31c98 | 127 | # define U8G_ATOMIC_END() SREG = global_SREG_backup |
iforce2d | 0:972874f31c98 | 128 | # define U8G_ATOMIC_OR(ptr, val) do { uint8_t tmpSREG = SREG; cli(); (*(ptr) |= (val)); SREG = tmpSREG; } while(0) |
iforce2d | 0:972874f31c98 | 129 | # define U8G_ATOMIC_AND(ptr, val) do { uint8_t tmpSREG = SREG; cli(); (*(ptr) &= (val)); SREG = tmpSREG; } while(0) |
iforce2d | 0:972874f31c98 | 130 | # else |
iforce2d | 0:972874f31c98 | 131 | # define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val)) |
iforce2d | 0:972874f31c98 | 132 | # define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val)) |
iforce2d | 0:972874f31c98 | 133 | # define U8G_ATOMIC_START() |
iforce2d | 0:972874f31c98 | 134 | # define U8G_ATOMIC_END() |
iforce2d | 0:972874f31c98 | 135 | # endif /* __AVR__ */ |
iforce2d | 0:972874f31c98 | 136 | #else |
iforce2d | 0:972874f31c98 | 137 | # define U8G_ATOMIC_OR(ptr, val) (*(ptr) |= (val)) |
iforce2d | 0:972874f31c98 | 138 | # define U8G_ATOMIC_AND(ptr, val) (*(ptr) &= (val)) |
iforce2d | 0:972874f31c98 | 139 | # define U8G_ATOMIC_START() |
iforce2d | 0:972874f31c98 | 140 | # define U8G_ATOMIC_END() |
iforce2d | 0:972874f31c98 | 141 | #endif /* U8G_INTERRUPT_SAFE */ |
iforce2d | 0:972874f31c98 | 142 | |
iforce2d | 0:972874f31c98 | 143 | |
iforce2d | 0:972874f31c98 | 144 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 145 | /* forward */ |
iforce2d | 0:972874f31c98 | 146 | typedef struct _u8g_t u8g_t; |
iforce2d | 0:972874f31c98 | 147 | typedef struct _u8g_dev_t u8g_dev_t; |
iforce2d | 0:972874f31c98 | 148 | |
iforce2d | 0:972874f31c98 | 149 | typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; |
iforce2d | 0:972874f31c98 | 150 | typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; |
iforce2d | 0:972874f31c98 | 151 | typedef struct _u8g_box_t u8g_box_t; |
iforce2d | 0:972874f31c98 | 152 | typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t; |
iforce2d | 0:972874f31c98 | 153 | |
iforce2d | 0:972874f31c98 | 154 | |
iforce2d | 0:972874f31c98 | 155 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 156 | /* generic */ |
iforce2d | 0:972874f31c98 | 157 | #if defined(U8G_16BIT) |
iforce2d | 0:972874f31c98 | 158 | typedef uint16_t u8g_uint_t; |
iforce2d | 0:972874f31c98 | 159 | typedef int16_t u8g_int_t; |
iforce2d | 0:972874f31c98 | 160 | #else |
iforce2d | 0:972874f31c98 | 161 | typedef uint8_t u8g_uint_t; |
iforce2d | 0:972874f31c98 | 162 | typedef int8_t u8g_int_t; |
iforce2d | 0:972874f31c98 | 163 | #endif |
iforce2d | 0:972874f31c98 | 164 | |
iforce2d | 0:972874f31c98 | 165 | #ifdef OBSOLETE |
iforce2d | 0:972874f31c98 | 166 | struct _u8g_box_t |
iforce2d | 0:972874f31c98 | 167 | { |
iforce2d | 0:972874f31c98 | 168 | u8g_uint_t x0, y0, x1, y1; |
iforce2d | 0:972874f31c98 | 169 | }; |
iforce2d | 0:972874f31c98 | 170 | typedef struct _u8g_box_t u8g_box_t; |
iforce2d | 0:972874f31c98 | 171 | #endif /* OBSOLETE */ |
iforce2d | 0:972874f31c98 | 172 | |
iforce2d | 0:972874f31c98 | 173 | |
iforce2d | 0:972874f31c98 | 174 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 175 | /* device structure */ |
iforce2d | 0:972874f31c98 | 176 | |
iforce2d | 0:972874f31c98 | 177 | #ifdef __XC8 |
iforce2d | 0:972874f31c98 | 178 | /* device prototype */ |
iforce2d | 0:972874f31c98 | 179 | typedef uint8_t (*u8g_dev_fnptr)(void *u8g, void *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 180 | |
iforce2d | 0:972874f31c98 | 181 | /* com prototype */ |
iforce2d | 0:972874f31c98 | 182 | typedef uint8_t (*u8g_com_fnptr)(void *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); |
iforce2d | 0:972874f31c98 | 183 | #else |
iforce2d | 0:972874f31c98 | 184 | /* device prototype */ |
iforce2d | 0:972874f31c98 | 185 | typedef uint8_t (*u8g_dev_fnptr)(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 186 | |
iforce2d | 0:972874f31c98 | 187 | /* com prototype */ |
iforce2d | 0:972874f31c98 | 188 | typedef uint8_t (*u8g_com_fnptr)(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); |
iforce2d | 0:972874f31c98 | 189 | #endif |
iforce2d | 0:972874f31c98 | 190 | |
iforce2d | 0:972874f31c98 | 191 | |
iforce2d | 0:972874f31c98 | 192 | |
iforce2d | 0:972874f31c98 | 193 | struct _u8g_dev_t |
iforce2d | 0:972874f31c98 | 194 | { |
iforce2d | 0:972874f31c98 | 195 | u8g_dev_fnptr dev_fn; /* device procedure */ |
iforce2d | 0:972874f31c98 | 196 | void *dev_mem; /* device memory */ |
iforce2d | 0:972874f31c98 | 197 | u8g_com_fnptr com_fn; /* communication procedure */ |
iforce2d | 0:972874f31c98 | 198 | }; |
iforce2d | 0:972874f31c98 | 199 | |
iforce2d | 0:972874f31c98 | 200 | |
iforce2d | 0:972874f31c98 | 201 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 202 | /* device list */ |
iforce2d | 0:972874f31c98 | 203 | |
iforce2d | 0:972874f31c98 | 204 | /* Size: 128x64 SDL, u8g_dev_sdl.c */ |
iforce2d | 0:972874f31c98 | 205 | extern u8g_dev_t u8g_dev_sdl_1bit; |
iforce2d | 0:972874f31c98 | 206 | extern u8g_dev_t u8g_dev_sdl_1bit_h; |
iforce2d | 0:972874f31c98 | 207 | extern u8g_dev_t u8g_dev_sdl_2bit; |
iforce2d | 0:972874f31c98 | 208 | extern u8g_dev_t u8g_dev_sdl_2bit_double_mem; |
iforce2d | 0:972874f31c98 | 209 | extern u8g_dev_t u8g_dev_sdl_8bit; |
iforce2d | 0:972874f31c98 | 210 | extern u8g_dev_t u8g_dev_sdl_hicolor; |
iforce2d | 0:972874f31c98 | 211 | extern u8g_dev_t u8g_dev_sdl_fullcolor; |
iforce2d | 0:972874f31c98 | 212 | int u8g_sdl_get_key(void); |
iforce2d | 0:972874f31c98 | 213 | |
iforce2d | 0:972874f31c98 | 214 | /* Size: 70x30 monochrom, stdout */ |
iforce2d | 0:972874f31c98 | 215 | extern u8g_dev_t u8g_dev_stdout; |
iforce2d | 0:972874f31c98 | 216 | |
iforce2d | 0:972874f31c98 | 217 | /* Size: monochrom, writes "u8g.pbm" */ |
iforce2d | 0:972874f31c98 | 218 | extern u8g_dev_t u8g_dev_pbm; |
iforce2d | 0:972874f31c98 | 219 | extern u8g_dev_t u8g_dev_pbm_8h1; |
iforce2d | 0:972874f31c98 | 220 | extern u8g_dev_t u8g_dev_pbm_8h2; /* grayscale simulation */ |
iforce2d | 0:972874f31c98 | 221 | |
iforce2d | 0:972874f31c98 | 222 | /* Size: 128x64 monochrom, no output, used for performance measure */ |
iforce2d | 0:972874f31c98 | 223 | extern u8g_dev_t u8g_dev_gprof; |
iforce2d | 0:972874f31c98 | 224 | |
iforce2d | 0:972874f31c98 | 225 | /* Display: EA DOGS102, Size: 102x64 monochrom */ |
iforce2d | 0:972874f31c98 | 226 | extern u8g_dev_t u8g_dev_uc1701_dogs102_sw_spi; |
iforce2d | 0:972874f31c98 | 227 | extern u8g_dev_t u8g_dev_uc1701_dogs102_hw_spi; |
iforce2d | 0:972874f31c98 | 228 | |
iforce2d | 0:972874f31c98 | 229 | extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 230 | extern u8g_dev_t u8g_dev_uc1701_dogs102_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 231 | |
iforce2d | 0:972874f31c98 | 232 | /* Display: Mini12864 (dealextreme), Size: 128x64 monochrom */ |
iforce2d | 0:972874f31c98 | 233 | extern u8g_dev_t u8g_dev_uc1701_mini12864_sw_spi; |
iforce2d | 0:972874f31c98 | 234 | extern u8g_dev_t u8g_dev_uc1701_mini12864_hw_spi; |
iforce2d | 0:972874f31c98 | 235 | |
iforce2d | 0:972874f31c98 | 236 | extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 237 | extern u8g_dev_t u8g_dev_uc1701_mini12864_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 238 | |
iforce2d | 0:972874f31c98 | 239 | /* Display: EA DOGM132, Size: 128x32 monochrom */ |
iforce2d | 0:972874f31c98 | 240 | extern u8g_dev_t u8g_dev_st7565_dogm132_sw_spi; |
iforce2d | 0:972874f31c98 | 241 | extern u8g_dev_t u8g_dev_st7565_dogm132_hw_spi; |
iforce2d | 0:972874f31c98 | 242 | |
iforce2d | 0:972874f31c98 | 243 | /* Display: EA DOGM128, Size: 128x64 monochrom */ |
iforce2d | 0:972874f31c98 | 244 | extern u8g_dev_t u8g_dev_st7565_dogm128_sw_spi; |
iforce2d | 0:972874f31c98 | 245 | extern u8g_dev_t u8g_dev_st7565_dogm128_hw_spi; |
iforce2d | 0:972874f31c98 | 246 | extern u8g_dev_t u8g_dev_st7565_dogm128_parallel; |
iforce2d | 0:972874f31c98 | 247 | |
iforce2d | 0:972874f31c98 | 248 | extern u8g_dev_t u8g_dev_st7565_dogm128_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 249 | extern u8g_dev_t u8g_dev_st7565_dogm128_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 250 | extern u8g_dev_t u8g_dev_st7565_dogm128_2x_parallel; |
iforce2d | 0:972874f31c98 | 251 | |
iforce2d | 0:972874f31c98 | 252 | /* Display: Topway LM6059 128x64 (Adafruit) */ |
iforce2d | 0:972874f31c98 | 253 | extern u8g_dev_t u8g_dev_st7565_lm6059_sw_spi; |
iforce2d | 0:972874f31c98 | 254 | extern u8g_dev_t u8g_dev_st7565_lm6059_hw_spi; |
iforce2d | 0:972874f31c98 | 255 | extern u8g_dev_t u8g_dev_st7565_lm6059_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 256 | extern u8g_dev_t u8g_dev_st7565_lm6059_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 257 | /* Display: Topway LM6063 128x64 */ |
iforce2d | 0:972874f31c98 | 258 | extern u8g_dev_t u8g_dev_st7565_lm6063_sw_spi; |
iforce2d | 0:972874f31c98 | 259 | extern u8g_dev_t u8g_dev_st7565_lm6063_hw_spi; |
iforce2d | 0:972874f31c98 | 260 | extern u8g_dev_t u8g_dev_st7565_lm6063_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 261 | extern u8g_dev_t u8g_dev_st7565_lm6063_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 262 | /* Display: Newhaven NHD-C12864 */ |
iforce2d | 0:972874f31c98 | 263 | extern u8g_dev_t u8g_dev_st7565_nhd_c12864_sw_spi; |
iforce2d | 0:972874f31c98 | 264 | extern u8g_dev_t u8g_dev_st7565_nhd_c12864_hw_spi; |
iforce2d | 0:972874f31c98 | 265 | extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 266 | extern u8g_dev_t u8g_dev_st7565_nhd_c12864_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 267 | |
iforce2d | 0:972874f31c98 | 268 | /* Display: Newhaven NHD-C12832 */ |
iforce2d | 0:972874f31c98 | 269 | extern u8g_dev_t u8g_dev_st7565_nhd_c12832_sw_spi; |
iforce2d | 0:972874f31c98 | 270 | extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_spi; |
iforce2d | 0:972874f31c98 | 271 | extern u8g_dev_t u8g_dev_st7565_nhd_c12832_parallel; |
iforce2d | 0:972874f31c98 | 272 | extern u8g_dev_t u8g_dev_st7565_nhd_c12832_hw_usart_spi; |
iforce2d | 0:972874f31c98 | 273 | |
iforce2d | 0:972874f31c98 | 274 | /* Display: Displaytech 64128N */ |
iforce2d | 0:972874f31c98 | 275 | extern u8g_dev_t u8g_dev_st7565_64128n_sw_spi; |
iforce2d | 0:972874f31c98 | 276 | extern u8g_dev_t u8g_dev_st7565_64128n_hw_spi; |
iforce2d | 0:972874f31c98 | 277 | extern u8g_dev_t u8g_dev_st7565_64128n_parallel; |
iforce2d | 0:972874f31c98 | 278 | |
iforce2d | 0:972874f31c98 | 279 | extern u8g_dev_t u8g_dev_st7565_64128n_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 280 | extern u8g_dev_t u8g_dev_st7565_64128n_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 281 | extern u8g_dev_t u8g_dev_st7565_64128n_2x_parallel; |
iforce2d | 0:972874f31c98 | 282 | |
iforce2d | 0:972874f31c98 | 283 | /* Display: LCD-AG-C128032R-DIW W/KK E6 PBF */ |
iforce2d | 0:972874f31c98 | 284 | extern u8g_dev_t u8g_dev_uc1601_c128032_sw_spi; |
iforce2d | 0:972874f31c98 | 285 | extern u8g_dev_t u8g_dev_uc1601_c128032_hw_spi; |
iforce2d | 0:972874f31c98 | 286 | |
iforce2d | 0:972874f31c98 | 287 | extern u8g_dev_t u8g_dev_uc1601_c128032_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 288 | extern u8g_dev_t u8g_dev_uc1601_c128032_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 289 | |
iforce2d | 0:972874f31c98 | 290 | /* dfrobot 128x64 Graphic LCD (SKU:FIT0021) */ |
iforce2d | 0:972874f31c98 | 291 | extern u8g_dev_t u8g_dev_st7920_128x64_sw_spi; |
iforce2d | 0:972874f31c98 | 292 | extern u8g_dev_t u8g_dev_st7920_128x64_hw_spi; |
iforce2d | 0:972874f31c98 | 293 | extern u8g_dev_t u8g_dev_st7920_128x64_8bit; |
iforce2d | 0:972874f31c98 | 294 | extern u8g_dev_t u8g_dev_st7920_128x64_custom; |
iforce2d | 0:972874f31c98 | 295 | |
iforce2d | 0:972874f31c98 | 296 | extern u8g_dev_t u8g_dev_st7920_128x64_4x_sw_spi; |
iforce2d | 0:972874f31c98 | 297 | extern u8g_dev_t u8g_dev_st7920_128x64_4x_hw_spi; |
iforce2d | 0:972874f31c98 | 298 | extern u8g_dev_t u8g_dev_st7920_128x64_4x_8bit; |
iforce2d | 0:972874f31c98 | 299 | extern u8g_dev_t u8g_dev_st7920_128x64_4x_custom; |
iforce2d | 0:972874f31c98 | 300 | |
iforce2d | 0:972874f31c98 | 301 | /* NHD-19232WG */ |
iforce2d | 0:972874f31c98 | 302 | extern u8g_dev_t u8g_dev_st7920_192x32_sw_spi; |
iforce2d | 0:972874f31c98 | 303 | extern u8g_dev_t u8g_dev_st7920_192x32_hw_spi; |
iforce2d | 0:972874f31c98 | 304 | extern u8g_dev_t u8g_dev_st7920_192x32_8bit; |
iforce2d | 0:972874f31c98 | 305 | |
iforce2d | 0:972874f31c98 | 306 | extern u8g_dev_t u8g_dev_st7920_192x32_4x_sw_spi; |
iforce2d | 0:972874f31c98 | 307 | extern u8g_dev_t u8g_dev_st7920_192x32_4x_hw_spi; |
iforce2d | 0:972874f31c98 | 308 | extern u8g_dev_t u8g_dev_st7920_192x32_4x_8bit; |
iforce2d | 0:972874f31c98 | 309 | |
iforce2d | 0:972874f31c98 | 310 | /* CrystalFontz CFAG20232 */ |
iforce2d | 0:972874f31c98 | 311 | extern u8g_dev_t u8g_dev_st7920_202x32_sw_spi; |
iforce2d | 0:972874f31c98 | 312 | extern u8g_dev_t u8g_dev_st7920_202x32_hw_spi; |
iforce2d | 0:972874f31c98 | 313 | extern u8g_dev_t u8g_dev_st7920_202x32_8bit; |
iforce2d | 0:972874f31c98 | 314 | |
iforce2d | 0:972874f31c98 | 315 | extern u8g_dev_t u8g_dev_st7920_202x32_4x_sw_spi; |
iforce2d | 0:972874f31c98 | 316 | extern u8g_dev_t u8g_dev_st7920_202x32_4x_hw_spi; |
iforce2d | 0:972874f31c98 | 317 | extern u8g_dev_t u8g_dev_st7920_202x32_4x_8bit; |
iforce2d | 0:972874f31c98 | 318 | |
iforce2d | 0:972874f31c98 | 319 | /* LC7981 160x80 display */ |
iforce2d | 0:972874f31c98 | 320 | extern u8g_dev_t u8g_dev_lc7981_160x80_8bit; |
iforce2d | 0:972874f31c98 | 321 | /* LC7981 240x64 display */ |
iforce2d | 0:972874f31c98 | 322 | extern u8g_dev_t u8g_dev_lc7981_240x64_8bit; |
iforce2d | 0:972874f31c98 | 323 | /* LC7981 240x128 display */ |
iforce2d | 0:972874f31c98 | 324 | extern u8g_dev_t u8g_dev_lc7981_240x128_8bit; |
iforce2d | 0:972874f31c98 | 325 | /* LC7981 320x64 display */ |
iforce2d | 0:972874f31c98 | 326 | extern u8g_dev_t u8g_dev_lc7981_320x64_8bit; |
iforce2d | 0:972874f31c98 | 327 | |
iforce2d | 0:972874f31c98 | 328 | /* T6963, all t6963 devices have double page (2x) */ |
iforce2d | 0:972874f31c98 | 329 | extern u8g_dev_t u8g_dev_t6963_240x128_8bit; |
iforce2d | 0:972874f31c98 | 330 | extern u8g_dev_t u8g_dev_t6963_240x64_8bit; |
iforce2d | 0:972874f31c98 | 331 | extern u8g_dev_t u8g_dev_t6963_128x64_8bit; |
iforce2d | 0:972874f31c98 | 332 | |
iforce2d | 0:972874f31c98 | 333 | /* Display: EA DOGXL160, Size: 160x104 monochrom & gray level */ |
iforce2d | 0:972874f31c98 | 334 | extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_sw_spi; |
iforce2d | 0:972874f31c98 | 335 | extern u8g_dev_t u8g_dev_uc1610_dogxl160_bw_hw_spi; |
iforce2d | 0:972874f31c98 | 336 | extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_sw_spi; |
iforce2d | 0:972874f31c98 | 337 | extern u8g_dev_t u8g_dev_uc1610_dogxl160_gr_hw_spi; |
iforce2d | 0:972874f31c98 | 338 | |
iforce2d | 0:972874f31c98 | 339 | extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_sw_spi; |
iforce2d | 0:972874f31c98 | 340 | extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_bw_hw_spi; |
iforce2d | 0:972874f31c98 | 341 | extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_sw_spi; |
iforce2d | 0:972874f31c98 | 342 | extern u8g_dev_t u8g_dev_uc1610_dogxl160_2x_gr_hw_spi; |
iforce2d | 0:972874f31c98 | 343 | |
iforce2d | 0:972874f31c98 | 344 | /* Display: Generic KS0108b, Size: 128x64 monochrom */ |
iforce2d | 0:972874f31c98 | 345 | extern u8g_dev_t u8g_dev_ks0108_128x64; /* official Arduino Library interface */ |
iforce2d | 0:972874f31c98 | 346 | extern u8g_dev_t u8g_dev_ks0108_128x64_fast; /* faster, but uses private tables from the Arduino Library */ |
iforce2d | 0:972874f31c98 | 347 | |
iforce2d | 0:972874f31c98 | 348 | /* Nokia 84x48 Display with PCD8544 */ |
iforce2d | 0:972874f31c98 | 349 | extern u8g_dev_t u8g_dev_pcd8544_84x48_sw_spi; |
iforce2d | 0:972874f31c98 | 350 | extern u8g_dev_t u8g_dev_pcd8544_84x48_hw_spi; |
iforce2d | 0:972874f31c98 | 351 | extern u8g_dev_t u8g_dev_tls8204_84x48_sw_spi; |
iforce2d | 0:972874f31c98 | 352 | |
iforce2d | 0:972874f31c98 | 353 | /* Nokia 96x65 Display with PCF8812 */ |
iforce2d | 0:972874f31c98 | 354 | extern u8g_dev_t u8g_dev_pcf8812_96x65_sw_spi; |
iforce2d | 0:972874f31c98 | 355 | extern u8g_dev_t u8g_dev_pcf8812_96x65_hw_spi; |
iforce2d | 0:972874f31c98 | 356 | |
iforce2d | 0:972874f31c98 | 357 | /* NHD-2.7-12864UCY3 OLED Display with SSD1325 Controller */ |
iforce2d | 0:972874f31c98 | 358 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_sw_spi; |
iforce2d | 0:972874f31c98 | 359 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_hw_spi; |
iforce2d | 0:972874f31c98 | 360 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_bw_parallel; |
iforce2d | 0:972874f31c98 | 361 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_sw_spi; |
iforce2d | 0:972874f31c98 | 362 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_gr_hw_spi; |
iforce2d | 0:972874f31c98 | 363 | |
iforce2d | 0:972874f31c98 | 364 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_sw_spi; |
iforce2d | 0:972874f31c98 | 365 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_hw_spi; |
iforce2d | 0:972874f31c98 | 366 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_bw_parallel; |
iforce2d | 0:972874f31c98 | 367 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_sw_spi; |
iforce2d | 0:972874f31c98 | 368 | extern u8g_dev_t u8g_dev_ssd1325_nhd27oled_2x_gr_hw_spi; |
iforce2d | 0:972874f31c98 | 369 | |
iforce2d | 0:972874f31c98 | 370 | /* LY120 OLED with SSD1327 Controller (tested with Seeedstudio module) */ |
iforce2d | 0:972874f31c98 | 371 | extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_sw_spi; |
iforce2d | 0:972874f31c98 | 372 | extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_hw_spi; |
iforce2d | 0:972874f31c98 | 373 | extern u8g_dev_t u8g_dev_ssd1327_96x96_gr_i2c; |
iforce2d | 0:972874f31c98 | 374 | |
iforce2d | 0:972874f31c98 | 375 | extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_sw_spi; |
iforce2d | 0:972874f31c98 | 376 | extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_hw_spi; |
iforce2d | 0:972874f31c98 | 377 | extern u8g_dev_t u8g_dev_ssd1327_96x96_2x_gr_i2c; |
iforce2d | 0:972874f31c98 | 378 | |
iforce2d | 0:972874f31c98 | 379 | /* NHD-3.12-25664 OLED Display with SSD1322 Controller */ |
iforce2d | 0:972874f31c98 | 380 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_sw_spi; |
iforce2d | 0:972874f31c98 | 381 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_hw_spi; |
iforce2d | 0:972874f31c98 | 382 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_bw_parallel; |
iforce2d | 0:972874f31c98 | 383 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_sw_spi; |
iforce2d | 0:972874f31c98 | 384 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_bw_hw_spi; |
iforce2d | 0:972874f31c98 | 385 | |
iforce2d | 0:972874f31c98 | 386 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_sw_spi; |
iforce2d | 0:972874f31c98 | 387 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_hw_spi; |
iforce2d | 0:972874f31c98 | 388 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_gr_parallel; |
iforce2d | 0:972874f31c98 | 389 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_sw_spi; |
iforce2d | 0:972874f31c98 | 390 | extern u8g_dev_t u8g_dev_ssd1322_nhd31oled_2x_gr_hw_spi; |
iforce2d | 0:972874f31c98 | 391 | |
iforce2d | 0:972874f31c98 | 392 | /* OLED 128x64 Display with SSD1306 Controller */ |
iforce2d | 0:972874f31c98 | 393 | extern u8g_dev_t u8g_dev_ssd1306_128x64_sw_spi; |
iforce2d | 0:972874f31c98 | 394 | extern u8g_dev_t u8g_dev_ssd1306_128x64_hw_spi; |
iforce2d | 0:972874f31c98 | 395 | extern u8g_dev_t u8g_dev_ssd1306_128x64_i2c; |
iforce2d | 0:972874f31c98 | 396 | |
iforce2d | 0:972874f31c98 | 397 | extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 398 | extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 399 | extern u8g_dev_t u8g_dev_ssd1306_128x64_2x_i2c; |
iforce2d | 0:972874f31c98 | 400 | |
iforce2d | 0:972874f31c98 | 401 | /* OLED 128x64 Display with SSD1309 Controller */ |
iforce2d | 0:972874f31c98 | 402 | extern u8g_dev_t u8g_dev_ssd1309_128x64_sw_spi; |
iforce2d | 0:972874f31c98 | 403 | extern u8g_dev_t u8g_dev_ssd1309_128x64_hw_spi; |
iforce2d | 0:972874f31c98 | 404 | extern u8g_dev_t u8g_dev_ssd1309_128x64_i2c; |
iforce2d | 0:972874f31c98 | 405 | |
iforce2d | 0:972874f31c98 | 406 | /* OLED 128x32 Display with SSD1306 Controller */ |
iforce2d | 0:972874f31c98 | 407 | extern u8g_dev_t u8g_dev_ssd1306_128x32_sw_spi; |
iforce2d | 0:972874f31c98 | 408 | extern u8g_dev_t u8g_dev_ssd1306_128x32_hw_spi; |
iforce2d | 0:972874f31c98 | 409 | extern u8g_dev_t u8g_dev_ssd1306_128x32_i2c; |
iforce2d | 0:972874f31c98 | 410 | |
iforce2d | 0:972874f31c98 | 411 | extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_sw_spi; |
iforce2d | 0:972874f31c98 | 412 | extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_hw_spi; |
iforce2d | 0:972874f31c98 | 413 | extern u8g_dev_t u8g_dev_ssd1306_128x32_2x_i2c; |
iforce2d | 0:972874f31c98 | 414 | |
iforce2d | 0:972874f31c98 | 415 | /* experimental 65K TFT with st7687 controller */ |
iforce2d | 0:972874f31c98 | 416 | extern u8g_dev_t u8g_dev_st7687_c144mvgd_sw_spi; |
iforce2d | 0:972874f31c98 | 417 | extern u8g_dev_t u8g_dev_st7687_c144mvgd_8bit; |
iforce2d | 0:972874f31c98 | 418 | |
iforce2d | 0:972874f31c98 | 419 | /* SBN1661/SED1520 display with 122x32 */ |
iforce2d | 0:972874f31c98 | 420 | extern u8g_dev_t u8g_dev_sbn1661_122x32; |
iforce2d | 0:972874f31c98 | 421 | |
iforce2d | 0:972874f31c98 | 422 | /* flip disc matrix */ |
iforce2d | 0:972874f31c98 | 423 | extern u8g_dev_t u8g_dev_flipdisc_2x7; |
iforce2d | 0:972874f31c98 | 424 | void u8g_SetFlipDiscCallback(u8g_t *u8g, void (*cb)(uint8_t id, uint8_t page, uint8_t width, uint8_t *row1, uint8_t *row2)); |
iforce2d | 0:972874f31c98 | 425 | |
iforce2d | 0:972874f31c98 | 426 | /* ILI9325D based TFT */ |
iforce2d | 0:972874f31c98 | 427 | extern u8g_dev_t u8g_dev_ili9325d_320x240_8bit; |
iforce2d | 0:972874f31c98 | 428 | |
iforce2d | 0:972874f31c98 | 429 | |
iforce2d | 0:972874f31c98 | 430 | /* SSD1351 OLED (breakout board from http://www.kickstarter.com/projects/ilsoftltd/colour-oled-breakout-board) */ |
iforce2d | 0:972874f31c98 | 431 | extern u8g_dev_t u8g_dev_ssd1351_128x128_332_sw_spi; |
iforce2d | 0:972874f31c98 | 432 | extern u8g_dev_t u8g_dev_ssd1351_128x128_332_hw_spi; |
iforce2d | 0:972874f31c98 | 433 | extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_sw_spi; |
iforce2d | 0:972874f31c98 | 434 | extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_332_hw_spi; |
iforce2d | 0:972874f31c98 | 435 | extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_sw_spi; |
iforce2d | 0:972874f31c98 | 436 | extern u8g_dev_t u8g_dev_ssd1351_128x128_idx_hw_spi; |
iforce2d | 0:972874f31c98 | 437 | extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_sw_spi; |
iforce2d | 0:972874f31c98 | 438 | extern u8g_dev_t u8g_dev_ssd1351_128x128_hicolor_hw_spi; |
iforce2d | 0:972874f31c98 | 439 | extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_sw_spi; |
iforce2d | 0:972874f31c98 | 440 | extern u8g_dev_t u8g_dev_ssd1351_128x128_4x_hicolor_hw_spi; |
iforce2d | 0:972874f31c98 | 441 | |
iforce2d | 0:972874f31c98 | 442 | /* SSD1351 OLED (Freetronics, GPIOs set to high level) */ |
iforce2d | 0:972874f31c98 | 443 | extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_sw_spi; |
iforce2d | 0:972874f31c98 | 444 | extern u8g_dev_t u8g_dev_ssd1351_128x128gh_332_hw_spi; |
iforce2d | 0:972874f31c98 | 445 | extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_sw_spi; |
iforce2d | 0:972874f31c98 | 446 | extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_332_hw_spi; |
iforce2d | 0:972874f31c98 | 447 | extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_sw_spi; |
iforce2d | 0:972874f31c98 | 448 | extern u8g_dev_t u8g_dev_ssd1351_128x128gh_hicolor_hw_spi; |
iforce2d | 0:972874f31c98 | 449 | extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_sw_spi; |
iforce2d | 0:972874f31c98 | 450 | extern u8g_dev_t u8g_dev_ssd1351_128x128gh_4x_hicolor_hw_spi; |
iforce2d | 0:972874f31c98 | 451 | |
iforce2d | 0:972874f31c98 | 452 | /* HT1632 */ |
iforce2d | 0:972874f31c98 | 453 | extern u8g_dev_t u8g_dev_ht1632_24x16; |
iforce2d | 0:972874f31c98 | 454 | |
iforce2d | 0:972874f31c98 | 455 | /* A2 Micro Printer */ |
iforce2d | 0:972874f31c98 | 456 | extern u8g_dev_t u8g_dev_a2_micro_printer_384x240; |
iforce2d | 0:972874f31c98 | 457 | extern u8g_dev_t u8g_dev_a2_micro_printer_192x120_ds; |
iforce2d | 0:972874f31c98 | 458 | |
iforce2d | 0:972874f31c98 | 459 | /* u8g_virtual_screen.c */ |
iforce2d | 0:972874f31c98 | 460 | extern u8g_dev_t u8g_dev_vs; |
iforce2d | 0:972874f31c98 | 461 | |
iforce2d | 0:972874f31c98 | 462 | |
iforce2d | 0:972874f31c98 | 463 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 464 | /* device messages */ |
iforce2d | 0:972874f31c98 | 465 | |
iforce2d | 0:972874f31c98 | 466 | struct _u8g_dev_arg_pixel_t |
iforce2d | 0:972874f31c98 | 467 | { |
iforce2d | 0:972874f31c98 | 468 | u8g_uint_t x, y; /* will be modified */ |
iforce2d | 0:972874f31c98 | 469 | uint8_t pixel; /* will be modified, pixel sequence or transparency value */ |
iforce2d | 0:972874f31c98 | 470 | uint8_t dir; |
iforce2d | 0:972874f31c98 | 471 | uint8_t color; /* color or index value, red value for true color mode */ |
iforce2d | 0:972874f31c98 | 472 | uint8_t hi_color; /* high byte for 64K color mode, low byte is in "color", green value for true color mode */ |
iforce2d | 0:972874f31c98 | 473 | uint8_t blue; /* blue value in true color mode */ |
iforce2d | 0:972874f31c98 | 474 | }; |
iforce2d | 0:972874f31c98 | 475 | /* typedef struct _u8g_dev_arg_pixel_t u8g_dev_arg_pixel_t; */ /* forward decl */ |
iforce2d | 0:972874f31c98 | 476 | |
iforce2d | 0:972874f31c98 | 477 | /* range for r,g,b: 0..255 */ |
iforce2d | 0:972874f31c98 | 478 | #define U8G_GET_HICOLOR_BY_RGB(r,g,b) (((uint16_t)((r)&0x0f8))<<8)|(((uint16_t)((g)&0x0fc))<<3)|(((uint16_t)((b)>>3))) |
iforce2d | 0:972874f31c98 | 479 | |
iforce2d | 0:972874f31c98 | 480 | struct _u8g_dev_arg_bbx_t |
iforce2d | 0:972874f31c98 | 481 | { |
iforce2d | 0:972874f31c98 | 482 | u8g_uint_t x, y, w, h; |
iforce2d | 0:972874f31c98 | 483 | }; |
iforce2d | 0:972874f31c98 | 484 | /* typedef struct _u8g_dev_arg_bbx_t u8g_dev_arg_bbx_t; */ /* forward decl */ |
iforce2d | 0:972874f31c98 | 485 | |
iforce2d | 0:972874f31c98 | 486 | struct _u8g_box_t |
iforce2d | 0:972874f31c98 | 487 | { |
iforce2d | 0:972874f31c98 | 488 | u8g_uint_t x0, y0, x1, y1; |
iforce2d | 0:972874f31c98 | 489 | }; |
iforce2d | 0:972874f31c98 | 490 | /* typedef struct _u8g_box_t u8g_box_t; */ /* forward decl */ |
iforce2d | 0:972874f31c98 | 491 | |
iforce2d | 0:972874f31c98 | 492 | struct _u8g_dev_arg_irgb_t |
iforce2d | 0:972874f31c98 | 493 | { |
iforce2d | 0:972874f31c98 | 494 | u8g_uint_t idx, r, g, b; /* index with rgb value */ |
iforce2d | 0:972874f31c98 | 495 | }; |
iforce2d | 0:972874f31c98 | 496 | /* typedef struct _u8g_dev_arg_irgb_t u8g_dev_arg_irgb_t; */ /* forward decl */ |
iforce2d | 0:972874f31c98 | 497 | |
iforce2d | 0:972874f31c98 | 498 | |
iforce2d | 0:972874f31c98 | 499 | |
iforce2d | 0:972874f31c98 | 500 | #define U8G_DEV_MSG_INIT 10 |
iforce2d | 0:972874f31c98 | 501 | #define U8G_DEV_MSG_STOP 11 |
iforce2d | 0:972874f31c98 | 502 | |
iforce2d | 0:972874f31c98 | 503 | /* arg: pointer to uint8_t, contranst value between 0 and 255 */ |
iforce2d | 0:972874f31c98 | 504 | #define U8G_DEV_MSG_CONTRAST 15 |
iforce2d | 0:972874f31c98 | 505 | |
iforce2d | 0:972874f31c98 | 506 | #define U8G_DEV_MSG_SLEEP_ON 16 |
iforce2d | 0:972874f31c98 | 507 | #define U8G_DEV_MSG_SLEEP_OFF 17 |
iforce2d | 0:972874f31c98 | 508 | |
iforce2d | 0:972874f31c98 | 509 | #define U8G_DEV_MSG_PAGE_FIRST 20 |
iforce2d | 0:972874f31c98 | 510 | #define U8G_DEV_MSG_PAGE_NEXT 21 |
iforce2d | 0:972874f31c98 | 511 | |
iforce2d | 0:972874f31c98 | 512 | /* arg: u8g_dev_arg_bbx_t * */ |
iforce2d | 0:972874f31c98 | 513 | /* new algorithm with U8G_DEV_MSG_GET_PAGE_BOX makes this msg obsolete */ |
iforce2d | 0:972874f31c98 | 514 | /* #define U8G_DEV_MSG_IS_BBX_INTERSECTION 22 */ |
iforce2d | 0:972874f31c98 | 515 | |
iforce2d | 0:972874f31c98 | 516 | /* arg: u8g_box_t *, fill structure with current page properties */ |
iforce2d | 0:972874f31c98 | 517 | #define U8G_DEV_MSG_GET_PAGE_BOX 23 |
iforce2d | 0:972874f31c98 | 518 | |
iforce2d | 0:972874f31c98 | 519 | /* |
iforce2d | 0:972874f31c98 | 520 | #define U8G_DEV_MSG_PRIMITIVE_START 30 |
iforce2d | 0:972874f31c98 | 521 | #define U8G_DEV_MSG_PRIMITIVE_END 31 |
iforce2d | 0:972874f31c98 | 522 | */ |
iforce2d | 0:972874f31c98 | 523 | |
iforce2d | 0:972874f31c98 | 524 | /* arg: u8g_dev_arg_pixel_t * */ |
iforce2d | 0:972874f31c98 | 525 | #define U8G_DEV_MSG_SET_TPIXEL 44 |
iforce2d | 0:972874f31c98 | 526 | #define U8G_DEV_MSG_SET_4TPIXEL 45 |
iforce2d | 0:972874f31c98 | 527 | |
iforce2d | 0:972874f31c98 | 528 | #define U8G_DEV_MSG_SET_PIXEL 50 |
iforce2d | 0:972874f31c98 | 529 | #define U8G_DEV_MSG_SET_8PIXEL 59 |
iforce2d | 0:972874f31c98 | 530 | |
iforce2d | 0:972874f31c98 | 531 | #define U8G_DEV_MSG_SET_COLOR_ENTRY 60 |
iforce2d | 0:972874f31c98 | 532 | |
iforce2d | 0:972874f31c98 | 533 | #define U8G_DEV_MSG_SET_XY_CB 61 |
iforce2d | 0:972874f31c98 | 534 | |
iforce2d | 0:972874f31c98 | 535 | #define U8G_DEV_MSG_GET_WIDTH 70 |
iforce2d | 0:972874f31c98 | 536 | #define U8G_DEV_MSG_GET_HEIGHT 71 |
iforce2d | 0:972874f31c98 | 537 | #define U8G_DEV_MSG_GET_MODE 72 |
iforce2d | 0:972874f31c98 | 538 | |
iforce2d | 0:972874f31c98 | 539 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 540 | /* device modes */ |
iforce2d | 0:972874f31c98 | 541 | #define U8G_MODE(is_index_mode, is_color, bits_per_pixel) (((is_index_mode)<<6) | ((is_color)<<5)|(bits_per_pixel)) |
iforce2d | 0:972874f31c98 | 542 | |
iforce2d | 0:972874f31c98 | 543 | #define U8G_MODE_UNKNOWN 0 |
iforce2d | 0:972874f31c98 | 544 | #define U8G_MODE_BW U8G_MODE(0, 0, 1) |
iforce2d | 0:972874f31c98 | 545 | #define U8G_MODE_GRAY2BIT U8G_MODE(0, 0, 2) |
iforce2d | 0:972874f31c98 | 546 | #define U8G_MODE_R3G3B2 U8G_MODE(0, 1, 8) |
iforce2d | 0:972874f31c98 | 547 | #define U8G_MODE_INDEX U8G_MODE(1, 1, 8) |
iforce2d | 0:972874f31c98 | 548 | /* hicolor is R5G6B5 */ |
iforce2d | 0:972874f31c98 | 549 | #define U8G_MODE_HICOLOR U8G_MODE(0, 1, 16) |
iforce2d | 0:972874f31c98 | 550 | /* truecolor */ |
iforce2d | 0:972874f31c98 | 551 | #define U8G_MODE_TRUECOLOR U8G_MODE(0, 1, 24) |
iforce2d | 0:972874f31c98 | 552 | |
iforce2d | 0:972874f31c98 | 553 | |
iforce2d | 0:972874f31c98 | 554 | #define U8G_MODE_GET_BITS_PER_PIXEL(mode) ((mode)&31) |
iforce2d | 0:972874f31c98 | 555 | #define U8G_MODE_IS_COLOR(mode) (((mode)&32)==0?0:1) |
iforce2d | 0:972874f31c98 | 556 | #define U8G_MODE_IS_INDEX_MODE(mode) (((mode)&64)==0?0:1) |
iforce2d | 0:972874f31c98 | 557 | |
iforce2d | 0:972874f31c98 | 558 | |
iforce2d | 0:972874f31c98 | 559 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 560 | /* com options */ |
iforce2d | 0:972874f31c98 | 561 | |
iforce2d | 0:972874f31c98 | 562 | /* uncomment the following line for Atmega HW SPI double speed, issue 89 */ |
iforce2d | 0:972874f31c98 | 563 | /* #define U8G_HW_SPI_2X 1 */ |
iforce2d | 0:972874f31c98 | 564 | |
iforce2d | 0:972874f31c98 | 565 | /* com messages */ |
iforce2d | 0:972874f31c98 | 566 | |
iforce2d | 0:972874f31c98 | 567 | #define U8G_COM_MSG_STOP 0 |
iforce2d | 0:972874f31c98 | 568 | #define U8G_COM_MSG_INIT 1 |
iforce2d | 0:972874f31c98 | 569 | |
iforce2d | 0:972874f31c98 | 570 | #define U8G_COM_MSG_ADDRESS 2 |
iforce2d | 0:972874f31c98 | 571 | |
iforce2d | 0:972874f31c98 | 572 | /* CHIP_SELECT argument: number of the chip which needs to be activated, so this is more like high active */ |
iforce2d | 0:972874f31c98 | 573 | #define U8G_COM_MSG_CHIP_SELECT 3 |
iforce2d | 0:972874f31c98 | 574 | |
iforce2d | 0:972874f31c98 | 575 | #define U8G_COM_MSG_RESET 4 |
iforce2d | 0:972874f31c98 | 576 | |
iforce2d | 0:972874f31c98 | 577 | #define U8G_COM_MSG_WRITE_BYTE 5 |
iforce2d | 0:972874f31c98 | 578 | #define U8G_COM_MSG_WRITE_SEQ 6 |
iforce2d | 0:972874f31c98 | 579 | #define U8G_COM_MSG_WRITE_SEQ_P 7 |
iforce2d | 0:972874f31c98 | 580 | |
iforce2d | 0:972874f31c98 | 581 | |
iforce2d | 0:972874f31c98 | 582 | /* com driver */ |
iforce2d | 0:972874f31c98 | 583 | uint8_t u8g_com_null_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_null.c */ |
iforce2d | 0:972874f31c98 | 584 | uint8_t u8g_com_arduino_std_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_std_sw_spi.c */ |
iforce2d | 0:972874f31c98 | 585 | uint8_t u8g_com_arduino_hw_usart_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_hw_usart_spi.c */ |
iforce2d | 0:972874f31c98 | 586 | uint8_t u8g_com_arduino_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_sw_spi.c */ |
iforce2d | 0:972874f31c98 | 587 | uint8_t u8g_com_arduino_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_hw_spi.c */ |
iforce2d | 0:972874f31c98 | 588 | uint8_t u8g_com_arduino_ATtiny85_std_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_arduino_ATTiny85_std_hw_spi.c */ |
iforce2d | 0:972874f31c98 | 589 | uint8_t u8g_com_arduino_st7920_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_spi.c */ |
iforce2d | 0:972874f31c98 | 590 | uint8_t u8g_com_arduino_st7920_custom_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_custom.c */ |
iforce2d | 0:972874f31c98 | 591 | uint8_t u8g_com_arduino_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_st7920_hw_spi.c */ |
iforce2d | 0:972874f31c98 | 592 | uint8_t u8g_com_arduino_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_parallel.c */ |
iforce2d | 0:972874f31c98 | 593 | uint8_t u8g_com_arduino_fast_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_fast_parallel.c */ |
iforce2d | 0:972874f31c98 | 594 | uint8_t u8g_com_arduino_port_d_wr_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_port_d_wr.c */ |
iforce2d | 0:972874f31c98 | 595 | uint8_t u8g_com_arduino_no_en_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_no_en_parallel.c */ |
iforce2d | 0:972874f31c98 | 596 | uint8_t u8g_com_arduino_ssd_i2c_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_ssd_i2c.c */ |
iforce2d | 0:972874f31c98 | 597 | uint8_t u8g_com_arduino_t6963_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_arduino_t6963.c */ |
iforce2d | 0:972874f31c98 | 598 | |
iforce2d | 0:972874f31c98 | 599 | |
iforce2d | 0:972874f31c98 | 600 | uint8_t u8g_com_atmega_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_hw_spi.c */ |
iforce2d | 0:972874f31c98 | 601 | uint8_t u8g_com_atmega_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_sw_spi.c */ |
iforce2d | 0:972874f31c98 | 602 | uint8_t u8g_com_atmega_st7920_sw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_st7920_spi.c */ |
iforce2d | 0:972874f31c98 | 603 | uint8_t u8g_com_atmega_st7920_hw_spi_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); |
iforce2d | 0:972874f31c98 | 604 | uint8_t u8g_com_atmega_parallel_fn(u8g_t *u8g, uint8_t msg, uint8_t arg_val, void *arg_ptr); /* u8g_com_atmega_parallel.c */ |
iforce2d | 0:972874f31c98 | 605 | |
iforce2d | 0:972874f31c98 | 606 | |
iforce2d | 0:972874f31c98 | 607 | /* |
iforce2d | 0:972874f31c98 | 608 | Translation of system specific com drives to generic com names |
iforce2d | 0:972874f31c98 | 609 | At the moment, the following generic com drives are available |
iforce2d | 0:972874f31c98 | 610 | U8G_COM_HW_SPI |
iforce2d | 0:972874f31c98 | 611 | U8G_COM_SW_SPI |
iforce2d | 0:972874f31c98 | 612 | U8G_COM_PARALLEL |
iforce2d | 0:972874f31c98 | 613 | U8G_COM_T6963 |
iforce2d | 0:972874f31c98 | 614 | U8G_COM_FAST_PARALLEL |
iforce2d | 0:972874f31c98 | 615 | U8G_COM_SSD_I2C |
iforce2d | 0:972874f31c98 | 616 | |
iforce2d | 0:972874f31c98 | 617 | defined(__18CXX) || defined(__PIC32MX) |
iforce2d | 0:972874f31c98 | 618 | |
iforce2d | 0:972874f31c98 | 619 | */ |
iforce2d | 0:972874f31c98 | 620 | /* ==== HW SPI, Arduino ====*/ |
iforce2d | 0:972874f31c98 | 621 | #if defined(ARDUINO) |
iforce2d | 0:972874f31c98 | 622 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 623 | |
iforce2d | 0:972874f31c98 | 624 | #if defined(__AVR_ATtiny85__) |
iforce2d | 0:972874f31c98 | 625 | #define U8G_COM_HW_SPI u8g_com_arduino_ATtiny85_std_hw_spi_fn |
iforce2d | 0:972874f31c98 | 626 | #define U8G_COM_ST7920_HW_SPI u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 627 | #else |
iforce2d | 0:972874f31c98 | 628 | |
iforce2d | 0:972874f31c98 | 629 | #define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn |
iforce2d | 0:972874f31c98 | 630 | #if defined(__AVR_ATmega32U4__) |
iforce2d | 0:972874f31c98 | 631 | #define U8G_COM_HW_USART_SPI u8g_com_arduino_hw_usart_spi_fn |
iforce2d | 0:972874f31c98 | 632 | #endif /* __AVR_ATmega32U4__ */ |
iforce2d | 0:972874f31c98 | 633 | #define U8G_COM_ST7920_HW_SPI u8g_com_arduino_st7920_hw_spi_fn |
iforce2d | 0:972874f31c98 | 634 | #endif /* __AVR_ATtiny85__ */ |
iforce2d | 0:972874f31c98 | 635 | |
iforce2d | 0:972874f31c98 | 636 | #elif defined(__18CXX) || defined(__PIC32MX) |
iforce2d | 0:972874f31c98 | 637 | #define U8G_COM_HW_SPI u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 638 | #define U8G_COM_ST7920_HW_SPI u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 639 | #elif defined(__arm__) /* Arduino Due */ |
iforce2d | 0:972874f31c98 | 640 | #define U8G_COM_HW_SPI u8g_com_arduino_hw_spi_fn |
iforce2d | 0:972874f31c98 | 641 | #define U8G_COM_ST7920_HW_SPI u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 642 | #endif |
iforce2d | 0:972874f31c98 | 643 | #endif |
iforce2d | 0:972874f31c98 | 644 | /* ==== HW SPI, not Arduino ====*/ |
iforce2d | 0:972874f31c98 | 645 | #ifndef U8G_COM_HW_SPI |
iforce2d | 0:972874f31c98 | 646 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 647 | #define U8G_COM_HW_SPI u8g_com_atmega_hw_spi_fn |
iforce2d | 0:972874f31c98 | 648 | #define U8G_COM_ST7920_HW_SPI u8g_com_atmega_st7920_hw_spi_fn |
iforce2d | 0:972874f31c98 | 649 | #endif |
iforce2d | 0:972874f31c98 | 650 | #endif |
iforce2d | 0:972874f31c98 | 651 | #ifndef U8G_COM_HW_SPI |
iforce2d | 0:972874f31c98 | 652 | #define U8G_COM_HW_SPI u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 653 | #define U8G_COM_ST7920_HW_SPI u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 654 | #endif |
iforce2d | 0:972874f31c98 | 655 | |
iforce2d | 0:972874f31c98 | 656 | #ifndef U8G_COM_HW_USART_SPI |
iforce2d | 0:972874f31c98 | 657 | #define U8G_COM_HW_USART_SPI u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 658 | #endif |
iforce2d | 0:972874f31c98 | 659 | |
iforce2d | 0:972874f31c98 | 660 | |
iforce2d | 0:972874f31c98 | 661 | /* ==== SW SPI, Arduino ====*/ |
iforce2d | 0:972874f31c98 | 662 | #if defined(ARDUINO) |
iforce2d | 0:972874f31c98 | 663 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 664 | #define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn |
iforce2d | 0:972874f31c98 | 665 | #define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn |
iforce2d | 0:972874f31c98 | 666 | #elif defined(__18CXX) || defined(__PIC32MX) |
iforce2d | 0:972874f31c98 | 667 | #define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn |
iforce2d | 0:972874f31c98 | 668 | #define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn |
iforce2d | 0:972874f31c98 | 669 | #elif defined(__arm__) /* Arduino Due */ |
iforce2d | 0:972874f31c98 | 670 | //#define U8G_COM_SW_SPI u8g_com_arduino_std_sw_spi_fn |
iforce2d | 0:972874f31c98 | 671 | #define U8G_COM_SW_SPI u8g_com_arduino_sw_spi_fn |
iforce2d | 0:972874f31c98 | 672 | #define U8G_COM_ST7920_SW_SPI u8g_com_arduino_st7920_spi_fn |
iforce2d | 0:972874f31c98 | 673 | #endif |
iforce2d | 0:972874f31c98 | 674 | #endif |
iforce2d | 0:972874f31c98 | 675 | |
iforce2d | 0:972874f31c98 | 676 | #ifndef U8G_COM_SW_SPI |
iforce2d | 0:972874f31c98 | 677 | /* ==== SW SPI, not Arduino ====*/ |
iforce2d | 0:972874f31c98 | 678 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 679 | #define U8G_COM_SW_SPI u8g_com_atmega_sw_spi_fn |
iforce2d | 0:972874f31c98 | 680 | #define U8G_COM_ST7920_SW_SPI u8g_com_atmega_st7920_sw_spi_fn |
iforce2d | 0:972874f31c98 | 681 | #endif |
iforce2d | 0:972874f31c98 | 682 | #endif |
iforce2d | 0:972874f31c98 | 683 | #ifndef U8G_COM_SW_SPI |
iforce2d | 0:972874f31c98 | 684 | #define U8G_COM_SW_SPI u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 685 | #define U8G_COM_ST7920_SW_SPI u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 686 | #endif |
iforce2d | 0:972874f31c98 | 687 | |
iforce2d | 0:972874f31c98 | 688 | /* ==== Parallel iinterface, Arduino ====*/ |
iforce2d | 0:972874f31c98 | 689 | #if defined(ARDUINO) |
iforce2d | 0:972874f31c98 | 690 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 691 | #define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn |
iforce2d | 0:972874f31c98 | 692 | #define U8G_COM_FAST_PARALLEL u8g_com_arduino_fast_parallel_fn |
iforce2d | 0:972874f31c98 | 693 | #define U8G_COM_T6963 u8g_com_arduino_t6963_fn |
iforce2d | 0:972874f31c98 | 694 | #else /* Arduino Due, Chipkit PIC32 */ |
iforce2d | 0:972874f31c98 | 695 | #define U8G_COM_PARALLEL u8g_com_arduino_parallel_fn |
iforce2d | 0:972874f31c98 | 696 | #define U8G_COM_FAST_PARALLEL u8g_com_arduino_parallel_fn |
iforce2d | 0:972874f31c98 | 697 | #define U8G_COM_T6963 u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 698 | #endif |
iforce2d | 0:972874f31c98 | 699 | #endif |
iforce2d | 0:972874f31c98 | 700 | #ifndef U8G_COM_PARALLEL |
iforce2d | 0:972874f31c98 | 701 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 702 | #define U8G_COM_PARALLEL u8g_com_atmega_parallel_fn |
iforce2d | 0:972874f31c98 | 703 | #define U8G_COM_FAST_PARALLEL u8g_com_atmega_parallel_fn |
iforce2d | 0:972874f31c98 | 704 | #define U8G_COM_T6963 u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 705 | #endif |
iforce2d | 0:972874f31c98 | 706 | #endif |
iforce2d | 0:972874f31c98 | 707 | #ifndef U8G_COM_PARALLEL |
iforce2d | 0:972874f31c98 | 708 | #define U8G_COM_PARALLEL u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 709 | #define U8G_COM_FAST_PARALLEL u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 710 | #define U8G_COM_T6963 u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 711 | #endif |
iforce2d | 0:972874f31c98 | 712 | |
iforce2d | 0:972874f31c98 | 713 | #if defined(ARDUINO) |
iforce2d | 0:972874f31c98 | 714 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 715 | #define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn |
iforce2d | 0:972874f31c98 | 716 | #endif |
iforce2d | 0:972874f31c98 | 717 | #endif |
iforce2d | 0:972874f31c98 | 718 | |
iforce2d | 0:972874f31c98 | 719 | #ifndef U8G_COM_SSD_I2C |
iforce2d | 0:972874f31c98 | 720 | #if defined(__AVR__) |
iforce2d | 0:972874f31c98 | 721 | /* AVR variant can use the arduino version at the moment */ |
iforce2d | 0:972874f31c98 | 722 | #define U8G_COM_SSD_I2C u8g_com_arduino_ssd_i2c_fn |
iforce2d | 0:972874f31c98 | 723 | #endif |
iforce2d | 0:972874f31c98 | 724 | #endif |
iforce2d | 0:972874f31c98 | 725 | #ifndef U8G_COM_SSD_I2C |
iforce2d | 0:972874f31c98 | 726 | #define U8G_COM_SSD_I2C u8g_com_null_fn |
iforce2d | 0:972874f31c98 | 727 | #endif |
iforce2d | 0:972874f31c98 | 728 | |
iforce2d | 0:972874f31c98 | 729 | |
iforce2d | 0:972874f31c98 | 730 | |
iforce2d | 0:972874f31c98 | 731 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 732 | /* com api */ |
iforce2d | 0:972874f31c98 | 733 | |
iforce2d | 0:972874f31c98 | 734 | #define U8G_SPI_CLK_CYCLE_50NS 1 |
iforce2d | 0:972874f31c98 | 735 | #define U8G_SPI_CLK_CYCLE_300NS 2 |
iforce2d | 0:972874f31c98 | 736 | #define U8G_SPI_CLK_CYCLE_400NS 3 |
iforce2d | 0:972874f31c98 | 737 | #define U8G_SPI_CLK_CYCLE_NONE 255 |
iforce2d | 0:972874f31c98 | 738 | |
iforce2d | 0:972874f31c98 | 739 | uint8_t u8g_InitCom(u8g_t *u8g, u8g_dev_t *dev, uint8_t clk_cycle_time); |
iforce2d | 0:972874f31c98 | 740 | void u8g_StopCom(u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 741 | void u8g_EnableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ |
iforce2d | 0:972874f31c98 | 742 | void u8g_DisableCom(u8g_t *u8g, u8g_dev_t *dev); /* obsolete */ |
iforce2d | 0:972874f31c98 | 743 | void u8g_SetChipSelect(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs); |
iforce2d | 0:972874f31c98 | 744 | void u8g_SetResetLow(u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 745 | void u8g_SetResetHigh(u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 746 | void u8g_SetAddress(u8g_t *u8g, u8g_dev_t *dev, uint8_t address); |
iforce2d | 0:972874f31c98 | 747 | uint8_t u8g_WriteByte(u8g_t *u8g, u8g_dev_t *dev, uint8_t val); |
iforce2d | 0:972874f31c98 | 748 | uint8_t u8g_WriteSequence(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *seq); |
iforce2d | 0:972874f31c98 | 749 | uint8_t u8g_WriteSequenceP(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, const uint8_t *seq); |
iforce2d | 0:972874f31c98 | 750 | |
iforce2d | 0:972874f31c98 | 751 | |
iforce2d | 0:972874f31c98 | 752 | |
iforce2d | 0:972874f31c98 | 753 | #define U8G_ESC_DLY(x) 255, ((x) & 0x7f) |
iforce2d | 0:972874f31c98 | 754 | #define U8G_ESC_CS(x) 255, (0xd0 | ((x)&0x0f)) |
iforce2d | 0:972874f31c98 | 755 | #define U8G_ESC_ADR(x) 255, (0xe0 | ((x)&0x0f)) |
iforce2d | 0:972874f31c98 | 756 | #define U8G_ESC_RST(x) 255, (0xc0 | ((x)&0x0f)) |
iforce2d | 0:972874f31c98 | 757 | #define U8G_ESC_VCC(x) 255, (0xbe | ((x)&0x01)) |
iforce2d | 0:972874f31c98 | 758 | #define U8G_ESC_END 255, 254 |
iforce2d | 0:972874f31c98 | 759 | #define U8G_ESC_255 255, 255 |
iforce2d | 0:972874f31c98 | 760 | //uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, u8g_pgm_uint8_t *esc_seq); |
iforce2d | 0:972874f31c98 | 761 | uint8_t u8g_WriteEscSeqP(u8g_t *u8g, u8g_dev_t *dev, const uint8_t *esc_seq); |
iforce2d | 0:972874f31c98 | 762 | |
iforce2d | 0:972874f31c98 | 763 | |
iforce2d | 0:972874f31c98 | 764 | /* u8g_com_api_16gr.c */ |
iforce2d | 0:972874f31c98 | 765 | uint8_t u8g_WriteByteBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); |
iforce2d | 0:972874f31c98 | 766 | uint8_t u8g_WriteSequenceBWTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); |
iforce2d | 0:972874f31c98 | 767 | uint8_t u8g_WriteByte4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t b); |
iforce2d | 0:972874f31c98 | 768 | uint8_t u8g_WriteSequence4LTo16GrDevice(u8g_t *u8g, u8g_dev_t *dev, uint8_t cnt, uint8_t *ptr); |
iforce2d | 0:972874f31c98 | 769 | |
iforce2d | 0:972874f31c98 | 770 | |
iforce2d | 0:972874f31c98 | 771 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 772 | /* u8g_arduino_common.c */ |
iforce2d | 0:972874f31c98 | 773 | void u8g_com_arduino_digital_write(u8g_t *u8g, uint8_t pin_index, uint8_t value); |
iforce2d | 0:972874f31c98 | 774 | void u8g_com_arduino_assign_pin_output_high(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 775 | |
iforce2d | 0:972874f31c98 | 776 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 777 | /* u8g_com_io.c */ |
iforce2d | 0:972874f31c98 | 778 | |
iforce2d | 0:972874f31c98 | 779 | /* create internal number from port and pin */ |
iforce2d | 0:972874f31c98 | 780 | uint8_t u8g_Pin(uint8_t port, uint8_t bitpos); |
iforce2d | 0:972874f31c98 | 781 | #define PN(port,bitpos) u8g_Pin(port,bitpos) |
iforce2d | 0:972874f31c98 | 782 | |
iforce2d | 0:972874f31c98 | 783 | /* low level procedures */ |
iforce2d | 0:972874f31c98 | 784 | void u8g_SetPinOutput(uint8_t internal_pin_number); |
iforce2d | 0:972874f31c98 | 785 | void u8g_SetPinLevel(uint8_t internal_pin_number, uint8_t level); |
iforce2d | 0:972874f31c98 | 786 | void u8g_SetPinInput(uint8_t internal_pin_number); |
iforce2d | 0:972874f31c98 | 787 | uint8_t u8g_GetPinLevel(uint8_t internal_pin_number); |
iforce2d | 0:972874f31c98 | 788 | |
iforce2d | 0:972874f31c98 | 789 | /* u8g level procedures, expect U8G_PI_xxx macro */ |
iforce2d | 0:972874f31c98 | 790 | void u8g_SetPIOutput(u8g_t *u8g, uint8_t pi); |
iforce2d | 0:972874f31c98 | 791 | void u8g_SetPILevel(u8g_t *u8g, uint8_t pi, uint8_t level); |
iforce2d | 0:972874f31c98 | 792 | |
iforce2d | 0:972874f31c98 | 793 | |
iforce2d | 0:972874f31c98 | 794 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 795 | /* page */ |
iforce2d | 0:972874f31c98 | 796 | struct _u8g_page_t |
iforce2d | 0:972874f31c98 | 797 | { |
iforce2d | 0:972874f31c98 | 798 | u8g_uint_t page_height; |
iforce2d | 0:972874f31c98 | 799 | u8g_uint_t total_height; |
iforce2d | 0:972874f31c98 | 800 | u8g_uint_t page_y0; |
iforce2d | 0:972874f31c98 | 801 | u8g_uint_t page_y1; |
iforce2d | 0:972874f31c98 | 802 | uint8_t page; |
iforce2d | 0:972874f31c98 | 803 | }; |
iforce2d | 0:972874f31c98 | 804 | typedef struct _u8g_page_t u8g_page_t; |
iforce2d | 0:972874f31c98 | 805 | |
iforce2d | 0:972874f31c98 | 806 | void u8g_page_First(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ |
iforce2d | 0:972874f31c98 | 807 | void u8g_page_Init(u8g_page_t *p, u8g_uint_t page_height, u8g_uint_t total_height ) U8G_NOINLINE; /* u8g_page.c */ |
iforce2d | 0:972874f31c98 | 808 | uint8_t u8g_page_Next(u8g_page_t *p) U8G_NOINLINE; /* u8g_page.c */ |
iforce2d | 0:972874f31c98 | 809 | |
iforce2d | 0:972874f31c98 | 810 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 811 | /* page buffer (pb) */ |
iforce2d | 0:972874f31c98 | 812 | |
iforce2d | 0:972874f31c98 | 813 | struct _u8g_pb_t |
iforce2d | 0:972874f31c98 | 814 | { |
iforce2d | 0:972874f31c98 | 815 | u8g_page_t p; |
iforce2d | 0:972874f31c98 | 816 | u8g_uint_t width; /* pixel width */ |
iforce2d | 0:972874f31c98 | 817 | void *buf; |
iforce2d | 0:972874f31c98 | 818 | }; |
iforce2d | 0:972874f31c98 | 819 | typedef struct _u8g_pb_t u8g_pb_t; |
iforce2d | 0:972874f31c98 | 820 | |
iforce2d | 0:972874f31c98 | 821 | |
iforce2d | 0:972874f31c98 | 822 | /* u8g_pb.c */ |
iforce2d | 0:972874f31c98 | 823 | void u8g_pb_Clear(u8g_pb_t *b); |
iforce2d | 0:972874f31c98 | 824 | uint8_t u8g_pb_IsYIntersection(u8g_pb_t *pb, u8g_uint_t v0, u8g_uint_t v1); |
iforce2d | 0:972874f31c98 | 825 | uint8_t u8g_pb_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); |
iforce2d | 0:972874f31c98 | 826 | uint8_t u8g_pb_IsIntersection(u8g_pb_t *pb, u8g_dev_arg_bbx_t *bbx); |
iforce2d | 0:972874f31c98 | 827 | void u8g_pb_GetPageBox(u8g_pb_t *pb, u8g_box_t *box); |
iforce2d | 0:972874f31c98 | 828 | uint8_t u8g_pb_Is8PixelVisible(u8g_pb_t *b, u8g_dev_arg_pixel_t *arg_pixel); |
iforce2d | 0:972874f31c98 | 829 | uint8_t u8g_pb_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 830 | |
iforce2d | 0:972874f31c98 | 831 | /* |
iforce2d | 0:972874f31c98 | 832 | note on __attribute__ ((nocommon)) |
iforce2d | 0:972874f31c98 | 833 | AVR scripts often use --gc-sections on the linker to remove unused section. |
iforce2d | 0:972874f31c98 | 834 | This works fine for initialed data and text sections. In principle .bss is also |
iforce2d | 0:972874f31c98 | 835 | handled, but the name##_pb definition is not removed. Reason is, that |
iforce2d | 0:972874f31c98 | 836 | array definitions are placed in the COMMON section, by default |
iforce2d | 0:972874f31c98 | 837 | The attribute "nocommon" removes this automatic assignment to the |
iforce2d | 0:972874f31c98 | 838 | COMMON section and directly puts it into .bss. As a result, if more |
iforce2d | 0:972874f31c98 | 839 | than one buffer is defined in one file, then it will be removed with --gc-sections |
iforce2d | 0:972874f31c98 | 840 | |
iforce2d | 0:972874f31c98 | 841 | .. not sure if Arduino IDE uses -fno-common... if yes, then the attribute is |
iforce2d | 0:972874f31c98 | 842 | redundant. |
iforce2d | 0:972874f31c98 | 843 | */ |
iforce2d | 0:972874f31c98 | 844 | #define U8G_PB_DEV(name, width, height, page_height, dev_fn, com_fn) \ |
iforce2d | 0:972874f31c98 | 845 | uint8_t name##_buf[width] U8G_NOCOMMON ; \ |
iforce2d | 0:972874f31c98 | 846 | u8g_pb_t name##_pb = { {page_height, height, 0, 0, 0}, width, name##_buf}; \ |
iforce2d | 0:972874f31c98 | 847 | u8g_dev_t name = { dev_fn, &name##_pb, com_fn } |
iforce2d | 0:972874f31c98 | 848 | |
iforce2d | 0:972874f31c98 | 849 | |
iforce2d | 0:972874f31c98 | 850 | void u8g_pb8v1_Init(u8g_pb_t *b, void *buf, u8g_uint_t width) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 851 | void u8g_pb8v1_Clear(u8g_pb_t *b) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 852 | |
iforce2d | 0:972874f31c98 | 853 | uint8_t u8g_pb8v1_IsYIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); |
iforce2d | 0:972874f31c98 | 854 | uint8_t u8g_pb8v1_IsXIntersection(u8g_pb_t *b, u8g_uint_t v0, u8g_uint_t v1); |
iforce2d | 0:972874f31c98 | 855 | uint8_t u8g_pb8v1_WriteBuffer(u8g_pb_t *b, u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 856 | |
iforce2d | 0:972874f31c98 | 857 | uint8_t u8g_dev_pb8v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 858 | |
iforce2d | 0:972874f31c98 | 859 | /* u8g_pb16v1.c */ |
iforce2d | 0:972874f31c98 | 860 | uint8_t u8g_dev_pb16v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 861 | |
iforce2d | 0:972874f31c98 | 862 | /* u8g_pb14v1.c */ |
iforce2d | 0:972874f31c98 | 863 | uint8_t u8g_dev_pb14v1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 864 | |
iforce2d | 0:972874f31c98 | 865 | /* u8g_pb8v2.c */ |
iforce2d | 0:972874f31c98 | 866 | uint8_t u8g_dev_pb8v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 867 | |
iforce2d | 0:972874f31c98 | 868 | /* u8g_pb16v2.c (double memory of pb8v2) */ |
iforce2d | 0:972874f31c98 | 869 | uint8_t u8g_dev_pb16v2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 870 | |
iforce2d | 0:972874f31c98 | 871 | |
iforce2d | 0:972874f31c98 | 872 | /* u8g_pb8h1.c */ |
iforce2d | 0:972874f31c98 | 873 | uint8_t u8g_dev_pb8h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 874 | |
iforce2d | 0:972874f31c98 | 875 | /* u8g_pb16h1.c */ |
iforce2d | 0:972874f31c98 | 876 | uint8_t u8g_dev_pb16h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 877 | |
iforce2d | 0:972874f31c98 | 878 | /* u8g_pb32h1.c */ |
iforce2d | 0:972874f31c98 | 879 | uint8_t u8g_dev_pb32h1_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 880 | |
iforce2d | 0:972874f31c98 | 881 | |
iforce2d | 0:972874f31c98 | 882 | /* u8g_pb8h2.c 8 pixel rows, byte has horzontal orientation */ |
iforce2d | 0:972874f31c98 | 883 | uint8_t u8g_dev_pb8h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 884 | |
iforce2d | 0:972874f31c98 | 885 | /* u8g_pb16h2.c */ |
iforce2d | 0:972874f31c98 | 886 | uint8_t u8g_dev_pb16h2_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 887 | |
iforce2d | 0:972874f31c98 | 888 | |
iforce2d | 0:972874f31c98 | 889 | |
iforce2d | 0:972874f31c98 | 890 | /* u8g_pb8h1f.c */ |
iforce2d | 0:972874f31c98 | 891 | uint8_t u8g_dev_pb8h1f_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 892 | |
iforce2d | 0:972874f31c98 | 893 | /* u8g_pb8h8.c */ |
iforce2d | 0:972874f31c98 | 894 | uint8_t u8g_dev_pb8h8_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 895 | |
iforce2d | 0:972874f31c98 | 896 | /* u8g_pbxh16.c */ |
iforce2d | 0:972874f31c98 | 897 | uint8_t u8g_dev_pbxh16_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 898 | |
iforce2d | 0:972874f31c98 | 899 | /* u8g_pbxh24.c */ |
iforce2d | 0:972874f31c98 | 900 | uint8_t u8g_dev_pbxh24_base_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 901 | |
iforce2d | 0:972874f31c98 | 902 | |
iforce2d | 0:972874f31c98 | 903 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 904 | /* u8g_ll_api.c */ |
iforce2d | 0:972874f31c98 | 905 | |
iforce2d | 0:972874f31c98 | 906 | /* cursor draw callback */ |
iforce2d | 0:972874f31c98 | 907 | typedef void (*u8g_draw_cursor_fn)(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 908 | |
iforce2d | 0:972874f31c98 | 909 | /* vertical reference point calculation callback */ |
iforce2d | 0:972874f31c98 | 910 | typedef u8g_uint_t (*u8g_font_calc_vref_fnptr)(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 911 | |
iforce2d | 0:972874f31c98 | 912 | /* state backup and restore procedure */ |
iforce2d | 0:972874f31c98 | 913 | typedef void (*u8g_state_cb)(uint8_t msg); |
iforce2d | 0:972874f31c98 | 914 | |
iforce2d | 0:972874f31c98 | 915 | |
iforce2d | 0:972874f31c98 | 916 | /* PI = Pin Index */ |
iforce2d | 0:972874f31c98 | 917 | |
iforce2d | 0:972874f31c98 | 918 | /* reset pin, usually optional */ |
iforce2d | 0:972874f31c98 | 919 | #define U8G_PI_RESET 0 |
iforce2d | 0:972874f31c98 | 920 | |
iforce2d | 0:972874f31c98 | 921 | /* address / data or instruction */ |
iforce2d | 0:972874f31c98 | 922 | #define U8G_PI_A0 1 |
iforce2d | 0:972874f31c98 | 923 | #define U8G_PI_DI 1 |
iforce2d | 0:972874f31c98 | 924 | |
iforce2d | 0:972874f31c98 | 925 | /* chip select line */ |
iforce2d | 0:972874f31c98 | 926 | #define U8G_PI_CS 2 |
iforce2d | 0:972874f31c98 | 927 | #define U8G_PI_CS1 2 |
iforce2d | 0:972874f31c98 | 928 | #define U8G_PI_CS2 3 |
iforce2d | 0:972874f31c98 | 929 | /* Feb 2013: A0 state moved from 7 to 3 for t6963 controller*/ |
iforce2d | 0:972874f31c98 | 930 | #define U8G_PI_A0_STATE 3 |
iforce2d | 0:972874f31c98 | 931 | |
iforce2d | 0:972874f31c98 | 932 | /* enable / clock signal */ |
iforce2d | 0:972874f31c98 | 933 | #define U8G_PI_EN 4 |
iforce2d | 0:972874f31c98 | 934 | #define U8G_PI_CS_STATE 4 |
iforce2d | 0:972874f31c98 | 935 | #define U8G_PI_SCK 4 |
iforce2d | 0:972874f31c98 | 936 | #define U8G_PI_SCL 4 |
iforce2d | 0:972874f31c98 | 937 | #define U8G_PI_RD 4 |
iforce2d | 0:972874f31c98 | 938 | |
iforce2d | 0:972874f31c98 | 939 | |
iforce2d | 0:972874f31c98 | 940 | /* data pins, shared with SPI and I2C pins */ |
iforce2d | 0:972874f31c98 | 941 | #define U8G_PI_D0 5 |
iforce2d | 0:972874f31c98 | 942 | #define U8G_PI_MOSI 5 |
iforce2d | 0:972874f31c98 | 943 | #define U8G_PI_SDA 5 |
iforce2d | 0:972874f31c98 | 944 | #define U8G_PI_D1 6 |
iforce2d | 0:972874f31c98 | 945 | #define U8G_PI_MISO 6 |
iforce2d | 0:972874f31c98 | 946 | #define U8G_PI_D2 7 |
iforce2d | 0:972874f31c98 | 947 | #define U8G_PI_D3 8 |
iforce2d | 0:972874f31c98 | 948 | #define U8G_PI_SET_A0 8 |
iforce2d | 0:972874f31c98 | 949 | #define U8G_PI_D4 9 |
iforce2d | 0:972874f31c98 | 950 | #define U8G_PI_D5 10 |
iforce2d | 0:972874f31c98 | 951 | #define U8G_PI_I2C_OPTION 11 |
iforce2d | 0:972874f31c98 | 952 | #define U8G_PI_D6 11 |
iforce2d | 0:972874f31c98 | 953 | #define U8G_PI_D7 12 |
iforce2d | 0:972874f31c98 | 954 | |
iforce2d | 0:972874f31c98 | 955 | /* read/write pin, must be the last pin in the list, this means U8G_PIN_LIST_LEN = U8G_PI_RW + 1*/ |
iforce2d | 0:972874f31c98 | 956 | #define U8G_PI_WR 13 |
iforce2d | 0:972874f31c98 | 957 | #define U8G_PI_RW 13 |
iforce2d | 0:972874f31c98 | 958 | |
iforce2d | 0:972874f31c98 | 959 | #define U8G_PIN_LIST_LEN 14 |
iforce2d | 0:972874f31c98 | 960 | |
iforce2d | 0:972874f31c98 | 961 | |
iforce2d | 0:972874f31c98 | 962 | #define U8G_PIN_DUMMY 254 |
iforce2d | 0:972874f31c98 | 963 | #define U8G_PIN_NONE 255 |
iforce2d | 0:972874f31c98 | 964 | |
iforce2d | 0:972874f31c98 | 965 | #define U8G_FONT_HEIGHT_MODE_TEXT 0 |
iforce2d | 0:972874f31c98 | 966 | #define U8G_FONT_HEIGHT_MODE_XTEXT 1 |
iforce2d | 0:972874f31c98 | 967 | #define U8G_FONT_HEIGHT_MODE_ALL 2 |
iforce2d | 0:972874f31c98 | 968 | |
iforce2d | 0:972874f31c98 | 969 | struct _u8g_t |
iforce2d | 0:972874f31c98 | 970 | { |
iforce2d | 0:972874f31c98 | 971 | u8g_uint_t width; |
iforce2d | 0:972874f31c98 | 972 | u8g_uint_t height; |
iforce2d | 0:972874f31c98 | 973 | |
iforce2d | 0:972874f31c98 | 974 | |
iforce2d | 0:972874f31c98 | 975 | u8g_dev_t *dev; /* first device in the device chain */ |
iforce2d | 0:972874f31c98 | 976 | const u8g_pgm_uint8_t *font; /* regular font for all text procedures */ |
iforce2d | 0:972874f31c98 | 977 | const u8g_pgm_uint8_t *cursor_font; /* special font for cursor procedures */ |
iforce2d | 0:972874f31c98 | 978 | uint8_t cursor_fg_color, cursor_bg_color; |
iforce2d | 0:972874f31c98 | 979 | uint8_t cursor_encoding; |
iforce2d | 0:972874f31c98 | 980 | uint8_t mode; /* display mode, one of U8G_MODE_xxx */ |
iforce2d | 0:972874f31c98 | 981 | u8g_uint_t cursor_x; |
iforce2d | 0:972874f31c98 | 982 | u8g_uint_t cursor_y; |
iforce2d | 0:972874f31c98 | 983 | u8g_draw_cursor_fn cursor_fn; |
iforce2d | 0:972874f31c98 | 984 | |
iforce2d | 0:972874f31c98 | 985 | int8_t glyph_dx; |
iforce2d | 0:972874f31c98 | 986 | int8_t glyph_x; |
iforce2d | 0:972874f31c98 | 987 | int8_t glyph_y; |
iforce2d | 0:972874f31c98 | 988 | uint8_t glyph_width; |
iforce2d | 0:972874f31c98 | 989 | uint8_t glyph_height; |
iforce2d | 0:972874f31c98 | 990 | |
iforce2d | 0:972874f31c98 | 991 | u8g_font_calc_vref_fnptr font_calc_vref; |
iforce2d | 0:972874f31c98 | 992 | uint8_t font_height_mode; |
iforce2d | 0:972874f31c98 | 993 | int8_t font_ref_ascent; |
iforce2d | 0:972874f31c98 | 994 | int8_t font_ref_descent; |
iforce2d | 0:972874f31c98 | 995 | uint8_t font_line_spacing_factor; /* line_spacing = factor * (ascent - descent) / 64 */ |
iforce2d | 0:972874f31c98 | 996 | uint8_t line_spacing; |
iforce2d | 0:972874f31c98 | 997 | |
iforce2d | 0:972874f31c98 | 998 | u8g_dev_arg_pixel_t arg_pixel; |
iforce2d | 0:972874f31c98 | 999 | /* uint8_t color_index; */ |
iforce2d | 0:972874f31c98 | 1000 | |
iforce2d | 0:972874f31c98 | 1001 | #ifdef U8G_WITH_PINLIST |
iforce2d | 0:972874f31c98 | 1002 | uint8_t pin_list[U8G_PIN_LIST_LEN]; |
iforce2d | 0:972874f31c98 | 1003 | #endif |
iforce2d | 0:972874f31c98 | 1004 | |
iforce2d | 0:972874f31c98 | 1005 | u8g_state_cb state_cb; |
iforce2d | 0:972874f31c98 | 1006 | |
iforce2d | 0:972874f31c98 | 1007 | u8g_box_t current_page; /* current box of the visible page */ |
iforce2d | 0:972874f31c98 | 1008 | |
iforce2d | 0:972874f31c98 | 1009 | }; |
iforce2d | 0:972874f31c98 | 1010 | |
iforce2d | 0:972874f31c98 | 1011 | #define u8g_GetFontAscent(u8g) ((u8g)->font_ref_ascent) |
iforce2d | 0:972874f31c98 | 1012 | #define u8g_GetFontDescent(u8g) ((u8g)->font_ref_descent) |
iforce2d | 0:972874f31c98 | 1013 | #define u8g_GetFontLineSpacing(u8g) ((u8g)->line_spacing) |
iforce2d | 0:972874f31c98 | 1014 | |
iforce2d | 0:972874f31c98 | 1015 | uint8_t u8g_call_dev_fn(u8g_t *u8g, u8g_dev_t *dev, uint8_t msg, void *arg); |
iforce2d | 0:972874f31c98 | 1016 | |
iforce2d | 0:972874f31c98 | 1017 | uint8_t u8g_InitLL(u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 1018 | void u8g_FirstPageLL(u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 1019 | uint8_t u8g_NextPageLL(u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 1020 | uint8_t u8g_SetContrastLL(u8g_t *u8g, u8g_dev_t *dev, uint8_t contrast); |
iforce2d | 0:972874f31c98 | 1021 | void u8g_DrawPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y); |
iforce2d | 0:972874f31c98 | 1022 | void u8g_Draw8PixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); |
iforce2d | 0:972874f31c98 | 1023 | void u8g_Draw4TPixelLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); |
iforce2d | 0:972874f31c98 | 1024 | uint8_t u8g_IsBBXIntersectionLL(u8g_t *u8g, u8g_dev_t *dev, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); /* obsolete */ |
iforce2d | 0:972874f31c98 | 1025 | u8g_uint_t u8g_GetWidthLL(u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 1026 | u8g_uint_t u8g_GetHeightLL(u8g_t *u8g, u8g_dev_t *dev); |
iforce2d | 0:972874f31c98 | 1027 | |
iforce2d | 0:972874f31c98 | 1028 | void u8g_UpdateDimension(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1029 | uint8_t u8g_Begin(u8g_t *u8g); /* reset device, put it into default state and call u8g_UpdateDimension() */ |
iforce2d | 0:972874f31c98 | 1030 | uint8_t u8g_Init(u8g_t *u8g, u8g_dev_t *dev); /* only usefull if the device only as hardcoded ports */ |
iforce2d | 0:972874f31c98 | 1031 | uint8_t u8g_InitComFn(u8g_t *u8g, u8g_dev_t *dev, u8g_com_fnptr com_fn); /* Init procedure for anything which is not Arduino or AVR (e.g. ARM, but not Due, which is Arduino) */ |
iforce2d | 0:972874f31c98 | 1032 | uint8_t u8g_InitSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t sck, uint8_t mosi, uint8_t cs, uint8_t a0, uint8_t reset); |
iforce2d | 0:972874f31c98 | 1033 | uint8_t u8g_InitHWSPI(u8g_t *u8g, u8g_dev_t *dev, uint8_t cs, uint8_t a0, uint8_t reset); |
iforce2d | 0:972874f31c98 | 1034 | uint8_t u8g_InitI2C(u8g_t *u8g, u8g_dev_t *dev, uint8_t options); /* use U8G_I2C_OPT_NONE as options */ |
iforce2d | 0:972874f31c98 | 1035 | uint8_t u8g_Init8BitFixedPort(u8g_t *u8g, u8g_dev_t *dev, uint8_t en, uint8_t cs, uint8_t di, uint8_t rw, uint8_t reset); |
iforce2d | 0:972874f31c98 | 1036 | uint8_t u8g_Init8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, |
iforce2d | 0:972874f31c98 | 1037 | uint8_t en, uint8_t cs1, uint8_t cs2, uint8_t di, uint8_t rw, uint8_t reset); |
iforce2d | 0:972874f31c98 | 1038 | uint8_t u8g_InitRW8Bit(u8g_t *u8g, u8g_dev_t *dev, uint8_t d0, uint8_t d1, uint8_t d2, uint8_t d3, uint8_t d4, uint8_t d5, uint8_t d6, uint8_t d7, |
iforce2d | 0:972874f31c98 | 1039 | uint8_t cs, uint8_t a0, uint8_t wr, uint8_t rd, uint8_t reset); |
iforce2d | 0:972874f31c98 | 1040 | void u8g_FirstPage(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1041 | uint8_t u8g_NextPage(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1042 | uint8_t u8g_SetContrast(u8g_t *u8g, uint8_t contrast); |
iforce2d | 0:972874f31c98 | 1043 | void u8g_SleepOn(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1044 | void u8g_SleepOff(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1045 | void u8g_DrawPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y); |
iforce2d | 0:972874f31c98 | 1046 | void u8g_Draw8Pixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); |
iforce2d | 0:972874f31c98 | 1047 | void u8g_Draw4TPixel(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t pixel); |
iforce2d | 0:972874f31c98 | 1048 | |
iforce2d | 0:972874f31c98 | 1049 | uint8_t u8g_Stop(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1050 | void u8g_SetColorEntry(u8g_t *u8g, uint8_t idx, uint8_t r, uint8_t g, uint8_t b); |
iforce2d | 0:972874f31c98 | 1051 | void u8g_SetColorIndex(u8g_t *u8g, uint8_t idx); |
iforce2d | 0:972874f31c98 | 1052 | void u8g_SetHiColor(u8g_t *u8g, uint16_t rgb); |
iforce2d | 0:972874f31c98 | 1053 | void u8g_SetHiColorByRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b); |
iforce2d | 0:972874f31c98 | 1054 | void u8g_SetRGB(u8g_t *u8g, uint8_t r, uint8_t g, uint8_t b); |
iforce2d | 0:972874f31c98 | 1055 | uint8_t u8g_GetColorIndex(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1056 | |
iforce2d | 0:972874f31c98 | 1057 | uint8_t u8g_GetDefaultForegroundColor(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1058 | void u8g_SetDefaultForegroundColor(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1059 | |
iforce2d | 0:972874f31c98 | 1060 | uint8_t u8g_GetDefaultBackgroundColor(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1061 | void u8g_SetDefaultBackgroundColor(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1062 | |
iforce2d | 0:972874f31c98 | 1063 | uint8_t u8g_GetDefaultMidColor(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1064 | void u8g_SetDefaultMidColor(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1065 | |
iforce2d | 0:972874f31c98 | 1066 | #define u8g_GetWidth(u8g) ((u8g)->width) |
iforce2d | 0:972874f31c98 | 1067 | #define u8g_GetHeight(u8g) ((u8g)->height) |
iforce2d | 0:972874f31c98 | 1068 | #define u8g_GetMode(u8g) ((u8g)->mode) |
iforce2d | 0:972874f31c98 | 1069 | /* |
iforce2d | 0:972874f31c98 | 1070 | U8G_MODE_GET_BITS_PER_PIXEL(u8g_GetMode(u8g)) |
iforce2d | 0:972874f31c98 | 1071 | U8G_MODE_IS_COLOR(u8g_GetMode(u8g)) |
iforce2d | 0:972874f31c98 | 1072 | */ |
iforce2d | 0:972874f31c98 | 1073 | |
iforce2d | 0:972874f31c98 | 1074 | /* u8g_state.c */ |
iforce2d | 0:972874f31c98 | 1075 | #define U8G_STATE_ENV_IDX 0 |
iforce2d | 0:972874f31c98 | 1076 | #define U8G_STATE_U8G_IDX 1 |
iforce2d | 0:972874f31c98 | 1077 | #define U8G_STATE_RESTORE 0 |
iforce2d | 0:972874f31c98 | 1078 | #define U8G_STATE_BACKUP 1 |
iforce2d | 0:972874f31c98 | 1079 | #define U8G_STATE_MSG_COMPOSE(cmd,idx) (((cmd)<<1) | (idx)) |
iforce2d | 0:972874f31c98 | 1080 | |
iforce2d | 0:972874f31c98 | 1081 | #define U8G_STATE_MSG_RESTORE_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_ENV_IDX) |
iforce2d | 0:972874f31c98 | 1082 | #define U8G_STATE_MSG_BACKUP_ENV U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_ENV_IDX) |
iforce2d | 0:972874f31c98 | 1083 | #define U8G_STATE_MSG_RESTORE_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_RESTORE,U8G_STATE_U8G_IDX) |
iforce2d | 0:972874f31c98 | 1084 | #define U8G_STATE_MSG_BACKUP_U8G U8G_STATE_MSG_COMPOSE(U8G_STATE_BACKUP,U8G_STATE_U8G_IDX) |
iforce2d | 0:972874f31c98 | 1085 | |
iforce2d | 0:972874f31c98 | 1086 | #define U8G_STATE_MSG_GET_IDX(msg) ((msg)&1) |
iforce2d | 0:972874f31c98 | 1087 | #define U8G_STATE_MSG_IS_BACKUP(msg) ((msg)&2) |
iforce2d | 0:972874f31c98 | 1088 | |
iforce2d | 0:972874f31c98 | 1089 | |
iforce2d | 0:972874f31c98 | 1090 | |
iforce2d | 0:972874f31c98 | 1091 | void u8g_state_dummy_cb(uint8_t msg); |
iforce2d | 0:972874f31c98 | 1092 | void u8g_backup_spi(uint8_t msg); /* backup SPI state controller */ |
iforce2d | 0:972874f31c98 | 1093 | /* backward compatible definition */ |
iforce2d | 0:972874f31c98 | 1094 | #define u8g_backup_avr_spi u8g_backup_spi |
iforce2d | 0:972874f31c98 | 1095 | |
iforce2d | 0:972874f31c98 | 1096 | void u8g_SetHardwareBackup(u8g_t *u8g, u8g_state_cb backup_cb); |
iforce2d | 0:972874f31c98 | 1097 | |
iforce2d | 0:972874f31c98 | 1098 | /* u8g_clip.c */ |
iforce2d | 0:972874f31c98 | 1099 | |
iforce2d | 0:972874f31c98 | 1100 | uint8_t u8g_IsBBXIntersection(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); |
iforce2d | 0:972874f31c98 | 1101 | |
iforce2d | 0:972874f31c98 | 1102 | |
iforce2d | 0:972874f31c98 | 1103 | /* u8g_rot.c */ |
iforce2d | 0:972874f31c98 | 1104 | |
iforce2d | 0:972874f31c98 | 1105 | void u8g_UndoRotation(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1106 | void u8g_SetRot90(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1107 | void u8g_SetRot180(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1108 | void u8g_SetRot270(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1109 | |
iforce2d | 0:972874f31c98 | 1110 | /* u8g_scale.c */ |
iforce2d | 0:972874f31c98 | 1111 | |
iforce2d | 0:972874f31c98 | 1112 | void u8g_UndoScale(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1113 | void u8g_SetScale2x2(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1114 | |
iforce2d | 0:972874f31c98 | 1115 | |
iforce2d | 0:972874f31c98 | 1116 | /* u8g_font.c */ |
iforce2d | 0:972874f31c98 | 1117 | |
iforce2d | 0:972874f31c98 | 1118 | size_t u8g_font_GetSize(const void *font); |
iforce2d | 0:972874f31c98 | 1119 | uint8_t u8g_font_GetFontStartEncoding(const void *font) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1120 | uint8_t u8g_font_GetFontEndEncoding(const void *font) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1121 | |
iforce2d | 0:972874f31c98 | 1122 | void u8g_SetFont(u8g_t *u8g, const u8g_fntpgm_uint8_t *font); |
iforce2d | 0:972874f31c98 | 1123 | |
iforce2d | 0:972874f31c98 | 1124 | uint8_t u8g_GetFontBBXWidth(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1125 | uint8_t u8g_GetFontBBXHeight(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1126 | int8_t u8g_GetFontBBXOffX(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1127 | int8_t u8g_GetFontBBXOffY(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1128 | uint8_t u8g_GetFontCapitalAHeight(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1129 | |
iforce2d | 0:972874f31c98 | 1130 | uint8_t u8g_IsGlyph(u8g_t *u8g, uint8_t requested_encoding); |
iforce2d | 0:972874f31c98 | 1131 | int8_t u8g_GetGlyphDeltaX(u8g_t *u8g, uint8_t requested_encoding); |
iforce2d | 0:972874f31c98 | 1132 | |
iforce2d | 0:972874f31c98 | 1133 | int8_t u8g_draw_glyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); /* used by u8g_cursor.c */ |
iforce2d | 0:972874f31c98 | 1134 | |
iforce2d | 0:972874f31c98 | 1135 | int8_t u8g_DrawGlyphDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); |
iforce2d | 0:972874f31c98 | 1136 | int8_t u8g_DrawGlyph(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); |
iforce2d | 0:972874f31c98 | 1137 | int8_t u8g_DrawGlyph90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); |
iforce2d | 0:972874f31c98 | 1138 | int8_t u8g_DrawGlyph180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); |
iforce2d | 0:972874f31c98 | 1139 | int8_t u8g_DrawGlyph270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t encoding); |
iforce2d | 0:972874f31c98 | 1140 | int8_t u8g_DrawGlyphFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, uint8_t encoding); |
iforce2d | 0:972874f31c98 | 1141 | |
iforce2d | 0:972874f31c98 | 1142 | u8g_uint_t u8g_DrawStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); |
iforce2d | 0:972874f31c98 | 1143 | u8g_uint_t u8g_DrawStr90(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); |
iforce2d | 0:972874f31c98 | 1144 | u8g_uint_t u8g_DrawStr180(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); |
iforce2d | 0:972874f31c98 | 1145 | u8g_uint_t u8g_DrawStr270(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); |
iforce2d | 0:972874f31c98 | 1146 | |
iforce2d | 0:972874f31c98 | 1147 | u8g_uint_t u8g_DrawStrDir(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); |
iforce2d | 0:972874f31c98 | 1148 | |
iforce2d | 0:972874f31c98 | 1149 | |
iforce2d | 0:972874f31c98 | 1150 | u8g_uint_t u8g_DrawStrP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); |
iforce2d | 0:972874f31c98 | 1151 | u8g_uint_t u8g_DrawStr90P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); |
iforce2d | 0:972874f31c98 | 1152 | u8g_uint_t u8g_DrawStr180P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); |
iforce2d | 0:972874f31c98 | 1153 | u8g_uint_t u8g_DrawStr270P(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const u8g_pgm_uint8_t *s); |
iforce2d | 0:972874f31c98 | 1154 | |
iforce2d | 0:972874f31c98 | 1155 | |
iforce2d | 0:972874f31c98 | 1156 | void u8g_SetFontRefHeightText(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1157 | void u8g_SetFontRefHeightExtendedText(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1158 | void u8g_SetFontRefHeightAll(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1159 | void u8g_SetFontLineSpacingFactor(u8g_t *u8g, uint8_t factor); |
iforce2d | 0:972874f31c98 | 1160 | |
iforce2d | 0:972874f31c98 | 1161 | u8g_uint_t u8g_font_calc_vref_font(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1162 | u8g_uint_t u8g_font_calc_vref_bottom(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1163 | u8g_uint_t u8g_font_calc_vref_top(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1164 | u8g_uint_t u8g_font_calc_vref_center(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1165 | |
iforce2d | 0:972874f31c98 | 1166 | void u8g_SetFontPosBaseline(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1167 | void u8g_SetFontPosBottom(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1168 | void u8g_SetFontPosCenter(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1169 | void u8g_SetFontPosTop(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1170 | |
iforce2d | 0:972874f31c98 | 1171 | |
iforce2d | 0:972874f31c98 | 1172 | u8g_uint_t u8g_GetStrPixelWidth(u8g_t *u8g, const char *s); |
iforce2d | 0:972874f31c98 | 1173 | u8g_uint_t u8g_GetStrPixelWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); |
iforce2d | 0:972874f31c98 | 1174 | int8_t u8g_GetStrX(u8g_t *u8g, const char *s); |
iforce2d | 0:972874f31c98 | 1175 | int8_t u8g_GetStrXP(u8g_t *u8g, const u8g_pgm_uint8_t *s); |
iforce2d | 0:972874f31c98 | 1176 | u8g_uint_t u8g_GetStrWidth(u8g_t *u8g, const char *s); |
iforce2d | 0:972874f31c98 | 1177 | u8g_uint_t u8g_GetStrWidthP(u8g_t *u8g, const u8g_pgm_uint8_t *s); |
iforce2d | 0:972874f31c98 | 1178 | |
iforce2d | 0:972874f31c98 | 1179 | u8g_uint_t u8g_DrawStrFontBBX(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, uint8_t dir, const char *s); |
iforce2d | 0:972874f31c98 | 1180 | |
iforce2d | 0:972874f31c98 | 1181 | void u8g_GetStrMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); |
iforce2d | 0:972874f31c98 | 1182 | void u8g_GetStrAMinBox(u8g_t *u8g, const char *s, u8g_uint_t *x, u8g_uint_t *y, u8g_uint_t *width, u8g_uint_t *height); |
iforce2d | 0:972874f31c98 | 1183 | |
iforce2d | 0:972874f31c98 | 1184 | |
iforce2d | 0:972874f31c98 | 1185 | u8g_uint_t u8g_DrawAAStr(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, const char *s); |
iforce2d | 0:972874f31c98 | 1186 | |
iforce2d | 0:972874f31c98 | 1187 | /* u8g_rect.c */ |
iforce2d | 0:972874f31c98 | 1188 | |
iforce2d | 0:972874f31c98 | 1189 | void u8g_draw_box(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1190 | |
iforce2d | 0:972874f31c98 | 1191 | void u8g_DrawHLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w); |
iforce2d | 0:972874f31c98 | 1192 | void u8g_DrawVLine(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w); |
iforce2d | 0:972874f31c98 | 1193 | void u8g_DrawFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); |
iforce2d | 0:972874f31c98 | 1194 | void u8g_DrawBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h); |
iforce2d | 0:972874f31c98 | 1195 | |
iforce2d | 0:972874f31c98 | 1196 | void u8g_DrawRFrame(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r); |
iforce2d | 0:972874f31c98 | 1197 | void u8g_DrawRBox(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, u8g_uint_t r); |
iforce2d | 0:972874f31c98 | 1198 | |
iforce2d | 0:972874f31c98 | 1199 | /* u8g_bitmap.c */ |
iforce2d | 0:972874f31c98 | 1200 | |
iforce2d | 0:972874f31c98 | 1201 | void u8g_DrawHBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const uint8_t *bitmap); |
iforce2d | 0:972874f31c98 | 1202 | void u8g_DrawHBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, const u8g_pgm_uint8_t *bitmap); |
iforce2d | 0:972874f31c98 | 1203 | void u8g_DrawBitmap(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const uint8_t *bitmap); |
iforce2d | 0:972874f31c98 | 1204 | void u8g_DrawBitmapP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t cnt, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); |
iforce2d | 0:972874f31c98 | 1205 | |
iforce2d | 0:972874f31c98 | 1206 | void u8g_DrawXBM(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const uint8_t *bitmap); |
iforce2d | 0:972874f31c98 | 1207 | void u8g_DrawXBMP(u8g_t *u8g, u8g_uint_t x, u8g_uint_t y, u8g_uint_t w, u8g_uint_t h, const u8g_pgm_uint8_t *bitmap); |
iforce2d | 0:972874f31c98 | 1208 | |
iforce2d | 0:972874f31c98 | 1209 | |
iforce2d | 0:972874f31c98 | 1210 | /* u8g_line.c */ |
iforce2d | 0:972874f31c98 | 1211 | void u8g_DrawLine(u8g_t *u8g, u8g_uint_t x1, u8g_uint_t y1, u8g_uint_t x2, u8g_uint_t y2); |
iforce2d | 0:972874f31c98 | 1212 | |
iforce2d | 0:972874f31c98 | 1213 | |
iforce2d | 0:972874f31c98 | 1214 | /* u8g_circle.c */ |
iforce2d | 0:972874f31c98 | 1215 | |
iforce2d | 0:972874f31c98 | 1216 | /* the following, commented code has been rewritten or is not yet finished |
iforce2d | 0:972874f31c98 | 1217 | #define U8G_CIRC_UPPER_RIGHT 0x01 |
iforce2d | 0:972874f31c98 | 1218 | #define U8G_CIRC_UPPER_LEFT 0x02 |
iforce2d | 0:972874f31c98 | 1219 | #define U8G_CIRC_LOWER_LEFT 0x04 |
iforce2d | 0:972874f31c98 | 1220 | #define U8G_CIRC_LOWER_RIGHT 0x08 |
iforce2d | 0:972874f31c98 | 1221 | #define U8G_CIRC_ALL (U8G_CIRC_UPPER_RIGHT|U8G_CIRC_UPPER_LEFT|U8G_CIRC_LOWER_RIGHT|U8G_CIRC_LOWER_LEFT) |
iforce2d | 0:972874f31c98 | 1222 | void u8g_DrawEmpCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); |
iforce2d | 0:972874f31c98 | 1223 | void u8g_DrawFillCirc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); |
iforce2d | 0:972874f31c98 | 1224 | void u8g_DrawEllipseRect(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t x1, u8g_uint_t y1); |
iforce2d | 0:972874f31c98 | 1225 | */ |
iforce2d | 0:972874f31c98 | 1226 | |
iforce2d | 0:972874f31c98 | 1227 | #define U8G_DRAW_UPPER_RIGHT 0x01 |
iforce2d | 0:972874f31c98 | 1228 | #define U8G_DRAW_UPPER_LEFT 0x02 |
iforce2d | 0:972874f31c98 | 1229 | #define U8G_DRAW_LOWER_LEFT 0x04 |
iforce2d | 0:972874f31c98 | 1230 | #define U8G_DRAW_LOWER_RIGHT 0x08 |
iforce2d | 0:972874f31c98 | 1231 | #define U8G_DRAW_ALL (U8G_DRAW_UPPER_RIGHT|U8G_DRAW_UPPER_LEFT|U8G_DRAW_LOWER_RIGHT|U8G_DRAW_LOWER_LEFT) |
iforce2d | 0:972874f31c98 | 1232 | |
iforce2d | 0:972874f31c98 | 1233 | void u8g_draw_circle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1234 | void u8g_draw_disc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1235 | |
iforce2d | 0:972874f31c98 | 1236 | void u8g_DrawCircle(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); |
iforce2d | 0:972874f31c98 | 1237 | void u8g_DrawDisc(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rad, uint8_t option); |
iforce2d | 0:972874f31c98 | 1238 | |
iforce2d | 0:972874f31c98 | 1239 | /* u8g_ellipse.c */ |
iforce2d | 0:972874f31c98 | 1240 | void u8g_DrawEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option); |
iforce2d | 0:972874f31c98 | 1241 | void u8g_DrawFilledEllipse(u8g_t *u8g, u8g_uint_t x0, u8g_uint_t y0, u8g_uint_t rx, u8g_uint_t ry, uint8_t option); |
iforce2d | 0:972874f31c98 | 1242 | |
iforce2d | 0:972874f31c98 | 1243 | /* u8g_clip.c */ |
iforce2d | 0:972874f31c98 | 1244 | uint8_t u8g_is_box_bbx_intersection(u8g_box_t *box, u8g_dev_arg_bbx_t *bbx); |
iforce2d | 0:972874f31c98 | 1245 | |
iforce2d | 0:972874f31c98 | 1246 | |
iforce2d | 0:972874f31c98 | 1247 | /* u8g_cursor.c */ |
iforce2d | 0:972874f31c98 | 1248 | void u8g_SetCursorFont(u8g_t *u8g, const u8g_pgm_uint8_t *cursor_font); |
iforce2d | 0:972874f31c98 | 1249 | void u8g_SetCursorStyle(u8g_t *u8g, uint8_t encoding); |
iforce2d | 0:972874f31c98 | 1250 | void u8g_SetCursorPos(u8g_t *u8g, u8g_uint_t cursor_x, u8g_uint_t cursor_y); |
iforce2d | 0:972874f31c98 | 1251 | void u8g_SetCursorColor(u8g_t *u8g, uint8_t fg, uint8_t bg); |
iforce2d | 0:972874f31c98 | 1252 | void u8g_EnableCursor(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1253 | void u8g_DisableCursor(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1254 | void u8g_DrawCursor(u8g_t *u8g); |
iforce2d | 0:972874f31c98 | 1255 | |
iforce2d | 0:972874f31c98 | 1256 | |
iforce2d | 0:972874f31c98 | 1257 | |
iforce2d | 0:972874f31c98 | 1258 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 1259 | /* u8g_virtual_screen.c */ |
iforce2d | 0:972874f31c98 | 1260 | void u8g_SetVirtualScreenDimension(u8g_t *vs_u8g, u8g_uint_t width, u8g_uint_t height); |
iforce2d | 0:972874f31c98 | 1261 | uint8_t u8g_AddToVirtualScreen(u8g_t *vs_u8g, u8g_uint_t x, u8g_uint_t y, u8g_t *child_u8g); |
iforce2d | 0:972874f31c98 | 1262 | |
iforce2d | 0:972874f31c98 | 1263 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 1264 | void st_Draw(uint8_t fps); |
iforce2d | 0:972874f31c98 | 1265 | void st_Step(uint8_t player_pos, uint8_t is_auto_fire, uint8_t is_fire); |
iforce2d | 0:972874f31c98 | 1266 | |
iforce2d | 0:972874f31c98 | 1267 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 1268 | /* u8g_com_i2c.c */ |
iforce2d | 0:972874f31c98 | 1269 | |
iforce2d | 0:972874f31c98 | 1270 | /* options for u8g_i2c_init() */ |
iforce2d | 0:972874f31c98 | 1271 | #define U8G_I2C_OPT_NONE 0 |
iforce2d | 0:972874f31c98 | 1272 | |
iforce2d | 0:972874f31c98 | 1273 | /* retrun values from u8g_twi_get_error() */ |
iforce2d | 0:972874f31c98 | 1274 | #define U8G_I2C_ERR_NONE 0x00 |
iforce2d | 0:972874f31c98 | 1275 | /* the following values are bit masks */ |
iforce2d | 0:972874f31c98 | 1276 | #define U8G_I2C_ERR_TIMEOUT 0x01 |
iforce2d | 0:972874f31c98 | 1277 | #define U8G_I2C_ERR_BUS 0x02 |
iforce2d | 0:972874f31c98 | 1278 | |
iforce2d | 0:972874f31c98 | 1279 | void u8g_i2c_clear_error(void) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1280 | uint8_t u8g_i2c_get_error(void) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1281 | uint8_t u8g_i2c_get_err_pos(void) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1282 | void u8g_i2c_init(uint8_t options) U8G_NOINLINE; /* use U8G_I2C_OPT_NONE as options */ |
iforce2d | 0:972874f31c98 | 1283 | uint8_t u8g_i2c_wait(uint8_t mask, uint8_t pos) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1284 | uint8_t u8g_i2c_start(uint8_t sla) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1285 | uint8_t u8g_i2c_send_byte(uint8_t data) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1286 | void u8g_i2c_stop(void) U8G_NOINLINE; |
iforce2d | 0:972874f31c98 | 1287 | |
iforce2d | 0:972874f31c98 | 1288 | |
iforce2d | 0:972874f31c98 | 1289 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 1290 | /* u8g_u8toa.c */ |
iforce2d | 0:972874f31c98 | 1291 | /* v = value, d = number of digits */ |
iforce2d | 0:972874f31c98 | 1292 | const char *u8g_u8toa(uint8_t v, uint8_t d); |
iforce2d | 0:972874f31c98 | 1293 | |
iforce2d | 0:972874f31c98 | 1294 | /* u8g_u8toa.c */ |
iforce2d | 0:972874f31c98 | 1295 | /* v = value, d = number of digits */ |
iforce2d | 0:972874f31c98 | 1296 | const char *u8g_u16toa(uint16_t v, uint8_t d); |
iforce2d | 0:972874f31c98 | 1297 | |
iforce2d | 0:972874f31c98 | 1298 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 1299 | /* u8g_delay.c */ |
iforce2d | 0:972874f31c98 | 1300 | |
iforce2d | 0:972874f31c98 | 1301 | /* delay by the specified number of milliseconds */ |
iforce2d | 0:972874f31c98 | 1302 | void u8g_Delay(uint16_t val); |
iforce2d | 0:972874f31c98 | 1303 | |
iforce2d | 0:972874f31c98 | 1304 | /* delay by one microsecond */ |
iforce2d | 0:972874f31c98 | 1305 | void u8g_MicroDelay(void); |
iforce2d | 0:972874f31c98 | 1306 | |
iforce2d | 0:972874f31c98 | 1307 | /* delay by 10 microseconds */ |
iforce2d | 0:972874f31c98 | 1308 | void u8g_10MicroDelay(void); |
iforce2d | 0:972874f31c98 | 1309 | |
iforce2d | 0:972874f31c98 | 1310 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 1311 | /* chessengine.c */ |
iforce2d | 0:972874f31c98 | 1312 | #define CHESS_KEY_NONE 0 |
iforce2d | 0:972874f31c98 | 1313 | #define CHESS_KEY_NEXT 1 |
iforce2d | 0:972874f31c98 | 1314 | #define CHESS_KEY_PREV 2 |
iforce2d | 0:972874f31c98 | 1315 | #define CHESS_KEY_SELECT 3 |
iforce2d | 0:972874f31c98 | 1316 | #define CHESS_KEY_BACK 4 |
iforce2d | 0:972874f31c98 | 1317 | |
iforce2d | 0:972874f31c98 | 1318 | void chess_Init(u8g_t *u8g, uint8_t empty_body_color); |
iforce2d | 0:972874f31c98 | 1319 | void chess_Draw(void); |
iforce2d | 0:972874f31c98 | 1320 | void chess_Step(uint8_t keycode); |
iforce2d | 0:972874f31c98 | 1321 | |
iforce2d | 0:972874f31c98 | 1322 | /*===============================================================*/ |
iforce2d | 0:972874f31c98 | 1323 | /* font definitions */ |
iforce2d | 0:972874f31c98 | 1324 | extern const u8g_fntpgm_uint8_t u8g_font_m2icon_5[] U8G_FONT_SECTION("u8g_font_m2icon_5"); |
iforce2d | 0:972874f31c98 | 1325 | extern const u8g_fntpgm_uint8_t u8g_font_m2icon_7[] U8G_FONT_SECTION("u8g_font_m2icon_7"); |
iforce2d | 0:972874f31c98 | 1326 | extern const u8g_fntpgm_uint8_t u8g_font_m2icon_9[] U8G_FONT_SECTION("u8g_font_m2icon_9"); |
iforce2d | 0:972874f31c98 | 1327 | |
iforce2d | 0:972874f31c98 | 1328 | extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4[] U8G_FONT_SECTION("u8g_font_u8glib_4"); |
iforce2d | 0:972874f31c98 | 1329 | extern const u8g_fntpgm_uint8_t u8g_font_u8glib_4r[] U8G_FONT_SECTION("u8g_font_u8glib_4r"); |
iforce2d | 0:972874f31c98 | 1330 | |
iforce2d | 0:972874f31c98 | 1331 | |
iforce2d | 0:972874f31c98 | 1332 | extern const u8g_fntpgm_uint8_t u8g_font_6x12_75r[] U8G_FONT_SECTION("u8g_font_6x12_75r"); |
iforce2d | 0:972874f31c98 | 1333 | extern const u8g_fntpgm_uint8_t u8g_font_6x13_75r[] U8G_FONT_SECTION("u8g_font_6x13_75r"); |
iforce2d | 0:972874f31c98 | 1334 | extern const u8g_fntpgm_uint8_t u8g_font_7x13_75r[] U8G_FONT_SECTION("u8g_font_7x13_75r"); |
iforce2d | 0:972874f31c98 | 1335 | extern const u8g_fntpgm_uint8_t u8g_font_8x13_75r[] U8G_FONT_SECTION("u8g_font_8x13_75r"); |
iforce2d | 0:972874f31c98 | 1336 | extern const u8g_fntpgm_uint8_t u8g_font_9x15_75r[] U8G_FONT_SECTION("u8g_font_9x15_75r"); |
iforce2d | 0:972874f31c98 | 1337 | extern const u8g_fntpgm_uint8_t u8g_font_9x18_75r[] U8G_FONT_SECTION("u8g_font_9x18_75r"); |
iforce2d | 0:972874f31c98 | 1338 | extern const u8g_fntpgm_uint8_t u8g_font_cu12_75r[] U8G_FONT_SECTION("u8g_font_cu12_75r"); |
iforce2d | 0:972874f31c98 | 1339 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_75r[] U8G_FONT_SECTION("u8g_font_unifont_75r"); |
iforce2d | 0:972874f31c98 | 1340 | extern const u8g_fntpgm_uint8_t u8g_font_10x20_75r[] U8G_FONT_SECTION("u8g_font_10x20_75r"); |
iforce2d | 0:972874f31c98 | 1341 | |
iforce2d | 0:972874f31c98 | 1342 | extern const u8g_fntpgm_uint8_t u8g_font_10x20_67_75[] U8G_FONT_SECTION("u8g_font_10x20_67_75"); |
iforce2d | 0:972874f31c98 | 1343 | extern const u8g_fntpgm_uint8_t u8g_font_10x20_78_79[] U8G_FONT_SECTION("u8g_font_10x20_78_79"); |
iforce2d | 0:972874f31c98 | 1344 | extern const u8g_fntpgm_uint8_t u8g_font_10x20[] U8G_FONT_SECTION("u8g_font_10x20"); |
iforce2d | 0:972874f31c98 | 1345 | extern const u8g_fntpgm_uint8_t u8g_font_10x20r[] U8G_FONT_SECTION("u8g_font_10x20r"); |
iforce2d | 0:972874f31c98 | 1346 | extern const u8g_fntpgm_uint8_t u8g_font_4x6[] U8G_FONT_SECTION("u8g_font_4x6"); |
iforce2d | 0:972874f31c98 | 1347 | extern const u8g_fntpgm_uint8_t u8g_font_4x6r[] U8G_FONT_SECTION("u8g_font_4x6r"); |
iforce2d | 0:972874f31c98 | 1348 | //extern const u8g_fntpgm_uint8_t u8g_font_4x6n[] U8G_FONT_SECTION("u8g_font_4x6n"); |
iforce2d | 0:972874f31c98 | 1349 | extern const u8g_fntpgm_uint8_t u8g_font_5x7[] U8G_FONT_SECTION("u8g_font_5x7"); |
iforce2d | 0:972874f31c98 | 1350 | extern const u8g_fntpgm_uint8_t u8g_font_5x7r[] U8G_FONT_SECTION("u8g_font_5x7r"); |
iforce2d | 0:972874f31c98 | 1351 | extern const u8g_fntpgm_uint8_t u8g_font_5x8[] U8G_FONT_SECTION("u8g_font_5x8"); |
iforce2d | 0:972874f31c98 | 1352 | extern const u8g_fntpgm_uint8_t u8g_font_5x8r[] U8G_FONT_SECTION("u8g_font_5x8r"); |
iforce2d | 0:972874f31c98 | 1353 | extern const u8g_fntpgm_uint8_t u8g_font_6x10[] U8G_FONT_SECTION("u8g_font_6x10"); |
iforce2d | 0:972874f31c98 | 1354 | extern const u8g_fntpgm_uint8_t u8g_font_6x10r[] U8G_FONT_SECTION("u8g_font_6x10r"); |
iforce2d | 0:972874f31c98 | 1355 | extern const u8g_fntpgm_uint8_t u8g_font_6x12_67_75[] U8G_FONT_SECTION("u8g_font_6x12_67_75"); |
iforce2d | 0:972874f31c98 | 1356 | extern const u8g_fntpgm_uint8_t u8g_font_6x12_78_79[] U8G_FONT_SECTION("u8g_font_6x12_78_79"); |
iforce2d | 0:972874f31c98 | 1357 | extern const u8g_fntpgm_uint8_t u8g_font_6x12[] U8G_FONT_SECTION("u8g_font_6x12"); |
iforce2d | 0:972874f31c98 | 1358 | extern const u8g_fntpgm_uint8_t u8g_font_6x12r[] U8G_FONT_SECTION("u8g_font_6x12r"); |
iforce2d | 0:972874f31c98 | 1359 | extern const u8g_fntpgm_uint8_t u8g_font_6x13_67_75[] U8G_FONT_SECTION("u8g_font_6x13_67_75"); |
iforce2d | 0:972874f31c98 | 1360 | extern const u8g_fntpgm_uint8_t u8g_font_6x13_78_79[] U8G_FONT_SECTION("u8g_font_6x13_78_79"); |
iforce2d | 0:972874f31c98 | 1361 | extern const u8g_fntpgm_uint8_t u8g_font_6x13B[] U8G_FONT_SECTION("u8g_font_6x13B"); |
iforce2d | 0:972874f31c98 | 1362 | extern const u8g_fntpgm_uint8_t u8g_font_6x13Br[] U8G_FONT_SECTION("u8g_font_6x13Br"); |
iforce2d | 0:972874f31c98 | 1363 | extern const u8g_fntpgm_uint8_t u8g_font_6x13[] U8G_FONT_SECTION("u8g_font_6x13"); |
iforce2d | 0:972874f31c98 | 1364 | extern const u8g_fntpgm_uint8_t u8g_font_6x13r[] U8G_FONT_SECTION("u8g_font_6x13r"); |
iforce2d | 0:972874f31c98 | 1365 | extern const u8g_fntpgm_uint8_t u8g_font_6x13O[] U8G_FONT_SECTION("u8g_font_6x13O"); |
iforce2d | 0:972874f31c98 | 1366 | extern const u8g_fntpgm_uint8_t u8g_font_6x13Or[] U8G_FONT_SECTION("u8g_font_6x13Or"); |
iforce2d | 0:972874f31c98 | 1367 | extern const u8g_fntpgm_uint8_t u8g_font_7x13_67_75[] U8G_FONT_SECTION("u8g_font_7x13_67_75"); |
iforce2d | 0:972874f31c98 | 1368 | extern const u8g_fntpgm_uint8_t u8g_font_7x13_78_79[] U8G_FONT_SECTION("u8g_font_7x13_78_79"); |
iforce2d | 0:972874f31c98 | 1369 | extern const u8g_fntpgm_uint8_t u8g_font_7x13B[] U8G_FONT_SECTION("u8g_font_7x13B"); |
iforce2d | 0:972874f31c98 | 1370 | extern const u8g_fntpgm_uint8_t u8g_font_7x13Br[] U8G_FONT_SECTION("u8g_font_7x13Br"); |
iforce2d | 0:972874f31c98 | 1371 | extern const u8g_fntpgm_uint8_t u8g_font_7x13[] U8G_FONT_SECTION("u8g_font_7x13"); |
iforce2d | 0:972874f31c98 | 1372 | extern const u8g_fntpgm_uint8_t u8g_font_7x13r[] U8G_FONT_SECTION("u8g_font_7x13r"); |
iforce2d | 0:972874f31c98 | 1373 | extern const u8g_fntpgm_uint8_t u8g_font_7x13O[] U8G_FONT_SECTION("u8g_font_7x13O"); |
iforce2d | 0:972874f31c98 | 1374 | extern const u8g_fntpgm_uint8_t u8g_font_7x13Or[] U8G_FONT_SECTION("u8g_font_7x13Or"); |
iforce2d | 0:972874f31c98 | 1375 | extern const u8g_fntpgm_uint8_t u8g_font_7x14B[] U8G_FONT_SECTION("u8g_font_7x14B"); |
iforce2d | 0:972874f31c98 | 1376 | extern const u8g_fntpgm_uint8_t u8g_font_7x14Br[] U8G_FONT_SECTION("u8g_font_7x14Br"); |
iforce2d | 0:972874f31c98 | 1377 | extern const u8g_fntpgm_uint8_t u8g_font_7x14[] U8G_FONT_SECTION("u8g_font_7x14"); |
iforce2d | 0:972874f31c98 | 1378 | extern const u8g_fntpgm_uint8_t u8g_font_7x14r[] U8G_FONT_SECTION("u8g_font_7x14r"); |
iforce2d | 0:972874f31c98 | 1379 | extern const u8g_fntpgm_uint8_t u8g_font_8x13_67_75[] U8G_FONT_SECTION("u8g_font_8x13_67_75"); |
iforce2d | 0:972874f31c98 | 1380 | extern const u8g_fntpgm_uint8_t u8g_font_8x13B[] U8G_FONT_SECTION("u8g_font_8x13B"); |
iforce2d | 0:972874f31c98 | 1381 | extern const u8g_fntpgm_uint8_t u8g_font_8x13Br[] U8G_FONT_SECTION("u8g_font_8x13Br"); |
iforce2d | 0:972874f31c98 | 1382 | extern const u8g_fntpgm_uint8_t u8g_font_8x13[] U8G_FONT_SECTION("u8g_font_8x13"); |
iforce2d | 0:972874f31c98 | 1383 | extern const u8g_fntpgm_uint8_t u8g_font_8x13r[] U8G_FONT_SECTION("u8g_font_8x13r"); |
iforce2d | 0:972874f31c98 | 1384 | extern const u8g_fntpgm_uint8_t u8g_font_8x13O[] U8G_FONT_SECTION("u8g_font_8x13O"); |
iforce2d | 0:972874f31c98 | 1385 | extern const u8g_fntpgm_uint8_t u8g_font_8x13Or[] U8G_FONT_SECTION("u8g_font_8x13Or"); |
iforce2d | 0:972874f31c98 | 1386 | |
iforce2d | 0:972874f31c98 | 1387 | extern const u8g_fntpgm_uint8_t u8g_font_9x15_67_75[] U8G_FONT_SECTION("u8g_font_9x15_67_75"); |
iforce2d | 0:972874f31c98 | 1388 | extern const u8g_fntpgm_uint8_t u8g_font_9x15_78_79[] U8G_FONT_SECTION("u8g_font_9x15_78_79"); |
iforce2d | 0:972874f31c98 | 1389 | extern const u8g_fntpgm_uint8_t u8g_font_9x15B[] U8G_FONT_SECTION("u8g_font_9x15B"); |
iforce2d | 0:972874f31c98 | 1390 | extern const u8g_fntpgm_uint8_t u8g_font_9x15Br[] U8G_FONT_SECTION("u8g_font_9x15Br"); |
iforce2d | 0:972874f31c98 | 1391 | extern const u8g_fntpgm_uint8_t u8g_font_9x15[] U8G_FONT_SECTION("u8g_font_9x15"); |
iforce2d | 0:972874f31c98 | 1392 | extern const u8g_fntpgm_uint8_t u8g_font_9x15r[] U8G_FONT_SECTION("u8g_font_9x15r"); |
iforce2d | 0:972874f31c98 | 1393 | |
iforce2d | 0:972874f31c98 | 1394 | extern const u8g_fntpgm_uint8_t u8g_font_9x18_67_75[] U8G_FONT_SECTION("u8g_font_9x18_67_75"); |
iforce2d | 0:972874f31c98 | 1395 | extern const u8g_fntpgm_uint8_t u8g_font_9x18_78_79[] U8G_FONT_SECTION("u8g_font_9x18_78_79"); |
iforce2d | 0:972874f31c98 | 1396 | extern const u8g_fntpgm_uint8_t u8g_font_9x18B[] U8G_FONT_SECTION("u8g_font_9x18B"); |
iforce2d | 0:972874f31c98 | 1397 | extern const u8g_fntpgm_uint8_t u8g_font_9x18[] U8G_FONT_SECTION("u8g_font_9x18"); |
iforce2d | 0:972874f31c98 | 1398 | extern const u8g_fntpgm_uint8_t u8g_font_9x18Br[] U8G_FONT_SECTION("u8g_font_9x18Br"); |
iforce2d | 0:972874f31c98 | 1399 | extern const u8g_fntpgm_uint8_t u8g_font_9x18r[] U8G_FONT_SECTION("u8g_font_9x18r"); |
iforce2d | 0:972874f31c98 | 1400 | |
iforce2d | 0:972874f31c98 | 1401 | extern const u8g_fntpgm_uint8_t u8g_font_cursor[] U8G_FONT_SECTION("u8g_font_cursor"); |
iforce2d | 0:972874f31c98 | 1402 | extern const u8g_fntpgm_uint8_t u8g_font_cursorr[] U8G_FONT_SECTION("u8g_font_cursorr"); |
iforce2d | 0:972874f31c98 | 1403 | extern const u8g_fntpgm_uint8_t u8g_font_micro[] U8G_FONT_SECTION("u8g_font_micro"); |
iforce2d | 0:972874f31c98 | 1404 | |
iforce2d | 0:972874f31c98 | 1405 | extern const u8g_fntpgm_uint8_t u8g_font_cu12_67_75[] U8G_FONT_SECTION("u8g_font_cu12_67_75"); |
iforce2d | 0:972874f31c98 | 1406 | extern const u8g_fntpgm_uint8_t u8g_font_cu12_78_79[] U8G_FONT_SECTION("u8g_font_cu12_78_79"); |
iforce2d | 0:972874f31c98 | 1407 | extern const u8g_fntpgm_uint8_t u8g_font_cu12[] U8G_FONT_SECTION("u8g_font_cu12"); |
iforce2d | 0:972874f31c98 | 1408 | |
iforce2d | 0:972874f31c98 | 1409 | /* |
iforce2d | 0:972874f31c98 | 1410 | Free-Universal Bold |
iforce2d | 0:972874f31c98 | 1411 | r: Reduced char set (codes 32 - 128) |
iforce2d | 0:972874f31c98 | 1412 | n: Numbers (codes 42 - 57) |
iforce2d | 0:972874f31c98 | 1413 | no char: Full set (codes 32 - 255) |
iforce2d | 0:972874f31c98 | 1414 | */ |
iforce2d | 0:972874f31c98 | 1415 | |
iforce2d | 0:972874f31c98 | 1416 | extern const u8g_fntpgm_uint8_t u8g_font_fub11[] U8G_FONT_SECTION("u8g_font_fub11"); |
iforce2d | 0:972874f31c98 | 1417 | extern const u8g_fntpgm_uint8_t u8g_font_fub11r[] U8G_FONT_SECTION("u8g_font_fub11r"); |
iforce2d | 0:972874f31c98 | 1418 | extern const u8g_fntpgm_uint8_t u8g_font_fub11n[] U8G_FONT_SECTION("u8g_font_fub11n"); |
iforce2d | 0:972874f31c98 | 1419 | extern const u8g_fntpgm_uint8_t u8g_font_fub14[] U8G_FONT_SECTION("u8g_font_fub14"); |
iforce2d | 0:972874f31c98 | 1420 | extern const u8g_fntpgm_uint8_t u8g_font_fub14r[] U8G_FONT_SECTION("u8g_font_fub14r"); |
iforce2d | 0:972874f31c98 | 1421 | extern const u8g_fntpgm_uint8_t u8g_font_fub14n[] U8G_FONT_SECTION("u8g_font_fub14n"); |
iforce2d | 0:972874f31c98 | 1422 | extern const u8g_fntpgm_uint8_t u8g_font_fub17[] U8G_FONT_SECTION("u8g_font_fub17"); |
iforce2d | 0:972874f31c98 | 1423 | extern const u8g_fntpgm_uint8_t u8g_font_fub17r[] U8G_FONT_SECTION("u8g_font_fub17r"); |
iforce2d | 0:972874f31c98 | 1424 | extern const u8g_fntpgm_uint8_t u8g_font_fub17n[] U8G_FONT_SECTION("u8g_font_fub17n"); |
iforce2d | 0:972874f31c98 | 1425 | extern const u8g_fntpgm_uint8_t u8g_font_fub20[] U8G_FONT_SECTION("u8g_font_fub20"); |
iforce2d | 0:972874f31c98 | 1426 | extern const u8g_fntpgm_uint8_t u8g_font_fub20r[] U8G_FONT_SECTION("u8g_font_fub20r"); |
iforce2d | 0:972874f31c98 | 1427 | extern const u8g_fntpgm_uint8_t u8g_font_fub20n[] U8G_FONT_SECTION("u8g_font_fub20n"); |
iforce2d | 0:972874f31c98 | 1428 | extern const u8g_fntpgm_uint8_t u8g_font_fub25[] U8G_FONT_SECTION("u8g_font_fub25"); |
iforce2d | 0:972874f31c98 | 1429 | extern const u8g_fntpgm_uint8_t u8g_font_fub25r[] U8G_FONT_SECTION("u8g_font_fub25r"); |
iforce2d | 0:972874f31c98 | 1430 | extern const u8g_fntpgm_uint8_t u8g_font_fub25n[] U8G_FONT_SECTION("u8g_font_fub25n"); |
iforce2d | 0:972874f31c98 | 1431 | extern const u8g_fntpgm_uint8_t u8g_font_fub30[] U8G_FONT_SECTION("u8g_font_fub30"); |
iforce2d | 0:972874f31c98 | 1432 | extern const u8g_fntpgm_uint8_t u8g_font_fub30r[] U8G_FONT_SECTION("u8g_font_fub30r"); |
iforce2d | 0:972874f31c98 | 1433 | extern const u8g_fntpgm_uint8_t u8g_font_fub30n[] U8G_FONT_SECTION("u8g_font_fub30n"); |
iforce2d | 0:972874f31c98 | 1434 | extern const u8g_fntpgm_uint8_t u8g_font_fub35n[] U8G_FONT_SECTION("u8g_font_fub35n"); |
iforce2d | 0:972874f31c98 | 1435 | extern const u8g_fntpgm_uint8_t u8g_font_fub42n[] U8G_FONT_SECTION("u8g_font_fub42n"); |
iforce2d | 0:972874f31c98 | 1436 | extern const u8g_fntpgm_uint8_t u8g_font_fub49n[] U8G_FONT_SECTION("u8g_font_fub49n"); |
iforce2d | 0:972874f31c98 | 1437 | |
iforce2d | 0:972874f31c98 | 1438 | /* |
iforce2d | 0:972874f31c98 | 1439 | Free-Universal Regular |
iforce2d | 0:972874f31c98 | 1440 | r: Reduced char set (codes 32 - 128) |
iforce2d | 0:972874f31c98 | 1441 | n: Numbers (codes 42 - 57) |
iforce2d | 0:972874f31c98 | 1442 | no char: Full set (codes 32 - 255) |
iforce2d | 0:972874f31c98 | 1443 | */ |
iforce2d | 0:972874f31c98 | 1444 | |
iforce2d | 0:972874f31c98 | 1445 | extern const u8g_fntpgm_uint8_t u8g_font_fur11[] U8G_FONT_SECTION("u8g_font_fur11"); |
iforce2d | 0:972874f31c98 | 1446 | extern const u8g_fntpgm_uint8_t u8g_font_fur11r[] U8G_FONT_SECTION("u8g_font_fur11r"); |
iforce2d | 0:972874f31c98 | 1447 | extern const u8g_fntpgm_uint8_t u8g_font_fur11n[] U8G_FONT_SECTION("u8g_font_fur11n"); |
iforce2d | 0:972874f31c98 | 1448 | extern const u8g_fntpgm_uint8_t u8g_font_fur14[] U8G_FONT_SECTION("u8g_font_fur14"); |
iforce2d | 0:972874f31c98 | 1449 | extern const u8g_fntpgm_uint8_t u8g_font_fur14r[] U8G_FONT_SECTION("u8g_font_fur14r"); |
iforce2d | 0:972874f31c98 | 1450 | extern const u8g_fntpgm_uint8_t u8g_font_fur14n[] U8G_FONT_SECTION("u8g_font_fur14n"); |
iforce2d | 0:972874f31c98 | 1451 | extern const u8g_fntpgm_uint8_t u8g_font_fur17[] U8G_FONT_SECTION("u8g_font_fur17"); |
iforce2d | 0:972874f31c98 | 1452 | extern const u8g_fntpgm_uint8_t u8g_font_fur17r[] U8G_FONT_SECTION("u8g_font_fur17r"); |
iforce2d | 0:972874f31c98 | 1453 | extern const u8g_fntpgm_uint8_t u8g_font_fur17n[] U8G_FONT_SECTION("u8g_font_fur17n"); |
iforce2d | 0:972874f31c98 | 1454 | extern const u8g_fntpgm_uint8_t u8g_font_fur20[] U8G_FONT_SECTION("u8g_font_fur20"); |
iforce2d | 0:972874f31c98 | 1455 | extern const u8g_fntpgm_uint8_t u8g_font_fur20r[] U8G_FONT_SECTION("u8g_font_fur20r"); |
iforce2d | 0:972874f31c98 | 1456 | extern const u8g_fntpgm_uint8_t u8g_font_fur20n[] U8G_FONT_SECTION("u8g_font_fur20n"); |
iforce2d | 0:972874f31c98 | 1457 | extern const u8g_fntpgm_uint8_t u8g_font_fur25[] U8G_FONT_SECTION("u8g_font_fur25"); |
iforce2d | 0:972874f31c98 | 1458 | extern const u8g_fntpgm_uint8_t u8g_font_fur25r[] U8G_FONT_SECTION("u8g_font_fur25r"); |
iforce2d | 0:972874f31c98 | 1459 | extern const u8g_fntpgm_uint8_t u8g_font_fur25n[] U8G_FONT_SECTION("u8g_font_fur25n"); |
iforce2d | 0:972874f31c98 | 1460 | extern const u8g_fntpgm_uint8_t u8g_font_fur30[] U8G_FONT_SECTION("u8g_font_fur30"); |
iforce2d | 0:972874f31c98 | 1461 | extern const u8g_fntpgm_uint8_t u8g_font_fur30r[] U8G_FONT_SECTION("u8g_font_fur30r"); |
iforce2d | 0:972874f31c98 | 1462 | extern const u8g_fntpgm_uint8_t u8g_font_fur30n[] U8G_FONT_SECTION("u8g_font_fur30n"); |
iforce2d | 0:972874f31c98 | 1463 | extern const u8g_fntpgm_uint8_t u8g_font_fur35n[] U8G_FONT_SECTION("u8g_font_fur35n"); |
iforce2d | 0:972874f31c98 | 1464 | extern const u8g_fntpgm_uint8_t u8g_font_fur42n[] U8G_FONT_SECTION("u8g_font_fur42n"); |
iforce2d | 0:972874f31c98 | 1465 | extern const u8g_fntpgm_uint8_t u8g_font_fur49n[] U8G_FONT_SECTION("u8g_font_fur49n"); |
iforce2d | 0:972874f31c98 | 1466 | |
iforce2d | 0:972874f31c98 | 1467 | /* |
iforce2d | 0:972874f31c98 | 1468 | Gentium Bold |
iforce2d | 0:972874f31c98 | 1469 | r: Reduced char set (codes 32 - 128) |
iforce2d | 0:972874f31c98 | 1470 | n: Numbers (codes 42 - 57) |
iforce2d | 0:972874f31c98 | 1471 | no char: Full set (codes 32 - 255) |
iforce2d | 0:972874f31c98 | 1472 | */ |
iforce2d | 0:972874f31c98 | 1473 | |
iforce2d | 0:972874f31c98 | 1474 | extern const u8g_fntpgm_uint8_t u8g_font_gdb11[] U8G_FONT_SECTION("u8g_font_gdb11"); |
iforce2d | 0:972874f31c98 | 1475 | extern const u8g_fntpgm_uint8_t u8g_font_gdb12[] U8G_FONT_SECTION("u8g_font_gdb12"); |
iforce2d | 0:972874f31c98 | 1476 | extern const u8g_fntpgm_uint8_t u8g_font_gdb14[] U8G_FONT_SECTION("u8g_font_gdb14"); |
iforce2d | 0:972874f31c98 | 1477 | extern const u8g_fntpgm_uint8_t u8g_font_gdb17[] U8G_FONT_SECTION("u8g_font_gdb17"); |
iforce2d | 0:972874f31c98 | 1478 | extern const u8g_fntpgm_uint8_t u8g_font_gdb20[] U8G_FONT_SECTION("u8g_font_gdb20"); |
iforce2d | 0:972874f31c98 | 1479 | extern const u8g_fntpgm_uint8_t u8g_font_gdb25[] U8G_FONT_SECTION("u8g_font_gdb25"); |
iforce2d | 0:972874f31c98 | 1480 | extern const u8g_fntpgm_uint8_t u8g_font_gdb30[] U8G_FONT_SECTION("u8g_font_gdb30"); |
iforce2d | 0:972874f31c98 | 1481 | |
iforce2d | 0:972874f31c98 | 1482 | extern const u8g_fntpgm_uint8_t u8g_font_gdb11r[] U8G_FONT_SECTION("u8g_font_gdb11r"); |
iforce2d | 0:972874f31c98 | 1483 | extern const u8g_fntpgm_uint8_t u8g_font_gdb12r[] U8G_FONT_SECTION("u8g_font_gdb12r"); |
iforce2d | 0:972874f31c98 | 1484 | extern const u8g_fntpgm_uint8_t u8g_font_gdb14r[] U8G_FONT_SECTION("u8g_font_gdb14r"); |
iforce2d | 0:972874f31c98 | 1485 | extern const u8g_fntpgm_uint8_t u8g_font_gdb17r[] U8G_FONT_SECTION("u8g_font_gdb17r"); |
iforce2d | 0:972874f31c98 | 1486 | extern const u8g_fntpgm_uint8_t u8g_font_gdb20r[] U8G_FONT_SECTION("u8g_font_gdb20r"); |
iforce2d | 0:972874f31c98 | 1487 | extern const u8g_fntpgm_uint8_t u8g_font_gdb25r[] U8G_FONT_SECTION("u8g_font_gdb25r"); |
iforce2d | 0:972874f31c98 | 1488 | extern const u8g_fntpgm_uint8_t u8g_font_gdb30r[] U8G_FONT_SECTION("u8g_font_gdb30r"); |
iforce2d | 0:972874f31c98 | 1489 | |
iforce2d | 0:972874f31c98 | 1490 | extern const u8g_fntpgm_uint8_t u8g_font_gdb11n[] U8G_FONT_SECTION("u8g_font_gdb11n"); |
iforce2d | 0:972874f31c98 | 1491 | extern const u8g_fntpgm_uint8_t u8g_font_gdb12n[] U8G_FONT_SECTION("u8g_font_gdb12n"); |
iforce2d | 0:972874f31c98 | 1492 | extern const u8g_fntpgm_uint8_t u8g_font_gdb14n[] U8G_FONT_SECTION("u8g_font_gdb14n"); |
iforce2d | 0:972874f31c98 | 1493 | extern const u8g_fntpgm_uint8_t u8g_font_gdb17n[] U8G_FONT_SECTION("u8g_font_gdb17n"); |
iforce2d | 0:972874f31c98 | 1494 | extern const u8g_fntpgm_uint8_t u8g_font_gdb20n[] U8G_FONT_SECTION("u8g_font_gdb20n"); |
iforce2d | 0:972874f31c98 | 1495 | extern const u8g_fntpgm_uint8_t u8g_font_gdb25n[] U8G_FONT_SECTION("u8g_font_gdb25n"); |
iforce2d | 0:972874f31c98 | 1496 | extern const u8g_fntpgm_uint8_t u8g_font_gdb30n[] U8G_FONT_SECTION("u8g_font_gdb30n"); |
iforce2d | 0:972874f31c98 | 1497 | |
iforce2d | 0:972874f31c98 | 1498 | /* |
iforce2d | 0:972874f31c98 | 1499 | Gentium Regular |
iforce2d | 0:972874f31c98 | 1500 | r: Reduced char set (codes 32 - 128) |
iforce2d | 0:972874f31c98 | 1501 | n: Numbers (codes 42 - 57) |
iforce2d | 0:972874f31c98 | 1502 | no char: Full set (codes 32 - 255) |
iforce2d | 0:972874f31c98 | 1503 | */ |
iforce2d | 0:972874f31c98 | 1504 | |
iforce2d | 0:972874f31c98 | 1505 | extern const u8g_fntpgm_uint8_t u8g_font_gdr9[] U8G_FONT_SECTION("u8g_font_gdr9"); |
iforce2d | 0:972874f31c98 | 1506 | extern const u8g_fntpgm_uint8_t u8g_font_gdr10[] U8G_FONT_SECTION("u8g_font_gdr10"); |
iforce2d | 0:972874f31c98 | 1507 | extern const u8g_fntpgm_uint8_t u8g_font_gdr11[] U8G_FONT_SECTION("u8g_font_gdr11"); |
iforce2d | 0:972874f31c98 | 1508 | extern const u8g_fntpgm_uint8_t u8g_font_gdr12[] U8G_FONT_SECTION("u8g_font_gdr12"); |
iforce2d | 0:972874f31c98 | 1509 | extern const u8g_fntpgm_uint8_t u8g_font_gdr14[] U8G_FONT_SECTION("u8g_font_gdr14"); |
iforce2d | 0:972874f31c98 | 1510 | extern const u8g_fntpgm_uint8_t u8g_font_gdr17[] U8G_FONT_SECTION("u8g_font_gdr17"); |
iforce2d | 0:972874f31c98 | 1511 | extern const u8g_fntpgm_uint8_t u8g_font_gdr20[] U8G_FONT_SECTION("u8g_font_gdr20"); |
iforce2d | 0:972874f31c98 | 1512 | extern const u8g_fntpgm_uint8_t u8g_font_gdr25[] U8G_FONT_SECTION("u8g_font_gdr25"); |
iforce2d | 0:972874f31c98 | 1513 | extern const u8g_fntpgm_uint8_t u8g_font_gdr30[] U8G_FONT_SECTION("u8g_font_gdr30"); |
iforce2d | 0:972874f31c98 | 1514 | |
iforce2d | 0:972874f31c98 | 1515 | extern const u8g_fntpgm_uint8_t u8g_font_gdr9r[] U8G_FONT_SECTION("u8g_font_gdr9r"); |
iforce2d | 0:972874f31c98 | 1516 | extern const u8g_fntpgm_uint8_t u8g_font_gdr10r[] U8G_FONT_SECTION("u8g_font_gdr10r"); |
iforce2d | 0:972874f31c98 | 1517 | extern const u8g_fntpgm_uint8_t u8g_font_gdr11r[] U8G_FONT_SECTION("u8g_font_gdr11r"); |
iforce2d | 0:972874f31c98 | 1518 | extern const u8g_fntpgm_uint8_t u8g_font_gdr12r[] U8G_FONT_SECTION("u8g_font_gdr12r"); |
iforce2d | 0:972874f31c98 | 1519 | extern const u8g_fntpgm_uint8_t u8g_font_gdr14r[] U8G_FONT_SECTION("u8g_font_gdr14r"); |
iforce2d | 0:972874f31c98 | 1520 | extern const u8g_fntpgm_uint8_t u8g_font_gdr17r[] U8G_FONT_SECTION("u8g_font_gdr17r"); |
iforce2d | 0:972874f31c98 | 1521 | extern const u8g_fntpgm_uint8_t u8g_font_gdr20r[] U8G_FONT_SECTION("u8g_font_gdr20r"); |
iforce2d | 0:972874f31c98 | 1522 | extern const u8g_fntpgm_uint8_t u8g_font_gdr25r[] U8G_FONT_SECTION("u8g_font_gdr25r"); |
iforce2d | 0:972874f31c98 | 1523 | extern const u8g_fntpgm_uint8_t u8g_font_gdr30r[] U8G_FONT_SECTION("u8g_font_gdr30r"); |
iforce2d | 0:972874f31c98 | 1524 | |
iforce2d | 0:972874f31c98 | 1525 | extern const u8g_fntpgm_uint8_t u8g_font_gdr9n[] U8G_FONT_SECTION("u8g_font_gdr9n"); |
iforce2d | 0:972874f31c98 | 1526 | extern const u8g_fntpgm_uint8_t u8g_font_gdr10n[] U8G_FONT_SECTION("u8g_font_gdr10n"); |
iforce2d | 0:972874f31c98 | 1527 | extern const u8g_fntpgm_uint8_t u8g_font_gdr11n[] U8G_FONT_SECTION("u8g_font_gdr11n"); |
iforce2d | 0:972874f31c98 | 1528 | extern const u8g_fntpgm_uint8_t u8g_font_gdr12n[] U8G_FONT_SECTION("u8g_font_gdr12n"); |
iforce2d | 0:972874f31c98 | 1529 | extern const u8g_fntpgm_uint8_t u8g_font_gdr14n[] U8G_FONT_SECTION("u8g_font_gdr14n"); |
iforce2d | 0:972874f31c98 | 1530 | extern const u8g_fntpgm_uint8_t u8g_font_gdr17n[] U8G_FONT_SECTION("u8g_font_gdr17n"); |
iforce2d | 0:972874f31c98 | 1531 | extern const u8g_fntpgm_uint8_t u8g_font_gdr20n[] U8G_FONT_SECTION("u8g_font_gdr20n"); |
iforce2d | 0:972874f31c98 | 1532 | extern const u8g_fntpgm_uint8_t u8g_font_gdr25n[] U8G_FONT_SECTION("u8g_font_gdr25n"); |
iforce2d | 0:972874f31c98 | 1533 | extern const u8g_fntpgm_uint8_t u8g_font_gdr30n[] U8G_FONT_SECTION("u8g_font_gdr30n"); |
iforce2d | 0:972874f31c98 | 1534 | |
iforce2d | 0:972874f31c98 | 1535 | /* |
iforce2d | 0:972874f31c98 | 1536 | Old-Standard Bold |
iforce2d | 0:972874f31c98 | 1537 | r: Reduced char set (codes 32 - 128) |
iforce2d | 0:972874f31c98 | 1538 | n: Numbers (codes 42 - 57) |
iforce2d | 0:972874f31c98 | 1539 | no char: Full set (codes 32 - 255) |
iforce2d | 0:972874f31c98 | 1540 | */ |
iforce2d | 0:972874f31c98 | 1541 | |
iforce2d | 0:972874f31c98 | 1542 | extern const u8g_fntpgm_uint8_t u8g_font_osb18[] U8G_FONT_SECTION("u8g_font_osb18"); |
iforce2d | 0:972874f31c98 | 1543 | extern const u8g_fntpgm_uint8_t u8g_font_osb21[] U8G_FONT_SECTION("u8g_font_osb21"); |
iforce2d | 0:972874f31c98 | 1544 | extern const u8g_fntpgm_uint8_t u8g_font_osb26[] U8G_FONT_SECTION("u8g_font_osb26"); |
iforce2d | 0:972874f31c98 | 1545 | extern const u8g_fntpgm_uint8_t u8g_font_osb29[] U8G_FONT_SECTION("u8g_font_osb29"); |
iforce2d | 0:972874f31c98 | 1546 | extern const u8g_fntpgm_uint8_t u8g_font_osb35[] U8G_FONT_SECTION("u8g_font_osb35"); |
iforce2d | 0:972874f31c98 | 1547 | |
iforce2d | 0:972874f31c98 | 1548 | extern const u8g_fntpgm_uint8_t u8g_font_osb18r[] U8G_FONT_SECTION("u8g_font_osb18r"); |
iforce2d | 0:972874f31c98 | 1549 | extern const u8g_fntpgm_uint8_t u8g_font_osb21r[] U8G_FONT_SECTION("u8g_font_osb21r"); |
iforce2d | 0:972874f31c98 | 1550 | extern const u8g_fntpgm_uint8_t u8g_font_osb26r[] U8G_FONT_SECTION("u8g_font_osb26r"); |
iforce2d | 0:972874f31c98 | 1551 | extern const u8g_fntpgm_uint8_t u8g_font_osb29r[] U8G_FONT_SECTION("u8g_font_osb29r"); |
iforce2d | 0:972874f31c98 | 1552 | extern const u8g_fntpgm_uint8_t u8g_font_osb35r[] U8G_FONT_SECTION("u8g_font_osb35r"); |
iforce2d | 0:972874f31c98 | 1553 | |
iforce2d | 0:972874f31c98 | 1554 | extern const u8g_fntpgm_uint8_t u8g_font_osb18n[] U8G_FONT_SECTION("u8g_font_osb18n"); |
iforce2d | 0:972874f31c98 | 1555 | extern const u8g_fntpgm_uint8_t u8g_font_osb21n[] U8G_FONT_SECTION("u8g_font_osb21n"); |
iforce2d | 0:972874f31c98 | 1556 | extern const u8g_fntpgm_uint8_t u8g_font_osb26n[] U8G_FONT_SECTION("u8g_font_osb26n"); |
iforce2d | 0:972874f31c98 | 1557 | extern const u8g_fntpgm_uint8_t u8g_font_osb29n[] U8G_FONT_SECTION("u8g_font_osb29n"); |
iforce2d | 0:972874f31c98 | 1558 | extern const u8g_fntpgm_uint8_t u8g_font_osb35n[] U8G_FONT_SECTION("u8g_font_osb35n"); |
iforce2d | 0:972874f31c98 | 1559 | |
iforce2d | 0:972874f31c98 | 1560 | /* |
iforce2d | 0:972874f31c98 | 1561 | Old-Standard Regular |
iforce2d | 0:972874f31c98 | 1562 | r: Reduced char set (codes 32 - 128) |
iforce2d | 0:972874f31c98 | 1563 | n: Numbers (codes 42 - 57) |
iforce2d | 0:972874f31c98 | 1564 | no char: Full set (codes 32 - 255) |
iforce2d | 0:972874f31c98 | 1565 | */ |
iforce2d | 0:972874f31c98 | 1566 | |
iforce2d | 0:972874f31c98 | 1567 | extern const u8g_fntpgm_uint8_t u8g_font_osr18[] U8G_FONT_SECTION("u8g_font_osr18"); |
iforce2d | 0:972874f31c98 | 1568 | extern const u8g_fntpgm_uint8_t u8g_font_osr21[] U8G_FONT_SECTION("u8g_font_osr21"); |
iforce2d | 0:972874f31c98 | 1569 | extern const u8g_fntpgm_uint8_t u8g_font_osr26[] U8G_FONT_SECTION("u8g_font_osr26"); |
iforce2d | 0:972874f31c98 | 1570 | extern const u8g_fntpgm_uint8_t u8g_font_osr29[] U8G_FONT_SECTION("u8g_font_osr29"); |
iforce2d | 0:972874f31c98 | 1571 | extern const u8g_fntpgm_uint8_t u8g_font_osr35[] U8G_FONT_SECTION("u8g_font_osr35"); |
iforce2d | 0:972874f31c98 | 1572 | |
iforce2d | 0:972874f31c98 | 1573 | extern const u8g_fntpgm_uint8_t u8g_font_osr18r[] U8G_FONT_SECTION("u8g_font_osr18r"); |
iforce2d | 0:972874f31c98 | 1574 | extern const u8g_fntpgm_uint8_t u8g_font_osr21r[] U8G_FONT_SECTION("u8g_font_osr21r"); |
iforce2d | 0:972874f31c98 | 1575 | extern const u8g_fntpgm_uint8_t u8g_font_osr26r[] U8G_FONT_SECTION("u8g_font_osr26r"); |
iforce2d | 0:972874f31c98 | 1576 | extern const u8g_fntpgm_uint8_t u8g_font_osr29r[] U8G_FONT_SECTION("u8g_font_osr29r"); |
iforce2d | 0:972874f31c98 | 1577 | extern const u8g_fntpgm_uint8_t u8g_font_osr35r[] U8G_FONT_SECTION("u8g_font_osr35r"); |
iforce2d | 0:972874f31c98 | 1578 | |
iforce2d | 0:972874f31c98 | 1579 | extern const u8g_fntpgm_uint8_t u8g_font_osr18n[] U8G_FONT_SECTION("u8g_font_osr18n"); |
iforce2d | 0:972874f31c98 | 1580 | extern const u8g_fntpgm_uint8_t u8g_font_osr21n[] U8G_FONT_SECTION("u8g_font_osr21n"); |
iforce2d | 0:972874f31c98 | 1581 | extern const u8g_fntpgm_uint8_t u8g_font_osr26n[] U8G_FONT_SECTION("u8g_font_osr26n"); |
iforce2d | 0:972874f31c98 | 1582 | extern const u8g_fntpgm_uint8_t u8g_font_osr29n[] U8G_FONT_SECTION("u8g_font_osr29n"); |
iforce2d | 0:972874f31c98 | 1583 | extern const u8g_fntpgm_uint8_t u8g_font_osr35n[] U8G_FONT_SECTION("u8g_font_osr35n"); |
iforce2d | 0:972874f31c98 | 1584 | |
iforce2d | 0:972874f31c98 | 1585 | //extern const u8g_fntpgm_uint8_t u8g_font_osr41[] U8G_FONT_SECTION("u8g_font_osr41"); |
iforce2d | 0:972874f31c98 | 1586 | |
iforce2d | 0:972874f31c98 | 1587 | /* GNU unifont */ |
iforce2d | 0:972874f31c98 | 1588 | |
iforce2d | 0:972874f31c98 | 1589 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_18_19[] U8G_FONT_SECTION("u8g_font_unifont_18_19"); |
iforce2d | 0:972874f31c98 | 1590 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_72_73[] U8G_FONT_SECTION("u8g_font_unifont_72_73"); |
iforce2d | 0:972874f31c98 | 1591 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_67_75[] U8G_FONT_SECTION("u8g_font_unifont_67_75"); |
iforce2d | 0:972874f31c98 | 1592 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_76[] U8G_FONT_SECTION("u8g_font_unifont_76"); |
iforce2d | 0:972874f31c98 | 1593 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_77[] U8G_FONT_SECTION("u8g_font_unifont_77"); |
iforce2d | 0:972874f31c98 | 1594 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_78_79[] U8G_FONT_SECTION("u8g_font_unifont_78_79"); |
iforce2d | 0:972874f31c98 | 1595 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_86[] U8G_FONT_SECTION("u8g_font_unifont_86"); |
iforce2d | 0:972874f31c98 | 1596 | extern const u8g_fntpgm_uint8_t u8g_font_unifont[] U8G_FONT_SECTION("u8g_font_unifont"); |
iforce2d | 0:972874f31c98 | 1597 | extern const u8g_fntpgm_uint8_t u8g_font_unifontr[] U8G_FONT_SECTION("u8g_font_unifontr"); |
iforce2d | 0:972874f31c98 | 1598 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_0_8[] U8G_FONT_SECTION("u8g_font_unifont_0_8"); |
iforce2d | 0:972874f31c98 | 1599 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_2_3[] U8G_FONT_SECTION("u8g_font_unifont_2_3"); |
iforce2d | 0:972874f31c98 | 1600 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_4_5[] U8G_FONT_SECTION("u8g_font_unifont_4_5"); |
iforce2d | 0:972874f31c98 | 1601 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_8_9[] U8G_FONT_SECTION("u8g_font_unifont_8_9"); |
iforce2d | 0:972874f31c98 | 1602 | extern const u8g_fntpgm_uint8_t u8g_font_unifont_12_13[] U8G_FONT_SECTION("u8g_font_unifont_12_13"); |
iforce2d | 0:972874f31c98 | 1603 | |
iforce2d | 0:972874f31c98 | 1604 | |
iforce2d | 0:972874f31c98 | 1605 | /* 04b fonts */ |
iforce2d | 0:972874f31c98 | 1606 | |
iforce2d | 0:972874f31c98 | 1607 | extern const u8g_fntpgm_uint8_t u8g_font_04b_03b[] U8G_FONT_SECTION("u8g_font_04b_03b"); |
iforce2d | 0:972874f31c98 | 1608 | extern const u8g_fntpgm_uint8_t u8g_font_04b_03bn[] U8G_FONT_SECTION("u8g_font_04b_03bn"); |
iforce2d | 0:972874f31c98 | 1609 | extern const u8g_fntpgm_uint8_t u8g_font_04b_03br[] U8G_FONT_SECTION("u8g_font_04b_03br"); |
iforce2d | 0:972874f31c98 | 1610 | extern const u8g_fntpgm_uint8_t u8g_font_04b_03[] U8G_FONT_SECTION("u8g_font_04b_03"); |
iforce2d | 0:972874f31c98 | 1611 | extern const u8g_fntpgm_uint8_t u8g_font_04b_03n[] U8G_FONT_SECTION("u8g_font_04b_03n"); |
iforce2d | 0:972874f31c98 | 1612 | extern const u8g_fntpgm_uint8_t u8g_font_04b_03r[] U8G_FONT_SECTION("u8g_font_04b_03r"); |
iforce2d | 0:972874f31c98 | 1613 | extern const u8g_fntpgm_uint8_t u8g_font_04b_24[] U8G_FONT_SECTION("u8g_font_04b_24"); |
iforce2d | 0:972874f31c98 | 1614 | extern const u8g_fntpgm_uint8_t u8g_font_04b_24n[] U8G_FONT_SECTION("u8g_font_04b_24n"); |
iforce2d | 0:972874f31c98 | 1615 | extern const u8g_fntpgm_uint8_t u8g_font_04b_24r[] U8G_FONT_SECTION("u8g_font_04b_24r"); |
iforce2d | 0:972874f31c98 | 1616 | |
iforce2d | 0:972874f31c98 | 1617 | /* orgdot fonts */ |
iforce2d | 0:972874f31c98 | 1618 | |
iforce2d | 0:972874f31c98 | 1619 | extern const u8g_fntpgm_uint8_t u8g_font_orgv01[] U8G_FONT_SECTION("u8g_font_orgv01"); |
iforce2d | 0:972874f31c98 | 1620 | extern const u8g_fntpgm_uint8_t u8g_font_orgv01r[] U8G_FONT_SECTION("u8g_font_orgv01r"); |
iforce2d | 0:972874f31c98 | 1621 | extern const u8g_fntpgm_uint8_t u8g_font_orgv01n[] U8G_FONT_SECTION("u8g_font_orgv01n"); |
iforce2d | 0:972874f31c98 | 1622 | |
iforce2d | 0:972874f31c98 | 1623 | extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0[] U8G_FONT_SECTION("u8g_font_fixed_v0"); |
iforce2d | 0:972874f31c98 | 1624 | extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0r[] U8G_FONT_SECTION("u8g_font_fixed_v0r"); |
iforce2d | 0:972874f31c98 | 1625 | extern const u8g_fntpgm_uint8_t u8g_font_fixed_v0n[] U8G_FONT_SECTION("u8g_font_fixed_v0n"); |
iforce2d | 0:972874f31c98 | 1626 | |
iforce2d | 0:972874f31c98 | 1627 | extern const u8g_fntpgm_uint8_t u8g_font_tpssb[] U8G_FONT_SECTION("u8g_font_tpssb"); |
iforce2d | 0:972874f31c98 | 1628 | extern const u8g_fntpgm_uint8_t u8g_font_tpssbr[] U8G_FONT_SECTION("u8g_font_tpssbr"); |
iforce2d | 0:972874f31c98 | 1629 | extern const u8g_fntpgm_uint8_t u8g_font_tpssbn[] U8G_FONT_SECTION("u8g_font_tpssbn"); |
iforce2d | 0:972874f31c98 | 1630 | |
iforce2d | 0:972874f31c98 | 1631 | extern const u8g_fntpgm_uint8_t u8g_font_tpss[] U8G_FONT_SECTION("u8g_font_tpss"); |
iforce2d | 0:972874f31c98 | 1632 | extern const u8g_fntpgm_uint8_t u8g_font_tpssr[] U8G_FONT_SECTION("u8g_font_tpssr"); |
iforce2d | 0:972874f31c98 | 1633 | extern const u8g_fntpgm_uint8_t u8g_font_tpssn[] U8G_FONT_SECTION("u8g_font_tpssn"); |
iforce2d | 0:972874f31c98 | 1634 | |
iforce2d | 0:972874f31c98 | 1635 | /* contributed */ |
iforce2d | 0:972874f31c98 | 1636 | |
iforce2d | 0:972874f31c98 | 1637 | extern const u8g_fntpgm_uint8_t u8g_font_freedoomr25n[] U8G_FONT_SECTION("u8g_font_freedoomr25n"); |
iforce2d | 0:972874f31c98 | 1638 | extern const u8g_fntpgm_uint8_t u8g_font_freedoomr10r[] U8G_FONT_SECTION("u8g_font_freedoomr10r"); |
iforce2d | 0:972874f31c98 | 1639 | |
iforce2d | 0:972874f31c98 | 1640 | /* adobe X11 */ |
iforce2d | 0:972874f31c98 | 1641 | extern const u8g_fntpgm_uint8_t u8g_font_courB08[] U8G_FONT_SECTION("u8g_font_courB08"); |
iforce2d | 0:972874f31c98 | 1642 | extern const u8g_fntpgm_uint8_t u8g_font_courB08r[] U8G_FONT_SECTION("u8g_font_courB08r"); |
iforce2d | 0:972874f31c98 | 1643 | extern const u8g_fntpgm_uint8_t u8g_font_courB10[] U8G_FONT_SECTION("u8g_font_courB10"); |
iforce2d | 0:972874f31c98 | 1644 | extern const u8g_fntpgm_uint8_t u8g_font_courB10r[] U8G_FONT_SECTION("u8g_font_courB10r"); |
iforce2d | 0:972874f31c98 | 1645 | extern const u8g_fntpgm_uint8_t u8g_font_courB12[] U8G_FONT_SECTION("u8g_font_courB12"); |
iforce2d | 0:972874f31c98 | 1646 | extern const u8g_fntpgm_uint8_t u8g_font_courB12r[] U8G_FONT_SECTION("u8g_font_courB12r"); |
iforce2d | 0:972874f31c98 | 1647 | extern const u8g_fntpgm_uint8_t u8g_font_courB14[] U8G_FONT_SECTION("u8g_font_courB14"); |
iforce2d | 0:972874f31c98 | 1648 | extern const u8g_fntpgm_uint8_t u8g_font_courB14r[] U8G_FONT_SECTION("u8g_font_courB14r"); |
iforce2d | 0:972874f31c98 | 1649 | extern const u8g_fntpgm_uint8_t u8g_font_courB18[] U8G_FONT_SECTION("u8g_font_courB18"); |
iforce2d | 0:972874f31c98 | 1650 | extern const u8g_fntpgm_uint8_t u8g_font_courB18r[] U8G_FONT_SECTION("u8g_font_courB18r"); |
iforce2d | 0:972874f31c98 | 1651 | extern const u8g_fntpgm_uint8_t u8g_font_courB24[] U8G_FONT_SECTION("u8g_font_courB24"); |
iforce2d | 0:972874f31c98 | 1652 | extern const u8g_fntpgm_uint8_t u8g_font_courB24r[] U8G_FONT_SECTION("u8g_font_courB24r"); |
iforce2d | 0:972874f31c98 | 1653 | extern const u8g_fntpgm_uint8_t u8g_font_courB24n[] U8G_FONT_SECTION("u8g_font_courB24n"); |
iforce2d | 0:972874f31c98 | 1654 | |
iforce2d | 0:972874f31c98 | 1655 | extern const u8g_fntpgm_uint8_t u8g_font_courR08[] U8G_FONT_SECTION("u8g_font_courR08"); |
iforce2d | 0:972874f31c98 | 1656 | extern const u8g_fntpgm_uint8_t u8g_font_courR08r[] U8G_FONT_SECTION("u8g_font_courR08r"); |
iforce2d | 0:972874f31c98 | 1657 | extern const u8g_fntpgm_uint8_t u8g_font_courR10[] U8G_FONT_SECTION("u8g_font_courR10"); |
iforce2d | 0:972874f31c98 | 1658 | extern const u8g_fntpgm_uint8_t u8g_font_courR10r[] U8G_FONT_SECTION("u8g_font_courR10r"); |
iforce2d | 0:972874f31c98 | 1659 | extern const u8g_fntpgm_uint8_t u8g_font_courR12[] U8G_FONT_SECTION("u8g_font_courR12"); |
iforce2d | 0:972874f31c98 | 1660 | extern const u8g_fntpgm_uint8_t u8g_font_courR12r[] U8G_FONT_SECTION("u8g_font_courR12r"); |
iforce2d | 0:972874f31c98 | 1661 | extern const u8g_fntpgm_uint8_t u8g_font_courR14[] U8G_FONT_SECTION("u8g_font_courR14"); |
iforce2d | 0:972874f31c98 | 1662 | extern const u8g_fntpgm_uint8_t u8g_font_courR14r[] U8G_FONT_SECTION("u8g_font_courR14r"); |
iforce2d | 0:972874f31c98 | 1663 | extern const u8g_fntpgm_uint8_t u8g_font_courR18[] U8G_FONT_SECTION("u8g_font_courR18"); |
iforce2d | 0:972874f31c98 | 1664 | extern const u8g_fntpgm_uint8_t u8g_font_courR18r[] U8G_FONT_SECTION("u8g_font_courR18r"); |
iforce2d | 0:972874f31c98 | 1665 | extern const u8g_fntpgm_uint8_t u8g_font_courR24[] U8G_FONT_SECTION("u8g_font_courR24"); |
iforce2d | 0:972874f31c98 | 1666 | extern const u8g_fntpgm_uint8_t u8g_font_courR24r[] U8G_FONT_SECTION("u8g_font_courR24r"); |
iforce2d | 0:972874f31c98 | 1667 | extern const u8g_fntpgm_uint8_t u8g_font_courR24n[] U8G_FONT_SECTION("u8g_font_courR24n"); |
iforce2d | 0:972874f31c98 | 1668 | |
iforce2d | 0:972874f31c98 | 1669 | extern const u8g_fntpgm_uint8_t u8g_font_helvB08[] U8G_FONT_SECTION("u8g_font_helvB08"); |
iforce2d | 0:972874f31c98 | 1670 | extern const u8g_fntpgm_uint8_t u8g_font_helvB08r[] U8G_FONT_SECTION("u8g_font_helvB08r"); |
iforce2d | 0:972874f31c98 | 1671 | extern const u8g_fntpgm_uint8_t u8g_font_helvB10[] U8G_FONT_SECTION("u8g_font_helvB10"); |
iforce2d | 0:972874f31c98 | 1672 | extern const u8g_fntpgm_uint8_t u8g_font_helvB10r[] U8G_FONT_SECTION("u8g_font_helvB10r"); |
iforce2d | 0:972874f31c98 | 1673 | extern const u8g_fntpgm_uint8_t u8g_font_helvB12[] U8G_FONT_SECTION("u8g_font_helvB12"); |
iforce2d | 0:972874f31c98 | 1674 | extern const u8g_fntpgm_uint8_t u8g_font_helvB12r[] U8G_FONT_SECTION("u8g_font_helvB12r"); |
iforce2d | 0:972874f31c98 | 1675 | extern const u8g_fntpgm_uint8_t u8g_font_helvB14[] U8G_FONT_SECTION("u8g_font_helvB14"); |
iforce2d | 0:972874f31c98 | 1676 | extern const u8g_fntpgm_uint8_t u8g_font_helvB14r[] U8G_FONT_SECTION("u8g_font_helvB14r"); |
iforce2d | 0:972874f31c98 | 1677 | extern const u8g_fntpgm_uint8_t u8g_font_helvB18[] U8G_FONT_SECTION("u8g_font_helvB18"); |
iforce2d | 0:972874f31c98 | 1678 | extern const u8g_fntpgm_uint8_t u8g_font_helvB18r[] U8G_FONT_SECTION("u8g_font_helvB18r"); |
iforce2d | 0:972874f31c98 | 1679 | extern const u8g_fntpgm_uint8_t u8g_font_helvB24[] U8G_FONT_SECTION("u8g_font_helvB24"); |
iforce2d | 0:972874f31c98 | 1680 | extern const u8g_fntpgm_uint8_t u8g_font_helvB24r[] U8G_FONT_SECTION("u8g_font_helvB24r"); |
iforce2d | 0:972874f31c98 | 1681 | extern const u8g_fntpgm_uint8_t u8g_font_helvB24n[] U8G_FONT_SECTION("u8g_font_helvB24n"); |
iforce2d | 0:972874f31c98 | 1682 | |
iforce2d | 0:972874f31c98 | 1683 | extern const u8g_fntpgm_uint8_t u8g_font_helvR08[] U8G_FONT_SECTION("u8g_font_helvR08"); |
iforce2d | 0:972874f31c98 | 1684 | extern const u8g_fntpgm_uint8_t u8g_font_helvR08r[] U8G_FONT_SECTION("u8g_font_helvR08r"); |
iforce2d | 0:972874f31c98 | 1685 | extern const u8g_fntpgm_uint8_t u8g_font_helvR10[] U8G_FONT_SECTION("u8g_font_helvR10"); |
iforce2d | 0:972874f31c98 | 1686 | extern const u8g_fntpgm_uint8_t u8g_font_helvR10r[] U8G_FONT_SECTION("u8g_font_helvR10r"); |
iforce2d | 0:972874f31c98 | 1687 | extern const u8g_fntpgm_uint8_t u8g_font_helvR12[] U8G_FONT_SECTION("u8g_font_helvR12"); |
iforce2d | 0:972874f31c98 | 1688 | extern const u8g_fntpgm_uint8_t u8g_font_helvR12r[] U8G_FONT_SECTION("u8g_font_helvR12r"); |
iforce2d | 0:972874f31c98 | 1689 | extern const u8g_fntpgm_uint8_t u8g_font_helvR14[] U8G_FONT_SECTION("u8g_font_helvR14"); |
iforce2d | 0:972874f31c98 | 1690 | extern const u8g_fntpgm_uint8_t u8g_font_helvR14r[] U8G_FONT_SECTION("u8g_font_helvR14r"); |
iforce2d | 0:972874f31c98 | 1691 | extern const u8g_fntpgm_uint8_t u8g_font_helvR18[] U8G_FONT_SECTION("u8g_font_helvR18"); |
iforce2d | 0:972874f31c98 | 1692 | extern const u8g_fntpgm_uint8_t u8g_font_helvR18r[] U8G_FONT_SECTION("u8g_font_helvR18r"); |
iforce2d | 0:972874f31c98 | 1693 | extern const u8g_fntpgm_uint8_t u8g_font_helvR24[] U8G_FONT_SECTION("u8g_font_helvR24"); |
iforce2d | 0:972874f31c98 | 1694 | extern const u8g_fntpgm_uint8_t u8g_font_helvR24r[] U8G_FONT_SECTION("u8g_font_helvR24r"); |
iforce2d | 0:972874f31c98 | 1695 | extern const u8g_fntpgm_uint8_t u8g_font_helvR24n[] U8G_FONT_SECTION("u8g_font_helvR24n"); |
iforce2d | 0:972874f31c98 | 1696 | |
iforce2d | 0:972874f31c98 | 1697 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB08[] U8G_FONT_SECTION("u8g_font_ncenB08"); |
iforce2d | 0:972874f31c98 | 1698 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB08r[] U8G_FONT_SECTION("u8g_font_ncenB08r"); |
iforce2d | 0:972874f31c98 | 1699 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB10[] U8G_FONT_SECTION("u8g_font_ncenB10"); |
iforce2d | 0:972874f31c98 | 1700 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB10r[] U8G_FONT_SECTION("u8g_font_ncenB10r"); |
iforce2d | 0:972874f31c98 | 1701 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB12[] U8G_FONT_SECTION("u8g_font_ncenB12"); |
iforce2d | 0:972874f31c98 | 1702 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB12r[] U8G_FONT_SECTION("u8g_font_ncenB12r"); |
iforce2d | 0:972874f31c98 | 1703 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB14[] U8G_FONT_SECTION("u8g_font_ncenB14"); |
iforce2d | 0:972874f31c98 | 1704 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB14r[] U8G_FONT_SECTION("u8g_font_ncenB14r"); |
iforce2d | 0:972874f31c98 | 1705 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB18[] U8G_FONT_SECTION("u8g_font_ncenB18"); |
iforce2d | 0:972874f31c98 | 1706 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB18r[] U8G_FONT_SECTION("u8g_font_ncenB18r"); |
iforce2d | 0:972874f31c98 | 1707 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB24[] U8G_FONT_SECTION("u8g_font_ncenB24"); |
iforce2d | 0:972874f31c98 | 1708 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB24r[] U8G_FONT_SECTION("u8g_font_ncenB24r"); |
iforce2d | 0:972874f31c98 | 1709 | extern const u8g_fntpgm_uint8_t u8g_font_ncenB24n[] U8G_FONT_SECTION("u8g_font_ncenB24n"); |
iforce2d | 0:972874f31c98 | 1710 | |
iforce2d | 0:972874f31c98 | 1711 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR08[] U8G_FONT_SECTION("u8g_font_ncenR08"); |
iforce2d | 0:972874f31c98 | 1712 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR08r[] U8G_FONT_SECTION("u8g_font_ncenR08r"); |
iforce2d | 0:972874f31c98 | 1713 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR10[] U8G_FONT_SECTION("u8g_font_ncenR10"); |
iforce2d | 0:972874f31c98 | 1714 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR10r[] U8G_FONT_SECTION("u8g_font_ncenR10r"); |
iforce2d | 0:972874f31c98 | 1715 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR12[] U8G_FONT_SECTION("u8g_font_ncenR12"); |
iforce2d | 0:972874f31c98 | 1716 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR12r[] U8G_FONT_SECTION("u8g_font_ncenR12r"); |
iforce2d | 0:972874f31c98 | 1717 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR14[] U8G_FONT_SECTION("u8g_font_ncenR14"); |
iforce2d | 0:972874f31c98 | 1718 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR14r[] U8G_FONT_SECTION("u8g_font_ncenR14r"); |
iforce2d | 0:972874f31c98 | 1719 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR18[] U8G_FONT_SECTION("u8g_font_ncenR18"); |
iforce2d | 0:972874f31c98 | 1720 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR18r[] U8G_FONT_SECTION("u8g_font_ncenR18r"); |
iforce2d | 0:972874f31c98 | 1721 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR24[] U8G_FONT_SECTION("u8g_font_ncenR24"); |
iforce2d | 0:972874f31c98 | 1722 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR24r[] U8G_FONT_SECTION("u8g_font_ncenR24r"); |
iforce2d | 0:972874f31c98 | 1723 | extern const u8g_fntpgm_uint8_t u8g_font_ncenR24n[] U8G_FONT_SECTION("u8g_font_ncenR24n"); |
iforce2d | 0:972874f31c98 | 1724 | |
iforce2d | 0:972874f31c98 | 1725 | extern const u8g_fntpgm_uint8_t u8g_font_symb08[] U8G_FONT_SECTION("u8g_font_symb08"); |
iforce2d | 0:972874f31c98 | 1726 | extern const u8g_fntpgm_uint8_t u8g_font_symb08r[] U8G_FONT_SECTION("u8g_font_symb08r"); |
iforce2d | 0:972874f31c98 | 1727 | extern const u8g_fntpgm_uint8_t u8g_font_symb10[] U8G_FONT_SECTION("u8g_font_symb10"); |
iforce2d | 0:972874f31c98 | 1728 | extern const u8g_fntpgm_uint8_t u8g_font_symb10r[] U8G_FONT_SECTION("u8g_font_symb10r"); |
iforce2d | 0:972874f31c98 | 1729 | extern const u8g_fntpgm_uint8_t u8g_font_symb12[] U8G_FONT_SECTION("u8g_font_symb12"); |
iforce2d | 0:972874f31c98 | 1730 | extern const u8g_fntpgm_uint8_t u8g_font_symb12r[] U8G_FONT_SECTION("u8g_font_symb12r"); |
iforce2d | 0:972874f31c98 | 1731 | extern const u8g_fntpgm_uint8_t u8g_font_symb14[] U8G_FONT_SECTION("u8g_font_symb14"); |
iforce2d | 0:972874f31c98 | 1732 | extern const u8g_fntpgm_uint8_t u8g_font_symb14r[] U8G_FONT_SECTION("u8g_font_symb14r"); |
iforce2d | 0:972874f31c98 | 1733 | extern const u8g_fntpgm_uint8_t u8g_font_symb18[] U8G_FONT_SECTION("u8g_font_symb18"); |
iforce2d | 0:972874f31c98 | 1734 | extern const u8g_fntpgm_uint8_t u8g_font_symb18r[] U8G_FONT_SECTION("u8g_font_symb18r"); |
iforce2d | 0:972874f31c98 | 1735 | extern const u8g_fntpgm_uint8_t u8g_font_symb24[] U8G_FONT_SECTION("u8g_font_symb24"); |
iforce2d | 0:972874f31c98 | 1736 | extern const u8g_fntpgm_uint8_t u8g_font_symb24r[] U8G_FONT_SECTION("u8g_font_symb24r"); |
iforce2d | 0:972874f31c98 | 1737 | |
iforce2d | 0:972874f31c98 | 1738 | extern const u8g_fntpgm_uint8_t u8g_font_timB08[] U8G_FONT_SECTION("u8g_font_timB08"); |
iforce2d | 0:972874f31c98 | 1739 | extern const u8g_fntpgm_uint8_t u8g_font_timB08r[] U8G_FONT_SECTION("u8g_font_timB08r"); |
iforce2d | 0:972874f31c98 | 1740 | extern const u8g_fntpgm_uint8_t u8g_font_timB10[] U8G_FONT_SECTION("u8g_font_timB10"); |
iforce2d | 0:972874f31c98 | 1741 | extern const u8g_fntpgm_uint8_t u8g_font_timB10r[] U8G_FONT_SECTION("u8g_font_timB10r"); |
iforce2d | 0:972874f31c98 | 1742 | extern const u8g_fntpgm_uint8_t u8g_font_timB12[] U8G_FONT_SECTION("u8g_font_timB12"); |
iforce2d | 0:972874f31c98 | 1743 | extern const u8g_fntpgm_uint8_t u8g_font_timB12r[] U8G_FONT_SECTION("u8g_font_timB12r"); |
iforce2d | 0:972874f31c98 | 1744 | extern const u8g_fntpgm_uint8_t u8g_font_timB14[] U8G_FONT_SECTION("u8g_font_timB14"); |
iforce2d | 0:972874f31c98 | 1745 | extern const u8g_fntpgm_uint8_t u8g_font_timB14r[] U8G_FONT_SECTION("u8g_font_timB14r"); |
iforce2d | 0:972874f31c98 | 1746 | extern const u8g_fntpgm_uint8_t u8g_font_timB18[] U8G_FONT_SECTION("u8g_font_timB18"); |
iforce2d | 0:972874f31c98 | 1747 | extern const u8g_fntpgm_uint8_t u8g_font_timB18r[] U8G_FONT_SECTION("u8g_font_timB18r"); |
iforce2d | 0:972874f31c98 | 1748 | extern const u8g_fntpgm_uint8_t u8g_font_timB24[] U8G_FONT_SECTION("u8g_font_timB24"); |
iforce2d | 0:972874f31c98 | 1749 | extern const u8g_fntpgm_uint8_t u8g_font_timB24r[] U8G_FONT_SECTION("u8g_font_timB24r"); |
iforce2d | 0:972874f31c98 | 1750 | extern const u8g_fntpgm_uint8_t u8g_font_timB24n[] U8G_FONT_SECTION("u8g_font_timB24n"); |
iforce2d | 0:972874f31c98 | 1751 | |
iforce2d | 0:972874f31c98 | 1752 | extern const u8g_fntpgm_uint8_t u8g_font_timR08[] U8G_FONT_SECTION("u8g_font_timR08"); |
iforce2d | 0:972874f31c98 | 1753 | extern const u8g_fntpgm_uint8_t u8g_font_timR08r[] U8G_FONT_SECTION("u8g_font_timR08r"); |
iforce2d | 0:972874f31c98 | 1754 | extern const u8g_fntpgm_uint8_t u8g_font_timR10[] U8G_FONT_SECTION("u8g_font_timR10"); |
iforce2d | 0:972874f31c98 | 1755 | extern const u8g_fntpgm_uint8_t u8g_font_timR10r[] U8G_FONT_SECTION("u8g_font_timR10r"); |
iforce2d | 0:972874f31c98 | 1756 | extern const u8g_fntpgm_uint8_t u8g_font_timR12[] U8G_FONT_SECTION("u8g_font_timR12"); |
iforce2d | 0:972874f31c98 | 1757 | extern const u8g_fntpgm_uint8_t u8g_font_timR12r[] U8G_FONT_SECTION("u8g_font_timR12r"); |
iforce2d | 0:972874f31c98 | 1758 | extern const u8g_fntpgm_uint8_t u8g_font_timR14[] U8G_FONT_SECTION("u8g_font_timR14"); |
iforce2d | 0:972874f31c98 | 1759 | extern const u8g_fntpgm_uint8_t u8g_font_timR14r[] U8G_FONT_SECTION("u8g_font_timR14r"); |
iforce2d | 0:972874f31c98 | 1760 | extern const u8g_fntpgm_uint8_t u8g_font_timR18[] U8G_FONT_SECTION("u8g_font_timR18"); |
iforce2d | 0:972874f31c98 | 1761 | extern const u8g_fntpgm_uint8_t u8g_font_timR18r[] U8G_FONT_SECTION("u8g_font_timR18r"); |
iforce2d | 0:972874f31c98 | 1762 | extern const u8g_fntpgm_uint8_t u8g_font_timR24[] U8G_FONT_SECTION("u8g_font_timR24"); |
iforce2d | 0:972874f31c98 | 1763 | extern const u8g_fntpgm_uint8_t u8g_font_timR24r[] U8G_FONT_SECTION("u8g_font_timR24r"); |
iforce2d | 0:972874f31c98 | 1764 | extern const u8g_fntpgm_uint8_t u8g_font_timR24n[] U8G_FONT_SECTION("u8g_font_timR24n"); |
iforce2d | 0:972874f31c98 | 1765 | |
iforce2d | 0:972874f31c98 | 1766 | /* fontstruct */ |
iforce2d | 0:972874f31c98 | 1767 | |
iforce2d | 0:972874f31c98 | 1768 | extern const u8g_fntpgm_uint8_t u8g_font_p01type[] U8G_FONT_SECTION("u8g_font_p01type"); |
iforce2d | 0:972874f31c98 | 1769 | extern const u8g_fntpgm_uint8_t u8g_font_p01typer[] U8G_FONT_SECTION("u8g_font_p01typer"); |
iforce2d | 0:972874f31c98 | 1770 | extern const u8g_fntpgm_uint8_t u8g_font_p01typen[] U8G_FONT_SECTION("u8g_font_p01typen"); |
iforce2d | 0:972874f31c98 | 1771 | |
iforce2d | 0:972874f31c98 | 1772 | extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternate[] U8G_FONT_SECTION("u8g_font_lucasfont_alternate"); |
iforce2d | 0:972874f31c98 | 1773 | extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternater[] U8G_FONT_SECTION("u8g_font_lucasfont_alternater"); |
iforce2d | 0:972874f31c98 | 1774 | extern const u8g_fntpgm_uint8_t u8g_font_lucasfont_alternaten[] U8G_FONT_SECTION("u8g_font_lucasfont_alternaten"); |
iforce2d | 0:972874f31c98 | 1775 | |
iforce2d | 0:972874f31c98 | 1776 | extern const u8g_fntpgm_uint8_t u8g_font_chikita[] U8G_FONT_SECTION("u8g_font_chikita"); |
iforce2d | 0:972874f31c98 | 1777 | extern const u8g_fntpgm_uint8_t u8g_font_chikitar[] U8G_FONT_SECTION("u8g_font_chikitar"); |
iforce2d | 0:972874f31c98 | 1778 | extern const u8g_fntpgm_uint8_t u8g_font_chikitan[] U8G_FONT_SECTION("u8g_font_chikitan"); |
iforce2d | 0:972874f31c98 | 1779 | |
iforce2d | 0:972874f31c98 | 1780 | extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micro[] U8G_FONT_SECTION("u8g_font_pixelle_micro"); |
iforce2d | 0:972874f31c98 | 1781 | extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micror[] U8G_FONT_SECTION("u8g_font_pixelle_micror"); |
iforce2d | 0:972874f31c98 | 1782 | extern const u8g_fntpgm_uint8_t u8g_font_pixelle_micron[] U8G_FONT_SECTION("u8g_font_pixelle_micron"); |
iforce2d | 0:972874f31c98 | 1783 | |
iforce2d | 0:972874f31c98 | 1784 | extern const u8g_fntpgm_uint8_t u8g_font_trixel_square[] U8G_FONT_SECTION("u8g_font_trixel_square"); |
iforce2d | 0:972874f31c98 | 1785 | extern const u8g_fntpgm_uint8_t u8g_font_trixel_squarer[] U8G_FONT_SECTION("u8g_font_trixel_squarer"); |
iforce2d | 0:972874f31c98 | 1786 | extern const u8g_fntpgm_uint8_t u8g_font_trixel_squaren[] U8G_FONT_SECTION("u8g_font_trixel_squaren"); |
iforce2d | 0:972874f31c98 | 1787 | |
iforce2d | 0:972874f31c98 | 1788 | extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niro[] U8G_FONT_SECTION("u8g_font_robot_de_niro"); |
iforce2d | 0:972874f31c98 | 1789 | extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niror[] U8G_FONT_SECTION("u8g_font_robot_de_niror"); |
iforce2d | 0:972874f31c98 | 1790 | extern const u8g_fntpgm_uint8_t u8g_font_robot_de_niron[] U8G_FONT_SECTION("u8g_font_robot_de_niron"); |
iforce2d | 0:972874f31c98 | 1791 | |
iforce2d | 0:972874f31c98 | 1792 | extern const u8g_fntpgm_uint8_t u8g_font_baby[] U8G_FONT_SECTION("u8g_font_baby"); |
iforce2d | 0:972874f31c98 | 1793 | extern const u8g_fntpgm_uint8_t u8g_font_babyr[] U8G_FONT_SECTION("u8g_font_babyr"); |
iforce2d | 0:972874f31c98 | 1794 | extern const u8g_fntpgm_uint8_t u8g_font_babyn[] U8G_FONT_SECTION("u8g_font_babyn"); |
iforce2d | 0:972874f31c98 | 1795 | |
iforce2d | 0:972874f31c98 | 1796 | extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07[] U8G_FONT_SECTION("u8g_font_blipfest_07"); |
iforce2d | 0:972874f31c98 | 1797 | extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07r[] U8G_FONT_SECTION("u8g_font_blipfest_07r"); |
iforce2d | 0:972874f31c98 | 1798 | extern const u8g_fntpgm_uint8_t u8g_font_blipfest_07n[] U8G_FONT_SECTION("u8g_font_blipfest_07n"); |
iforce2d | 0:972874f31c98 | 1799 | |
iforce2d | 0:972874f31c98 | 1800 | |
iforce2d | 0:972874f31c98 | 1801 | |
iforce2d | 0:972874f31c98 | 1802 | #ifdef __cplusplus |
iforce2d | 0:972874f31c98 | 1803 | } |
iforce2d | 0:972874f31c98 | 1804 | #endif |
iforce2d | 0:972874f31c98 | 1805 | |
iforce2d | 0:972874f31c98 | 1806 | #endif /* _U8G_H */ |
iforce2d | 0:972874f31c98 | 1807 | |
iforce2d | 0:972874f31c98 | 1808 |