Ja, da habe ich mich vertan, sry. Ich hatte im Code von @bw87 nicht gesehen, dass das empfangene Byte-Array nicht verkleinert war.
Im Grunde reicht also eine neue Variable _ignoreCheckSum
um die Verarbeitung umzuschalten:
if (_ignoreCheckSum)
{
out[DfMp3_Packet_HiByteCheckSum] = 0xEF;
out[DfMp3_Packet_LowByteCheckSum] = 00;
out[DfMp3_Packet_EndCode] = 00;
}
else
{
setChecksum(out);
}
statt
setChecksum(out);
sowie die bereits genannte Anpassung für das FinishEvent
case 0x3d: // micro sd
case 0x4c: