public void Initialize() { GpioController gpioController = GpioController.GetDefault(); GpioPin powerPin = gpioController.InitGpioPin(4, GpioPinDriveMode.Output, GpioSharingMode.Exclusive); //4 GpioPin cePin = gpioController.InitGpioPin(22, GpioPinDriveMode.Output, GpioSharingMode.Exclusive); //22 GpioPin irqPin = gpioController.InitGpioPin(25, GpioPinDriveMode.InputPullUp, GpioSharingMode.Exclusive); //25 powerPin.Write(GpioPinValue.Low); cePin.Write(GpioPinValue.Low); irqPin.Write(GpioPinValue.High); DeviceInformationCollection devicesInfo = DeviceInformation.FindAllAsync(SpiDevice.GetDeviceSelector("SPI0")).GetAwaiter().GetResult(); SpiDevice spiDevice = SpiDevice.FromIdAsync(devicesInfo[0].Id, new SpiConnectionSettings(0)).GetAwaiter().GetResult(); ICommandProcessor commandProcessor = new CommandProcessor(spiDevice); ILoggerFactoryAdapter loggerFactoryAdapter = new DebugOutLoggerFactoryAdapter(LogLevel.All, true, true, true, "MM/dd/yyyy hh:mm:ss fffff"); _radio = new Radio(commandProcessor, loggerFactoryAdapter, powerPin, cePin, irqPin); _sendReceiveRole = new SenderReceiverRole(); _sendReceiveRole.AttachRadio(_radio); _sendReceiveRole.DataArrived += DataArrived;; _sendReceiveRole.SendAddress = SendAddress; _sendReceiveRole.ReceiveAddress = ReceiveAddress; _sendReceiveRole.Start(); ThreadPoolTimer.CreatePeriodicTimer(Handler, TimeSpan.FromSeconds(5)); WaitForData(); }
public ReadAndWriteToRoomExtender() { _counter = 65; _myAddress = new byte[] { 0xAA, 0xAA, 0xAA, 0xAA, 0x00 }; _reAddress = new byte[] { 0xBB, 0xBB, 0xBB, 0xBB, 0x00 }; SendAddress = _myAddress; ReceiveAddress = _reAddress; _manualResetEvent = new ManualResetEvent(false); _syncRoot = new object(); _taskFactory = new TaskFactory(TaskCreationOptions.LongRunning, TaskContinuationOptions.ExecuteSynchronously); ILoggerFactoryAdapter loggerFactory = new DebugOutLoggerFactoryAdapter(LogLevel.All, true, true, true, "MM/dd/yyyy hh:mm:ss"); _logger = loggerFactory.GetLogger(GetType()); }
public void Initialize() { GpioController gpioController = GpioController.GetDefault(); GpioPin powerPin = gpioController.InitGpioPin(4, GpioPinDriveMode.Output, GpioSharingMode.Exclusive); GpioPin cePin = gpioController.InitGpioPin(22, GpioPinDriveMode.Output, GpioSharingMode.Exclusive); GpioPin irqPin = gpioController.InitGpioPin(25, GpioPinDriveMode.InputPullUp, GpioSharingMode.Exclusive); powerPin.Write(GpioPinValue.Low); cePin.Write(GpioPinValue.Low); irqPin.Write(GpioPinValue.High); DeviceInformationCollection devicesInfo = DeviceInformation.FindAllAsync(SpiDevice.GetDeviceSelector("SPI0")).GetAwaiter().GetResult(); SpiDevice spiDevice = SpiDevice.FromIdAsync(devicesInfo[0].Id, new SpiConnectionSettings(0)).GetAwaiter().GetResult(); ICommandProcessor commandProcessor = new CommandProcessor(spiDevice); ILoggerFactoryAdapter loggerFactoryAdapter = new DebugOutLoggerFactoryAdapter(LogLevel.All, true, true, true, "MM/dd/yyyy hh:mm:ss fffff"); _radio = new Radio(commandProcessor, loggerFactoryAdapter, powerPin, cePin, irqPin); //SenderTest(); //ReceiverTest(); SenderReceiverTest(); }
public void Initialize() { GpioController gpioController = GpioController.GetDefault(); GpioPin powerPin = gpioController.InitGpioPin(4, GpioPinDriveMode.Output, GpioSharingMode.Exclusive);//4 GpioPin cePin = gpioController.InitGpioPin(22, GpioPinDriveMode.Output, GpioSharingMode.Exclusive);//22 GpioPin irqPin = gpioController.InitGpioPin(25, GpioPinDriveMode.InputPullUp, GpioSharingMode.Exclusive);//25 powerPin.Write(GpioPinValue.Low); cePin.Write(GpioPinValue.Low); irqPin.Write(GpioPinValue.High); DeviceInformationCollection devicesInfo = DeviceInformation.FindAllAsync(SpiDevice.GetDeviceSelector("SPI0")).GetAwaiter().GetResult(); SpiDevice spiDevice = SpiDevice.FromIdAsync(devicesInfo[0].Id, new SpiConnectionSettings(0)).GetAwaiter().GetResult(); ICommandProcessor commandProcessor = new CommandProcessor(spiDevice); ILoggerFactoryAdapter loggerFactoryAdapter = new DebugOutLoggerFactoryAdapter(LogLevel.All, true, true, true, "MM/dd/yyyy hh:mm:ss fffff"); _radio = new Radio(commandProcessor, loggerFactoryAdapter, powerPin, cePin, irqPin); _sendReceiveRole = new SenderReceiverRole(); _sendReceiveRole.AttachRadio(_radio); _sendReceiveRole.DataArrived += DataArrived; ; _sendReceiveRole.SendAddress = SendAddress; _sendReceiveRole.ReceiveAddress = ReceiveAddress; _sendReceiveRole.Start(); ThreadPoolTimer.CreatePeriodicTimer(Handler, TimeSpan.FromSeconds(5)); WaitForData(); }