Для начала массив надо немного переделать
uint8_t periodDisplay[6] = {6,2,2,2,2,255};
255 - это как бы конец, после которого не надо ничего отображать, вдруг у кого то 2 режима, тогда в массиве будет
{6,2,255,255,255,255}
Ну и пару функций для парсинга туда сюда (сразу говорю, что не проверял, нет ничего под рукой, в принципе всё должно работать, но может где то и косякнул)
uint8_t periodDisplay[6] = {6,2,2,2,2,255};
255 - это как бы конец, после которого не надо ничего отображать, вдруг у кого то 2 режима, тогда в массиве будет
{6,2,255,255,255,255}
Ну и пару функций для парсинга туда сюда (сразу говорю, что не проверял, нет ничего под рукой, в принципе всё должно работать, но может где то и косякнул)
C++:
String arrayToStr(uint8_t *inp){
uint8_t i=0;
String s;
while (inp[i]!=255){
s += inp[i];
i++;
if (inp[i]!=255) s +=",";
}
return s;
}
void StrToArray(const String& str,uint8_t* outArr,int length){
String s;
s += str;
s += ", ";
for (int i=0;i<length-1;i++){
if (s.length()>2){
outArr[i]=(s.substring(0,s.indexOf(",")-1).toInt();
s=s.substring(s.indexOf(",")+1);
} else {
outArr[i]=255;
}
}
outArr[length-1]=255;
}
Изменено: