private void StartBikeSession() { DateTime startTime = DateTime.Now; bool running = true; while (running) { DateTime currentTime = DateTime.Now; if ((currentTime - startTime).Ticks / TimeSpan.TicksPerSecond >= 1) { startTime = currentTime; currentData = bike.ReadData(); if (currentData == null) { continue; } OnBikeDataReceived?.Invoke(currentData); if (bike is BikeSimulator) { ChangeBikeValues(); } } } }
public SessionSnapshot ReadData() { string commandString = commSet.St(); bikeData = BikeDataHelper.AssignValues(commandString, 0); return(bikeData); }
public DgmlWriter(SessionSnapshot snapshot) { _snapshot = snapshot; _idMap = snapshot.Nodes .Select((x, i) => new { Node = x, Index = i }) .ToDictionary(x => x.Node, x => x.Index); }
public void DecreasePower(int power) { lock (bikeLockObject) { currentData = bike.ReadData(); bike.PutPower(currentData.Power - power); } }
public void DecreaseDistance() { lock (bikeLockObject) { currentData = bike.ReadData(); bike.PutDistance(currentData.Distance - 1000); } }
public void DecreaseTime() { lock (bikeLockObject) { currentData = bike.ReadData(); bike.PutTime(EncodeTime(currentData.Time, -60)); } }
public void IncreaseTime() { lock (bikeLockObject) { currentData = bike.ReadData(); Console.WriteLine(currentData.Time); bike.PutTime(EncodeTime(currentData.Time, 60)); } }
public void OnReceivedNextRequest(dynamic requestData) { Console.WriteLine("7" + requestData); switch ((DataType)requestData.DataType) { case DataType.BikeData: SessionSnapshot snapShot = new SessionSnapshot(); snapShot = requestData.Data.SessionSnapshot; currentUser.Sessions.Last().SessionSnapshots.Add(snapShot); WriteToSessionsForUser(snapShot); break; } OnHandleNextRequest(); }
public static SessionSnapshot AssignValues(string valueString, int power) { SessionSnapshot snapshot = new SessionSnapshot(); string[] values = valueString.Split('\t'); snapshot.HeartRate = int.Parse(values[0]); snapshot.Rpm = int.Parse(values[1]); snapshot.Speed = int.Parse(values[2]); snapshot.Distance = int.Parse(values[3]); snapshot.Power = int.Parse(values[4]); snapshot.Energy = int.Parse(values[5]); string[] splittedTime = values[6].Split(':'); int timeMin = int.Parse(splittedTime[0]); int timeHr = int.Parse(splittedTime[1]); snapshot.Time = string.Format("{0:D2}:{1:D2}", timeMin, timeHr); snapshot.CurrentPower = power; return(snapshot); }