Так, как я понял, портится переменная 'b', которая получает данные из порта
int b = mySerial.read();
В ней какой то мусор в перемешку с данными, не могу понять почему.
Портится видимо после этого кода, на входе поток нормальный
String readVal() {
boolean rot = true;
String buffer;
while(rot) {...