Wrapper for HD44780 automatically taking care of custom CGRAM patterns and partial redraws to optimize response times
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
hd44780-buf/src/cgrom.c

136 lines
5.2 KiB

#include <stdint.h>
#include "utf8.h"
#include "cgrom.h"
const struct LcdBuf_CGROM_Entry CGROM_A00[] = {
{.address = 32, .symbol = " "},
{.address = 33, .symbol = "!"},
{.address = 34, .symbol = "\""},
{.address = 35, .symbol = "#"},
{.address = 36, .symbol = "$"},
{.address = 37, .symbol = "%"},
{.address = 38, .symbol = "&"},
{.address = 39, .symbol = "'"},
{.address = 40, .symbol = "("},
{.address = 41, .symbol = ")"},
{.address = 42, .symbol = "*"},
{.address = 43, .symbol = "+"},
{.address = 44, .symbol = ","},
{.address = 45, .symbol = "-"},
{.address = 46, .symbol = "."},
{.address = 47, .symbol = "/"},
{.address = 48, .symbol = "0"},
{.address = 49, .symbol = "1"},
{.address = 50, .symbol = "2"},
{.address = 51, .symbol = "3"},
{.address = 52, .symbol = "4"},
{.address = 53, .symbol = "5"},
{.address = 54, .symbol = "6"},
{.address = 55, .symbol = "7"},
{.address = 56, .symbol = "8"},
{.address = 57, .symbol = "9"},
{.address = 58, .symbol = ":"},
{.address = 59, .symbol = ";"},
{.address = 60, .symbol = "<"},
{.address = 61, .symbol = "="},
{.address = 62, .symbol = ">"},
{.address = 63, .symbol = "?"},
{.address = 64, .symbol = "@"},
{.address = 65, .symbol = "A"},
{.address = 66, .symbol = "B"},
{.address = 67, .symbol = "C"},
{.address = 68, .symbol = "D"},
{.address = 69, .symbol = "E"},
{.address = 70, .symbol = "F"},
{.address = 71, .symbol = "G"},
{.address = 72, .symbol = "H"},
{.address = 73, .symbol = "I"},
{.address = 74, .symbol = "J"},
{.address = 75, .symbol = "K"},
{.address = 76, .symbol = "L"},
{.address = 77, .symbol = "M"},
{.address = 78, .symbol = "N"},
{.address = 79, .symbol = "O"},
{.address = 80, .symbol = "P"},
{.address = 81, .symbol = "Q"},
{.address = 82, .symbol = "R"},
{.address = 83, .symbol = "S"},
{.address = 84, .symbol = "T"},
{.address = 85, .symbol = "U"},
{.address = 86, .symbol = "V"},
{.address = 87, .symbol = "W"},
{.address = 88, .symbol = "X"},
{.address = 89, .symbol = "Y"},
{.address = 90, .symbol = "Z"},
{.address = 91, .symbol = "["},
{.address = 92, .symbol = "¥"}, // yen
{.address = 93, .symbol = "]"},
{.address = 94, .symbol = "^"},
{.address = 95, .symbol = "_"},
{.address = 96, .symbol = "`"},
{.address = 97, .symbol = "a"},
{.address = 98, .symbol = "b"},
{.address = 99, .symbol = "c"},
{.address = 100, .symbol = "d"},
{.address = 101, .symbol = "e"},
{.address = 102, .symbol = "f"},
{.address = 103, .symbol = "g"},
{.address = 104, .symbol = "h"},
{.address = 105, .symbol = "i"},
{.address = 106, .symbol = "j"},
{.address = 107, .symbol = "k"},
{.address = 108, .symbol = "l"},
{.address = 109, .symbol = "m"},
{.address = 110, .symbol = "n"},
{.address = 111, .symbol = "o"},
{.address = 112, .symbol = "p"},
{.address = 113, .symbol = "q"},
{.address = 114, .symbol = "r"},
{.address = 115, .symbol = "s"},
{.address = 116, .symbol = "t"},
{.address = 117, .symbol = "u"},
{.address = 118, .symbol = "v"},
{.address = 119, .symbol = "w"},
{.address = 120, .symbol = "x"},
{.address = 121, .symbol = "y"},
{.address = 122, .symbol = "z"},
{.address = 123, .symbol = "{"},
{.address = 124, .symbol = "|"},
{.address = 125, .symbol = "}"},
{.address = 126, .symbol = ""},
{.address = 127, .symbol = ""},
// lots of japanese symbols - add them yourself if you need them
{.address = 0xA2, .symbol = ""},
{.address = 0xA3, .symbol = ""},
{.address = 0xA5, .symbol = "·"},
{.address = 0xDF, .symbol = "°"},
// there is also some greek and obscure diacritics
{.address = 0xE0, .symbol = "α"},
{.address = 0xE1, .symbol = "ä"},
{.address = 0xE2, .symbol = "β"},
{.address = 0xE3, .symbol = "ϵ"},
{.address = 0xE4, .symbol = "μ"},
{.address = 0xE5, .symbol = "σ"},
{.address = 0xE6, .symbol = "ρ"},
{.address = 0xE8, .symbol = ""},
// E9 is nice superscript minus one, but it's not in Unicode :(
{.address = 0xEC, .symbol = "¢"},
{.address = 0xED, .symbol = "£"},
{.address = 0xEE, .symbol = "ñ"},
{.address = 0xEF, .symbol = "ö"},
{.address = 0xF2, .symbol = "Θ"},
{.address = 0xF3, .symbol = ""},
{.address = 0xF4, .symbol = "Ω"},
{.address = 0xF5, .symbol = "Ü"},
{.address = 0xF6, .symbol = "Σ"},
{.address = 0xF7, .symbol = "π"},
{.address = 0xFC, .symbol = ""},
{.address = 0xFD, .symbol = "÷"},
{.address = 0xFF, .symbol = ""},
{}, /* end mark */
};