bool _word = pgm_read_word(&telegrammArray[i][y]);
read_byte(). read_word() liest zwei Bytes aus.
Wieso packst du nicht wenigstens 4 Bit in ein Byte, statt jedes Bit einzeln zu speichern? Dann hat man immer noch die Trennung der Bedeutungen
EDIT: Durch das Lesen von zwei Bytes und die etwas unsaubere Verwendung von bool statt byte handelst du dir leicht Fehler ein:
void setup ()
{
Serial.begin(115200);
bool b1 = 0x1000;
byte b2 = 0x1000;
Serial.println(b1);
Serial.println(b2);
}
Macht:
1
0
bool und byte mögen sehr ähnlich erscheinen. Aber der Compiler behandelt die leicht unterschiedlich da sie unterschiedliche Dinge darstellen