After modifying the Raspbery PI nRF24L01 shields I built a single page single button Universal Windows Platforms(UWP) test harness (using the techfooninja RF24 library) to check everything was working as expected.
I used a couple of Netduinos and Raspbery PI devices to as test clients.
public sealed partial class MainPage : Page { private const byte ChipEnablePin = 25; private const byte ChipSelectPin = 0; private const byte InterruptPin = 17; private const byte Channel = 10; private RF24 radio; public MainPage() { this.InitializeComponent(); this.radio = new RF24(); this.radio.OnDataReceived += this.Radio_OnDataReceived; this.radio.OnTransmitFailed += this.Radio_OnTransmitFailed; this.radio.OnTransmitSuccess += this.Radio_OnTransmitSuccess; this.radio.Initialize(ChipEnablePin, ChipSelectPin, InterruptPin); this.radio.Address = Encoding.UTF8.GetBytes("Base1"); this.radio.Channel = Channel; this.radio.PowerLevel = PowerLevel.Low; this.radio.DataRate = DataRate.DR250Kbps; this.radio.IsEnabled = true; Debug.WriteLine("Address: " + Encoding.UTF8.GetString(this.radio.Address)); Debug.WriteLine("Channel: " + this.radio.Channel); Debug.WriteLine("DataRate: " + this.radio.DataRate); Debug.WriteLine("PA: " + this.radio.PowerLevel); Debug.WriteLine("IsAutoAcknowledge: " + this.radio.IsAutoAcknowledge); Debug.WriteLine("IsDynamicAcknowledge: " + this.radio.IsDynamicAcknowledge); Debug.WriteLine("IsDynamicPayload: " + this.radio.IsDynamicPayload); Debug.WriteLine("IsEnabled: " + this.radio.IsEnabled); Debug.WriteLine("IsInitialized: " + this.radio.IsInitialized); Debug.WriteLine("IsPowered: " + this.radio.IsPowered); } private void Radio_OnDataReceived(byte[] data) { string dataUTF8 = Encoding.UTF8.GetString(data); Debug.WriteLine(string.Format("Received: {0}", dataUTF8)); } private void buttonSend_Click(object sender, Windows.UI.Xaml.RoutedEventArgs e) { this.radio.SendTo(Encoding.UTF8.GetBytes("Duino"), Encoding.UTF8.GetBytes(DateTime.UtcNow.ToString("yy-MM-dd hh:mm:ss"))) ; } private void Radio_OnTransmitSuccess() { Debug.WriteLine("Radio_OnTransmitSuccess"); } private void Radio_OnTransmitFailed() { Debug.WriteLine("Radio_OnTransmitFailed"); } } Interrupt Triggered: FallingEdge Data Sent! Radio_OnTransmitSuccess Interrupt Triggered: RisingEdge Interrupt Triggered: FallingEdge Received: 20.4 70.7 Interrupt Triggered: RisingEdge Interrupt Triggered: FallingEdge Data Sent! Radio_OnTransmitSuccess Interrupt Triggered: RisingEdge Interrupt Triggered: FallingEdge Received: 20.3 70.8 Interrupt Triggered: RisingEdge
The Raspberry PI could reliably receive and transmit messages.