From c2aff1ee9ab8a2efe8d1542a9e920c892d3433dd Mon Sep 17 00:00:00 2001 From: Pascal Serrarens Date: Wed, 15 Jan 2025 17:50:05 +0100 Subject: [PATCH] Added AirZeroG Sim, Acc is working properly now --- Participant.cs | 6 +++--- SiteServer.cs | 2 +- Thing.cs | 11 ++++++----- test/UnitTest1.cs | 24 ++++++++++++------------ 4 files changed, 22 insertions(+), 21 deletions(-) diff --git a/Participant.cs b/Participant.cs index d04c2a9..384e3c8 100644 --- a/Participant.cs +++ b/Participant.cs @@ -85,11 +85,11 @@ namespace Passer.Control.Core { udpClient.BeginReceive(new AsyncCallback(result => ReceiveUDP(result)), null); } - private static readonly long publishInterval = 3000; - private long nextPublishMe = 0; + private static readonly ulong publishInterval = 3000; + private ulong nextPublishMe = 0; - public virtual void Update(long currentTimeMs) { + public virtual void Update(ulong currentTimeMs) { if (currentTimeMs > this.nextPublishMe) { this.Publish(new ClientMsg(this.networkId)); // Console.WriteLine($"{this.name} Sent ClientMsg {this.networkId}"); diff --git a/SiteServer.cs b/SiteServer.cs index 0962e28..09a51d8 100644 --- a/SiteServer.cs +++ b/SiteServer.cs @@ -19,7 +19,7 @@ namespace Passer.Control.Core { Register((byte)Thing.Type.TemperatureSensor); } - public override void Update(long currentTimeMs) { + public override void Update(ulong currentTimeMs) { Thing.UpdateAll(currentTimeMs); } diff --git a/Thing.cs b/Thing.cs index 09cb486..57fcea7 100644 --- a/Thing.cs +++ b/Thing.cs @@ -153,14 +153,14 @@ namespace Passer.Control.Core { #if UNITY_5_3_OR_NEWER public void Update() { - Update(UnityEngine.Time.time * 1000); + Update((ulong)UnityEngine.Time.time * 1000); } #endif - public virtual void Update(float currentTime) { + public virtual void Update(ulong currentTime) { // should recurse over children... } - public virtual void SendBytes(byte[] bytes) { } + public virtual byte[] GenerateBytes() { return new byte[0]; } public virtual void ProcessBytes(byte[] bytes) { //if (sensor != null) @@ -192,6 +192,7 @@ namespace Passer.Control.Core { public static event ThingHandler OnNewThing; public static void Add(Thing thing, bool invokeEvent = true) { + UnityEngine.Debug.Log("added thing"); Thing foundThing = Get(thing.networkId, thing.id); if (foundThing == null) { @@ -223,10 +224,10 @@ namespace Passer.Control.Core { return allThings.ToArray(); } - public static void UpdateAll(float currentTime) { + public static void UpdateAll(ulong currentTimeMS) { foreach (Thing thing in allThings) { if (thing.parent == null) // update only root things - thing.Update(currentTime); + thing.Update(currentTimeMS); } } diff --git a/test/UnitTest1.cs b/test/UnitTest1.cs index 859f9e6..adeb0c0 100644 --- a/test/UnitTest1.cs +++ b/test/UnitTest1.cs @@ -14,13 +14,13 @@ namespace ControlCore.test { public void Test_Participant() { Participant participant = new("127.0.0.1", 7681); - long milliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); - long startTime = milliseconds; + ulong milliseconds = (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + ulong startTime = milliseconds; while (milliseconds < startTime + 7000) { participant.Update(milliseconds); Thread.Sleep(100); - milliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + milliseconds = (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); } Assert.Pass(); @@ -30,13 +30,13 @@ namespace ControlCore.test { public void Test_SiteServer() { SiteServer siteServer = new(7681); - long milliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); - long startTime = milliseconds; + ulong milliseconds = (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + ulong startTime = milliseconds; while (milliseconds < startTime + 7000) { siteServer.Update(milliseconds); Thread.Sleep(100); - milliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + milliseconds = (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); } Assert.Pass(); @@ -47,14 +47,14 @@ namespace ControlCore.test { SiteServer siteServer = new(7681); Participant participant = new("127.0.0.1", 7681); - long milliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); - long startTime = milliseconds; + ulong milliseconds = (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + ulong startTime = milliseconds; while (milliseconds < startTime + 1000) { siteServer.Update(milliseconds); participant.Update(milliseconds); Thread.Sleep(100); - milliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + milliseconds = (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); } Assert.That(participant.networkId, Is.EqualTo(1)); @@ -69,14 +69,14 @@ namespace ControlCore.test { modelUrl = "https://passer.life/extras/ant.jpg" }; - long milliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); - long startTime = milliseconds; + ulong milliseconds = (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + ulong startTime = milliseconds; while (milliseconds < startTime + 7000) { siteServer.Update(milliseconds); participant.Update(milliseconds); Thread.Sleep(100); - milliseconds = DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); + milliseconds = (ulong)DateTimeOffset.UtcNow.ToUnixTimeMilliseconds(); } Assert.That(participant.networkId, Is.EqualTo(1));