58 lines
1.6 KiB
C#
58 lines
1.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Assets.Scripts.Ble.Characteristic
|
|
{
|
|
public struct CrankRevolution
|
|
{
|
|
// Token: 0x060022A5 RID: 8869 RVA: 0x0008F378 File Offset: 0x0008D578
|
|
public static CrankRevolution operator -(CrankRevolution obj1, CrankRevolution obj2)
|
|
{
|
|
return new CrankRevolution
|
|
{
|
|
Count = (ushort)(obj1.Count - obj2.Count),
|
|
Time = (ushort)(obj1.Time - obj2.Time)
|
|
};
|
|
}
|
|
|
|
// Token: 0x060022A6 RID: 8870 RVA: 0x0008F3B8 File Offset: 0x0008D5B8
|
|
public static double ComputeValue(CrankRevolution? lastValue, CrankRevolution? newValue, Func<CrankRevolution, CrankRevolution, double> validValueComputation)
|
|
{
|
|
if (newValue == null || lastValue == null || validValueComputation == null)
|
|
{
|
|
return double.NaN;
|
|
}
|
|
if (newValue.Value.Time != lastValue.Value.Time)
|
|
{
|
|
return validValueComputation(lastValue.Value, newValue.Value);
|
|
}
|
|
if (newValue.Value.Count == lastValue.Value.Count)
|
|
{
|
|
return double.NaN;
|
|
}
|
|
throw new ArgumentException("CrankRevolution Count changed but Time remain same -> strange behaviour");
|
|
}
|
|
|
|
// Token: 0x060022A7 RID: 8871 RVA: 0x0008F441 File Offset: 0x0008D641
|
|
public override string ToString()
|
|
{
|
|
return string.Format("Time: {0}, Count: {1}", this.Time, this.Count);
|
|
}
|
|
|
|
// Token: 0x04001543 RID: 5443
|
|
public const ushort MaxCount = 65535;
|
|
|
|
// Token: 0x04001544 RID: 5444
|
|
public const ushort MaxTime = 65535;
|
|
|
|
// Token: 0x04001545 RID: 5445
|
|
public ushort Count;
|
|
|
|
// Token: 0x04001546 RID: 5446
|
|
public ushort Time;
|
|
}
|
|
}
|