diff --git a/radio/src/lcd.cpp b/radio/src/lcd.cpp index 4e742506d..8d0e9cb69 100644 --- a/radio/src/lcd.cpp +++ b/radio/src/lcd.cpp @@ -204,7 +204,7 @@ void lcd_putcAtt(xcoord_t x, uint8_t y, const unsigned char c, LcdFlags flags) } else if (flags & SMLSIZE) { q = (c < 0xc0 ? &font_4x6[(c-0x20)*5] : &font_4x6_extra[(c-0xc0)*5]); - lcdPutPattern(x, y, q, 4, 6, flags); + lcdPutPattern(x, y, q, 5, 6, flags); } else if (flags & TINSIZE) { q = &font_3x5[((uint16_t)c-0x2d)*3]; diff --git a/radio/src/tests/gtests.cpp b/radio/src/tests/gtests.cpp index 7767eb849..ff89299b8 100644 --- a/radio/src/tests/gtests.cpp +++ b/radio/src/tests/gtests.cpp @@ -1069,6 +1069,15 @@ TEST(Lcd, Line_Wrap) EXPECT_TRUE(checkScreenshot("line_wrap")); } +#if defined(CPUARM) +TEST(Lcd, Smlsize_putsStrIdx) +{ + lcd_clear(); + putsStrIdx(0, 0, "FM", 0, SMLSIZE); + EXPECT_TRUE(checkScreenshot("smlsize_putsstridx")); +} +#endif + int main(int argc, char **argv) { QCoreApplication app(argc, argv); diff --git a/radio/src/tests/smlsize_putsstridx_212x64.png b/radio/src/tests/smlsize_putsstridx_212x64.png new file mode 100644 index 000000000..6bca7494c Binary files /dev/null and b/radio/src/tests/smlsize_putsstridx_212x64.png differ