 
     uint32_t currentMillis = millis();
 
+    //TODO It should be only possible to transmit when radio is not receiveing 
     /*
      * RC_DATA QSP frame
      */
-    if (currentMillis - lastRcFrameTransmit > TX_RC_FRAME_RATE && !transmitPayload) {
+    if (currentMillis - lastRcFrameTransmit > TX_RC_FRAME_RATE && !transmitPayload && protocolState == IDLE) {
         lastRcFrameTransmit = currentMillis; 
 
-        clearQspPayload();
+        qspClearPayload();
         encodeRcDataPayload(&ppmReader, PPM_CHANNEL_COUNT);
         qspFrameToSend = QSP_FRAME_RC_DATA;
 


}

void encodeQspFrame(uint8_t frameId, uint8_t length, uint8_t *payload) {
    //Zero CRC
    qspCrc = 0;
    

#endif

    if (Serial.available()) {
        qspDecodeIncomingFrame(Serial.read());
    }

    if (transmitPayload) {
        transmitPayload = false;

        qspEncodeFrame(qspFrameToSend, qspPayloadLength, qspPayload);
        Serial.end();
        delay(E45_TTL_100_UART_DOWNTIME);
        Serial.begin(UART_SPEED);
