Added AirZeroG Sim, Acc is working properly now

This commit is contained in:
Pascal Serrarens 2025-01-15 17:50:05 +01:00
parent 502a68eaff
commit c2aff1ee9a
4 changed files with 22 additions and 21 deletions

View File

@ -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}");

View File

@ -19,7 +19,7 @@ namespace Passer.Control.Core {
Register<TemperatureSensor>((byte)Thing.Type.TemperatureSensor);
}
public override void Update(long currentTimeMs) {
public override void Update(ulong currentTimeMs) {
Thing.UpdateAll(currentTimeMs);
}

View File

@ -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);
}
}

View File

@ -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));