Ok, a couple of confusing things here. First, I didn't realize it was an array of integers, so that changes everything.
There are 2 bytes in every integer, so your array would actually be 68*2 bytes ( 136 bytes long), which will require 5 payloads just for the data in one array.
unsigned int Raw[] = {4600,4450,650,1600,650,1600,650,1600,650,500,600,500,650,500,650,500,600,500,650,1600,650,1600,650,1600,650,500,650,450,650,500,650,500,600,500,650,500,600,1650,600,500,650,500,600,500,650,500,600,500,650,500,650,1600,650,500,600,1650,600,1650,600,1650,650,1600,650,1600,650,1600,650};
unsigned int output[16]; // For the payload of nRF24L01 array 30 + 1 for null termination
void setup() {
Serial.begin(115200);
//for(int i=0; i< 68; i++){
// Raw[i] = i;
//}
}
void loop() {
memcpy(&output[1],&Raw,30); // Copies 30 bytes or 15 integers
output[0] = 1; // Sets the first integer (2 bytes) to equal 1
for(int i=0; i<16; i++){
Serial.println(output[i]); // Print out the 15 integers + 1 start integer
}
memcpy(&output[1],&Raw[15],30);
output[0] = 2;
for(int i=0; i<16; i++){
Serial.println(output[i]);
}
memcpy(&output[1],&Raw[30],30);
output[0] = 3;
for(int i=0; i<16; i++){
Serial.println(output[i]);
}
memcpy(&output[1],&Raw[45],30);
output[0] = 4;
for(int i=0; i<16; i++){
Serial.println(output[i]);
}
memcpy(&output[1],&Raw[60],14); *Edit: Should be 14 not 16
output[0] = 5;
for(int i=0; i<8; i++){
Serial.println(output[i]);
}
Serial.println("********");
delay(2000);
}
The code I posted above shows how to insert the start integer, and ensure that every byte is accounted for. It will actually take 5 transmissions to send all of the data.
When sending, you would still do radio.write(&output,sizeof(output));
Also, your array is 67 integers or 134 bytes long.