Drone with CC3D and arduino

Hello everyone.
I am a student from Argentina and I am doing a project that consists of a Drone controlled by a CC3D that communicates through two nano arduinos, which function as radio control and receiver of it. the communication between the two arduinos is already established and works perfectly (they communicate with modules nrf24).
The problem I encountered is that when communicating the arduino (receiver) with the CC3D it does not detect any of the values that I am sending. Between these two I am using a ppm connection via cable.
It would be helpful if someone could give me a hand to understand why it doesn't work.

Thank you!

The Reciver code:

#include "RF24.h"

RF24 myRadio (7, 8);
byte addresses[][6] = {"0"};

struct package
{
  int Throttle = 1000;
  int Yaw = 1500;
  int Pitch = 1500;
  int Roll = 1500;
  boolean Aux1 = false;
  boolean Aux2 = false;
};
typedef struct package Package;
Package data;

////////////////////// PPM CONFIGURATION//////////////////////////
#define channel_number 6  //set the number of channels
#define sigPin 2  //set PPM signal output pin on the arduino
#define PPM_FrLen 22500  //set the PPM frame length in microseconds (1ms = 1000µs)
#define PPM_PulseLen 300  //set the pulse length
//////////////////////////////////////////////////////////////////

boolean draw_ = true;
int ppm[channel_number];
unsigned long lastRecvTime;

void setup()
{
  Serial.begin(115200);
  Serial.println("-----Receptor------");
  setupPPM();
  delay(100);
  myRadio.begin();
  myRadio.setChannel(115);
  myRadio.setPALevel(RF24_PA_MAX);
  //myRadio.setDataRate( RF24_250KBPS ) ;
  myRadio.openReadingPipe(1, addresses[0]);
  myRadio.startListening();
  Serial.println("SetUp OK");
}

void loop()
{
  if ( myRadio.available())
  {
    while (myRadio.available())
    {
      myRadio.read( &data, sizeof(data) );
      lastRecvTime = millis();
    }
  }
  unsigned long now = millis();
  if ( now - lastRecvTime > 2000 ) {
    resetData();
  }
  setPPM();
  draw();
}

void setPPM()
{
  ppm[0] = data.Throttle;
  ppm[1] = data.Yaw;
  ppm[2] = data.Pitch;
  ppm[3] = data.Roll;
  ppm[4] = data.Aux1;
  ppm[5] = data.Aux2;
}

void resetData()
{
  data.Throttle = 1200;
  data.Yaw = 1500;
  data.Pitch = 1500;
  data.Roll = 1500;
  data.Aux1 = false;
  data.Aux2 = false;
}

void draw() {
  if (draw_ = true) {
    Serial.print("Throttle: ");
    Serial.print(data.Throttle);
    Serial.print(" Yaw: ");
    Serial.print(data.Yaw);
    Serial.print(" Pitch: ");
    Serial.print(data.Pitch);
    Serial.print(" Roll: ");
    Serial.print(data.Roll);
    Serial.print(" Sw1: ");
    Serial.print(data.Aux1);
    Serial.print(" Sw2: ");
    Serial.println(data.Aux2);
  }
}

void setupPPM() {
  pinMode(sigPin, OUTPUT);
  digitalWrite(sigPin, 0);  //set the PPM signal pin to the default state (off)

  cli();
  TCCR1A = 0; // set entire TCCR1 register to 0
  TCCR1B = 0;

  OCR1A = 100;  // compare match register (not very important, sets the timeout for the first interrupt)
  TCCR1B |= (1 << WGM12);  // turn on CTC mode
  TCCR1B |= (1 << CS11);  // 8 prescaler: 0,5 microseconds at 16mhz
  TIMSK1 |= (1 << OCIE1A); // enable timer compare interrupt
  sei();
}

#define clockMultiplier 2

