TimeSpan on .NET 8 has (at least) microsecond resolution. On the F7/Mono, everything is rounded to millisecond precision, which kills the ability to use it for PWMs that have microsecond resolution.
This shows the problem very obviously:
int micros = 0;
while (true)
{
var m = micros / 1000d;
var ts = TimeSpan.FromMilliseconds(m);
Resolver.Log.Info($"{m}: {ts} = {ts.TotalMilliseconds}");
await Task.Delay(100);
micros += 10;
}
TimeSpan on .NET 8 has (at least) microsecond resolution. On the F7/Mono, everything is rounded to millisecond precision, which kills the ability to use it for PWMs that have microsecond resolution.
This shows the problem very obviously: