Communicatie tussen Arduino Uno en atoomkloksignaal ontvanger/decodeer module

Ik heb de code aangepast zodat er eerst een volledige boodschap wordt doorgestuurd alvorens een nieuwe aanvraag wordt verzonden.
Ik gebruik de 00 als CR, ik tel 18 cijfers maar weet nog steeds niet wat ze betekenen. Kan het zijn dat de software UART toch niet zo goed werkt?


void loop()
{
  // Send time protocol command
  if(data == "0" and mata == "0"){
    mySerial.write(0x3F);
    delay(40);
    mySerial.write(0x0D); //<CR>
    delay(40);
//    send = true;
  }
  
  // Receive data
  mySerial.listen();
  if (mySerial.available()){
    // Strip down the parity bit
    char c = (mySerial.read() & 0x7F);
    
    //Serial.print(c);
    // Convert Byte to Hex
    data = (String)("0123456789ABCDEF" [(c & 0x70) >> 4]);
    mata = (String)("0123456789ABCDEF" [c & 0x0F]);
    Serial.print(data);
    Serial.print(mata);
    /*Serial.print("0123456789ABCDEF" [(c & 0x70) >> 4]);
    Serial.print("0123456789ABCDEF" [c & 0x0F]);*/
    Serial.print(" ");
  }
}

Het resultaat:
Start sync
Stop sync
60 79 66 66 26 26 62 62 66 26 62 26 62 66 66 66 26 00

Ik kan proberen om een atmeega32 aan te sluiten op de module en deze met SPI ofzo te laten spreken met de Arduino en deze op zijn beurt met de pc (ik heb geen LCD scherm voor mijn atmega32).

Van elke ontvangen byte mag je alleen de eerste nibble (bits 0-3) gebruiken. De 2de nibble (bits 4-7) bevat andere zaken. Bits 4 en 5 zijn 1, 6 is 0 en 7 is de pariteit.

0x60 = 96 = 0110 0000 zou dan geen geldige byte zijn. Omdat bit 4 0 is.
0x66 = 102 = 0110 0110 is dan ook niet geldig.
0x26 = 38 = 0010 0110 idem.

Probeer een keer alleen de eerste nibble door te zenden.

Wat is de eerste nibble, de data of mata variabele?

Wat de 'eerste' nibble is, is een kwestie van interpretatie... :)
Daarom spreken we liever van LSN(ibble, bits 0...3) en MSN(ibble, bits 4...7). Data zit in LSN in dit geval.

Maar hoe kan ik nu weten wat die LSN is in mijn code?