mirror of
https://github.com/Ralim/IronOS.git
synced 2025-02-26 07:53:55 +00:00
Revert font table split for now
This commit is contained in:
@@ -54,7 +54,6 @@ private:
|
|||||||
bool inLeftHandedMode; // Whether the screen is in left or not (used for offsets in GRAM)
|
bool inLeftHandedMode; // Whether the screen is in left or not (used for offsets in GRAM)
|
||||||
bool displayOnOffState; // If the display is on or not
|
bool displayOnOffState; // If the display is on or not
|
||||||
uint8_t fontWidth, fontHeight;
|
uint8_t fontWidth, fontHeight;
|
||||||
uint16_t fontTableLength;
|
|
||||||
int16_t cursor_x, cursor_y;
|
int16_t cursor_x, cursor_y;
|
||||||
uint8_t displayOffset;
|
uint8_t displayOffset;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -54,7 +54,6 @@ OLED::OLED(I2C_HandleTypeDef* i2cHandle) {
|
|||||||
fontWidth = 12;
|
fontWidth = 12;
|
||||||
displayOffset = 0;
|
displayOffset = 0;
|
||||||
displayOnOffState = true;
|
displayOnOffState = true;
|
||||||
fontTableLength = sizeof(FONT_12);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -95,39 +94,37 @@ void OLED::drawChar(char c, char PrecursorCommand) {
|
|||||||
if (c < ' ')
|
if (c < ' ')
|
||||||
return;
|
return;
|
||||||
//We are left with
|
//We are left with
|
||||||
uint8_t* charPointer = 0;
|
uint8_t* charPointer;
|
||||||
//Fonts are offset to start at the space char.
|
//Fonts are offset to start at the space char.
|
||||||
/*
|
/*
|
||||||
* UTF font handling is done using the two input chars
|
* UTF font handling is done using the two input chars
|
||||||
* Precursor is the command char that is used to select the table
|
* Precursor is the command char that is used to select the table
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
uint16_t index = 0;
|
||||||
if (PrecursorCommand == 0)
|
if (PrecursorCommand == 0)
|
||||||
charPointer = ((uint8_t*) currentFont) + ((fontWidth * (fontHeight / 8)) * (c - ' '));
|
index = (c - ' ');
|
||||||
else {
|
else {
|
||||||
|
|
||||||
//This is for extended range
|
//This is for extended range
|
||||||
//We decode the precursor command to find the offset
|
//We decode the precursor command to find the offset
|
||||||
|
//Latin stats at 96
|
||||||
c -= 0x80;
|
c -= 0x80;
|
||||||
#ifdef INCLUDE_FONT_LATIN
|
|
||||||
if (PrecursorCommand == 0xC3)
|
if (PrecursorCommand == 0xC3)
|
||||||
charPointer = ((uint8_t*) FONT_12_LATIN) + ((fontWidth * (fontHeight / 8)) * (32 + c));
|
index = (128) + (c);
|
||||||
else if (PrecursorCommand == 0xC2)
|
else if (PrecursorCommand == 0xC2)
|
||||||
charPointer = ((uint8_t*) FONT_12_LATIN) + ((fontWidth * (fontHeight / 8)) * (c));
|
index = (96) + (c);
|
||||||
#endif
|
else if (PrecursorCommand == 0xD0)
|
||||||
#ifdef INCLUDE_FONT_CYRILLIC
|
index = (192) + (c);
|
||||||
if (PrecursorCommand == 0xD0)
|
|
||||||
charPointer = ((uint8_t*) FONT_12_Cyrillic) + ((fontWidth * (fontHeight / 8)) * (c));
|
|
||||||
else if (PrecursorCommand == 0xD1)
|
else if (PrecursorCommand == 0xD1)
|
||||||
charPointer = ((uint8_t*) FONT_12_Cyrillic) + ((fontWidth * (fontHeight / 8)) * (64 + c));
|
index = (256) + (c);
|
||||||
#endif
|
else
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
charPointer = ((uint8_t*) currentFont) + ((fontWidth * (fontHeight / 8)) * index);
|
||||||
|
|
||||||
if (charPointer)
|
if (cursor_x >= 0 && cursor_x < 96)
|
||||||
if (cursor_x >= 0 && cursor_x < 96)
|
drawArea(cursor_x, cursor_y, fontWidth, fontHeight, charPointer);
|
||||||
drawArea(cursor_x, cursor_y, fontWidth, fontHeight, charPointer);
|
|
||||||
cursor_x += fontWidth;
|
cursor_x += fontWidth;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,17 +179,14 @@ void OLED::setFont(uint8_t fontNumber) {
|
|||||||
currentFont = ASCII6x8;
|
currentFont = ASCII6x8;
|
||||||
fontHeight = 8;
|
fontHeight = 8;
|
||||||
fontWidth = 6;
|
fontWidth = 6;
|
||||||
fontTableLength = sizeof(ASCII6x8);
|
|
||||||
} else if (fontNumber == 2) {
|
} else if (fontNumber == 2) {
|
||||||
currentFont = ExtraFontChars;
|
currentFont = ExtraFontChars;
|
||||||
fontHeight = 16;
|
fontHeight = 16;
|
||||||
fontWidth = 12;
|
fontWidth = 12;
|
||||||
fontTableLength = sizeof(ExtraFontChars);
|
|
||||||
} else {
|
} else {
|
||||||
currentFont = FONT_12;
|
currentFont = FONT_12;
|
||||||
fontHeight = 16;
|
fontHeight = 16;
|
||||||
fontWidth = 12;
|
fontWidth = 12;
|
||||||
fontTableLength = sizeof(FONT_12);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -435,7 +435,7 @@ static int gui_SolderingSleepingMode() {
|
|||||||
else
|
else
|
||||||
lcd.print("C");
|
lcd.print("C");
|
||||||
|
|
||||||
lcd.print(" |");
|
lcd.print(" ");
|
||||||
lcd.printNumber(getInputVoltageX10(systemSettings.voltageDiv) / 10, 2);
|
lcd.printNumber(getInputVoltageX10(systemSettings.voltageDiv) / 10, 2);
|
||||||
lcd.drawChar('.');
|
lcd.drawChar('.');
|
||||||
lcd.printNumber(getInputVoltageX10(systemSettings.voltageDiv) % 10, 1);
|
lcd.printNumber(getInputVoltageX10(systemSettings.voltageDiv) % 10, 1);
|
||||||
|
|||||||
@@ -114,8 +114,7 @@ const uint8_t FONT_12[]={
|
|||||||
0x00,0x00,0x03,0x03,0x03,0x07,0x7E,0xFC,0xC0,0x80,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x70,0x3F,0x1F,0x01,0x00,0x00,0x00,//}
|
0x00,0x00,0x03,0x03,0x03,0x07,0x7E,0xFC,0xC0,0x80,0x00,0x00,0x00,0x00,0x60,0x60,0x60,0x70,0x3F,0x1F,0x01,0x00,0x00,0x00,//}
|
||||||
0x00,0x10,0x18,0x0C,0x04,0x0C,0x18,0x10,0x18,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~
|
0x00,0x10,0x18,0x0C,0x04,0x0C,0x18,0x10,0x18,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//~
|
||||||
0x00,0x00,0x80,0xC0,0x60,0x30,0x30,0x60,0xC0,0x80,0x00,0x00,0x00,0x0F,0x0F,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0F,0x0F,0x00,//Up triangle
|
0x00,0x00,0x80,0xC0,0x60,0x30,0x30,0x60,0xC0,0x80,0x00,0x00,0x00,0x0F,0x0F,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0F,0x0F,0x00,//Up triangle
|
||||||
};
|
|
||||||
const uint8_t FONT_12_LATIN[] = {
|
|
||||||
/*Start extended Latin range*/
|
/*Start extended Latin range*/
|
||||||
//V96
|
//V96
|
||||||
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//A0 (blank)
|
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//A0 (blank)
|
||||||
@@ -220,8 +219,6 @@ const uint8_t FONT_12_LATIN[] = {
|
|||||||
0x00,0x00,0x03,0xFF,0xFF,0x1B,0x18,0x18,0xF8,0xF0,0x00,0x00,0x00,0x00,0x30,0x3F,0x3F,0x36,0x06,0x06,0x07,0x03,0x00,0x00,//FE//254
|
0x00,0x00,0x03,0xFF,0xFF,0x1B,0x18,0x18,0xF8,0xF0,0x00,0x00,0x00,0x00,0x30,0x3F,0x3F,0x36,0x06,0x06,0x07,0x03,0x00,0x00,//FE//254
|
||||||
0x00,0x00,0x60,0xEC,0x8C,0x00,0x00,0x8C,0xEC,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00,//FF//255
|
0x00,0x00,0x60,0xEC,0x8C,0x00,0x00,0x8C,0xEC,0x60,0x00,0x00,0x00,0x00,0x00,0x81,0xE7,0x7E,0x1E,0x07,0x01,0x00,0x00,0x00,//FF//255
|
||||||
//V192
|
//V192
|
||||||
};
|
|
||||||
const uint8_t FONT_12_Cyrillic[] = {
|
|
||||||
/* Cyrillic Glyphs */
|
/* Cyrillic Glyphs */
|
||||||
0x00,0xFC,0xFC,0x8D,0x8F,0x8E,0x8C,0x8C,0x8C,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // Ѐ d0 80
|
0x00,0xFC,0xFC,0x8D,0x8F,0x8E,0x8C,0x8C,0x8C,0x0C,0x0C,0x00,0x00,0x3F,0x3F,0x31,0x31,0x31,0x31,0x31,0x31,0x30,0x30,0x00, // Ѐ d0 80
|
||||||
0x00,0xFE,0xFE,0xC7,0xC7,0xC6,0xC6,0xC7,0xC7,0x06,0x06,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // Ё d0 81
|
0x00,0xFE,0xFE,0xC7,0xC7,0xC6,0xC6,0xC7,0xC7,0x06,0x06,0x00,0x00,0x3F,0x3F,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x30,0x00, // Ё d0 81
|
||||||
|
|||||||
Reference in New Issue
Block a user