Simple line-by-line way to use SSD1306 screens.

Committer:
austinbrown124
Date:
Mon May 25 17:31:00 2020 +0000
Revision:
3:b9855e428053
Parent:
0:bef1b3bca5d9
Fixed uint16 problem and added in protection against overflows on framebuf.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
austinbrown124 0:bef1b3bca5d9 1
austinbrown124 0:bef1b3bca5d9 2 #ifndef _FONT_16x24_H_
austinbrown124 0:bef1b3bca5d9 3 #define _FONT_16x24_H_
austinbrown124 0:bef1b3bca5d9 4
austinbrown124 0:bef1b3bca5d9 5 //----- DEFINES -----
austinbrown124 0:bef1b3bca5d9 6 #define FONT16x24_START 0x20
austinbrown124 0:bef1b3bca5d9 7 #define FONT16x24_END 0x44
austinbrown124 0:bef1b3bca5d9 8 #define FONT16x24_WIDTH 11
austinbrown124 0:bef1b3bca5d9 9 #define FONT16x24_HEIGHT 24
austinbrown124 0:bef1b3bca5d9 10 #define FONT16x24_BYTES 3
austinbrown124 0:bef1b3bca5d9 11
austinbrown124 0:bef1b3bca5d9 12 //Used for displaying numbers 0 - 9 and '+', '-', '.'
austinbrown124 0:bef1b3bca5d9 13
austinbrown124 0:bef1b3bca5d9 14 const uint8_t font_16x24[36][3][11] =
austinbrown124 0:bef1b3bca5d9 15 {
austinbrown124 0:bef1b3bca5d9 16
austinbrown124 0:bef1b3bca5d9 17 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x20
austinbrown124 0:bef1b3bca5d9 18 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x21
austinbrown124 0:bef1b3bca5d9 19 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x22
austinbrown124 0:bef1b3bca5d9 20 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x23
austinbrown124 0:bef1b3bca5d9 21 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x24
austinbrown124 0:bef1b3bca5d9 22 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x25
austinbrown124 0:bef1b3bca5d9 23 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x26
austinbrown124 0:bef1b3bca5d9 24 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x27
austinbrown124 0:bef1b3bca5d9 25 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x28
austinbrown124 0:bef1b3bca5d9 26 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x29
austinbrown124 0:bef1b3bca5d9 27 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x2A
austinbrown124 0:bef1b3bca5d9 28
austinbrown124 0:bef1b3bca5d9 29 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,64,64,64,254,254,64,64 , 0,0,0,0,0,0,0,15,15,0,0 ,// '+'// 0x2B
austinbrown124 0:bef1b3bca5d9 30 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// // 0x2C
austinbrown124 0:bef1b3bca5d9 31
austinbrown124 0:bef1b3bca5d9 32 0,0,0,0,0,0,0,0,0,0,0 , 0,64,64,64,64,64,64,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// '-'// 0x2D
austinbrown124 0:bef1b3bca5d9 33 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,60,60,60,0,0,0,0,0 ,// '.'// 0x2E
austinbrown124 0:bef1b3bca5d9 34 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x2F
austinbrown124 0:bef1b3bca5d9 35
austinbrown124 0:bef1b3bca5d9 36 0,128,192,224,224,96,224,224,192,128,0 , 112,255,255,1,0,0,0,0,255,255,254 , 0,15,31,60,56,48,56,56,31,15,3 , //'0' 0x30
austinbrown124 0:bef1b3bca5d9 37 0,0,0,0,128,224,224,0,0,0,0 , 0,0,3,3,3,255,255,0,0,0,0 , 0,0,56,56,56,63,63,56,56,56,0 , //'1' 0x31
austinbrown124 0:bef1b3bca5d9 38 0,192,192,224,96,96,224,224,192,128,0 , 0,1,0,0,128,192,224,249,63,31,0 , 0,60,62,63,63,59,57,56,56,56,56 , //'2' 0x32
austinbrown124 0:bef1b3bca5d9 39 0,192,224,224,96,96,224,224,192,192,0 , 0,1,0,0,48,48,56,125,239,207,0 , 0,28,56,56,48,48,56,60,31,15,1 , //'3' 0x33
austinbrown124 0:bef1b3bca5d9 40 0,0,0,0,0,128,192,224,224,0,0 , 224,240,248,222,207,199,193,255,255,192,192 , 0,0,0,0,0,0,0,63,63,0,0 , //'4' 0x34
austinbrown124 0:bef1b3bca5d9 41 0,224,224,224,224,224,224,224,224,224,224 , 0,63,63,63,56,56,48,112,240,224,0 , 0,28,56,56,48,48,56,60,31,15,1 , //'5' 0x35
austinbrown124 0:bef1b3bca5d9 42 0,0,128,192,192,224,96,96,224,224,0 , 224,254,255,55,57,24,24,56,240,240,192 , 0,15,31,28,56,48,48,56,31,15,7 , //'6' 0x36
austinbrown124 0:bef1b3bca5d9 43 0,224,224,224,224,224,224,224,224,224,224 , 0,0,0,0,128,224,248,126,31,7,1 , 0,0,56,62,31,7,1,0,0,0,0 , //'7' 0x37
austinbrown124 0:bef1b3bca5d9 44 0,128,192,224,224,96,96,224,192,192,0 , 0,207,255,127,56,48,112,112,255,239,199 , 3,15,31,60,56,48,48,56,31,31,15 , //'8' 0x38
austinbrown124 0:bef1b3bca5d9 45 0,128,192,224,224,96,224,224,192,128,0 , 12,63,127,241,224,192,192,225,255,255,254 , 0,0,56,48,48,56,56,30,15,7,0 , //'9' 0x39
austinbrown124 0:bef1b3bca5d9 46 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x3A
austinbrown124 0:bef1b3bca5d9 47 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x3B
austinbrown124 0:bef1b3bca5d9 48 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x3C
austinbrown124 0:bef1b3bca5d9 49 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x3D
austinbrown124 0:bef1b3bca5d9 50 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x3E
austinbrown124 0:bef1b3bca5d9 51 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x3F
austinbrown124 0:bef1b3bca5d9 52 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x40
austinbrown124 0:bef1b3bca5d9 53 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x41
austinbrown124 0:bef1b3bca5d9 54 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 , 0,0,0,0,0,0,0,0,0,0,0 ,// 0x42
austinbrown124 0:bef1b3bca5d9 55 0,128,192,224,224,96,224,224,192,128,0 , 112,112,112,1,0,0,0,0,112,112,112 , 0,0,0,0,0,0,0,0,0,0,0 //'C' 0x43
austinbrown124 0:bef1b3bca5d9 56 };
austinbrown124 0:bef1b3bca5d9 57
austinbrown124 0:bef1b3bca5d9 58 #endif