From 5b633b3ac4a7ed8fe38a86f67a01312d13c63534 Mon Sep 17 00:00:00 2001 From: tiijay Date: Fri, 7 Nov 2025 14:42:45 +0100 Subject: [PATCH] v.0.1.1 rm fontHeight_NxM --- lib/Fonts/src/font_16x16.cpp | 5 ----- lib/Fonts/src/font_16x16.h | 1 - lib/Fonts/src/font_5x7.cpp | 5 ----- lib/Fonts/src/font_5x7.h | 1 - lib/Fonts/src/font_8x8.cpp | 5 ----- lib/Fonts/src/font_8x8.h | 1 - lib/LedMatrix/src/LedMatrix.cpp | 8 +++++--- lib/LedMatrix/src/LedMatrix.h | 4 ++-- src/main.cpp | 25 ++++++++++++++++--------- 9 files changed, 23 insertions(+), 32 deletions(-) diff --git a/lib/Fonts/src/font_16x16.cpp b/lib/Fonts/src/font_16x16.cpp index ed638e2..d727b59 100644 --- a/lib/Fonts/src/font_16x16.cpp +++ b/lib/Fonts/src/font_16x16.cpp @@ -10,8 +10,3 @@ const std::vector &getFontChar_16x16(char c) } return font_16x16.at(' '); // Fallback to space } - -const uint8_t fontHeight_16x16() -{ - return 16; -} diff --git a/lib/Fonts/src/font_16x16.h b/lib/Fonts/src/font_16x16.h index d7376b5..bc21763 100644 --- a/lib/Fonts/src/font_16x16.h +++ b/lib/Fonts/src/font_16x16.h @@ -115,6 +115,5 @@ const std::map> font_16x16 = { // Declarations only const std::vector &getFontChar_16x16(char c); -const uint8_t fontHeight_16x16(); #endif \ No newline at end of file diff --git a/lib/Fonts/src/font_5x7.cpp b/lib/Fonts/src/font_5x7.cpp index 85120a7..81b89bc 100644 --- a/lib/Fonts/src/font_5x7.cpp +++ b/lib/Fonts/src/font_5x7.cpp @@ -10,8 +10,3 @@ const std::vector &getFontChar_5x7(char c) } return font_5x7.at(' '); // Fallback to space } - -const uint8_t fontHeight_5x7() -{ - return 7; -} diff --git a/lib/Fonts/src/font_5x7.h b/lib/Fonts/src/font_5x7.h index 9ce1c41..2f4ab30 100644 --- a/lib/Fonts/src/font_5x7.h +++ b/lib/Fonts/src/font_5x7.h @@ -117,6 +117,5 @@ const std::map> font_5x7 = { // Declarations only const vector &getFontChar_5x7(char c); -const uint8_t fontHeight_5x7(); #endif \ No newline at end of file diff --git a/lib/Fonts/src/font_8x8.cpp b/lib/Fonts/src/font_8x8.cpp index 96ce6d5..52efada 100644 --- a/lib/Fonts/src/font_8x8.cpp +++ b/lib/Fonts/src/font_8x8.cpp @@ -10,8 +10,3 @@ const std::vector &getFontChar_8x8(char c) } return font_8x8.at(' '); // Fallback to space } - -const uint8_t fontHeight_8x8() -{ - return 8; -} diff --git a/lib/Fonts/src/font_8x8.h b/lib/Fonts/src/font_8x8.h index df0cb07..11b79e6 100644 --- a/lib/Fonts/src/font_8x8.h +++ b/lib/Fonts/src/font_8x8.h @@ -112,6 +112,5 @@ const std::map> font_8x8 = { // Declarations only const std::vector &getFontChar_8x8(char c); -const uint8_t fontHeight_8x8(); #endif \ No newline at end of file diff --git a/lib/LedMatrix/src/LedMatrix.cpp b/lib/LedMatrix/src/LedMatrix.cpp index b065a88..c6e5afc 100644 --- a/lib/LedMatrix/src/LedMatrix.cpp +++ b/lib/LedMatrix/src/LedMatrix.cpp @@ -59,17 +59,19 @@ void LedMatrix::drawPixel(int x, int y, CRGB color) uint8_t LedMatrix::drawChar(int x, int y, char c, CRGB color) { #ifdef USE_FONT_5x7 + const u_int8_t font_width = 5; const std::map> &font = font_5x7; #elifdef USE_FONT_8x8 + const u_int8_t font_width = 8; const std::map> &font = font_8x8; #elifdef USE_FONT_16x16 - const std::map> &font = font_16x16; + const u_int8_t font_width = 16; + const std::map> &font = font_16x16; #endif const vector &fontData_ = getFontChar(c, font); const uint8_t *fontData = fontData_.data(); const u_int8_t char_width_pixel = charWidth(fontData); const u_int8_t font_height = getFontHeight(); - const u_int8_t font_width = 5; for (u_int8_t row = 0; row < font_height; row++) { @@ -118,7 +120,7 @@ const uint8_t LedMatrix::getTextWidth(const char *text) #elifdef USE_FONT_8x8 const std::map> &font = font_8x8; #elifdef USE_FONT_16x16 - const std::map> &font = font_16x16; + const std::map> &font = font_16x16; #endif const vector &fontData_ = getFontChar(text[i], font); diff --git a/lib/LedMatrix/src/LedMatrix.h b/lib/LedMatrix/src/LedMatrix.h index 00dfb62..125c597 100644 --- a/lib/LedMatrix/src/LedMatrix.h +++ b/lib/LedMatrix/src/LedMatrix.h @@ -3,8 +3,8 @@ using namespace std; -#define USE_FONT_5x7 -// #define USE_FONT_8x8 +// #define USE_FONT_5x7 +#define USE_FONT_8x8 // #define USE_FONT_16x16 #include diff --git a/src/main.cpp b/src/main.cpp index da4c84d..608ffea 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,23 +6,27 @@ LedMatrix matrix; +#ifdef USE_FONT_5x7 +const uint8_t _fontWidthPixel = 5; +#elifdef USE_FONT_8x8 +const uint8_t _fontWidthPixel = 8; +#elifdef USE_FONT_16x16 +const uint8_t _fontWidthPixel = 16; +#endif + void printCharMatrixSimple(char c) { - matrix.drawText(58, 56, &c, CRGB::YellowGreen); - matrix.show(); - #ifdef USE_FONT_5x7 const vector &fontData_ = getFontChar_5x7(c); - const u_int8_t font_height = fontHeight_5x7(); + const u_int8_t font_height = 7; #elifdef USE_FONT_8x8 const vector &fontData_ = getFontChar_8x8(c); - const u_int8_t font_height = fontHeight_8x8(); + const u_int8_t font_height = 8; #elifdef USE_FONT_16x16 const vector &fontData_ = getFontChar_16x16(c); - const u_int8_t font_height = fontHeight_16x16(); + const u_int8_t font_height = 16; #endif const auto *fontData = fontData_.data(); - const u_int8_t char_width_pixel = 5; Serial.print("<"); Serial.print(c); @@ -33,9 +37,9 @@ void printCharMatrixSimple(char c) { uint16_t line = fontData[row]; - for (int col = 0; col < char_width_pixel; col++) + for (int col = 0; col < _fontWidthPixel; col++) { - if (line & (1 << ((char_width_pixel - 1) - col))) + if (line & (1 << ((_fontWidthPixel - 1) - col))) { mtrx += "•"; } @@ -47,6 +51,9 @@ void printCharMatrixSimple(char c) mtrx += "\n\r"; } Serial.println(mtrx); + + matrix.drawText(64 - font_height - 1, 64 - _fontWidthPixel - 1, &c, CRGB::YellowGreen); + matrix.show(); } void playWithBlinkLed()