P10
Revision 0:3d89509fadb7, committed 2019-09-16
- Comitter:
- shivanandgowdakr
- Date:
- Mon Sep 16 15:02:05 2019 +0000
- Commit message:
- p10;
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Aerial_black_16.h Mon Sep 16 15:02:05 2019 +0000 @@ -0,0 +1,167 @@ + + +/* + * + * Arial_Black_16 + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : Arial_black_16.h + * Date : 10.01.2012 + * Font size in bytes : 12422 + * Font width : 10 + * Font height : 16 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#include <inttypes.h> +#include "mbed.h" + +#ifndef ARIAL_BLACK_16_H +#define ARIAL_BLACK_16_H + +#define ARIAL_BLACK_16_WIDTH 10 +#define ARIAL_BLACK_16_HEIGHT 16 +const static uint8_t Arial_Black_16[2000] = { 0x30, 0x86, 0x0A, + 0x10, + 0x20, + 0x60, + + // char widths + 0x04, 0x03, 0x07, 0x0B, 0x09, 0x0E, 0x0B, 0x03, 0x05, 0x05, + 0x06, 0x09, 0x03, 0x05, 0x03, 0x04, 0x08, 0x06, 0x08, 0x08, + 0x09, 0x08, 0x08, 0x08, 0x08, 0x08, 0x03, 0x03, 0x09, 0x08, + 0x09, 0x08, 0x0C, 0x0C, 0x09, 0x09, 0x09, 0x09, 0x08, 0x0A, + 0x0A, 0x03, 0x09, 0x0C, 0x08, 0x0C, 0x0A, 0x0A, 0x09, 0x0A, + 0x0A, 0x09, 0x0B, 0x0A, 0x0C, 0x10, 0x0C, 0x0B, 0x09, 0x05, + 0x04, 0x05, 0x08, 0x08, 0x03, 0x09, 0x09, 0x09, 0x09, 0x09, + 0x06, 0x09, 0x09, 0x03, 0x04, 0x0A, 0x03, 0x0D, 0x09, 0x09, + 0x09, 0x09, 0x06, 0x08, 0x06, 0x09, 0x09, 0x0F, 0x0B, 0x09, + 0x07, 0x06, 0x02, 0x06, 0x09, 0x08, + + // font data + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, //32 + 0xFE, 0xFE, 0xFE, 0x1D, 0x1D, 0x1D, // 33 + 0x1E, 0x1E, 0x1E, 0x00, 0x1E, 0x1E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 34 + 0x30, 0x30, 0xF0, 0xFE, 0x3E, 0x30, 0x30, 0xF0, 0xFE, 0x3E, 0x30, 0x06, 0x1E, 0x1F, 0x07, 0x06, 0x06, 0x1E, 0x1F, 0x07, 0x06, 0x06, // 35 + 0x38, 0x7C, 0xFE, 0xE6, 0xFF, 0xC6, 0xCE, 0x8C, 0x0C, 0x04, 0x0C, 0x1C, 0x18, 0x3F, 0x19, 0x1F, 0x0F, 0x07, // 36 + 0x3C, 0x7E, 0x42, 0x42, 0x7E, 0x3C, 0x80, 0x60, 0x10, 0x8C, 0x82, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0C, 0x02, 0x01, 0x00, 0x0F, 0x1F, 0x10, 0x10, 0x1F, 0x0F, // 37 + 0x00, 0x80, 0x9C, 0xFE, 0xFE, 0xE6, 0xBE, 0x3E, 0x9C, 0x80, 0x80, 0x07, 0x0F, 0x1F, 0x19, 0x18, 0x19, 0x1F, 0x0F, 0x0F, 0x1F, 0x1D, // 38 + 0x1E, 0x1E, 0x1E, 0x00, 0x00, 0x00, // 39 + 0xE0, 0xF8, 0xFC, 0x1E, 0x02, 0x0F, 0x3F, 0x7F, 0xF0, 0x80, // 40 + 0x02, 0x1E, 0xFC, 0xF8, 0xE0, 0x80, 0xF0, 0x7F, 0x3F, 0x0F, // 41 + 0x08, 0x68, 0x3E, 0x3E, 0x68, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0xC0, 0xC0, 0xC0, 0xF8, 0xF8, 0xF8, 0xC0, 0xC0, 0xC0, 0x01, 0x01, 0x01, 0x0F, 0x0F, 0x0F, 0x01, 0x01, 0x01, // 43 + 0x00, 0x00, 0x00, 0xDC, 0x7C, 0x3C, // 44 + 0x80, 0x80, 0x80, 0x80, 0x80, 0x03, 0x03, 0x03, 0x03, 0x03, // 45 + 0x00, 0x00, 0x00, 0x1C, 0x1C, 0x1C, // 46 + 0x00, 0x80, 0x78, 0x06, 0x18, 0x07, 0x00, 0x00, // 47 + 0xF8, 0xFC, 0xFE, 0x06, 0x06, 0xFE, 0xFC, 0xF8, 0x07, 0x0F, 0x1F, 0x18, 0x18, 0x1F, 0x0F, 0x07, // 48 + 0x60, 0x70, 0x38, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, // 49 + 0x18, 0x1C, 0x1E, 0x06, 0x86, 0xFE, 0xFC, 0x78, 0x18, 0x1C, 0x1E, 0x1F, 0x1B, 0x19, 0x18, 0x18, // 50 + 0x08, 0x1C, 0x1E, 0xC6, 0xC6, 0xFE, 0xFC, 0x38, 0x06, 0x0E, 0x1E, 0x18, 0x18, 0x1F, 0x0F, 0x07, // 51 + 0x80, 0xC0, 0xF0, 0x38, 0x1C, 0xFE, 0xFE, 0xFE, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x1F, 0x1F, 0x1F, 0x03, // 52 + 0xF0, 0xFE, 0xFE, 0x66, 0x66, 0xE6, 0xC6, 0x86, 0x06, 0x0E, 0x1E, 0x18, 0x18, 0x1F, 0x0F, 0x07, // 53 + 0xF0, 0xFC, 0xFE, 0x46, 0x66, 0xEE, 0xCE, 0x8C, 0x03, 0x0F, 0x1F, 0x18, 0x18, 0x1F, 0x0F, 0x07, // 54 + 0x06, 0x06, 0x06, 0x86, 0xE6, 0xF6, 0x1E, 0x06, 0x00, 0x00, 0x1C, 0x1F, 0x1F, 0x01, 0x00, 0x00, // 55 + 0x38, 0xFC, 0xFE, 0xC6, 0xC6, 0xFE, 0xFC, 0x38, 0x07, 0x0F, 0x1F, 0x18, 0x18, 0x1F, 0x0F, 0x07, // 56 + 0x78, 0xFC, 0xFE, 0x86, 0x86, 0xFE, 0xFC, 0xF0, 0x04, 0x0C, 0x1D, 0x19, 0x18, 0x1F, 0x0F, 0x03, // 57 + 0x70, 0x70, 0x70, 0x1C, 0x1C, 0x1C, // 58 + 0x70, 0x70, 0x70, 0xDC, 0x7C, 0x3C, // 59 + 0xE0, 0xE0, 0xE0, 0xF0, 0x70, 0x70, 0x70, 0x38, 0x38, 0x03, 0x03, 0x03, 0x07, 0x07, 0x07, 0x07, 0x0E, 0x0E, // 60 + 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x70, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, 0x07, // 61 + 0x38, 0x38, 0x70, 0x70, 0x70, 0xF0, 0xE0, 0xE0, 0xE0, 0x0E, 0x0E, 0x07, 0x07, 0x07, 0x07, 0x03, 0x03, 0x03, // 62 + 0x18, 0x1C, 0x9E, 0xC6, 0xE6, 0xFE, 0x7C, 0x38, 0x00, 0x00, 0x1D, 0x1D, 0x1D, 0x00, 0x00, 0x00, // 63 + 0xE0, 0x18, 0xC4, 0xF4, 0x3A, 0x0A, 0x0A, 0xF2, 0xFA, 0x7C, 0x08, 0xF0, 0x07, 0x18, 0x27, 0x2F, 0x48, 0x48, 0x4C, 0x4F, 0x4F, 0x28, 0x36, 0x11, // 64 + 0x00, 0x80, 0xE0, 0xF8, 0xFE, 0x1E, 0xFE, 0xF8, 0xE0, 0x80, 0x00, 0x00, 0x1C, 0x1F, 0x0F, 0x07, 0x06, 0x06, 0x06, 0x07, 0x0F, 0x1F, 0x1C, 0x10, // 65 + 0xFE, 0xFE, 0xFE, 0xC6, 0xC6, 0xFE, 0xBC, 0x98, 0x00, 0x1F, 0x1F, 0x1F, 0x18, 0x18, 0x18, 0x1F, 0x0F, 0x07, // 66 + 0xF0, 0xFC, 0xFC, 0x0E, 0x06, 0x0E, 0x1E, 0x1C, 0x08, 0x03, 0x0F, 0x1F, 0x1C, 0x18, 0x1C, 0x1F, 0x0E, 0x06, // 67 + 0xFE, 0xFE, 0xFE, 0x06, 0x06, 0x0E, 0xFE, 0xFC, 0xF0, 0x1F, 0x1F, 0x1F, 0x18, 0x18, 0x1C, 0x1F, 0x0F, 0x03, // 68 + 0xFE, 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x06, 0x1F, 0x1F, 0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, // 69 + 0xFE, 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x06, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF0, 0xFC, 0xFC, 0x0E, 0x06, 0xC6, 0xCE, 0xDE, 0xDC, 0xC8, 0x03, 0x0F, 0x0F, 0x1C, 0x18, 0x18, 0x1C, 0x1F, 0x0F, 0x0F, // 71 + 0xFE, 0xFE, 0xFE, 0xC0, 0xC0, 0xC0, 0xC0, 0xFE, 0xFE, 0xFE, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, // 72 + 0xFE, 0xFE, 0xFE, 0x1F, 0x1F, 0x1F, // 73 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0x06, 0x0F, 0x1F, 0x1C, 0x18, 0x18, 0x1F, 0x0F, 0x07, // 74 + 0xFE, 0xFE, 0xFE, 0xC0, 0xE0, 0xF0, 0xF8, 0xDC, 0x0E, 0x06, 0x02, 0x00, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x01, 0x07, 0x1F, 0x1E, 0x18, 0x10, // 75 + 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x18, 0x18, 0x18, 0x18, 0x18, // 76 + 0xFE, 0xFE, 0xFE, 0x3E, 0xF8, 0x80, 0x80, 0xF8, 0x3E, 0xFE, 0xFE, 0xFE, 0x1F, 0x1F, 0x1F, 0x00, 0x03, 0x1F, 0x1F, 0x03, 0x00, 0x1F, 0x1F, 0x1F, // 77 + 0xFE, 0xFE, 0xFE, 0x7C, 0xF0, 0xE0, 0x80, 0xFE, 0xFE, 0xFE, 0x1F, 0x1F, 0x1F, 0x00, 0x01, 0x03, 0x0F, 0x1F, 0x1F, 0x1F, // 78 + 0xF0, 0xFC, 0xFC, 0x0E, 0x06, 0x06, 0x0E, 0xFC, 0xFC, 0xF0, 0x03, 0x0F, 0x0F, 0x1C, 0x18, 0x18, 0x1C, 0x0F, 0x0F, 0x03, // 79 + 0xFE, 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x3C, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF0, 0xFC, 0xFC, 0x0E, 0x06, 0x06, 0x0E, 0xFC, 0xFC, 0xF0, 0x03, 0x0F, 0x0F, 0x1C, 0x18, 0x1E, 0x1C, 0x1F, 0x1F, 0x33, // 81 + 0xFE, 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0xFE, 0x7E, 0x3C, 0x00, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x03, 0x0F, 0x1F, 0x1C, 0x10, // 82 + 0x38, 0x7C, 0xFE, 0xE6, 0xE6, 0xEE, 0xDE, 0xDC, 0x98, 0x06, 0x0E, 0x1E, 0x1C, 0x18, 0x19, 0x1F, 0x0F, 0x07, // 83 + 0x06, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, // 84 + 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xFE, 0xFE, 0x07, 0x0F, 0x1F, 0x1C, 0x18, 0x18, 0x1C, 0x1F, 0x0F, 0x07, // 85 + 0x1E, 0xFE, 0xFC, 0xF0, 0x80, 0x00, 0x80, 0xF0, 0xFC, 0xFE, 0x1E, 0x02, 0x00, 0x00, 0x03, 0x1F, 0x1F, 0x1C, 0x1F, 0x1F, 0x03, 0x00, 0x00, 0x00, // 86 + 0xFE, 0xFE, 0xF8, 0x00, 0x80, 0xF8, 0xFE, 0x3E, 0xFE, 0xF8, 0x80, 0x00, 0xF8, 0xFE, 0xFE, 0x06, 0x00, 0x0F, 0x1F, 0x1F, 0x1F, 0x07, 0x01, 0x00, 0x01, 0x07, 0x1F, 0x1F, 0x1F, 0x0F, 0x00, 0x00, // 87 + 0x06, 0x1E, 0x3C, 0xF8, 0xF0, 0xE0, 0xF0, 0xF8, 0x3C, 0x1E, 0x06, 0x02, 0x18, 0x1E, 0x0F, 0x07, 0x03, 0x01, 0x03, 0x07, 0x0F, 0x1E, 0x18, 0x10, // 88 + 0x02, 0x0E, 0x1E, 0x7E, 0xF8, 0xE0, 0xF8, 0x7E, 0x1E, 0x0E, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x00, // 89 + 0x00, 0x06, 0x06, 0xC6, 0xE6, 0xF6, 0x3E, 0x1E, 0x0E, 0x1C, 0x1E, 0x1F, 0x1B, 0x19, 0x18, 0x18, 0x18, 0x18, // 90 + 0xFE, 0xFE, 0xFE, 0x06, 0x06, 0xFF, 0xFF, 0xFF, 0xC0, 0xC0, // 91 + 0x06, 0x78, 0x80, 0x00, 0x00, 0x00, 0x07, 0x18, // 92 + 0x06, 0x06, 0xFE, 0xFE, 0xFE, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, // 93 + 0x40, 0x70, 0x7C, 0x1E, 0x1E, 0x7C, 0x70, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, // 95 + 0x02, 0x06, 0x04, 0x00, 0x00, 0x00, // 96 + 0x40, 0x60, 0x70, 0x30, 0xB0, 0xB0, 0xF0, 0xF0, 0xE0, 0x0E, 0x1F, 0x1F, 0x1B, 0x19, 0x09, 0x1F, 0x1F, 0x1F, // 97 + 0xFE, 0xFE, 0xFE, 0x60, 0x30, 0x30, 0xF0, 0xE0, 0xC0, 0x1F, 0x1F, 0x1F, 0x0C, 0x18, 0x18, 0x1F, 0x0F, 0x07, // 98 + 0xC0, 0xE0, 0xF0, 0x70, 0x30, 0x30, 0x70, 0x60, 0x40, 0x07, 0x0F, 0x1F, 0x1C, 0x18, 0x18, 0x1C, 0x0C, 0x04, // 99 + 0xC0, 0xE0, 0xF0, 0x30, 0x30, 0x60, 0xFE, 0xFE, 0xFE, 0x07, 0x0F, 0x1F, 0x18, 0x18, 0x0C, 0x1F, 0x1F, 0x1F, // 100 + 0xC0, 0xE0, 0xF0, 0xB0, 0xB0, 0xB0, 0xF0, 0xE0, 0xC0, 0x07, 0x0F, 0x1F, 0x1D, 0x19, 0x19, 0x1D, 0x0D, 0x05, // 101 + 0x30, 0xFC, 0xFE, 0xFE, 0x36, 0x36, 0x00, 0x1F, 0x1F, 0x1F, 0x00, 0x00, // 102 + 0xC0, 0xE0, 0xF0, 0x30, 0x30, 0x60, 0xF0, 0xF0, 0xF0, 0x47, 0xCF, 0xDF, 0xD8, 0xD8, 0xCC, 0xFF, 0x7F, 0x3F, // 103 + 0xFE, 0xFE, 0xFE, 0x20, 0x30, 0x30, 0xF0, 0xF0, 0xE0, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, // 104 + 0xF6, 0xF6, 0xF6, 0x1F, 0x1F, 0x1F, // 105 + 0x00, 0xF6, 0xF6, 0xF6, 0xC0, 0xFF, 0xFF, 0x7F, // 106 + 0xFE, 0xFE, 0xFE, 0xC0, 0xE0, 0xF0, 0xF0, 0x30, 0x10, 0x00, 0x1F, 0x1F, 0x1F, 0x03, 0x01, 0x07, 0x1F, 0x1E, 0x1C, 0x10, // 107 + 0xFE, 0xFE, 0xFE, 0x1F, 0x1F, 0x1F, // 108 + 0xF0, 0xF0, 0xF0, 0x20, 0x30, 0xF0, 0xF0, 0xE0, 0x20, 0x30, 0xF0, 0xF0, 0xE0, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x1F, 0x1F, 0x1F, // 109 + 0xF0, 0xF0, 0xF0, 0x20, 0x30, 0x30, 0xF0, 0xF0, 0xE0, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, 0x1F, 0x1F, 0x1F, // 110 + 0xC0, 0xE0, 0xF0, 0x70, 0x30, 0x70, 0xF0, 0xE0, 0xC0, 0x07, 0x0F, 0x1F, 0x1C, 0x18, 0x1C, 0x1F, 0x0F, 0x07, // 111 + 0xF0, 0xF0, 0xF0, 0x60, 0x30, 0x70, 0xF0, 0xE0, 0xC0, 0xFF, 0xFF, 0xFF, 0x0C, 0x18, 0x18, 0x1F, 0x0F, 0x07, // 112 + 0xC0, 0xE0, 0xF0, 0x30, 0x30, 0x60, 0xF0, 0xF0, 0xF0, 0x07, 0x0F, 0x1F, 0x18, 0x18, 0x0C, 0xFF, 0xFF, 0xFF, // 113 + 0xF0, 0xF0, 0xF0, 0x20, 0x30, 0x10, 0x1F, 0x1F, 0x1F, 0x00, 0x00, 0x00, // 114 + 0xE0, 0xF0, 0xF0, 0x90, 0x90, 0xB0, 0x30, 0x20, 0x08, 0x19, 0x1B, 0x13, 0x13, 0x1F, 0x1F, 0x0E, // 115 + 0x30, 0xFC, 0xFC, 0xFE, 0x30, 0x30, 0x00, 0x0F, 0x1F, 0x1F, 0x18, 0x18, // 116 + 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0x0F, 0x1F, 0x1F, 0x18, 0x18, 0x08, 0x1F, 0x1F, 0x1F, // 117 + 0x10, 0xF0, 0xF0, 0xC0, 0x00, 0xE0, 0xF0, 0xF0, 0x10, 0x00, 0x00, 0x07, 0x1F, 0x1C, 0x1F, 0x07, 0x00, 0x00, // 118 + 0x10, 0xF0, 0xF0, 0xE0, 0x00, 0x00, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0xE0, 0xF0, 0xF0, 0x10, 0x00, 0x00, 0x07, 0x1F, 0x1E, 0x0F, 0x03, 0x00, 0x03, 0x0F, 0x1E, 0x1F, 0x07, 0x00, 0x00, // 119 + 0x10, 0x30, 0x70, 0xE0, 0xC0, 0x80, 0xC0, 0xE0, 0x70, 0x30, 0x10, 0x10, 0x18, 0x1E, 0x0F, 0x07, 0x03, 0x07, 0x0F, 0x1E, 0x18, 0x10, // 120 + 0x10, 0xF0, 0xF0, 0xC0, 0x00, 0xC0, 0xF0, 0xF0, 0x30, 0xC0, 0xC0, 0xC7, 0xFF, 0xFC, 0x3F, 0x0F, 0x01, 0x00, // 121 + 0x30, 0x30, 0x30, 0xF0, 0xF0, 0xF0, 0x30, 0x1C, 0x1E, 0x1F, 0x1B, 0x19, 0x18, 0x18, // 122 + 0x00, 0x00, 0xFC, 0xFE, 0xFE, 0x06, 0x03, 0x03, 0x7F, 0xFF, 0xFC, 0xC0, // 123 + 0xFE, 0xFE, 0xFF, 0xFF, // 124 + 0x06, 0xFE, 0xFE, 0xFC, 0x00, 0x00, 0xC0, 0xFC, 0xFF, 0x7F, 0x03, 0x03, // 125 + 0xC0, 0xE0, 0xE0, 0xE0, 0xE0, 0xC0, 0xC0, 0xC0, 0xE0, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, // 126 + 0xF8, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0xF8, 0x1F, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1F // 127 + +}; +/*const static uint16_t Arial_black_16_cum1[] PROGMEM ={0, 8, 14, 28, 50, 68, 96, 118, 124, 134, 144, 156, 174, 180, 190, 196, 204, 220, 232, 248, 264, 282, 298, 314, 330, 346, 362, 368, 374, 392, 408, 426, 442, 466, 490, 508, 526, +544, 562, 578, 598, 618, 624, 642, 666, 682, 706, 726, 746, 764, 784, 804, 822, 844, 864, 888, 920, 944, 966, 984, 994, 1002, 1012, 1028, 1044, 1050, 1068, 1086, 1104, 1122, 1140, 1152, 1170, 1188, 1194, 1202, 1222, 1228, 1254, 1272, 1290, 1308, 1326, 1338, 1354, 1366, 1384, 1402, 1432, 1454, 1472, 1486, 1498, 1502, 1514, 1532 +};*/ + +#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LED_P10.cpp Mon Sep 16 15:02:05 2019 +0000 @@ -0,0 +1,651 @@ +#include "mbed.h" +#include "Aerial_black_16.h" +#include "double_font2.h" +#include "led_half_1.h" +#include "LED_P10.h" +#include <string.h> + + char * LedP10 :: msg=NULL; + char * LedP10 :: msg1=NULL; + char * LedP10 :: msg2=NULL; + const uint8_t * LedP10 :: font_lib; + uint8_t * LedP10 :: dislay[2]={NULL}; + int LedP10 :: speed=5; + int LedP10 :: font; + int LedP10 :: filled=0; + int LedP10 :: index=0; + int LedP10 :: filled1=0; + int LedP10 :: filled2=0; + int LedP10 :: index1=0; + int LedP10 :: index2=0; + int LedP10 :: numberofpanels=1; + int LedP10 :: buffersize=49; + int LedP10 :: storepin =8; + int LedP10 :: outputenablepin=9 ; + int LedP10 :: b =4; + int LedP10 :: a =3; + int LedP10 :: scroll=-1; + int LedP10 :: scroll1=-1; + int LedP10 :: scroll2=-1; + int LedP10 :: scrollcount=0; + int LedP10 :: scrollcount1=0; + int LedP10 :: scrollcount2=0; + int LedP10 :: x=0; + int LedP10 :: y=0; + int LedP10 :: speed1=5; + int LedP10 :: speed2=5; + int LedP10 :: speedcount=0; + int LedP10 :: speedcount1=0; + int LedP10 :: speedcount2=0; + int LedP10 :: always=1; + int LedP10 :: always1=0; + int LedP10 :: always2=1; + uint8_t LedP10 :: brightness=255; + LedP10 :: LedP10() +{} +void LedP10 :: init_internal() +{ + + /* + pinMode(outputenablepin,OUTPUT); + pinMode(a,OUTPUT); + pinMode(b,OUTPUT); + pinMode(10,OUTPUT); + + pinMode(storepin,OUTPUT); + digitalWrite(a, LOW); + digitalWrite(b, LOW); + SPI.beginTransaction(SPISettings(1152000, MSBFIRST, SPI_MODE0)); + SPI.begin(); + digitalWrite(outputenablepin,LOW); + scroll=-1; + scroll1=-1; + scroll2=-1; + + */ +} + +void LedP10 :: store() +{ + /* + digitalWrite(storepin, HIGH); + digitalWrite(storepin, LOW); + + */ +} + +void LedP10 :: init(int A, int B, int store_pin, int oe, int no_of_panels) +{ + a=A; + b=B; + storepin=store_pin; + outputenablepin=oe; + numberofpanels=no_of_panels; + buffersize=17+numberofpanels*32; + dislay[0]=(uint8_t *)malloc(buffersize*sizeof(uint8_t)); + dislay[1]=(uint8_t *)malloc(buffersize*sizeof(uint8_t)); + for(int i=0;i<buffersize;i++) + { + dislay[0][i]=0x00; + dislay[1][i]=0x00; + } + LedP10 ::init_internal(); +} +void LedP10 :: filldisplaysingle_static() +{ + filled=0; + index=0; + char nextchar; + int no_of_char = pgm_read_byte_near(font_lib+5); + int first_char = pgm_read_byte_near(font_lib+4); + uint16_t widthpos,width,datapos; + while(index!=strlen(msg)&&filled<32*numberofpanels) + { + nextchar=msg[index++]; + widthpos= 6+nextchar-first_char; + uint16_t sum=0; + for(int i=0;i<nextchar-first_char;i++) + { + sum+= 2*pgm_read_byte_near(font_lib+6+i); + } + datapos= 6+no_of_char+sum; + width=pgm_read_byte_near(font_lib+widthpos); + if(filled+width+1<=32*numberofpanels) + { + word count=0; + for(count=0;count<width;count++) + { + dislay[0][filled]=pgm_read_byte_near(font_lib+datapos+count); + dislay[1][filled]=pgm_read_byte_near(font_lib+datapos+count+width); + (filled)++; + } + dislay[0][filled]=0x00; + dislay[1][filled]=0x00; + (filled)++; + } + + } + while(filled<32*numberofpanels) + { + dislay[0][filled]=0x00; + dislay[1][filled]=0x00; + (filled)++; + } +} + +void LedP10 :: filldisplaysingle() +{ + char nextchar; + uint16_t widthpos,width,datapos; + int no_of_char=pgm_read_byte_near(font_lib+5); + int first_char = pgm_read_byte_near(font_lib+4); + while(filled<buffersize&&(scroll>0||always==1)) + { + if(index==strlen(msg)) + { + scroll--; + index=0; + nextchar=' '; + } + else + { + nextchar=msg[index++]; + } + widthpos= 6+nextchar-first_char; + uint16_t sum=0; + for(int i=0;i<nextchar-first_char;i++) + { + sum+= 2*pgm_read_byte_near(font_lib+6+i); + } + datapos= 6+no_of_char+sum; + width=pgm_read_byte_near(font_lib+widthpos); + if(filled+width+1<=buffersize) + { + word count=0; + for(count=0;count<width;count++) + { + dislay[0][filled]=pgm_read_byte_near(font_lib+datapos+count); + dislay[1][filled]=pgm_read_byte_near(font_lib+datapos+count+width); + (filled)++; + } + dislay[0][filled]=0x00; + dislay[1][filled]=0x00; + (filled)++; + } + else + { + if(index>0) + index--; + else + { + index=strlen(msg); + scroll++; + } + break; + } + } +} + +void LedP10 :: filldisplaydouble_static() +{ + filled1=0;filled2=0;index1=0;index2=0; + char nextchar1,nextchar2; + int no_of_char=pgm_read_byte_near(font_lib+5); + int first_char = pgm_read_byte_near(font_lib+4); + uint16_t widthpos1,width1,datapos1,widthpos2,width2,datapos2; + while(index1!=strlen(msg1)&&filled1<32*numberofpanels) + { + nextchar1=msg1[index1++]; + widthpos1= 6+nextchar1-first_char; + uint16_t sum1=0; + for(int i=0;i<nextchar1-first_char;i++) + { + sum1+= pgm_read_byte_near(font_lib+6+i); + } + datapos1= 6+no_of_char+sum1; + width1=pgm_read_byte_near(font_lib+widthpos1); + if(filled1+width1+1<=32*numberofpanels) + { + word count1=0; + for(count1=0;count1<width1;count1++) + { + dislay[0][filled1]=pgm_read_byte_near(font_lib+datapos1+count1); + (filled1)++; + } + dislay[0][filled1]=0x00; + } + + } + while(filled1<32*numberofpanels) + { + dislay[0][filled1++]=0x00; + } + while(index2!=strlen(msg2)&&filled2<32*numberofpanels) + { + nextchar2=msg2[index2++]; + widthpos2= 6+nextchar2-first_char; + uint16_t sum2=0; + for(int i=0;i<nextchar2-first_char;i++) + { + sum2+= pgm_read_byte_near(font_lib+6+i); + } + datapos2= 6+no_of_char+sum2; + width2=pgm_read_byte_near(font_lib+widthpos2); + if(filled2+width2+1<=32*numberofpanels) + { + word count2=0; + for(count2=0;count2<width2;count2++) + { + dislay[1][filled2]=pgm_read_byte_near(font_lib+datapos2+count2); + (filled2)++; + } + dislay[1][filled2++]=0x00; + } + + } + while(filled2<32*numberofpanels) + { + dislay[1][filled2++]=0x00; + } + +} + + +void LedP10 :: filldisplaydouble() +{ + char nextchar1,nextchar2; + uint16_t widthpos1,width1,datapos1,widthpos2,width2,datapos2; + int no_of_char=pgm_read_byte_near(font_lib+5); + int first_char = pgm_read_byte_near(font_lib+4); + while(filled1<buffersize&&(scroll1>0||always1==1)) + { + if(index1==strlen(msg1)) + { + scroll1--; + index1=0; + nextchar1=' '; + } + else + { + nextchar1=msg1[index1++]; + } + widthpos1= 6+nextchar1-first_char; + uint16_t sum1=0; + for(int i=0;i<nextchar1-first_char;i++) + { + sum1+= pgm_read_byte_near(font_lib+6+i); + } + datapos1= 6+no_of_char+sum1; + width1=pgm_read_byte_near(font_lib+widthpos1); + if(filled1+width1+1<=buffersize) + { + word count1=0; + for(count1=0;count1<width1;count1++) + { + dislay[0][filled1]=pgm_read_byte_near(font_lib+datapos1+count1); + (filled1)++; + } + dislay[0][filled1]=0x00; + (filled1)++; + } + else + { + if(index1>0) + index1--; + else + { + scroll1++; + index1=strlen(msg1); + } + break; + } + } + while(filled2<buffersize&&(scroll2>0||always2==1)) + { + if(index2==strlen(msg2)) + { + scroll2--; + index2=0; + nextchar2=' '; + } + else + { + nextchar2=msg2[index2++]; + } + widthpos2= 6+nextchar2-first_char; + uint16_t sum2=0; + for(int i=0;i<nextchar2-first_char;i++) + { + sum2+= pgm_read_byte_near(font_lib+6+i); + } + datapos2= 6+no_of_char+sum2; + width2=pgm_read_byte_near(font_lib+widthpos2); + if(filled2+width2+1<=buffersize) + { + word count2=0; + for(count2=0;count2<width2;count2++) + { + dislay[1][filled2]=pgm_read_byte_near(font_lib+datapos2+count2); + (filled2)++; + } + dislay[1][filled2]=0x00; + (filled2)++; + } + else + { + if(index2>0) + index2--; + else + { + index2=strlen(msg2); + scroll2++; + } + break; + } + } +} + +void LedP10 :: slide() +{ + int i; + if(speed1!=0) + { + speedcount1++; + if(speedcount1==30/speed1) + { + speedcount1=0; + for(i=0;i<buffersize-1 ;i++) + { + dislay[0][i]= dislay[0][i+1]; + } + filled1--; + } + } + if(speed2!=0) + { + speedcount2++; + if(speedcount2==30/speed2) + { + speedcount2=0; + for(i=0;i<buffersize-1 ;i++) + { + dislay[1][i]= dislay[1][i+1]; + } + filled2--; + } + } + + //if(speed1==speed2&&speed1!=0) + filled--; +} + +void LedP10 ::slidesingle() +{ + int i; + if(speed!=0) + { + speedcount++; + if(speedcount==30/speed) + { + speedcount=0; + for(i=0;i<buffersize-1 ;i++) + { + dislay[0][i]= dislay[0][i+1]; + dislay[1][i]= dislay[1][i+1]; + } + filled--; + } + } + else + { + speedcount++; + if(speedcount==30/speed) + { + speedcount=0; + for(i=0;i<buffersize-1 ;i++) + { + dislay[0][i]= dislay[0][i]; + dislay[1][i]= dislay[1][i]; + } + filled--; + } + } +} +void LedP10 :: showgroup(int p,int q) +{ + int i,j,k,row,col,byt; + byte temp,data=0x00; + for(col=0;col<4*numberofpanels;col++) + { + row=12+p+2*q; + byt=row/8; + for(i=0;i<4;i++) + { + data=0x00; + for(k=0;k<8;k++) + { + data=data<<1; + temp=0x01; + temp&=(dislay[row/8][8*col+k]>>(row%8)); + data|=temp; + } + row-=4; + byt=row/8; + SPI.transfer(~data); + } + } + digitalWrite(outputenablepin,LOW); + LedP10 ::store(); +} + +void LedP10 :: showmsg_single_scroll(char msg_[],int no_of_times, int speed_, int font_) +{ + if(font_==0) + font_lib=Arial_Black_16; + else if(font_==1) + font_lib=Arial_14; + scroll= no_of_times; + msg=msg_; + speed=speed_; + speed1=speed; + speed2=speed; + speedcount1=0; + speedcount2=0; + font=font_; + if(no_of_times<0) + always=1; + else + always=0; + Timer1.initialize(100); + Timer1.attachInterrupt(callback4); +} + + + + void LedP10 :: callback() +{ + digitalWrite(outputenablepin,LOW); + LedP10 ::filldisplaysingle_static(); + LedP10 ::showone(); + +} + void LedP10 :: callback2() +{ + digitalWrite(outputenablepin,LOW); + LedP10 ::filldisplaydouble_static(); + LedP10 ::showone(); + +} +void LedP10 :: showone() +{ + if(x==0&&y==0) + { + LedP10 ::showgroup(0,0); + digitalWrite(a,LOW); + digitalWrite(b,LOW); + analogWrite(outputenablepin, brightness); + x=1;y=0; + } + else if(x==1&&y==0) + { + LedP10 ::showgroup(1,0); + digitalWrite(a,HIGH); + digitalWrite(b,LOW); + analogWrite(outputenablepin,brightness); + x=0;y=1; + } + else if(x==0&&y==1) + { + LedP10 ::showgroup(0,1); + digitalWrite(a,LOW); + digitalWrite(b,HIGH); + analogWrite(outputenablepin,brightness); + x=1;y=1; + } + else if(x==1&&y==1) + { + LedP10 ::showgroup(1,1); + digitalWrite(a,HIGH); + digitalWrite(b,HIGH); + analogWrite(outputenablepin, brightness); + x=0;y=0; + } +} +void LedP10 :: showmsg_single_static(long int msg_,int font_) +{ + String thisString1 = String(msg_); + thisString1.toCharArray(sts_dis,thisString1.length()+1); + //free(&thisString1); + //showmsg_single_static(newmsg1,font_); + digitalWrite(outputenablepin,LOW); + Timer1.stop(); + if(font_==0) + font_lib=Arial_Black_16; + else if(font_==1) + font_lib=Arial_14; + msg=sts_dis; + font=font_; + filled=0; + Timer1.initialize(5500); + Timer1.attachInterrupt(callback); + LedP10 ::filldisplaysingle_static(); +} + + + +void LedP10 :: showmsg_single_static(char msg_[],int font_) +{ + digitalWrite(outputenablepin,LOW); + Timer1.stop(); + if(font_==0) + font_lib=Arial_Black_16; + else if(font_==1) + font_lib=Arial_14; + msg=msg_; + font=font_; + filled=0; + Timer1.initialize(5500); + Timer1.attachInterrupt(callback); + LedP10 ::filldisplaysingle_static(); +} +void LedP10 :: showmsg_double_static(long int msg1_,long int msg2_,int font_) +{ + String thisString1 = String(msg1_); + thisString1.toCharArray(sts_dis1,thisString1.length()+1); + String thisString2 = String(msg2_); + thisString2.toCharArray(sts_dis2,thisString2.length()+1); + showmsg_double_static(sts_dis1,sts_dis2, font_); +} + +void LedP10 :: showmsg_double_static(long int msg1_,char msg2_[],int font_) +{ + String thisString1 = String(msg1_); + thisString1.toCharArray(sts_dis1,thisString1.length()+1); + + showmsg_double_static(sts_dis1,msg2_, font_); +} + +void LedP10 :: showmsg_double_static(char msg1_[],long int msg2_,int font_) +{ + String thisString2 = String(msg2_); + thisString2.toCharArray(sts_dis2,thisString2.length()+1); + showmsg_double_static(msg1_,sts_dis2, font_); +} +void LedP10 :: showmsg_double_static(char msg1_[],char msg2_[],int font_) +{ + digitalWrite(outputenablepin,LOW); + Timer1.stop(); + if(font_==0) + font_lib=font_lib=Led_half_1; + else if(font_==1) + {} + msg1=msg1_; + msg2=msg2_; + font=font_; + filled1=0; + filled2=0; + Timer1.initialize(6500); + Timer1.attachInterrupt(callback2); + LedP10 ::filldisplaydouble_static(); +} +void LedP10 :: callback3() +{ + + LedP10 ::showone(); + if(x==1&&y==1) + LedP10 ::slide(); + LedP10 ::filldisplaydouble(); + + if(filled1==0&&filled2==0&&scroll1==0&&scroll2==0) + { + digitalWrite(outputenablepin,LOW); + Timer1.stop(); + } +} +void LedP10 :: callback4() +{ + + LedP10 ::showone(); + if(x==1&&y==1) + { + LedP10 ::slidesingle(); + } + + filldisplaysingle(); + + if(filled==0&&scroll==0) + { + digitalWrite(outputenablepin,LOW); + Timer1.stop(); + } +} +void LedP10 :: showmsg_double_scroll(char msg1_[],char msg2_[],int no_of_times1,int no_of_times2, int speed1_,int speed2_, int font_) +{ + if(font_==0) + font_lib=font_lib=Led_half_1; + else if(font_==1) + {} + msg1=msg1_; + msg2=msg2_; + speed1=speed1_; + speed2=speed2_; + font=font_; + scroll1= no_of_times1; + scroll2= no_of_times2; + if(scroll1<0) + always1=1; + else + always1=0; + if(scroll2<0) + always2=1; + else + always2=0; + LedP10 ::filldisplaydouble(); + Timer1.initialize(100); + Timer1.attachInterrupt(callback3); +} + +void LedP10 :: setbrightness(uint8_t brightness_) +{ + brightness=brightness_; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LED_P10.h Mon Sep 16 15:02:05 2019 +0000 @@ -0,0 +1,75 @@ + +#include "mbed.h" + +class LedP10 +{ + public: + LedP10(); + void showmsg_single_scroll(char msg[], int no_of_times,int speed, int font); + void showmsg_double_scroll(char msg1_[],char msg2_[],int no_of_times1,int no_of_times2, int speed1_,int speed2, int font_); + void showmsg_single_static(char msg_[],int font_); + void showmsg_single_static(long int msg_,int font_); + + void showmsg_double_static(char msg1_[],char msg2_[],int font_); + void showmsg_double_static(char msg1_[],long int msg2_,int font_); + void showmsg_double_static(long int msg1_,char msg2_[],int font_); + void showmsg_double_static(long int msg1_,long int msg2_,int font_); + void init(int A, int B, int storepin, int oe, int no_of_panels); + void setbrightness(uint8_t brightness_); + + private: + static void callback(); + static void callback2(); + static void callback3(); + static void callback4(); + static void showgroup(int p, int q); + static void init_internal(); + static void init(); + static void slide(); + static void slidesingle(); + static void filldisplaysingle(); + static void filldisplaysingle_static(); + static void filldisplaydouble(); + static void filldisplaydouble_static(); + static void showone(); + static void store(); + static char *msg,*msg1,*msg2; + static const uint8_t * font_lib; + static uint8_t *dislay[2]; + + char sts_dis[10]; + char sts_dis1[10]; + char sts_dis2[10]; + static int always; + static int always1; + static int always2; + static int speed; + static int speed1; + static int speed2; + static int speedcount; + static int speedcount1; + static int speedcount2; + static int font; + static int filled; + static int index; + static int filled1; + static int filled2; + static int index1; + static int index2; + static int numberofpanels; + static int buffersize; + static int storepin ; + static int outputenablepin ; + static int b ; + static int a ; + static int scroll; + static int scroll1; + static int scroll2; + static int scrollcount; + static int scrollcount1; + static int scrollcount2; + static int x; + static int y; + static uint8_t brightness; + #define INF -1 +}; \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/double_font2.h Mon Sep 16 15:02:05 2019 +0000 @@ -0,0 +1,164 @@ +/* + * + * Arial_14 + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : Arial14.h + * Date : 02.05.2008 + * Font size in bytes : 7788 + * Font width : 10 + * Font height : 14 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters} + */ + +#include <inttypes.h> +#include "mbed.h" + +#ifndef ARIAL_14_H +#define ARIAL_14_H + +#define ARIAL_14_WIDTH 10 +#define ARIAL_14_HEIGHT 14 + +const static uint8_t Arial_14[2000] = { + 0x1E, 0x6C, // size + 0x0A, // width + 0x0E, // height + 0x20, // first char + 0x60, // char count + + // char widths + 0x00, 0x01, 0x03, 0x08, 0x07, 0x0A, 0x08, 0x01, 0x03, 0x03, + 0x05, 0x07, 0x01, 0x04, 0x01, 0x04, 0x06, 0x03, 0x06, 0x06, + 0x07, 0x06, 0x06, 0x06, 0x06, 0x06, 0x01, 0x01, 0x06, 0x06, + 0x06, 0x06, 0x0D, 0x09, 0x07, 0x08, 0x08, 0x07, 0x07, 0x09, + 0x07, 0x01, 0x05, 0x08, 0x07, 0x09, 0x07, 0x09, 0x07, 0x09, + 0x08, 0x07, 0x07, 0x07, 0x09, 0x0D, 0x08, 0x09, 0x08, 0x02, + 0x04, 0x02, 0x05, 0x08, 0x02, 0x06, 0x06, 0x05, 0x06, 0x06, + 0x04, 0x06, 0x06, 0x01, 0x02, 0x06, 0x01, 0x09, 0x06, 0x06, + 0x06, 0x06, 0x04, 0x05, 0x04, 0x06, 0x07, 0x09, 0x06, 0x07, + 0x06, 0x03, 0x01, 0x03, 0x07, 0x07, + + // font data + 0xFE, 0x14, // 33 + 0x1E, 0x00, 0x1E, 0x00, 0x00, 0x00, // 34 + 0x90, 0x90, 0xF8, 0x96, 0x90, 0xF8, 0x96, 0x90, 0x00, 0x1C, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, // 35 + 0x18, 0x24, 0x22, 0xFF, 0x42, 0x42, 0x84, 0x08, 0x10, 0x10, 0x3C, 0x10, 0x08, 0x04, // 36 + 0x1C, 0x22, 0x22, 0x1C, 0xC0, 0x30, 0x8C, 0x42, 0x40, 0x80, 0x00, 0x00, 0x10, 0x0C, 0x00, 0x00, 0x0C, 0x10, 0x10, 0x0C, // 37 + 0x80, 0x5C, 0x22, 0x62, 0x92, 0x0C, 0x80, 0x00, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x08, 0x10, // 38 + 0x1E, 0x00, // 39 + 0xF0, 0x0C, 0x02, 0x1C, 0x60, 0x80, // 40 + 0x02, 0x0C, 0xF0, 0x80, 0x60, 0x1C, // 41 + 0x04, 0x14, 0x0E, 0x14, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, // 42 + 0x40, 0x40, 0x40, 0xF8, 0x40, 0x40, 0x40, 0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, // 43 + 0x00, 0x70, // 44 + 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, // 45 + 0x00, 0x10, // 46 + 0x00, 0xC0, 0x38, 0x06, 0x18, 0x04, 0x00, 0x00, // 47 + 0xFC, 0x02, 0x02, 0x02, 0x02, 0xFC, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 48 + 0x08, 0x04, 0xFE, 0x00, 0x00, 0x1C, // 49 + 0x0C, 0x02, 0x02, 0x82, 0x42, 0x3C, 0x10, 0x18, 0x14, 0x10, 0x10, 0x10, // 50 + 0x0C, 0x02, 0x22, 0x22, 0x22, 0xDC, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 51 + 0x80, 0x40, 0x30, 0x08, 0x04, 0xFE, 0x00, 0x04, 0x04, 0x04, 0x04, 0x04, 0x1C, 0x04, // 52 + 0x38, 0x16, 0x12, 0x12, 0x12, 0xE2, 0x0C, 0x10, 0x10, 0x10, 0x18, 0x04, // 53 + 0xF8, 0x44, 0x22, 0x22, 0x22, 0xC4, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 54 + 0x02, 0x02, 0x02, 0xE2, 0x1A, 0x06, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, // 55 + 0xDC, 0x22, 0x22, 0x22, 0x22, 0xDC, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 56 + 0x3C, 0x42, 0x42, 0x42, 0x22, 0xFC, 0x08, 0x10, 0x10, 0x10, 0x08, 0x04, // 57 + 0x08, 0x10, // 58 + 0x08, 0x70, // 59 + 0x40, 0xA0, 0xA0, 0x10, 0x10, 0x08, 0x00, 0x00, 0x00, 0x04, 0x04, 0x08, // 60 + 0x90, 0x90, 0x90, 0x90, 0x90, 0x90, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 61 + 0x08, 0x10, 0x10, 0xA0, 0xA0, 0x40, 0x08, 0x04, 0x04, 0x00, 0x00, 0x00, // 62 + 0x0C, 0x02, 0x82, 0x42, 0x22, 0x1C, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, // 63 + 0xE0, 0x18, 0x04, 0xC4, 0x22, 0x12, 0x12, 0x12, 0xA2, 0x72, 0x04, 0x08, 0xF0, 0x0C, 0x30, 0x40, 0x4C, 0x90, 0x90, 0x90, 0x88, 0x9C, 0x90, 0x50, 0x4C, 0x20, // 64 + 0x00, 0x80, 0xE0, 0x9C, 0x82, 0x9C, 0xE0, 0x80, 0x00, 0x18, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x18, // 65 + 0xFE, 0x22, 0x22, 0x22, 0x22, 0x22, 0xDC, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C, // 66 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x04, 0x08, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 67 + 0xFE, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 68 + 0xFE, 0x22, 0x22, 0x22, 0x22, 0x22, 0x22, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // 69 + 0xFE, 0x22, 0x22, 0x22, 0x22, 0x22, 0x02, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 70 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x42, 0x42, 0x44, 0xC8, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 71 + 0xFE, 0x20, 0x20, 0x20, 0x20, 0x20, 0xFE, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, // 72 + 0xFE, 0x1C, // 73 + 0x00, 0x00, 0x00, 0x00, 0xFE, 0x0C, 0x10, 0x10, 0x10, 0x0C, // 74 + 0xFE, 0x80, 0x40, 0x20, 0x50, 0x88, 0x04, 0x02, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x10, // 75 + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x10, // 76 + 0xFE, 0x0C, 0x30, 0xC0, 0x00, 0xC0, 0x30, 0x0C, 0xFE, 0x1C, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, 0x1C, // 77 + 0xFE, 0x04, 0x18, 0x60, 0x80, 0x00, 0xFE, 0x1C, 0x00, 0x00, 0x00, 0x04, 0x08, 0x1C, // 78 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x04, 0x08, 0x10, 0x10, 0x10, 0x10, 0x10, 0x08, 0x04, // 79 + 0xFE, 0x42, 0x42, 0x42, 0x42, 0x42, 0x3C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 80 + 0xF8, 0x04, 0x02, 0x02, 0x02, 0x02, 0x02, 0x04, 0xF8, 0x04, 0x08, 0x10, 0x10, 0x10, 0x14, 0x08, 0x1C, 0x10, // 81 + 0xFE, 0x42, 0x42, 0x42, 0xC2, 0x42, 0x42, 0x3C, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x10, // 82 + 0x1C, 0x22, 0x22, 0x22, 0x42, 0x42, 0x8C, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x0C, // 83 + 0x02, 0x02, 0x02, 0xFE, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, // 84 + 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x04, 0x08, 0x10, 0x10, 0x10, 0x08, 0x04, // 85 + 0x06, 0x18, 0x60, 0x80, 0x00, 0x80, 0x60, 0x18, 0x06, 0x00, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, 0x00, // 86 + 0x06, 0x38, 0xC0, 0x00, 0xC0, 0x3C, 0x02, 0x3C, 0xC0, 0x00, 0xC0, 0x38, 0x06, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, // 87 + 0x02, 0x0C, 0x90, 0x60, 0x60, 0x90, 0x0C, 0x02, 0x10, 0x0C, 0x00, 0x00, 0x00, 0x04, 0x0C, 0x10, // 88 + 0x02, 0x04, 0x18, 0x20, 0xC0, 0x20, 0x18, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, // 89 + 0x00, 0x02, 0x82, 0x42, 0x22, 0x1A, 0x06, 0x02, 0x10, 0x18, 0x14, 0x10, 0x10, 0x10, 0x10, 0x10, // 90 + 0xFE, 0x02, 0xFC, 0x80, // 91 + 0x06, 0x38, 0xC0, 0x00, 0x00, 0x00, 0x04, 0x18, // 92 + 0x02, 0xFE, 0x80, 0xFC, // 93 + 0x20, 0x1C, 0x02, 0x1C, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, // 94 + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, // 95 + 0x02, 0x04, 0x00, 0x00, // 96 + 0x10, 0x88, 0x48, 0x48, 0x48, 0xF0, 0x0C, 0x10, 0x10, 0x10, 0x08, 0x1C, // 97 + 0xFE, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x1C, 0x08, 0x10, 0x10, 0x10, 0x0C, // 98 + 0xF0, 0x08, 0x08, 0x08, 0x10, 0x0C, 0x10, 0x10, 0x10, 0x08, // 99 + 0xF0, 0x08, 0x08, 0x08, 0x10, 0xFE, 0x0C, 0x10, 0x10, 0x10, 0x08, 0x1C, // 100 + 0xF0, 0x48, 0x48, 0x48, 0x48, 0x70, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x08, // 101 + 0x08, 0xFC, 0x0A, 0x0A, 0x00, 0x1C, 0x00, 0x00, // 102 + 0xF0, 0x08, 0x08, 0x08, 0x10, 0xF8, 0x4C, 0x90, 0x90, 0x90, 0x88, 0x7C, // 103 + 0xFE, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, // 104 + 0xFA, 0x1C, // 105 + 0x00, 0xFA, 0x80, 0x7C, // 106 + 0xFE, 0x80, 0x40, 0xA0, 0x10, 0x08, 0x1C, 0x00, 0x00, 0x00, 0x0C, 0x10, // 107 + 0xFE, 0x1C, // 108 + 0xF8, 0x10, 0x08, 0x08, 0xF0, 0x10, 0x08, 0x08, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x1C, 0x00, 0x00, 0x00, 0x1C, // 109 + 0xF8, 0x10, 0x08, 0x08, 0x08, 0xF0, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x1C, // 110 + 0xF0, 0x08, 0x08, 0x08, 0x08, 0xF0, 0x0C, 0x10, 0x10, 0x10, 0x10, 0x0C, // 111 + 0xF8, 0x10, 0x08, 0x08, 0x08, 0xF0, 0xFC, 0x08, 0x10, 0x10, 0x10, 0x0C, // 112 + 0xF0, 0x08, 0x08, 0x08, 0x10, 0xF8, 0x0C, 0x10, 0x10, 0x10, 0x08, 0xFC, // 113 + 0xF8, 0x10, 0x08, 0x08, 0x1C, 0x00, 0x00, 0x00, // 114 + 0x30, 0x48, 0x48, 0x48, 0x90, 0x08, 0x10, 0x10, 0x10, 0x0C, // 115 + 0x08, 0xFE, 0x08, 0x08, 0x00, 0x1C, 0x10, 0x10, // 116 + 0xF8, 0x00, 0x00, 0x00, 0x00, 0xF8, 0x0C, 0x10, 0x10, 0x10, 0x08, 0x1C, // 117 + 0x18, 0x60, 0x80, 0x00, 0x80, 0x60, 0x18, 0x00, 0x00, 0x04, 0x18, 0x04, 0x00, 0x00, // 118 + 0x18, 0xE0, 0x00, 0xE0, 0x18, 0xE0, 0x00, 0xE0, 0x18, 0x00, 0x04, 0x18, 0x04, 0x00, 0x04, 0x18, 0x04, 0x00, // 119 + 0x08, 0x30, 0xC0, 0xC0, 0x30, 0x08, 0x10, 0x0C, 0x00, 0x00, 0x0C, 0x10, // 120 + 0x18, 0x60, 0x80, 0x00, 0x80, 0x60, 0x18, 0x00, 0x80, 0x8C, 0x70, 0x0C, 0x00, 0x00, // 121 + 0x08, 0x08, 0x88, 0x68, 0x18, 0x08, 0x10, 0x18, 0x14, 0x10, 0x10, 0x10, // 122 + 0x80, 0x7C, 0x02, 0x00, 0x7C, 0x80, // 123 + 0xFE, 0xFC, // 124 + 0x02, 0x7C, 0x80, 0x80, 0x7C, 0x00, // 125 + 0x40, 0x20, 0x20, 0x60, 0x40, 0x40, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, // 126 + 0xFC, 0x04, 0x04, 0x04, 0x04, 0x04, 0xFC, 0x1C, 0x10, 0x10, 0x10, 0x10, 0x10, 0x1C // 127 + +}; + +#endif \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/led_half_1.h Mon Sep 16 15:02:05 2019 +0000 @@ -0,0 +1,162 @@ +/* + * + * Arial_14 + * + * created with FontCreator + * written by F. Maximilian Thiele + * + * http://www.apetech.de/fontCreator + * me@apetech.de + * + * File Name : Arial14.h + * Date : 02.05.2008 + * Font size in bytes : 7788 + * Font width : 10 + * Font height : 14 + * Font first char : 32 + * Font last char : 128 + * Font used chars : 96 + * + * The font data are defined as + * + * struct _FONT_ { + * uint16_t font_Size_in_Bytes_over_all_included_Size_it_self; + * uint8_t font_Width_in_Pixel_for_fixed_drawing; + * uint8_t font_Height_in_Pixel_for_all_characters; + * unit8_t font_First_Char; + * uint8_t font_Char_Count; + * + * uint8_t font_Char_Widths[font_Last_Char - font_First_Char +1]; + * // for each character the separate width in pixels, + * // characters < 128 have an implicit virtual right empty row + * + * uint8_t font_data[]; + * // bit field of all characters + */ + +#include <inttypes.h> +#include "mbed.h" + +#ifndef LED_HALF_1 +#define Led_HALF_1 + +#define LED_HALF_1_WIDTH 10 +#define LED_HALF_1_HEIGHT 14 + +const static uint8_t Led_half_1[2000] = { + 0x0, 0x0, // size of zero indicates fixed width font, actual length is width * height + 0x05, // width + 0x07, // height + 0x20, // first char + 0x60, // char count + + // char width + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + 0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05,0x05, + // font data + 0x00, 0x00, 0x00, 0x00, 0x00,// (space) + 0x00, 0x00, 0x5F, 0x00, 0x00,// ! + 0x00, 0x07, 0x00, 0x07, 0x00,// " + 0x14, 0x7F, 0x14, 0x7F, 0x14,// # + 0x24, 0x2A, 0x7F, 0x2A, 0x12,// $ + 0x23, 0x13, 0x08, 0x64, 0x62,// % + 0x36, 0x49, 0x55, 0x22, 0x50,// & + 0x00, 0x05, 0x03, 0x00, 0x00,// ' + 0x00, 0x1C, 0x22, 0x41, 0x00,// ( + 0x00, 0x41, 0x22, 0x1C, 0x00,// ) + 0x08, 0x2A, 0x1C, 0x2A, 0x08,// * + 0x08, 0x08, 0x3E, 0x08, 0x08,// + + 0x00, 0x50, 0x30, 0x00, 0x00,// , + 0x08, 0x08, 0x08, 0x08, 0x08,// - + 0x00, 0x60, 0x60, 0x00, 0x00,// . + 0x20, 0x10, 0x08, 0x04, 0x02,// / + 0x3E, 0x51, 0x49, 0x45, 0x3E,// 0 + 0x00, 0x42, 0x7F, 0x40, 0x00,// 1 + 0x42, 0x61, 0x51, 0x49, 0x46,// 2 + 0x21, 0x41, 0x45, 0x4B, 0x31,// 3 + 0x18, 0x14, 0x12, 0x7F, 0x10,// 4 + 0x27, 0x45, 0x45, 0x45, 0x39,// 5 + 0x3C, 0x4A, 0x49, 0x49, 0x30,// 6 + 0x01, 0x71, 0x09, 0x05, 0x03,// 7 + 0x36, 0x49, 0x49, 0x49, 0x36,// 8 + 0x06, 0x49, 0x49, 0x29, 0x1E,// 9 + 0x00, 0x36, 0x36, 0x00, 0x00,// : + 0x00, 0x56, 0x36, 0x00, 0x00,// ; + 0x00, 0x08, 0x14, 0x22, 0x41,// < + 0x14, 0x14, 0x14, 0x14, 0x14,// = + 0x41, 0x22, 0x14, 0x08, 0x00,// > + 0x02, 0x01, 0x51, 0x09, 0x06,// ? + 0x32, 0x49, 0x79, 0x41, 0x3E,// @ + 0x7E, 0x11, 0x11, 0x11, 0x7E,// A + 0x7F, 0x49, 0x49, 0x49, 0x36,// B + 0x3E, 0x41, 0x41, 0x41, 0x22,// C + 0x7F, 0x41, 0x41, 0x22, 0x1C,// D + 0x7F, 0x49, 0x49, 0x49, 0x41,// E + 0x7F, 0x09, 0x09, 0x01, 0x01,// F + 0x3E, 0x41, 0x41, 0x51, 0x32,// G + 0x7F, 0x08, 0x08, 0x08, 0x7F,// H + 0x00, 0x41, 0x7F, 0x41, 0x00,// I + 0x20, 0x40, 0x41, 0x3F, 0x01,// J + 0x7F, 0x08, 0x14, 0x22, 0x41,// K + 0x7F, 0x40, 0x40, 0x40, 0x40,// L + 0x7F, 0x02, 0x04, 0x02, 0x7F,// M + 0x7F, 0x04, 0x08, 0x10, 0x7F,// N + 0x3E, 0x41, 0x41, 0x41, 0x3E,// O + 0x7F, 0x09, 0x09, 0x09, 0x06,// P + 0x3E, 0x41, 0x51, 0x21, 0x5E,// Q + 0x7F, 0x09, 0x19, 0x29, 0x46,// R + 0x46, 0x49, 0x49, 0x49, 0x31,// S + 0x01, 0x01, 0x7F, 0x01, 0x01,// T + 0x3F, 0x40, 0x40, 0x40, 0x3F,// U + 0x1F, 0x20, 0x40, 0x20, 0x1F,// V + 0x7F, 0x20, 0x18, 0x20, 0x7F,// W + 0x63, 0x14, 0x08, 0x14, 0x63,// X + 0x03, 0x04, 0x78, 0x04, 0x03,// Y + 0x61, 0x51, 0x49, 0x45, 0x43,// Z + 0x00, 0x00, 0x7F, 0x41, 0x41,// [ + 0x02, 0x04, 0x08, 0x10, 0x20,// "\" + 0x41, 0x41, 0x7F, 0x00, 0x00,// ] + 0x04, 0x02, 0x01, 0x02, 0x04,// ^ + 0x40, 0x40, 0x40, 0x40, 0x40,// _ + 0x00, 0x01, 0x02, 0x04, 0x00,// ` + 0x20, 0x54, 0x54, 0x54, 0x78,// a + 0x7F, 0x48, 0x44, 0x44, 0x38,// b + 0x38, 0x44, 0x44, 0x44, 0x20,// c + 0x38, 0x44, 0x44, 0x48, 0x7F,// d + 0x38, 0x54, 0x54, 0x54, 0x18,// e + 0x08, 0x7E, 0x09, 0x01, 0x02,// f + 0x08, 0x14, 0x54, 0x54, 0x3C,// g + 0x7F, 0x08, 0x04, 0x04, 0x78,// h + 0x00, 0x44, 0x7D, 0x40, 0x00,// i + 0x20, 0x40, 0x44, 0x3D, 0x00,// j + 0x00, 0x7F, 0x10, 0x28, 0x44,// k + 0x00, 0x41, 0x7F, 0x40, 0x00,// l + 0x7C, 0x04, 0x18, 0x04, 0x78,// m + 0x7C, 0x08, 0x04, 0x04, 0x78,// n + 0x38, 0x44, 0x44, 0x44, 0x38,// o + 0x7C, 0x14, 0x14, 0x14, 0x08,// p + 0x08, 0x14, 0x14, 0x18, 0x7C,// q + 0x7C, 0x08, 0x04, 0x04, 0x08,// r + 0x48, 0x54, 0x54, 0x54, 0x20,// s + 0x04, 0x3F, 0x44, 0x40, 0x20,// t + 0x3C, 0x40, 0x40, 0x20, 0x7C,// u + 0x1C, 0x20, 0x40, 0x20, 0x1C,// v + 0x3C, 0x40, 0x30, 0x40, 0x3C,// w + 0x44, 0x28, 0x10, 0x28, 0x44,// x + 0x0C, 0x50, 0x50, 0x50, 0x3C,// y + 0x44, 0x64, 0x54, 0x4C, 0x44,// z + 0x00, 0x08, 0x36, 0x41, 0x00,// { + 0x00, 0x00, 0x7F, 0x00, 0x00,// | + 0x00, 0x41, 0x36, 0x08, 0x00,// } + 0x08, 0x08, 0x2A, 0x1C, 0x08,// -> + 0x08, 0x1C, 0x2A, 0x08, 0x08 // <- + +}; + +#endif + +