From 78bb7f6a6c0e7b5776e60e4ff1816fde5ac40a01 Mon Sep 17 00:00:00 2001 From: shinichi Date: Fri, 25 Sep 2020 16:38:22 +0200 Subject: [PATCH] added possibility for multiple DataReceivers --- ProftaakRH/BLEHandler.cs | 24 ++++++++++++++++++++---- ProftaakRH/BikeSimulator.cs | 23 ++++++++++++++++++----- 2 files changed, 38 insertions(+), 9 deletions(-) diff --git a/ProftaakRH/BLEHandler.cs b/ProftaakRH/BLEHandler.cs index 238bb4c..6baf843 100644 --- a/ProftaakRH/BLEHandler.cs +++ b/ProftaakRH/BLEHandler.cs @@ -13,7 +13,7 @@ namespace Hardware /// public class BLEHandler { - IDataReceiver dataReceiver; + List dataReceivers; private BLE bleBike; private BLE bleHeart; public bool Running { get; set; } @@ -24,7 +24,17 @@ namespace Hardware /// the dataconverter object public BLEHandler(IDataReceiver dataReceiver) { - this.dataReceiver = dataReceiver; + this.dataReceivers = new List { dataReceiver }; + } + + public BLEHandler(List dataReceivers) + { + this.dataReceivers = dataReceivers; + } + + public void addDataReceiver(IDataReceiver dataReceiver) + { + this.dataReceivers.Add(dataReceiver); } /// @@ -125,11 +135,17 @@ namespace Hardware { byte[] payload = new byte[8]; Array.Copy(e.Data, 4, payload, 0, 8); - this.dataReceiver.Bike(payload); + foreach (IDataReceiver dataReceiver in this.dataReceivers) + { + dataReceiver.Bike(payload); + } } else if (e.ServiceName == "00002a37-0000-1000-8000-00805f9b34fb") { - this.dataReceiver.BPM(e.Data); + foreach (IDataReceiver dataReceiver in this.dataReceivers) + { + dataReceiver.BPM(e.Data); + } } else { diff --git a/ProftaakRH/BikeSimulator.cs b/ProftaakRH/BikeSimulator.cs index 304a00d..daea355 100644 --- a/ProftaakRH/BikeSimulator.cs +++ b/ProftaakRH/BikeSimulator.cs @@ -12,7 +12,7 @@ namespace Hardware.Simulators { public class BikeSimulator : IHandler { - IDataReceiver dataReceiver; + List dataReceivers; private int elapsedTime = 0; private int eventCounter = 0; private double distanceTraveled = 0; @@ -32,7 +32,17 @@ namespace Hardware.Simulators public BikeSimulator(IDataReceiver dataReceiver) { - this.dataReceiver = dataReceiver; + this.dataReceivers = new List { dataReceiver }; + } + + public BikeSimulator(List dataReceivers) + { + this.dataReceivers = dataReceivers; + } + + public void addDataReceiver(IDataReceiver dataReceiver) + { + this.dataReceivers.Add(dataReceiver); } public void StartSimulation() @@ -50,9 +60,12 @@ namespace Hardware.Simulators CalculateVariables(improvedPerlin.GetValue(x) + 1); //Simulate sending data - dataReceiver.Bike(GenerateBike0x19()); - dataReceiver.Bike(GenerateBike0x10()); - dataReceiver.BPM(GenerateHeart()); + foreach (IDataReceiver dataReceiver in this.dataReceivers) + { + dataReceiver.Bike(GenerateBike0x19()); + dataReceiver.Bike(GenerateBike0x10()); + dataReceiver.BPM(GenerateHeart()); + } Thread.Sleep(1000);