Hi,
You receive events, so there cant be much wrong anymore.
Start just in the simplest case: one side is only sending, the other side is only receiving.
(comment out all sending code on the receiving side, at least
//RFM70.Send_Packet(WR_TX_PLOAD,RFM70_buf,4);
I inserted a debug line to print out how many bytes are received:
.....
if (RFM70.RxDataReadyInterrupt())
{
Serial.print("Data received, length: ");
byte rx_len = RFM70.Receive_Packet(RFM70_buf);
Serial.println(rx_len);
if (rx_len)
{
for(byte i=1;i<rx_len;i++)
{
Serial.print(i);
Serial.print("->");
Serial.println(RFM70_buf[i]);
......
}
The number of Bytes sent is the last argument in the RFM70.Send_Packet() command.
The same number of bytes should be received on the receiving end.
ATMEGA8:
My driver uses only GPIO functions, so I don't see any problem to use ATMEGA8, but maybe there is just a Pin numbering problem and SCK, MISO and MOSI uses different Pins compared to ATMEGA168.