add glyphs for 32x128
This commit is contained in:
parent
97284fcf87
commit
689f4ef606
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
//WLED custom fonts, curtesy of @Benji (https://github.com/Proto-molecule)
|
//WLED custom fonts, curtesy of @Benji (https://github.com/Proto-molecule)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Fontname: wled_logo_akemi_4x4
|
Fontname: wled_logo_akemi_4x4
|
||||||
Copyright:
|
Copyright:
|
||||||
@ -133,6 +134,33 @@ const uint8_t u8x8_4LineDisplay_WLED_icons_1x1[172] U8X8_FONT_SECTION("u8x8_4Lin
|
|||||||
"\311\1\2\0\0~<<\30\30\0";
|
"\311\1\2\0\0~<<\30\30\0";
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
Fontname: 4LineDisplay_WLED_icons_2x1
|
||||||
|
Copyright: Created with Fony 1.4.7
|
||||||
|
Glyphs: 11/11
|
||||||
|
BBX Build Mode: 3
|
||||||
|
* 1 = sun
|
||||||
|
* 2 = skip forward
|
||||||
|
* 3 = fire
|
||||||
|
* 4 = custom palette
|
||||||
|
* 5 = puzzle piece
|
||||||
|
* 6 = moon
|
||||||
|
* 7 = brush
|
||||||
|
* 8 = contrast
|
||||||
|
* 9 = power-standby
|
||||||
|
* 10 = star
|
||||||
|
* 11 = heart
|
||||||
|
* 12 = Akemi
|
||||||
|
*/
|
||||||
|
const uint8_t u8x8_4LineDisplay_WLED_icons_2x1[196] U8X8_FONT_SECTION("u8x8_4LineDisplay_WLED_icons_2x1") =
|
||||||
|
"\1\14\2\1\20\20BB\30\30<\275\275<\30\30BB\20\20\377~<<\70\30\20\0\377~<<"
|
||||||
|
"\70\30\20\0\60p\370\374\77>\236\214\300\340\370\360\360\340\0\0\34<v\326\336\375\375\377\277\275=>"
|
||||||
|
"\66\66<\34\374\374\374\374~\77\77~\374\374\374\374 pp \30<~~\377\370\360\360\340\340\340\340"
|
||||||
|
"@@ \0\200\300\340\360\360p`\10\34\34\16\6\6\3\0\0\70|~\376\376\377\377\377\201\201\203\202"
|
||||||
|
"\302Fl\70\70xL\204\200\200\217\217\200\200\204Lx\70\0\0\10\10\30\330x|\77\77|x\330\30"
|
||||||
|
"\10\10\0\0\14\36\37\77\77\177~\374\374~\177\77\77\37\36\14\24\64 \60>\26\367\33\375\36>\60"
|
||||||
|
" \64\24";
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Fontname: 4LineDisplay_WLED_icons_2x
|
Fontname: 4LineDisplay_WLED_icons_2x
|
||||||
@ -167,6 +195,56 @@ const uint8_t u8x8_4LineDisplay_WLED_icons_2x2[389] U8X8_FONT_SECTION("u8x8_4Lin
|
|||||||
"\7\3\1\0\200\200\0\0\0\360\370\374<\334\330\360\0\0\200\200\2\2\14\30\24\37\6~\7\177\7\37"
|
"\7\3\1\0\200\200\0\0\0\360\370\374<\334\330\360\0\0\200\200\2\2\14\30\24\37\6~\7\177\7\37"
|
||||||
"\24\30\16\2";
|
"\24\30\16\2";
|
||||||
|
|
||||||
|
/*
|
||||||
|
Fontname: 4LineDisplay_WLED_icons_3x
|
||||||
|
Copyright: Created with Fony 1.4.7
|
||||||
|
Glyphs: 11/11
|
||||||
|
BBX Build Mode: 3
|
||||||
|
* 1 = sun
|
||||||
|
* 2 = skip forward
|
||||||
|
* 3 = fire
|
||||||
|
* 4 = custom palette
|
||||||
|
* 5 = puzzle piece
|
||||||
|
* 6 = moon
|
||||||
|
* 7 = brush
|
||||||
|
* 8 = contrast
|
||||||
|
* 9 = power-standby
|
||||||
|
* 10 = star
|
||||||
|
* 11 = heart
|
||||||
|
* 12 = Akemi
|
||||||
|
*/
|
||||||
|
const uint8_t u8x8_4LineDisplay_WLED_icons_3x3[868] U8X8_FONT_SECTION("u8x8_4LineDisplay_WLED_icons_3x3") =
|
||||||
|
"\1\14\3\3\0\0\34\34\34\0\200\300\300\340\347\347\347\340\300\300\200\0\34\34\34\0\0\0\34\34\34\0"
|
||||||
|
"\0>\377\377\377\377\377\377\377\377\377\377\377>\0\0\34\34\34\0\0\0\16\16\16\0\0\1\1\3ss"
|
||||||
|
"s\3\1\1\0\0\34\34\34\0\0\0\370\360\340\300\300\200\0\0\0\0\0\0\370\360\340\300\300\200\0\0"
|
||||||
|
"\0\0\0\0\377\377\377\377\377\377\377\376~<\70\20\377\377\377\377\377\377\377\376~<\70\20\37\17\17\7"
|
||||||
|
"\3\1\1\0\0\0\0\0\37\17\17\7\3\1\1\0\0\0\0\0\0\0\0\0\0\300\361\376\374\370\360\300"
|
||||||
|
"\0\0\0\0\0\0\0\0\0\0\0\0\300\370\374\376\377\377\377\377\377\177\77\17\6\0\200\342\374\370\360\340"
|
||||||
|
"\200\0\0\0\1\17\37\77\177\377\7\3\0\200\360\370\374\376\377\377\377\377\377\377\77\0\0\0\0\200\340\360"
|
||||||
|
"\370\370\374\316\206\206\317\377\377\377\317\206\206\316\374\374\370\360\340\200<\377\377\371\360py\377\377\377\377\377"
|
||||||
|
"\377\377\377\377\377\377\363\341\341\363\377\177\0\1\7\17\34\70x|\377\377\377\377\367\363c\3\3\3\3\1"
|
||||||
|
"\1\1\0\0\300\300\300\300\300\300\300\316\377\377\377\316\300\300\300\300\300\300\0\0\0\0\0\0\377\377\377\377"
|
||||||
|
"\377\377\377\377\377\377\377\377\377\377\377\377\377\377\300\300\340\340\340\300\377\377\377\377\377\377\377\307\3\3\3\307"
|
||||||
|
"\377\377\377\377\377\377\1\1\3\3\3\1\0\300\340\370\374\374\376\377\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||||
|
"\0\0\0\0>\377\377\377\377\377\377\377\377\374\360\340\300\300\200\200\0\0\0\0\0\0\200\200\0\1\7\17"
|
||||||
|
"\37\37\77\177\177\177\177\377\377\377\177\177\177\77\77\37\17\7\3\0\0\0\0\0\0\0\0\0\0\0\0\0"
|
||||||
|
"\200\200\300\340\340\360\370\374|>\17\6\0\0\0\0\0\340\340\360\360\360\342\303\7\17\37\77\37\7\3\1"
|
||||||
|
"\0\0\0\0\0\200\340\360\377\377\377\377\177\77\37\17\0\0\0\0\0\0\0\0\0\0\0\0\0\200\340\360"
|
||||||
|
"\370\374\374\376\376\376\377\377\7\7\7\6\16\16\34\70\360\340\300\0|\377\377\377\377\377\377\377\377\377\377\377"
|
||||||
|
"\0\0\0\0\0\0\0\0\0\377\377\377\0\3\7\17\37\77\177\177\377\377\377\377\340\340\340\340pp\70<"
|
||||||
|
"\37\17\3\0\0\0\200\300\340\340\300\0\0\377\377\377\0\0\300\340\340\300\200\0\0\0\0\0\370\376\377\17"
|
||||||
|
"\3\0\0\0\0\17\17\17\0\0\0\0\0\3\17\377\376\370\0\0\0\7\17\37<xp\340\340\340\340\340"
|
||||||
|
"\340\340\340px<\37\17\3\0\0\0\0\0\0\0\0\0\0\0\0\0\300\370\376\370\200\0\0\0\0\0"
|
||||||
|
"\0\0\0\0\0\2\6\16\36\36>~\376\376\377\377\377\377\377\376\376~>\36\16\6\6\2\0\0\0\0"
|
||||||
|
"\0\300x<\37\17\17\7\3\7\17\17\37<x\300\0\0\0\0\200\300\340\360\360\370\370\370\360\360\340\300"
|
||||||
|
"\200\300\340\360\360\370\370\370\360\360\340\200\17\37\77\177\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377\377"
|
||||||
|
"\177\77\37\17\0\0\0\0\0\1\3\7\17\37\77\177\177\77\37\17\7\3\1\0\0\0\0\0\0\0\0\0"
|
||||||
|
"\0\0\0\200\300\340\360\370\370\370p`\300\200\0\0\0\0\0\0&,f\300\0\0\300\377\377\357\357\357"
|
||||||
|
"\363\370\377\377\377\377\300\0\0\306l&\0\0\0\1\7\16\14\6\7\1\177\177\0\177\177\1\7\6\14\16"
|
||||||
|
"\7\1\0";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Fontname: 4LineDisplay_WLED_icons_4x
|
Fontname: 4LineDisplay_WLED_icons_4x
|
||||||
Copyright:
|
Copyright:
|
||||||
|
@ -136,6 +136,7 @@ class FourLineDisplayUsermod : public Usermod {
|
|||||||
bool clockMode = false; // display clock
|
bool clockMode = false; // display clock
|
||||||
bool showSeconds = true; // display clock with seconds
|
bool showSeconds = true; // display clock with seconds
|
||||||
bool enabled = true;
|
bool enabled = true;
|
||||||
|
bool contrastFixForType3 = false;
|
||||||
|
|
||||||
// Next variables hold the previous known values to determine if redraw is
|
// Next variables hold the previous known values to determine if redraw is
|
||||||
// required.
|
// required.
|
||||||
@ -175,6 +176,7 @@ class FourLineDisplayUsermod : public Usermod {
|
|||||||
static const char _clockMode[];
|
static const char _clockMode[];
|
||||||
static const char _showSeconds[];
|
static const char _showSeconds[];
|
||||||
static const char _busClkFrequency[];
|
static const char _busClkFrequency[];
|
||||||
|
static const char _contrastFixForType3[];
|
||||||
|
|
||||||
// If display does not work or looks corrupted check the
|
// If display does not work or looks corrupted check the
|
||||||
// constructor reference:
|
// constructor reference:
|
||||||
@ -215,8 +217,13 @@ class FourLineDisplayUsermod : public Usermod {
|
|||||||
lineHeight = 2;
|
lineHeight = 2;
|
||||||
break;
|
break;
|
||||||
case SSD1306_64:
|
case SSD1306_64:
|
||||||
if (!isHW) u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_NONAME_SW_I2C(ioPin[0], ioPin[1]); // SCL, SDA, reset
|
if (contrastFixForType3){
|
||||||
else u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_NONAME_HW_I2C(U8X8_PIN_NONE, ioPin[0], ioPin[1]); // Pins are Reset, SCL, SDA
|
if (!isHW) u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_VCOMH0_SW_I2C(ioPin[0], ioPin[1]); // SCL, SDA, reset
|
||||||
|
else u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_VCOMH0_HW_I2C(U8X8_PIN_NONE, ioPin[0], ioPin[1]); // Pins are Reset, SCL, SDA
|
||||||
|
}else{
|
||||||
|
if (!isHW) u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_NONAME_SW_I2C(ioPin[0], ioPin[1]); // SCL, SDA, reset
|
||||||
|
else u8x8 = (U8X8 *) new U8X8_SSD1306_128X64_NONAME_HW_I2C(U8X8_PIN_NONE, ioPin[0], ioPin[1]); // Pins are Reset, SCL, SDA
|
||||||
|
}
|
||||||
lineHeight = 2;
|
lineHeight = 2;
|
||||||
break;
|
break;
|
||||||
case SSD1305:
|
case SSD1305:
|
||||||
@ -492,11 +499,11 @@ class FourLineDisplayUsermod : public Usermod {
|
|||||||
drawGlyph(14, 2*lineHeight, 4, u8x8_4LineDisplay_WLED_icons_2x2, true); //palette icon
|
drawGlyph(14, 2*lineHeight, 4, u8x8_4LineDisplay_WLED_icons_2x2, true); //palette icon
|
||||||
drawGlyph(14, 3*lineHeight, 5, u8x8_4LineDisplay_WLED_icons_2x2, true); //effect icon
|
drawGlyph(14, 3*lineHeight, 5, u8x8_4LineDisplay_WLED_icons_2x2, true); //effect icon
|
||||||
} else {
|
} else {
|
||||||
drawGlyph( 2, 0, 1, u8x8_4LineDisplay_WLED_icons_1x1); //brightness icon
|
drawGlyph( 1, 0, 1, u8x8_4LineDisplay_WLED_icons_2x1); //brightness icon
|
||||||
drawGlyph( 6, 0, 2, u8x8_4LineDisplay_WLED_icons_1x1); //speed icon
|
drawGlyph( 5, 0, 2, u8x8_4LineDisplay_WLED_icons_2x1); //speed icon
|
||||||
drawGlyph(10, 0, 3, u8x8_4LineDisplay_WLED_icons_1x1); //intensity icon
|
drawGlyph(9, 0, 3, u8x8_4LineDisplay_WLED_icons_2x1); //intensity icon
|
||||||
drawGlyph(15, 2, 4, u8x8_4LineDisplay_WLED_icons_1x1); //palette icon
|
drawGlyph(14, 2, 4, u8x8_4LineDisplay_WLED_icons_2x1); //palette icon
|
||||||
drawGlyph(15, 3, 5, u8x8_4LineDisplay_WLED_icons_1x1); //effect icon
|
drawGlyph(14, 3, 5, u8x8_4LineDisplay_WLED_icons_2x1); //effect icon
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -569,11 +576,11 @@ class FourLineDisplayUsermod : public Usermod {
|
|||||||
drawString(1, row*lineHeight+1, smallBuffer2, true);
|
drawString(1, row*lineHeight+1, smallBuffer2, true);
|
||||||
}
|
}
|
||||||
} else { // use this code for 4 ling displays
|
} else { // use this code for 4 ling displays
|
||||||
char smallBuffer3[MAX_MODE_LINE_SPACE+1];
|
char smallBuffer3[MAX_MODE_LINE_SPACE];
|
||||||
uint8_t smallChars3 = 0;
|
uint8_t smallChars3 = 0;
|
||||||
if (printedChars > MAX_MODE_LINE_SPACE) printedChars = MAX_MODE_LINE_SPACE;
|
if (printedChars > MAX_MODE_LINE_SPACE-1) printedChars = MAX_MODE_LINE_SPACE-1;
|
||||||
for (uint8_t i = 0; i < printedChars; i++) smallBuffer3[smallChars3++] = lineBuffer[i];
|
for (uint8_t i = 0; i < printedChars; i++) smallBuffer3[smallChars3++] = lineBuffer[i];
|
||||||
for (; smallChars3 < (MAX_MODE_LINE_SPACE); smallChars3++) smallBuffer3[smallChars3]=' ';
|
for (; smallChars3 < (MAX_MODE_LINE_SPACE-1); smallChars3++) smallBuffer3[smallChars3]=' ';
|
||||||
smallBuffer3[smallChars3] = 0;
|
smallBuffer3[smallChars3] = 0;
|
||||||
drawString(1, row*lineHeight, smallBuffer3, true);
|
drawString(1, row*lineHeight, smallBuffer3, true);
|
||||||
}
|
}
|
||||||
@ -609,8 +616,8 @@ class FourLineDisplayUsermod : public Usermod {
|
|||||||
if (!wakeDisplay()) clear();
|
if (!wakeDisplay()) clear();
|
||||||
// Print the overlay
|
// Print the overlay
|
||||||
if (glyphType>0 && glyphType<255) {
|
if (glyphType>0 && glyphType<255) {
|
||||||
if (lineHeight == 2) drawGlyph(5, 0, glyphType, u8x8_4LineDisplay_WLED_icons_6x6, true);
|
if (lineHeight == 2) drawGlyph(5, 0, glyphType, u8x8_4LineDisplay_WLED_icons_6x6, true);
|
||||||
else drawGlyph(7, lineHeight, glyphType, u8x8_4LineDisplay_WLED_icons_2x2, true);
|
else drawGlyph(6, 0, glyphType, u8x8_4LineDisplay_WLED_icons_3x3, true);
|
||||||
}
|
}
|
||||||
if (line1) {
|
if (line1) {
|
||||||
String buf = line1;
|
String buf = line1;
|
||||||
@ -846,6 +853,7 @@ class FourLineDisplayUsermod : public Usermod {
|
|||||||
top["help4Type"] = F("1=SSD1306,2=SH1106,3=SSD1306_128x64,4=SSD1305,5=SSD1305_128x64,6=SSD1306_SPI,7=SSD1306_SPI_128x64"); // help for Settings page
|
top["help4Type"] = F("1=SSD1306,2=SH1106,3=SSD1306_128x64,4=SSD1305,5=SSD1305_128x64,6=SSD1306_SPI,7=SSD1306_SPI_128x64"); // help for Settings page
|
||||||
top[FPSTR(_flip)] = (bool) flip;
|
top[FPSTR(_flip)] = (bool) flip;
|
||||||
top[FPSTR(_contrast)] = contrast;
|
top[FPSTR(_contrast)] = contrast;
|
||||||
|
top[FPSTR(_contrastFixForType3)] = (bool) contrastFixForType3;
|
||||||
top[FPSTR(_refreshRate)] = refreshRate;
|
top[FPSTR(_refreshRate)] = refreshRate;
|
||||||
top[FPSTR(_screenTimeOut)] = screenTimeout/1000;
|
top[FPSTR(_screenTimeOut)] = screenTimeout/1000;
|
||||||
top[FPSTR(_sleepMode)] = (bool) sleepMode;
|
top[FPSTR(_sleepMode)] = (bool) sleepMode;
|
||||||
@ -886,6 +894,7 @@ class FourLineDisplayUsermod : public Usermod {
|
|||||||
sleepMode = top[FPSTR(_sleepMode)] | sleepMode;
|
sleepMode = top[FPSTR(_sleepMode)] | sleepMode;
|
||||||
clockMode = top[FPSTR(_clockMode)] | clockMode;
|
clockMode = top[FPSTR(_clockMode)] | clockMode;
|
||||||
showSeconds = top[FPSTR(_showSeconds)] | showSeconds;
|
showSeconds = top[FPSTR(_showSeconds)] | showSeconds;
|
||||||
|
contrastFixForType3 = top[FPSTR(_contrastFixForType3)] | contrastFixForType3;
|
||||||
if (newType == SSD1306_SPI || newType == SSD1306_SPI64)
|
if (newType == SSD1306_SPI || newType == SSD1306_SPI64)
|
||||||
ioFrequency = min(20000, max(500, (int)(top[FPSTR(_busClkFrequency)] | ioFrequency/1000))) * 1000; // limit frequency
|
ioFrequency = min(20000, max(500, (int)(top[FPSTR(_busClkFrequency)] | ioFrequency/1000))) * 1000; // limit frequency
|
||||||
else
|
else
|
||||||
@ -946,3 +955,4 @@ const char FourLineDisplayUsermod::_sleepMode[] PROGMEM = "sleepMode";
|
|||||||
const char FourLineDisplayUsermod::_clockMode[] PROGMEM = "clockMode";
|
const char FourLineDisplayUsermod::_clockMode[] PROGMEM = "clockMode";
|
||||||
const char FourLineDisplayUsermod::_showSeconds[] PROGMEM = "showSeconds";
|
const char FourLineDisplayUsermod::_showSeconds[] PROGMEM = "showSeconds";
|
||||||
const char FourLineDisplayUsermod::_busClkFrequency[] PROGMEM = "i2c-freq-kHz";
|
const char FourLineDisplayUsermod::_busClkFrequency[] PROGMEM = "i2c-freq-kHz";
|
||||||
|
const char FourLineDisplayUsermod::_contrastFixForType3[] PROGMEM = "contrastFixForType3";
|
||||||
|
Loading…
Reference in New Issue
Block a user