ISR(TIMER1_COMPA_vect) {
  static boolean state = true;
  //Serial.println("_______________Transmitiendo_________________");
  TCNT1 = 0;

  if ( state ) {
    //end pulse
    PORTD = PORTD & ~B00000100; // turn pin 2 off. Could also use: digitalWrite(sigPin,0)
    OCR1A = PPM_PulseLen * clockMultiplier;
    state = false;
  }
  else {
    //start pulse
    static byte cur_chan_numb;
    static unsigned int calc_rest;

    PORTD = PORTD | B00000100; // turn pin 2 on. Could also use: digitalWrite(sigPin,1)
    state = true;

    if (cur_chan_numb >= channel_number) {
      cur_chan_numb = 0;
      calc_rest += PPM_PulseLen;
      OCR1A = (PPM_FrLen - calc_rest) * clockMultiplier;
      calc_rest = 0;
    }
    else {
      OCR1A = (ppm[cur_chan_numb] - PPM_PulseLen) * clockMultiplier;
      calc_rest += ppm[cur_chan_numb];
      cur_chan_numb++;
    }
  }
}

The transmitter code (no problem with this):

#include "RF24.h"
RF24 myRadio (7, 8); 
byte addresses[][6] = {"0"}; 

struct package
{
  int Throttle = 0;
  int Yaw = 0;
  int Pitch = 0;
  int Roll = 0;
  boolean Aux1 = false;
  boolean Aux2 = false;
};
typedef struct package Package;
Package data;

boolean draw_ = true;
const int pot1 = A0;
const int pot2 = A1;
const int pot3 = A2;
const int pot4 = A3;
const int sw1 = 2;
const int sw2 = 3;

int flag = 0 ;

int oldT = 0;
int oldY = 0;
int oldP = 0;
int oldR = 0;
boolean oldS1 = false;
boolean oldS2 = false;

void setup()
{
  Serial.begin(115200);
  Serial.println("-----Emisor-----");
  delay(100);
  myRadio.begin();  
  myRadio.setChannel(115); 
  myRadio.setPALevel(RF24_PA_MAX);
  //myRadio.setDataRate( RF24_250KBPS ) ; 
  myRadio.openWritingPipe( addresses[0]);
  myRadio.stopListening();
  Serial.println("SetUp OK");
}

void loop()
{
  
  maping();
  if((oldT!= data.Throttle)||(oldY!=data.Yaw)||(oldP!=data.Pitch)||(oldR!=data.Roll)||(oldS1!=data.Aux1)||(oldS2!=data.Aux2)||(flag==5))
  {
    data.Throttle = oldT;
    data.Yaw = oldY;
    data.Pitch = oldP;
    data.Roll = oldR;
    data.Aux1 = oldS1;
    data.Aux2 = oldS2;
    Send();
    flag = 0;
  }
  else{
    flag++;
  }
  draw();
  delay(50);
}
void maping(){
  oldT = map(analogRead(pot1),0,1024,1000,2000);
  oldY = map(analogRead(pot2),0,1024,1000,2000);
  oldP = map(analogRead(pot3),0,1024,1000,2000);
  oldR = map(analogRead(pot4),0,1024,1000,2000);
  oldS1 = digitalRead(sw1);
  oldS2 = digitalRead(sw2);
}

void draw(){
  if (draw_ = true){
    Serial.print("Throttle: ");
    Serial.print(data.Throttle);
    Serial.print(" Yaw: ");
    Serial.print(data.Yaw);
    Serial.print(" Pitch: ");
    Serial.print(data.Pitch);
    Serial.print(" Roll: ");
    Serial.print(data.Roll);
    Serial.print(" Sw1: ");
    Serial.print(data.Aux1);
    Serial.print(" Sw2: ");
    Serial.println(data.Aux2);
  } 
}

void Send(){
  myRadio.write(&data, sizeof(data));
}

Maybe you can find some information at these links below:

https://librepilot.atlassian.net/wiki/spaces/LPDOC/pages/93945858/Extend+a+Flightcontroller+with+an+Arduino