NRF24 trying to debug issues

here i have simplified my programs sorry it took so longdoes anyone see why it crashes? i think the problem MAY be in the master code?

MASTER TX

#include <SPI.h>
#include <nRF24L01.h>
#include <RF24.h>
#include <EEPROM.h>


unsigned long mark = 0;
unsigned long nrftimeout = 0;
unsigned long  doselinkWait = 0;

unsigned long paramsdelay = 0;

bool nrfEnabled = true;

bool sendFailed = false;

const int pinCE = 22;
const int pinCSN = 24;


float incomingArray[32];
float RX1Request = 12.34;
float RX2Request = 12.34;

int x, y;
int updateState = 1;
int state = 1;
int statecounter = 0;

float RX1Value1 = 11.11;
float RX2Value1 = 12.21;
float RX3ShowParams = 20.20;
float RX3ShowParams2 = 21.21; 
float tUpdateCommand = 16.61;
float Value2 = 22.22;
float p2Value = 5.80;
float p1Value = 5.80;

float p1Update = 22.22;



unsigned long retryRefreshMarker = 0;


RF24 wirelessSPI(pinCE, pinCSN);

float IncomingFloatValue = 0.0;
const uint32_t keyword = 0xFADEDEAD;
const uint16_t keywordAddress = 0x00;
const uint16_t paramAddress = keywordAddress + sizeof(keyword);

struct __attribute__ ((packed)) _paramS {
  float p1Set = 5.90;
  float p2Set = 5.90;
} txParams;

const uint64_t pAddress = 0xB00B1E5000F1;
const uint64_t pAddress1 = 0xB00B1E5000F2; 
const uint64_t pAddress2 = 0xB00B1E5000F0; 

void setup() {
  getParam();
  Serial.begin(115200);
  wirelessSPI.begin();
  wirelessSPI.setDataRate(RF24_250KBPS);
  wirelessSPI.setAutoAck(1);
  wirelessSPI.enableAckPayload();
  wirelessSPI.setCRCLength(8);
  wirelessSPI.setRetries(25, 25);
  wirelessSPI.setPALevel(RF24_PA_LOW);
  Serial.println("hello");

}

void saveParam() {
  EEPROM.put(keywordAddress, keyword);
  EEPROM.put(paramAddress, txParams);
}

void getParam() {
  uint32_t tmpKey;
  EEPROM.get(keywordAddress, tmpKey);
  if (tmpKey == keyword) {
    EEPROM.get(paramAddress, txParams);    // EEPROM was already initialized OK to read
  } else {

  }
}

void loop() {

  if (state >= 0) {
    readBothResponses();
  }

  if (nrfEnabled) {
    if (updateState == 1) {
      requestRX1update();
      retryRefreshMarker = millis();
      updateState = 2;
    }

    if (millis() - retryRefreshMarker > 250) {
      if (updateState == 2) {
        wirelessSPI.flush_rx();
        requestRX2update();
        wirelessSPI.flush_tx();
        retryRefreshMarker = millis();
        updateState = 3;

      }
    }
    if (millis() - retryRefreshMarker > 250) {
      if (updateState == 3) {
        requestRX3update();
        updateState = 4;
        retryRefreshMarker = millis();
      }
    }
    if (millis() - retryRefreshMarker > 250) {
      if (updateState == 4) {
        requestRX3Paramsupdate();
        updateState = 5;
      }
    }
    if (millis() - retryRefreshMarker > 450) {
      if (updateState == 5) {
        updateState = 1;
      }
    }
  }
}

void requestRX1update() { 
  float Array2[1] = {RX1Request};
  wirelessSPI.stopListening();
  wirelessSPI.openWritingPipe(pAddress2);
  if (!wirelessSPI.write( &Array2, sizeof(Array2))) {
    Serial.println("rx1 failed");

  }
  else {

    wirelessSPI.stopListening();
    wirelessSPI.openReadingPipe(1, pAddress2);
    wirelessSPI.startListening();
    Serial.println(" rx1 sent");
  }
}
void requestRX2update() {
  float Array[1] = {RX2Request};
  wirelessSPI.stopListening();
  wirelessSPI.openWritingPipe(pAddress);
  if (!wirelessSPI.write( &Array, sizeof(Array))) {
  }
  
  else {
    wirelessSPI.stopListening();
    wirelessSPI.openReadingPipe(1, pAddress);
    wirelessSPI.startListening();
  }
}
void requestRX3Paramsupdate() {
  wirelessSPI.stopListening();
  wirelessSPI.openWritingPipe(pAddress1);
  float Array[3] = {RX3ShowParams};
  if (!wirelessSPI.write( &Array, sizeof(Array))) {
    wirelessSPI.stopListening();
  }
  else {
    wirelessSPI.stopListening();
    wirelessSPI.openReadingPipe(1, pAddress1);
    wirelessSPI.startListening();
  }
}

void requestRX3update() {
  wirelessSPI.stopListening();
  wirelessSPI.openWritingPipe(pAddress1);
  float Array[3] = {tUpdateCommand};
  if (!wirelessSPI.write( &Array, sizeof(Array))) {
    wirelessSPI.stopListening();
  }
  else {
    wirelessSPI.stopListening();
    wirelessSPI.openReadingPipe(1, pAddress1);
    wirelessSPI.startListening();
  }
}

void readBothResponses() {
  if (statecounter >= 10) {
    state = 0;
    statecounter = 0;
  }
  statecounter ++;
  while (wirelessSPI.available()) {
    wirelessSPI.read( &incomingArray, sizeof(incomingArray) );
    float incomingResponse2 = float(incomingArray[0]);

    if (incomingResponse2 == RX3ShowParams) {
      Serial.println("rx3 params 0");
    }
    if (incomingResponse2 == RX3ShowParams2) {
      Serial.println("rx3 params 1");


    }
    if (incomingResponse2 == p1Update) {
      Serial.println("rx1 response");
    }
    if (incomingResponse2 == RX2Value1) {
      Serial.println("rx2 response");

    }
  }
}