static void _radio_OnDataReceived(byte[] data) { count++; Debug.Print("Received: " + new string(Encoding.UTF8.GetChars(data))); Thread.Sleep(50); globalSPIDevice.Config = oledSpiConfig; oled.DisplayString("Received: " + new string(Encoding.UTF8.GetChars(data))); Thread.Sleep(50); globalSPIDevice.Config = nrf24L01PConfig; Thread.Sleep(100); _radio.SendTo(new byte[] { 0, 0, 1 }, Encoding.UTF8.GetBytes("DDD" + count.ToString())); }
private static void SendFirmware(string filePath) { var startTime = DateTime.Now; var packetCounter = 0; var sendCompleted = false; Debug.Print("Uploading data..."); using (var file = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { var buffer = new byte[2 + SrecLineLength]; for (var i = 0; i < ApplicationSize; i += SrecLineLength) { buffer[0] = (byte)(packetCounter >> 8); buffer[1] = (byte)packetCounter; var length = file.Read(buffer, 2, SrecLineLength); if (length <= 0) { Debug.Print("Unexpected end of file!"); return; } if (IsLineEmpty(buffer, 2)) { buffer[0] = 0xFF; buffer[1] = 0xFF; sendCompleted = true; } if (!_radio.SendTo(TargetAddress, buffer, 1000)) { Debug.Print("Failed to send packet nr " + packetCounter); return; } ToggleLed(); packetCounter++; if (packetCounter % 100 == 0) { Debug.Print("Packets sent: " + packetCounter); } Thread.Sleep(10); if (sendCompleted) { break; } } } Debug.Print("Upload of " + packetCounter + " packets took " + DateTime.Now.Subtract(startTime)); }
private void HumidityAndTemperatureTimerProc(object state) { led.Write(true); double humidity = sensor.Humidity(); double temperature = sensor.Temperature(); Debug.Print("H:" + humidity.ToString("F1") + " T:" + temperature.ToString("F1")); string values = "T " + temperature.ToString("F1") + ",H " + humidity.ToString("F0"); // Stuff the 2 byte header ( payload type & deviceIdentifierLength ) + deviceIdentifier into payload byte[] payload = new byte[1 + deviceIdentifier.Length + values.Length]; payload[0] = (byte)((1 << 4) | deviceIdentifier.Length); Array.Copy(deviceIdentifier, 0, payload, 1, deviceIdentifier.Length); Encoding.UTF8.GetBytes(values, 0, values.Length, payload, deviceIdentifier.Length + 1); radio.SendTo(nRF24BaseStationAddress, payload); }
private void TimerFire(object state) { _radio.SendTo(new byte[] { 0xF0, 0xF0, 0xF0, 0xF0, 0xE1 }, Encoding.UTF8.GetBytes("Hello")); Debug.Print("Sent: Hello"); }