Problema con libreria nextion

Ciao a tutti
Sto provando a scrivere un codice per controllare un piccolo robot pulitore , con dei motori passo passo ed alcune funzioni per creare dei piccoli automatismi ,sto usando un arduino mega REV 3 .
Praticamente o un joystick che mi controlla le funzioni avanti , indietro , desta , sinistra , qualche interruttore per far funzionare il robot in automatico a due velocità , un comando di emergenza che ferma tutto , un comando per avviare una spazzola e un comando per aumentare la forza della spazzola , un comando per attivare una valvola ed uno per escludere dei sensori ad ultrasuoni se necessario .
E fin qui nessun problema il codice viene compilato correttamente da ide di arduino , però mi piacerebbe aggiungere un display nextion per visualizzare sul trasmettitore lo stato del joystick e di tutti gli altri comandi , quando provo a compilare il codice con queste modifiche ide di arduino genera una serie di errori legati alle parti di codice del display e non riesco a capire dove sia l'errore .
Se qualcuno sa aitarmi metto qui il codice a ovviamente sto usando la libreria nextion scaricata da ide di arduino non metto gli errori che mi da perche sono veramente tanti

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

// Pin per il modulo nRF24L01 (CE e CSN)
#define CE_PIN 9
#define CSN_PIN 10

// Creazione dell'oggetto radio
RF24 radio(CE_PIN, CSN_PIN);

// Indirizzi per la comunicazione
const byte address[6] = "00001";

// Definizione dei pin del joystick
const int joystickXPin = A0;
const int joystickYPin = A1;
const int buttonPin = 7;

// Definizione dei pin per gli interruttori e pulsanti
const int emergencyButtonPin = 2;
const int rfEnableSwitchPin = 3;
const int auto1SwitchPin = 4;
const int auto2SwitchPin = 5;
const int cleaningSwitchPin = 6;
const int strongCleaningSwitchPin = 8;
const int waterValveSwitchPin = 11;
const int sensorDisableSwitchPin = 12;

// Nextion display collegato a Serial1
Nextion myNextion(Serial1, 9600);

// Struttura dati per trasmettere i valori
struct DataPacket {
  int joystickX;
  int joystickY;
  bool buttonPressed;
  bool emergencyStop;
  bool rfEnabled;
  bool auto1Active;
  bool auto2Active;
  bool cleaningActive;
  bool strongCleaningActive;
  bool waterValveActive;
  bool sensorDisableActive;
};

DataPacket data; // Istanza del pacchetto dati

void setup() {
  // Configurazione dei pin
  pinMode(joystickXPin, INPUT);
  pinMode(joystickYPin, INPUT);
  pinMode(buttonPin, INPUT_PULLUP);
  pinMode(emergencyButtonPin, INPUT_PULLUP);
  pinMode(rfEnableSwitchPin, INPUT_PULLUP);
  pinMode(auto1SwitchPin, INPUT_PULLUP);
  pinMode(auto2SwitchPin, INPUT_PULLUP);
  pinMode(cleaningSwitchPin, INPUT_PULLUP);
  pinMode(strongCleaningSwitchPin, INPUT_PULLUP);
  pinMode(waterValveSwitchPin, INPUT_PULLUP);
  pinMode(sensorDisableSwitchPin, INPUT_PULLUP);

  // Inizializzazione del modulo nRF24L01
  radio.begin();
  radio.openWritingPipe(address);
  radio.setPALevel(RF24_PA_LOW);
  radio.stopListening();

  // Inizializzazione del display Nextion
  myNextion.init();

  // Messaggio di debug iniziale
  Serial.begin(9600);
  Serial.println("Sistema avviato.");
}

void loop() {
  // Lettura dei valori del joystick
  int joystickXValue = analogRead(joystickXPin);
  int joystickYValue = analogRead(joystickYPin);
  bool buttonState = !digitalRead(buttonPin);

  // Lettura degli interruttori
  bool emergencyStop = !digitalRead(emergencyButtonPin);
  bool rfEnabled = !digitalRead(rfEnableSwitchPin);
  bool auto1Active = !digitalRead(auto1SwitchPin);
  bool auto2Active = !digitalRead(auto2SwitchPin);
  bool cleaningActive = !digitalRead(cleaningSwitchPin);
  bool strongCleaningActive = !digitalRead(strongCleaningSwitchPin);
  bool waterValveActive = !digitalRead(waterValveSwitchPin);
  bool sensorDisableActive = !digitalRead(sensorDisableSwitchPin);

  // Priorità dei comandi
  if (emergencyStop) {
    // Emergenza: ferma tutto
    resetData(true);
  } else if (rfEnabled) {
    // Modalità RF attiva
    if (strongCleaningActive) {
      resetData(false);
      data.strongCleaningActive = true;
    } else if (cleaningActive) {
      resetData(false);
      data.cleaningActive = true;
    } else if (auto2Active) {
      resetData(false);
      data.auto2Active = true;
      data.joystickY = 50; // Velocità fissa al 50%
    } else if (auto1Active) {
      resetData(false);
      data.auto1Active = true;
      data.joystickY = 10; // Velocità fissa al 10%
    } else {
      // Modalità manuale con joystick
      data.joystickX = map(joystickXValue, 0, 1023, -100, 100);
      data.joystickY = map(joystickYValue, 0, 1023, -100, 100);
      data.buttonPressed = buttonState;
    }
    data.rfEnabled = true;
    data.waterValveActive = waterValveActive;
    data.sensorDisableActive = sensorDisableActive;
  } else {
    // RF disabilitato
    resetData(false);
  }

  // Invio dei dati via RF24
  bool success = radio.write(&data, sizeof(DataPacket));
  if (!success) {
    Serial.println("Errore di trasmissione RF");
  }

  // Aggiorna il display Nextion
  updateNextionDisplay();
}

// Funzione per resettare i dati
void resetData(bool emergency) {
  data.joystickX = 0;
  data.joystickY = 0;
  data.buttonPressed = false;
  data.emergencyStop = emergency;
  data.rfEnabled = false;
  data.auto1Active = false;
  data.auto2Active = false;
  data.cleaningActive = false;
  data.strongCleaningActive = false;
  data.waterValveActive = false;
  data.sensorDisableActive = false;
}

// Funzione per aggiornare il display Nextion
void updateNextionDisplay() {
  // Stato joystick
  myNextion.print("joystickX.val=");
  myNextion.print(data.joystickX);
  myNextion.print("\xFF\xFF\xFF");

  myNextion.print("joystickY.val=");
  myNextion.print(data.joystickY);
  myNextion.print("\xFF\xFF\xFF");

  // Stato interruttori
  myNextion.print("auto1.val=");
  myNextion.print(data.auto1Active ? 1 : 0);
  myNextion.print("\xFF\xFF\xFF");

  myNextion.print("auto2.val=");
  myNextion.print(data.auto2Active ? 1 : 0);
  myNextion.print("\xFF\xFF\xFF");

  myNextion.print("cleaning.val=");
  myNextion.print(data.cleaningActive ? 1 : 0);
  myNextion.print("\xFF\xFF\xFF");

  myNextion.print("strongCleaning.val=");
  myNextion.print(data.strongCleaningActive ? 1 : 0);
  myNextion.print("\xFF\xFF\xFF");

  myNextion.print("valve.val=");
  myNextion.print(data.waterValveActive ? 1 : 0);
  myNextion.print("\xFF\xFF\xFF");

  myNextion.print("sensors.val=");
  myNextion.print(data.sensorDisableActive ? 1 : 0);
  myNextion.print("\xFF\xFF\xFF");
}