longer segment names

* introducing WLED_MAX_SEGNAME_LEN from upstream
* default: max name length = 48
* hopefully found all places where the segment name length was hardcoded (32, 33, 34)
* some comments still refer to "32" but wtf
This commit is contained in:
Frank
2025-11-20 23:49:26 +01:00
parent dcdc05b592
commit e63dc7e71e
6 changed files with 31 additions and 25 deletions

View File

@@ -6814,8 +6814,8 @@ uint16_t mode_2Dscrollingtext(void) {
case 5: letterWidth = 5; letterHeight = 12; break;
}
const int yoffset = map(SEGMENT.intensity, 0, 255, -rows/2, rows/2) + (rows-letterHeight)/2;
char text[33] = {'\0'}; // ToDO use WLED_MAX_SEGNAME_LEN + 1
unsigned maxLen = (SEGMENT.name) ? min(32, (int)strlen(SEGMENT.name)) : 0; // WLEDMM make it robust against too long segment names, ToDO use WLED_MAX_SEGNAME_LEN
char text[WLED_MAX_SEGNAME_LEN+1] = {'\0'};
unsigned maxLen = (SEGMENT.name) ? min(WLED_MAX_SEGNAME_LEN, (int)strlen(SEGMENT.name)) : 0; // WLEDMM make it robust against too long segment names
#if !defined(WLED_ENABLE_FULL_FONTS)
if (SEGMENT.name) for (size_t i=0,j=0; i<maxLen; i++) if (SEGMENT.name[i]>31 && SEGMENT.name[i]<128) text[j++] = SEGMENT.name[i]; // unicode killer